[Intel-xe] [PATCH 4/4] drm/xe: Sort xe_regs.h
Matt Roper
matthew.d.roper at intel.com
Tue Jul 25 22:55:15 UTC 2023
On Tue, Jul 25, 2023 at 01:28:36PM -0700, Lucas De Marchi wrote:
> Sort it by register address, but keeping a few exceptions when a
> register for a platform changed the address, but has the same
> functionality as an already existing register.
>
> Signed-off-by: Lucas De Marchi <lucas.demarchi at intel.com>
> ---
> drivers/gpu/drm/xe/regs/xe_regs.h | 56 +++++++++++++++----------------
> 1 file changed, 28 insertions(+), 28 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/regs/xe_regs.h b/drivers/gpu/drm/xe/regs/xe_regs.h
> index 3f7052fec6cc..0b3607e0ba1c 100644
> --- a/drivers/gpu/drm/xe/regs/xe_regs.h
> +++ b/drivers/gpu/drm/xe/regs/xe_regs.h
> @@ -7,9 +7,6 @@
>
> #include "regs/xe_reg_defs.h"
>
> -#define GU_CNTL XE_REG(0x101010)
> -#define LMEM_INIT REG_BIT(7)
> -
> #define RENDER_RING_BASE 0x02000
> #define BSD_RING_BASE 0x1c0000
> #define BSD2_RING_BASE 0x1c4000
> @@ -45,36 +42,15 @@
> #define FF_THREAD_MODE XE_REG(0x20a0)
Looks like there are some registers that don't really belong in this
file. We'll need to move at least this one to the engine register
header at some point. Actually we should probably move the *_RING_BASE
registers as well. But that can all happen in a future patch.
> #define FF_TESSELATION_DOP_GATE_DISABLE BIT(19)
>
> -#define PVC_RP_STATE_CAP XE_REG(0x281014)
> -#define MTL_RP_STATE_CAP XE_REG(0x138000)
> -
> -#define MTL_MEDIAP_STATE_CAP XE_REG(0x138020)
> -#define MTL_RP0_CAP_MASK REG_GENMASK(8, 0)
> -#define MTL_RPN_CAP_MASK REG_GENMASK(24, 16)
> -
> -#define MTL_GT_RPE_FREQUENCY XE_REG(0x13800c)
> -#define MTL_MPE_FREQUENCY XE_REG(0x13802c)
> -#define MTL_RPE_MASK REG_GENMASK(8, 0)
> -
> -#define SOFTWARE_FLAGS_SPR33 XE_REG(0x4f084)
> +#define TIMESTAMP_OVERRIDE XE_REG(0x44074)
> +#define TIMESTAMP_OVERRIDE_US_COUNTER_DENOMINATOR_MASK REG_GENMASK(15, 12)
> +#define TIMESTAMP_OVERRIDE_US_COUNTER_DIVIDER_MASK REG_GENMASK(9, 0)
>
> #define PCU_IRQ_OFFSET 0x444e0
> #define GU_MISC_IRQ_OFFSET 0x444f0
> #define GU_MISC_GSE REG_BIT(27)
>
> -#define GFX_MSTR_IRQ XE_REG(0x190010)
> -#define MASTER_IRQ REG_BIT(31)
> -#define GU_MISC_IRQ REG_BIT(29)
> -#define DISPLAY_IRQ REG_BIT(16)
> -#define GT_DW_IRQ(x) REG_BIT(x)
> -
> -#define DG1_MSTR_TILE_INTR XE_REG(0x190008)
> -#define DG1_MSTR_IRQ REG_BIT(31)
> -#define DG1_MSTR_TILE(t) REG_BIT(t)
> -
> -#define TIMESTAMP_OVERRIDE XE_REG(0x44074)
> -#define TIMESTAMP_OVERRIDE_US_COUNTER_DENOMINATOR_MASK REG_GENMASK(15, 12)
> -#define TIMESTAMP_OVERRIDE_US_COUNTER_DIVIDER_MASK REG_GENMASK(9, 0)
> +#define SOFTWARE_FLAGS_SPR33 XE_REG(0x4f084)
>
> #define GGC XE_REG(0x108040)
> #define GMS_MASK REG_GENMASK(15, 8)
> @@ -87,4 +63,28 @@
> #define STOLEN_RESERVED XE_REG(0x1082C0)
We should also make sure we're writing hex in lowercase consistently
too. Again, that can be done in a future patch.
> #define WOPCM_SIZE_MASK REG_GENMASK64(8, 7)
>
> +#define GU_CNTL XE_REG(0x101010)
> +#define LMEM_INIT REG_BIT(7)
> +
> +#define MTL_RP_STATE_CAP XE_REG(0x138000)
> +#define PVC_RP_STATE_CAP XE_REG(0x281014)
I think it's better to keep consistent sorting rather than trying to
keep registers that moved between platforms in the same place. Too many
exceptions like this ultimately leads to chaos when people aren't sure
how far they can stretch the exceptions.
> +
> +#define MTL_MEDIAP_STATE_CAP XE_REG(0x138020)
> +#define MTL_RPN_CAP_MASK REG_GENMASK(24, 16)
> +#define MTL_RP0_CAP_MASK REG_GENMASK(8, 0)
> +
> +#define MTL_GT_RPE_FREQUENCY XE_REG(0x13800c)
It looks like this one should be slightly earlier (0x13800c < 0x138020).
Matt
> +#define MTL_MPE_FREQUENCY XE_REG(0x13802c)
> +#define MTL_RPE_MASK REG_GENMASK(8, 0)
> +
> +#define DG1_MSTR_TILE_INTR XE_REG(0x190008)
> +#define DG1_MSTR_IRQ REG_BIT(31)
> +#define DG1_MSTR_TILE(t) REG_BIT(t)
> +
> +#define GFX_MSTR_IRQ XE_REG(0x190010)
> +#define MASTER_IRQ REG_BIT(31)
> +#define GU_MISC_IRQ REG_BIT(29)
> +#define DISPLAY_IRQ REG_BIT(16)
> +#define GT_DW_IRQ(x) REG_BIT(x)
> +
> #endif
> --
> 2.40.1
>
--
Matt Roper
Graphics Software Engineer
Linux GPU Platform Enablement
Intel Corporation
More information about the Intel-xe
mailing list