Hi Andrzej,
On Mon, Jul 24, 2023 at 11:42:16AM +0200, Andrzej Hajda wrote:
On 21.07.2023 18:15, Andi Shyti wrote:
Perform some refactoring with the purpose of keeping in one single place all the operations around the aux table invalidation.
With this refactoring add more engines where the invalidation should be performed.
Fixes: 972282c4cf24 ("drm/i915/gen12: Add aux table invalidate for all engines") Signed-off-by: Andi Shyti andi.shyti@linux.intel.com Cc: Jonathan Cavitt jonathan.cavitt@intel.com Cc: Matt Roper matthew.d.roper@intel.com Cc: stable@vger.kernel.org # v5.8+
drivers/gpu/drm/i915/gt/gen8_engine_cs.c | 53 ++++++++++++++---------- drivers/gpu/drm/i915/gt/gen8_engine_cs.h | 3 +- drivers/gpu/drm/i915/gt/intel_lrc.c | 17 +------- 3 files changed, 36 insertions(+), 37 deletions(-)
diff --git a/drivers/gpu/drm/i915/gt/gen8_engine_cs.c b/drivers/gpu/drm/i915/gt/gen8_engine_cs.c index 6daf7d99700e0..d33462387d1c6 100644 --- a/drivers/gpu/drm/i915/gt/gen8_engine_cs.c +++ b/drivers/gpu/drm/i915/gt/gen8_engine_cs.c @@ -178,9 +178,36 @@ static bool gen12_needs_ccs_aux_inv(struct intel_engine_cs *engine) return !HAS_FLAT_CCS(engine->i915); } -u32 *gen12_emit_aux_table_inv(struct intel_gt *gt, u32 *cs, const i915_reg_t inv_reg) +static i915_reg_t gen12_get_aux_inv_reg(struct intel_engine_cs *engine) +{
- if (!gen12_needs_ccs_aux_inv(engine))
return INVALID_MMIO_REG;
- switch (engine->id) {
- case RCS0:
return GEN12_CCS_AUX_INV;
- case BCS0:
return GEN12_BCS0_AUX_INV;
Shouldn't be MTL only? With that explained/fixed:
this is actually difficult to be called by the wrong engine, so that the MTL check is a bit pedantic... I can still add it though.
Reviewed-by: Andrzej Hajda andrzej.hajda@intel.com
Thanks, Andi