summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/i915/i915_drv.h
diff options
context:
space:
mode:
authorImre Deak <imre.deak@intel.com>2016-08-31 19:13:05 +0300
committerImre Deak <imre.deak@intel.com>2016-09-02 18:17:47 +0300
commit57ec171eae21ee0a2848ade1cb7f8f12a31b0731 (patch)
tree45b5084e47a82c27286a3b3e9473d6b3fb463ea1 /drivers/gpu/drm/i915/i915_drv.h
parentf08a0c9234c86cf0249a5edd58a7abf69617f29f (diff)
drm/i915: sseu: Convert subslice count fields to subslice mask
In an upcoming patch we'll need the actual mask of subslices in addition to their count, so convert the subslice_per_slice field to a mask. Also we can easily calculate subslice_total from the other fields, so instead of storing a cached version of this, add a helper to calculate it. v2: - Use hweight8() on u8 typed vars instead of hweight32(). (Ben) Reviewed-by: Robert Bragg <robert@sixbynine.org> (v1) Reviewed-by: Ben Widawsky <benjamin.widawsky@intel.com> (v1) Tested-by: Ben Widawsky <benjamin.widawsky@intel.com> (v1) Signed-off-by: Imre Deak <imre.deak@intel.com>
Diffstat (limited to 'drivers/gpu/drm/i915/i915_drv.h')
-rw-r--r--drivers/gpu/drm/i915/i915_drv.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 1ebc5ba69e34..757b1d1b9366 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -673,8 +673,7 @@ struct intel_csr {
struct sseu_dev_info {
u8 slice_mask;
- u8 subslice_total;
- u8 subslice_per_slice;
+ u8 subslice_mask;
u8 eu_total;
u8 eu_per_subslice;
u8 min_eu_in_pool;
@@ -685,6 +684,11 @@ struct sseu_dev_info {
u8 has_eu_pg:1;
};
+static inline unsigned int sseu_subslice_total(const struct sseu_dev_info *sseu)
+{
+ return hweight8(sseu->slice_mask) * hweight8(sseu->subslice_mask);
+}
+
struct intel_device_info {
u32 display_mmio_offset;
u16 device_id;