[PATCH] drm/xe/migrate: Future-proof compressed PAT check

Lucas De Marchi lucas.demarchi at intel.com
Fri Jul 26 17:40:22 UTC 2024


On Fri, Jul 26, 2024 at 10:26:00AM GMT, Jahagirdar, Akshata wrote:
>
>On 7/26/2024 10:17 AM, Matt Roper wrote:
>>Although all current Xe2 platforms support FlatCCS, we probably
>>shouldn't assume that will be universally true forever.  In the past
>>we've had platforms like PVC that didn't support compression, and the
>>same could show up again at some point in the future.  Future-proof the
>>migration code by adding an explicit check for FlatCCS support to the
>>condition that decides whether to use a compressed PAT index for
>>migration.
>>
>>While we're at it, we can drop the IS_DGFX check since it's redundant
>>with the src_is_vram check (only dGPUs have VRAM).
>>
>>Cc: Akshata Jahagirdar<akshata.jahagirdar at intel.com>
>>Cc: Lucas De Marchi<lucas.demarchi at intel.com>
>>Signed-off-by: Matt Roper<matthew.d.roper at intel.com>
>>---
>>  drivers/gpu/drm/xe/xe_migrate.c | 3 ++-
>>  1 file changed, 2 insertions(+), 1 deletion(-)
>>
>>diff --git a/drivers/gpu/drm/xe/xe_migrate.c b/drivers/gpu/drm/xe/xe_migrate.c
>>index c007f68503d4..6f24aaf58252 100644
>>--- a/drivers/gpu/drm/xe/xe_migrate.c
>>+++ b/drivers/gpu/drm/xe/xe_migrate.c
>>@@ -781,7 +781,8 @@ struct dma_fence *xe_migrate_copy(struct xe_migrate *m,
>>  	bool copy_ccs = xe_device_has_flat_ccs(xe) &&
>>  		xe_bo_needs_ccs_pages(src_bo) && xe_bo_needs_ccs_pages(dst_bo);
>>  	bool copy_system_ccs = copy_ccs && (!src_is_vram || !dst_is_vram);
>>-	bool use_comp_pat = GRAPHICS_VER(xe) >= 20 && IS_DGFX(xe) && src_is_vram && !dst_is_vram;
>>+	bool use_comp_pat = xe_device_has_flat_ccs(xe) &&
>>+		GRAPHICS_VER(xe) >= 20 && src_is_vram && !dst_is_vram;

I was thinking we'd drop the GRAPHICS_VER() check too... but yeah, for
platforms with flatccs before xe2 (DG2) we didn't have the bit in the
pte.

Reviewed-by: Lucas De Marchi <lucas.demarchi at intel.com>

thanks
Lucas De Marchi

>LGTM.
>
>Reviewed-by: Akshata Jahagirdar <akshata.jahagirdar at intel.com>
>
>>  	/* Copying CCS between two different BOs is not supported yet. */
>>  	if (XE_WARN_ON(copy_ccs && src_bo != dst_bo))


More information about the Intel-xe mailing list