[Intel-xe] [PATCH 2/2] drm/xe/migrate: retain CCS aux state for vram -> vram

Nirmoy Das nirmoy.das at linux.intel.com
Thu May 25 12:07:41 UTC 2023


On 5/25/2023 1:45 PM, Matthew Auld wrote:
> There is no mention that migrate_copy() will skip copying the CCS aux
> state for all types of vram -> vram transfers.  Currently we don't need
> such a facility but might be surprising if we ever do.
>
> v2: (Lucas):
>    - s/lmem/vram/ in the commit message
>    - Tidy up the code a bit; use one emit_copy_ccs()
> v3:
>    - Reword the commit message
>
> Signed-off-by: Matthew Auld <matthew.auld at intel.com>
> Cc: Thomas Hellström <thomas.hellstrom at linux.intel.com>
> Cc: Lucas De Marchi <lucas.demarchi at intel.com>
Acked-by: Nirmoy Das <nirmoy.das at intel.com>
> ---
>   drivers/gpu/drm/xe/xe_migrate.c | 16 ++++++++++++----
>   1 file changed, 12 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/xe_migrate.c b/drivers/gpu/drm/xe/xe_migrate.c
> index f40f47ccb76f..4b4339f1b2d2 100644
> --- a/drivers/gpu/drm/xe/xe_migrate.c
> +++ b/drivers/gpu/drm/xe/xe_migrate.c
> @@ -552,11 +552,19 @@ static u32 xe_migrate_ccs_copy(struct xe_migrate *m,
>   
>   	if (xe_device_has_flat_ccs(gt_to_xe(gt)) && !copy_ccs && dst_is_vram) {
>   		/*
> -		 * If the bo doesn't have any CCS metadata attached, we still
> -		 * need to clear it for security reasons.
> +		 * If the src is already in vram, then it should already
> +		 * have been cleared by us, or has been populated by the
> +		 * user. Make sure we copy the CCS aux state as-is.
> +		 *
> +		 * Otherwise if the bo doesn't have any CCS metadata attached,
> +		 * we still need to clear it for security reasons.
>   		 */
> -		emit_copy_ccs(gt, bb, dst_ofs, true, m->cleared_vram_ofs, false,
> -			      dst_size);
> +		u64 ccs_src_ofs =  src_is_vram ? src_ofs : m->cleared_vram_ofs;
> +
> +		emit_copy_ccs(gt, bb,
> +			      dst_ofs, true,
> +			      ccs_src_ofs, src_is_vram, dst_size);
> +
>   		flush_flags = MI_FLUSH_DW_CCS;
>   	} else if (copy_ccs) {
>   		if (!src_is_vram)


More information about the Intel-xe mailing list