[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