drm/i915: Introduce has_media_ratio_mode
authorAshutosh Dixit <ashutosh.dixit@intel.com>
Thu, 19 May 2022 08:57:30 +0000 (09:57 +0100)
committerTvrtko Ursulin <tvrtko.ursulin@intel.com>
Fri, 20 May 2022 08:11:06 +0000 (09:11 +0100)
Media ratio mode (the ability for media IP to work at a different frequency
from the GT) is available for a subset of dGfx platforms supporting
GuC/SLPC. Introduce 'has_media_ratio_mode' flag in intel_device_info to
identify these platforms and set it for XEHPSDV and DG2/ATS-M.

Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com>
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220519085732.1276255-1-tvrtko.ursulin@linux.intel.com
[tursulin: fixup merge conflict]

drivers/gpu/drm/i915/i915_drv.h
drivers/gpu/drm/i915/i915_pci.c
drivers/gpu/drm/i915/intel_device_info.h

index d5ba3e1..8802ba3 100644 (file)
@@ -1214,6 +1214,8 @@ IS_SUBPLATFORM(const struct drm_i915_private *i915,
 #define CCS_MASK(gt) \
        ENGINE_INSTANCES_MASK(gt, CCS0, I915_MAX_CCS)
 
+#define HAS_MEDIA_RATIO_MODE(dev_priv) (INTEL_INFO(dev_priv)->has_media_ratio_mode)
+
 /*
  * The Gen7 cmdparser copies the scanned buffer to the ggtt for execution
  * All later gens can run the final buffer from the ppgtt
index c88e454..1e5c40f 100644 (file)
@@ -1032,6 +1032,7 @@ static const struct intel_device_info xehpsdv_info = {
        .display = { },
        .has_64k_pages = 1,
        .needs_compact_pt = 1,
+       .has_media_ratio_mode = 1,
        .platform_engine_mask =
                BIT(RCS0) | BIT(BCS0) |
                BIT(VECS0) | BIT(VECS1) | BIT(VECS2) | BIT(VECS3) |
@@ -1051,6 +1052,7 @@ static const struct intel_device_info xehpsdv_info = {
        .has_64k_pages = 1, \
        .has_guc_deprivilege = 1, \
        .needs_compact_pt = 1, \
+       .has_media_ratio_mode = 1, \
        .platform_engine_mask = \
                BIT(RCS0) | BIT(BCS0) | \
                BIT(VECS0) | BIT(VECS1) | \
index 4053efa..eb3a378 100644 (file)
@@ -151,6 +151,7 @@ enum intel_ppgtt_type {
        func(has_llc); \
        func(has_logical_ring_contexts); \
        func(has_logical_ring_elsq); \
+       func(has_media_ratio_mode); \
        func(has_mslices); \
        func(has_pooled_eu); \
        func(has_pxp); \