[Intel-gfx] [PATCH v4 0/9] Reduce MTL-specific platform checks
Matt Roper
matthew.d.roper at intel.com
Mon Aug 14 20:06:33 UTC 2023
Starting with MTL, the hardware moved to a disaggregated IP design where
graphics, media, and display are supposed to be treated independently of
the base platform that they're incorporated into. For driver logic that
is conditional on these IPs, the code should be checking the IP versions
(as read from the GMD_ID registers) rather than trying to match on a
specific platform (e.g., MTL). It's possible that these IPs could show
up again, without changes, on future non-MTL platforms, or that the
current MTL platform could be extended to include new IP versions in
future SKUs or refreshes; making sure our driver's conditions are
handled appropriately future-proofs for both of these cases.
Going forward, conditions like IS_METEORLAKE should be very rare in the
driver; in most places our logic will be conditional upon the IP rather
than the base platform.
v2:
- Rework macros slightly; new IP range and stepping range macros can be
used with both GFX or MEDIA rather than needing separate macros for
each IP. (Tvrtko, Gustavo)
- Fix a > that should have been a >=. (Gustavo)
- Split non-inheritance of media workarounds by future platforms into
its own patch. (Gustavo)
- Extra documentation comments
v3:
- Switch back to separate long-form gfx and media macros with no macro
pasting. (Jani)
- Move GT-specific macros from intel_drv.h to intel_gt.h. (Andi)
- Replace two more IS_METEORLAKE() conditions with IP version checks.
v4:
- Build IS_*_IP_STEP macros on top of existing range check and stepping
check building blocks. (Jani)
- Fix parameters in comment examples.
Cc: Tvrtko Ursulin <tvrtko.ursulin at linux.intel.com>
Cc: Dnyaneshwar Bhadane <dnyaneshwar.bhadane at intel.com>
Cc: Gustavo Sousa <gustavo.sousa at intel.com>
Cc: Jani Nikula <jani.nikula at linux.intel.com>
Cc: Andi Shyti <andi.shyti at linux.intel.com>
Matt Roper (9):
drm/i915: Consolidate condition for Wa_22011802037
drm/i915/xelpmp: Don't assume workarounds extend to future platforms
drm/i915/xelpg: Call Xe_LPG workaround functions based on IP version
drm/i915: Eliminate IS_MTL_GRAPHICS_STEP
drm/i915: Eliminate IS_MTL_MEDIA_STEP
drm/i915: Eliminate IS_MTL_DISPLAY_STEP
drm/i915/mtl: Eliminate subplatforms
drm/i915/display: Eliminate IS_METEORLAKE checks
drm/i915: Replace several IS_METEORLAKE with proper IP version checks
drivers/gpu/drm/i915/display/intel_cdclk.c | 4 +-
drivers/gpu/drm/i915/display/intel_cx0_phy.c | 2 +-
drivers/gpu/drm/i915/display/intel_display.c | 2 +-
.../drm/i915/display/intel_display_device.h | 22 +++++
drivers/gpu/drm/i915/display/intel_dmc.c | 2 +-
drivers/gpu/drm/i915/display/intel_fbc.c | 3 +-
drivers/gpu/drm/i915/display/intel_pmdemand.c | 2 +-
drivers/gpu/drm/i915/display/intel_psr.c | 10 +-
.../drm/i915/display/skl_universal_plane.c | 5 +-
drivers/gpu/drm/i915/gem/i915_gem_create.c | 4 +-
drivers/gpu/drm/i915/gt/gen8_engine_cs.c | 11 ++-
drivers/gpu/drm/i915/gt/intel_engine_cs.c | 4 +-
drivers/gpu/drm/i915/gt/intel_engine_pm.c | 2 +-
.../drm/i915/gt/intel_execlists_submission.c | 4 +-
drivers/gpu/drm/i915/gt/intel_gt.h | 58 ++++++++++++
drivers/gpu/drm/i915/gt/intel_gt_mcr.c | 7 +-
drivers/gpu/drm/i915/gt/intel_lrc.c | 4 +-
drivers/gpu/drm/i915/gt/intel_mocs.c | 2 +-
drivers/gpu/drm/i915/gt/intel_rc6.c | 5 +-
drivers/gpu/drm/i915/gt/intel_reset.c | 20 +++-
drivers/gpu/drm/i915/gt/intel_reset.h | 2 +
drivers/gpu/drm/i915/gt/intel_rps.c | 2 +-
drivers/gpu/drm/i915/gt/intel_workarounds.c | 92 ++++++++++---------
drivers/gpu/drm/i915/gt/uc/intel_guc.c | 6 +-
.../gpu/drm/i915/gt/uc/intel_guc_submission.c | 6 +-
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c | 3 +-
drivers/gpu/drm/i915/i915_debugfs.c | 2 +-
drivers/gpu/drm/i915/i915_drv.h | 18 +---
drivers/gpu/drm/i915/i915_perf.c | 23 ++---
drivers/gpu/drm/i915/intel_device_info.c | 14 ---
drivers/gpu/drm/i915/intel_device_info.h | 4 -
include/drm/i915_pciids.h | 11 +--
32 files changed, 206 insertions(+), 150 deletions(-)
--
2.41.0
More information about the Intel-gfx
mailing list