mbox series

[0/3] drm/i915: Fix Wa_22016122933 implementation

Message ID 20230801153242.2445478-1-jonathan.cavitt@intel.com (mailing list archive)
Headers show
Series drm/i915: Fix Wa_22016122933 implementation | expand

Message

Cavitt, Jonathan Aug. 1, 2023, 3:32 p.m. UTC
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(-)

Comments

Andi Shyti Aug. 10, 2023, 12:34 p.m. UTC | #1
Hi Jonathan,

pushed in drm-intel-gt-next.

I added two links to the commit logs: the first one refers to
this series, while the second refers to the series sent to CI
which includes the rebase conflict fix.

Hope this is fine.

Thanks,
Andi

On Tue, Aug 01, 2023 at 08:32:39AM -0700, Jonathan Cavitt wrote:
> 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