Add a new function to return the number of subslices per slice to
consolidate code usage.

Cc: Daniele Ceraolo Spurio <daniele.ceraolospu...@intel.com>
Signed-off-by: Stuart Summers <stuart.summ...@intel.com>
---
 drivers/gpu/drm/i915/i915_debugfs.c      | 2 +-
 drivers/gpu/drm/i915/intel_device_info.c | 4 ++--
 drivers/gpu/drm/i915/intel_device_info.h | 6 ++++++
 3 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_debugfs.c 
b/drivers/gpu/drm/i915/i915_debugfs.c
index 5823ffb17821..19746249d57b 100644
--- a/drivers/gpu/drm/i915/i915_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_debugfs.c
@@ -4191,7 +4191,7 @@ static void i915_print_sseu_info(struct seq_file *m, bool 
is_available_info,
                   sseu_subslice_total(sseu));
        for (s = 0; s < fls(sseu->slice_mask); s++) {
                seq_printf(m, "  %s Slice%i subslices: %u\n", type,
-                          s, hweight8(sseu->subslice_mask[s]));
+                          s, sseu_subslices_per_slice(sseu, s));
        }
        seq_printf(m, "  %s EU Total: %u\n", type,
                   sseu->eu_total);
diff --git a/drivers/gpu/drm/i915/intel_device_info.c 
b/drivers/gpu/drm/i915/intel_device_info.c
index 6af480b95bc6..559cf0d0628e 100644
--- a/drivers/gpu/drm/i915/intel_device_info.c
+++ b/drivers/gpu/drm/i915/intel_device_info.c
@@ -93,7 +93,7 @@ static void sseu_dump(const struct sseu_dev_info *sseu, 
struct drm_printer *p)
        drm_printf(p, "subslice total: %u\n", sseu_subslice_total(sseu));
        for (s = 0; s < sseu->max_slices; s++) {
                drm_printf(p, "slice%d: %u subslices, mask=%04x\n",
-                          s, hweight8(sseu->subslice_mask[s]),
+                          s, sseu_subslices_per_slice(sseu, s),
                           sseu->subslice_mask[s]);
        }
        drm_printf(p, "EU total: %u\n", sseu->eu_total);
@@ -126,7 +126,7 @@ void intel_device_info_dump_topology(const struct 
sseu_dev_info *sseu,
 
        for (s = 0; s < sseu->max_slices; s++) {
                drm_printf(p, "slice%d: %u subslice(s) (0x%hhx):\n",
-                          s, hweight8(sseu->subslice_mask[s]),
+                          s, sseu_subslices_per_slice(sseu, s),
                           sseu->subslice_mask[s]);
 
                for (ss = 0; ss < sseu->max_subslices; ss++) {
diff --git a/drivers/gpu/drm/i915/intel_device_info.h 
b/drivers/gpu/drm/i915/intel_device_info.h
index 5d90639881d8..987e0ca6f9cc 100644
--- a/drivers/gpu/drm/i915/intel_device_info.h
+++ b/drivers/gpu/drm/i915/intel_device_info.h
@@ -252,6 +252,12 @@ static inline unsigned int sseu_subslice_total(const 
struct sseu_dev_info *sseu)
        return total;
 }
 
+static inline unsigned int
+sseu_subslices_per_slice(const struct sseu_dev_info *sseu, u8 slice)
+{
+       return hweight8(sseu->subslice_mask[slice]);
+}
+
 static inline int sseu_eu_idx(const struct sseu_dev_info *sseu,
                              int slice, int subslice)
 {
-- 
2.21.0.5.gaeb582a983

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to