[Intel-gfx] [PATCH 0/3] drm/i915: Fix Wa_22016122933 implementation

Jonathan Cavitt jonathan.cavitt at intel.com
Tue Aug 1 15:32:39 UTC 2023


WA_22016122933 was recently applied to all MeteorLake engines, which is
simultaneously too broad (should only apply to Media engines) and too
specific (should apply to all platforms that use the same media engine
as MeteorLake).  Correct this for all current use cases.

There are two additional changes that deserve special attention:


First, the usage of the workaround in i915_coherent_map_type required
a more invasive change to check the gt, which was split into its own
patch.

Second, the addition of write barriers during ct_read and
gsc_fw_load_prepare were found to be unconditional, so the workaround
tags were removed as the usages were not platform dependent.

v2:
- Refactor i915_coherent_map_type to intel_gt_coherent_map_type and move
  it to the gt folder as it now takes an intel_gt instead of a
  drm_i915_private.

v3:
- Remove additional gt requirement from shmem_create_from_object.
  Instead of passing a gt to check if the workaround applies in
  intel_gt_coherent_map_type, only check if the object is lmem to
  determine the map type to use.

v4:
- Fix formatting warnings.
- Add this cover letter and all missing revision notes.
- Add missing acks and reviews to commit messages.
- Fix contributor ordering in commit messages.

Jonathan Cavitt (3):
  drm/i915/gt: Simplify shmem_create_from_object map_type selection
  drm/i915: Make i915_coherent_map_type GT-centric
  drm/i915/gt: Apply workaround 22016122933 correctly

 drivers/gpu/drm/i915/display/intel_hdcp_gsc.c    |  3 ++-
 drivers/gpu/drm/i915/gem/i915_gem_object.h       |  4 ----
 drivers/gpu/drm/i915/gem/i915_gem_pages.c        | 15 ---------------
 .../drm/i915/gem/selftests/i915_gem_migrate.c    | 12 ++++++------
 drivers/gpu/drm/i915/gt/intel_engine_pm.c        |  2 +-
 drivers/gpu/drm/i915/gt/intel_gt.c               | 16 ++++++++++++++++
 drivers/gpu/drm/i915/gt/intel_gt.h               |  9 +++++++++
 drivers/gpu/drm/i915/gt/intel_gtt.c              |  4 ++--
 drivers/gpu/drm/i915/gt/intel_lrc.c              | 13 +++++++------
 drivers/gpu/drm/i915/gt/intel_ring.c             |  3 ++-
 drivers/gpu/drm/i915/gt/selftest_context.c       |  5 +++--
 drivers/gpu/drm/i915/gt/selftest_hangcheck.c     |  4 ++--
 drivers/gpu/drm/i915/gt/selftest_lrc.c           |  6 +++---
 drivers/gpu/drm/i915/gt/shmem_utils.c            |  3 +--
 drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.c        |  7 +------
 drivers/gpu/drm/i915/gt/uc/intel_guc.c           | 11 ++++++-----
 drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c        |  4 ----
 drivers/gpu/drm/i915/gt/uc/intel_huc_fw.c        |  3 +--
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c         |  3 ++-
 drivers/gpu/drm/i915/pxp/intel_pxp_gsccs.c       |  3 ++-
 drivers/gpu/drm/i915/pxp/intel_pxp_tee.c         |  5 ++++-
 drivers/gpu/drm/i915/selftests/igt_spinner.c     |  2 +-
 22 files changed, 71 insertions(+), 66 deletions(-)

-- 
2.25.1



More information about the Intel-gfx mailing list