diff options
author | Imre Deak <imre.deak@intel.com> | 2016-08-31 19:13:05 +0300 |
---|---|---|
committer | Imre Deak <imre.deak@intel.com> | 2016-09-02 18:17:47 +0300 |
commit | 57ec171eae21ee0a2848ade1cb7f8f12a31b0731 (patch) | |
tree | 45b5084e47a82c27286a3b3e9473d6b3fb463ea1 /drivers/gpu/drm/i915/i915_drv.h | |
parent | f08a0c9234c86cf0249a5edd58a7abf69617f29f (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.h | 8 |
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; |