[PATCH v7 02/10] drm/xe/xe2: Modify main memory to ccs memory ratio.
Matt Roper
matthew.d.roper at intel.com
Mon Dec 11 23:15:59 UTC 2023
On Mon, Dec 11, 2023 at 07:13:48PM +0530, Himal Prasad Ghimiray wrote:
> On xe2 platforms each byte of CCS data now represents 512 bytes of
> main memory data.
>
> Cc: Matt Roper <matthew.d.roper at intel.com>
> Cc: Thomas Hellström <thomas.hellstrom at linux.intel.com>
> Reviewed-by: Thomas Hellström <thomas.hellstrom at linux.intel.com>
> Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray at intel.com>
> ---
> drivers/gpu/drm/xe/regs/xe_gpu_commands.h | 2 +-
> drivers/gpu/drm/xe/xe_device.c | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/regs/xe_gpu_commands.h b/drivers/gpu/drm/xe/regs/xe_gpu_commands.h
> index f1c5bf203b3d..1f9c32e694c6 100644
> --- a/drivers/gpu/drm/xe/regs/xe_gpu_commands.h
> +++ b/drivers/gpu/drm/xe/regs/xe_gpu_commands.h
> @@ -16,7 +16,7 @@
> #define XY_CTRL_SURF_MOCS_MASK GENMASK(31, 26)
> #define XE2_XY_CTRL_SURF_MOCS_INDEX_MASK GENMASK(31, 28)
> #define NUM_CCS_BYTES_PER_BLOCK 256
> -#define NUM_BYTES_PER_CCS_BYTE 256
> +#define NUM_BYTES_PER_CCS_BYTE(_xe) (GRAPHICS_VER(_xe) >= 20 ? 512 : 256)
Reviewed-by: Matt Roper <matthew.d.roper at intel.com>
for the time being, but longer term I don't think we want this
definition in the "xe_gpu_commands.h" header at all since it's not
actually related to the GPU instruction. This is is a more general
device characteristic that should be moved somewhere else, possibly to a
field in the device info structures.
Matt
> #define NUM_CCS_BLKS_PER_XFER 1024
>
> #define XY_FAST_COLOR_BLT_CMD (2 << 29 | 0x44 << 22)
> diff --git a/drivers/gpu/drm/xe/xe_device.c b/drivers/gpu/drm/xe/xe_device.c
> index 91f5807d2d20..f8e1b809f944 100644
> --- a/drivers/gpu/drm/xe/xe_device.c
> +++ b/drivers/gpu/drm/xe/xe_device.c
> @@ -615,7 +615,7 @@ void xe_device_wmb(struct xe_device *xe)
> u32 xe_device_ccs_bytes(struct xe_device *xe, u64 size)
> {
> return xe_device_has_flat_ccs(xe) ?
> - DIV_ROUND_UP(size, NUM_BYTES_PER_CCS_BYTE) : 0;
> + DIV_ROUND_UP(size, NUM_BYTES_PER_CCS_BYTE(xe)) : 0;
> }
>
> bool xe_device_mem_access_ongoing(struct xe_device *xe)
> --
> 2.25.1
>
--
Matt Roper
Graphics Software Engineer
Linux GPU Platform Enablement
Intel Corporation
More information about the Intel-xe
mailing list