mbox series

[v2,0/6] Remove I915_ENGINE_FIRST_RENDER_COMPUTE

Message ID 20250326234005.1574688-1-andi.shyti@linux.intel.com (mailing list archive)
Headers show
Series Remove I915_ENGINE_FIRST_RENDER_COMPUTE | expand

Message

Andi Shyti March 26, 2025, 11:39 p.m. UTC
Hi,

While testing the multi-CCS static load balancing, Arshad  
discovered that the CCS workaround was being applied twice, due  
to commit [*].

Further discussions with Lucas led to rethinking the purpose of  
I915_ENGINE_FIRST_RENDER_COMPUTE. This flag was originally  
introduced to handle platforms with different CCS/RCS setups.  
However, for all GPUs currently supported by i915, we can assume  
the presence of at least one RCS engine, so the logic can shift  
to focus on the first CCS engine.

Based on this, the six patches in this series are mostly  
cleanup, with two main goals:

 1. Ensure the CCS engine workaround is applied only once  
 2. Remove the I915_ENGINE_FIRST_RENDER_COMPUTE flag

Thanks,  
Andi

[*] 1bfc03b13752 ("drm/i915: Remove special handling for !RCS_MASK()")

Changelog:
==========
v1 -> v2
 - During workaround set-up, avoid checking for
   FIRST_RENDER_COMPUTE, but move the logic to the CCS engine
   section.
 - Define the FIRST_CCS flag which checks for the CCS engine
   with the lowest istance number.
 - Remove the I915_ENGINE_FIRST_RENDER_COMPUTE flag and use
   FIRST_CCS() instead for everyone using it.

Andi Shyti (6):
  drm/i915: Add the FIRST_CCS() helper
  drm/i915/gt: Move CCS workaround to the correct section
  drm/i915/gt: Remove FIRST_RENDER_COMPUTE in workaround
  drm/i915/gt: Check for the first CCS instead of FIRST_RENDER_COMPUTE
  drm/i915/gt/uc: Use FIRST_CCS() helper for one-time CCS operations
  drm/i915/gt: Remove unused I915_ENGINE_FIRST_RENDER_COMPUTE flag

 drivers/gpu/drm/i915/gt/intel_engine_cs.c     |  4 --
 drivers/gpu/drm/i915/gt/intel_engine_types.h  |  3 +-
 .../drm/i915/gt/intel_execlists_submission.c  |  2 +-
 drivers/gpu/drm/i915/gt/intel_workarounds.c   | 72 +++++++++----------
 drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c    |  3 +-
 .../gpu/drm/i915/gt/uc/intel_guc_submission.c |  2 +-
 drivers/gpu/drm/i915/i915_drv.h               |  3 +
 7 files changed, 41 insertions(+), 48 deletions(-)