[Intel-xe] [PATCH 0/6] Separate display and tile workarounds

Matt Roper matthew.d.roper at intel.com
Wed Sep 13 23:14:12 UTC 2023


i915's "clock gating" hooks were historically a bit of a dumping ground
for assorted register programming (some of which wasn't actually related
to clock gating in any way).  i915 has now moved display workarounds to
their own area within the display-specific code, so cherry-picking those
patches into the Xe kernel will ensure that the same display workarounds
are applied automatically during Xe's display init.

With display workarounds taken care of by the i915 cherry-picks, the
remaining "clock gating" programming that Xe needs is more accurately
described as "tile workarounds," i.e., workarounds that target
sgunit/soc registers outside of the GTs and the display.  Such
workarounds are very rare and if we disregard pre-production
workarounds, there's only a single tile workaround needed on Xe today.
Adding proper programming for tile workarounds to Xe and moving
Wa_22010954014 to that new area allows us to drop
ext/intel_clock_gating.c.

Cc: Lucas De Marchi <lucas.demarchi at intel.com>
Cc: Jani Nikula <jani.nikula at linux.intel.com>

Matt Roper (6):
  drm/i915: Stop forcing clock gating init for future platforms
  drm/i915/adlp: Stop calling gen12lp_init_clock_gating()
  drm/i915/display: Extract display workarounds from clock gating init
  drm/i915/display: Apply workarounds during display init
  drm/xe/wa: Apply tile workarounds at probe/resume
  fixup! drm/xe/display: Implement display support

 drivers/gpu/drm/i915/Makefile                 |   1 +
 .../drm/i915/display/intel_display_driver.c   |   3 +
 .../gpu/drm/i915/display/intel_display_wa.c   |  48 +++++++
 .../gpu/drm/i915/display/intel_display_wa.h   |  13 ++
 drivers/gpu/drm/i915/intel_clock_gating.c     |  52 +-------
 drivers/gpu/drm/xe/Makefile                   |   4 +-
 .../drm/xe/display/ext/intel_clock_gating.c   | 124 ------------------
 drivers/gpu/drm/xe/regs/xe_regs.h             |   3 +
 drivers/gpu/drm/xe/xe_display.c               |   2 -
 drivers/gpu/drm/xe/xe_pm.c                    |   5 +
 drivers/gpu/drm/xe/xe_tile.c                  |   3 +
 drivers/gpu/drm/xe/xe_wa.c                    |  20 +++
 drivers/gpu/drm/xe/xe_wa.h                    |   2 +
 drivers/gpu/drm/xe/xe_wa_oob.rules            |   1 +
 14 files changed, 103 insertions(+), 178 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/display/intel_display_wa.c
 create mode 100644 drivers/gpu/drm/i915/display/intel_display_wa.h
 delete mode 100644 drivers/gpu/drm/xe/display/ext/intel_clock_gating.c

-- 
2.41.0



More information about the Intel-xe mailing list