[PATCH] drm/xe: Ensure XE_BO_FLAG_CPU_ADDR_MIRROR has a unique value
Matthew Brost
matthew.brost at intel.com
Mon Apr 7 18:52:03 UTC 2025
On Mon, Apr 07, 2025 at 08:14:16AM +0100, Matthew Auld wrote:
> On 04/04/2025 23:00, Matt Roper wrote:
> > When XE_BO_FLAG_PINNED_NORESTORE and XE_BO_FLAG_PINNED_LATE_RESTORE were
> > added, they were assigned BO flag values in the middle of the flag
> > range, requiring renumbering of the higher flags. In both cases,
> > XE_BO_FLAG_CPU_ADDR_MIRROR was overlooked during renumbering because it
> > was defined below XE_BO_FLAG_GGTT_ALL and thus was not immediately
> > visible in code diffs changing this area of the code; this resulted in
> > XE_BO_FLAG_CPU_ADDR_MIRROR clashing with another flag.
> >
> > Assign XE_BO_FLAG_CPU_ADDR_MIRROR a unique value, and also move the
> > definition of XE_BO_FLAG_GGTT_ALL down below all of the individual flags
> > so that this kind of mistake is less likely in the future. Also, while
> > we're at it, fix up some space vs tab whitespace inconsistency in these
> > flag definitions.
> >
> > Fixes: 7f387e6012b6 ("drm/xe: add XE_BO_FLAG_PINNED_LATE_RESTORE")
> > Fixes: 045448da87bf ("drm/xe: Add XE_BO_FLAG_PINNED_NORESTORE")
> > Cc: Matthew Auld <matthew.auld at intel.com>
> > Cc: Matthew Brost <matthew.brost at intel.com>
> > Signed-off-by: Matt Roper <matthew.d.roper at intel.com>
>
> Sorry for missing this,
> Reviewed-by: Matthew Auld <matthew.auld at intel.com>
>
My bad too.
Reviewed-by: Matthew Brost <matthew.brost at intel.com>
> > ---
> > drivers/gpu/drm/xe/xe_bo.h | 21 +++++++++++----------
> > 1 file changed, 11 insertions(+), 10 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/xe/xe_bo.h b/drivers/gpu/drm/xe/xe_bo.h
> > index f7e716f59948..0a19b50045b2 100644
> > --- a/drivers/gpu/drm/xe/xe_bo.h
> > +++ b/drivers/gpu/drm/xe/xe_bo.h
> > @@ -40,21 +40,22 @@
> > #define XE_BO_FLAG_NEEDS_2M BIT(16)
> > #define XE_BO_FLAG_GGTT_INVALIDATE BIT(17)
> > #define XE_BO_FLAG_PINNED_NORESTORE BIT(18)
> > -#define XE_BO_FLAG_PINNED_LATE_RESTORE BIT(19)
> > -#define XE_BO_FLAG_GGTT0 BIT(20)
> > -#define XE_BO_FLAG_GGTT1 BIT(21)
> > -#define XE_BO_FLAG_GGTT2 BIT(22)
> > -#define XE_BO_FLAG_GGTT3 BIT(23)
> > -#define XE_BO_FLAG_GGTT_ALL (XE_BO_FLAG_GGTT0 | \
> > - XE_BO_FLAG_GGTT1 | \
> > - XE_BO_FLAG_GGTT2 | \
> > - XE_BO_FLAG_GGTT3)
> > -#define XE_BO_FLAG_CPU_ADDR_MIRROR BIT(22)
> > +#define XE_BO_FLAG_PINNED_LATE_RESTORE BIT(19)
> > +#define XE_BO_FLAG_GGTT0 BIT(20)
> > +#define XE_BO_FLAG_GGTT1 BIT(21)
> > +#define XE_BO_FLAG_GGTT2 BIT(22)
> > +#define XE_BO_FLAG_GGTT3 BIT(23)
> > +#define XE_BO_FLAG_CPU_ADDR_MIRROR BIT(24)
> > /* this one is trigger internally only */
> > #define XE_BO_FLAG_INTERNAL_TEST BIT(30)
> > #define XE_BO_FLAG_INTERNAL_64K BIT(31)
> > +#define XE_BO_FLAG_GGTT_ALL (XE_BO_FLAG_GGTT0 | \
> > + XE_BO_FLAG_GGTT1 | \
> > + XE_BO_FLAG_GGTT2 | \
> > + XE_BO_FLAG_GGTT3)
> > +
> > #define XE_BO_FLAG_GGTTx(tile) \
> > (XE_BO_FLAG_GGTT0 << (tile)->id)
>
More information about the Intel-xe
mailing list