[Intel-gfx] [PATCH 3/6] drm/i915/gt: Use parameterized RING_MI_MODE
Matt Atwood
matthew.s.atwood at intel.com
Tue Feb 15 21:33:37 UTC 2022
On Tue, Feb 08, 2022 at 09:11:37PM -0800, Matt Roper wrote:
> We have both a parameterized RING_MI_MODE() macro and an RCS-specific
> MI_MODE; drop the latter and use the former everywhere.
>
Reviewed-by: Matt Atwood <matthew.s.atwood at intel.com>
> Signed-off-by: Matt Roper <matthew.d.roper at intel.com>
> ---
> drivers/gpu/drm/i915/gt/intel_engine_regs.h | 6 ++++++
> drivers/gpu/drm/i915/gt/intel_gt_regs.h | 8 --------
> drivers/gpu/drm/i915/gt/intel_workarounds.c | 6 +++---
> drivers/gpu/drm/i915/intel_uncore.c | 2 +-
> 4 files changed, 10 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/gt/intel_engine_regs.h b/drivers/gpu/drm/i915/gt/intel_engine_regs.h
> index cafb078cdb05..0bf8b45c9319 100644
> --- a/drivers/gpu/drm/i915/gt/intel_engine_regs.h
> +++ b/drivers/gpu/drm/i915/gt/intel_engine_regs.h
> @@ -70,6 +70,12 @@
> #define RING_NOPID(base) _MMIO((base) + 0x94)
> #define RING_HWSTAM(base) _MMIO((base) + 0x98)
> #define RING_MI_MODE(base) _MMIO((base) + 0x9c)
> +#define ASYNC_FLIP_PERF_DISABLE REG_BIT(14)
> +#define MI_FLUSH_ENABLE REG_BIT(12)
> +#define TGL_NESTED_BB_EN REG_BIT(12)
> +#define MODE_IDLE REG_BIT(9)
> +#define STOP_RING REG_BIT(8)
> +#define VS_TIMER_DISPATCH REG_BIT(6)
> #define RING_IMR(base) _MMIO((base) + 0xa8)
> #define RING_EIR(base) _MMIO((base) + 0xb0)
> #define RING_EMR(base) _MMIO((base) + 0xb4)
> diff --git a/drivers/gpu/drm/i915/gt/intel_gt_regs.h b/drivers/gpu/drm/i915/gt/intel_gt_regs.h
> index 4cdb2cca2122..987e0e1e9c08 100644
> --- a/drivers/gpu/drm/i915/gt/intel_gt_regs.h
> +++ b/drivers/gpu/drm/i915/gt/intel_gt_regs.h
> @@ -389,14 +389,6 @@
> #define _3D_CHICKEN_SDE_LIMIT_FIFO_POLY_DEPTH(x) ((x) << 1) /* gen8+ */
> #define _3D_CHICKEN3_SF_DISABLE_PIPELINED_ATTR_FETCH (1 << 1) /* gen6 */
>
> -#define MI_MODE _MMIO(0x209c)
> -# define VS_TIMER_DISPATCH (1 << 6)
> -# define MI_FLUSH_ENABLE (1 << 12)
> -# define TGL_NESTED_BB_EN (1 << 12)
> -# define ASYNC_FLIP_PERF_DISABLE (1 << 14)
> -# define MODE_IDLE (1 << 9)
> -# define STOP_RING (1 << 8)
> -
> #define GEN6_GT_MODE _MMIO(0x20d0)
> #define GEN7_GT_MODE _MMIO(0x7008)
> #define GEN6_WIZ_HASHING(hi, lo) (((hi) << 9) | ((lo) << 7))
> diff --git a/drivers/gpu/drm/i915/gt/intel_workarounds.c b/drivers/gpu/drm/i915/gt/intel_workarounds.c
> index b146a393cd79..26038066e90b 100644
> --- a/drivers/gpu/drm/i915/gt/intel_workarounds.c
> +++ b/drivers/gpu/drm/i915/gt/intel_workarounds.c
> @@ -237,7 +237,7 @@ static void gen8_ctx_workarounds_init(struct intel_engine_cs *engine,
> wa_masked_en(wal, INSTPM, INSTPM_FORCE_ORDERING);
>
> /* WaDisableAsyncFlipPerfMode:bdw,chv */
> - wa_masked_en(wal, MI_MODE, ASYNC_FLIP_PERF_DISABLE);
> + wa_masked_en(wal, RING_MI_MODE(RENDER_RING_BASE), ASYNC_FLIP_PERF_DISABLE);
>
> /* WaDisablePartialInstShootdown:bdw,chv */
> wa_masked_en(wal, GEN8_ROW_CHICKEN,
> @@ -2474,7 +2474,7 @@ rcs_engine_wa_init(struct intel_engine_cs *engine, struct i915_wa_list *wal)
> * WaDisableAsyncFlipPerfMode:snb,ivb,hsw,vlv
> */
> wa_masked_en(wal,
> - MI_MODE,
> + RING_MI_MODE(RENDER_RING_BASE),
> ASYNC_FLIP_PERF_DISABLE);
>
> if (GRAPHICS_VER(i915) == 6) {
> @@ -2533,7 +2533,7 @@ rcs_engine_wa_init(struct intel_engine_cs *engine, struct i915_wa_list *wal)
>
> if (IS_GRAPHICS_VER(i915, 4, 6))
> /* WaTimedSingleVertexDispatch:cl,bw,ctg,elk,ilk,snb */
> - wa_add(wal, MI_MODE,
> + wa_add(wal, RING_MI_MODE(RENDER_RING_BASE),
> 0, _MASKED_BIT_ENABLE(VS_TIMER_DISPATCH),
> /* XXX bit doesn't stick on Broadwater */
> IS_I965G(i915) ? 0 : VS_TIMER_DISPATCH, true);
> diff --git a/drivers/gpu/drm/i915/intel_uncore.c b/drivers/gpu/drm/i915/intel_uncore.c
> index 850ebfae31af..dd8fdd5863de 100644
> --- a/drivers/gpu/drm/i915/intel_uncore.c
> +++ b/drivers/gpu/drm/i915/intel_uncore.c
> @@ -1496,7 +1496,7 @@ ilk_dummy_write(struct intel_uncore *uncore)
> /* WaIssueDummyWriteToWakeupFromRC6:ilk Issue a dummy write to wake up
> * the chip from rc6 before touching it for real. MI_MODE is masked,
> * hence harmless to write 0 into. */
> - __raw_uncore_write32(uncore, MI_MODE, 0);
> + __raw_uncore_write32(uncore, RING_MI_MODE(RENDER_RING_BASE), 0);
> }
>
> static void
> --
> 2.34.1
>
More information about the Intel-gfx
mailing list