drm/xe: Use FIELD_PREP/FIELD_GET for tile id encoding
authorLucas De Marchi <lucas.demarchi@intel.com>
Tue, 18 Jul 2023 19:39:24 +0000 (12:39 -0700)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Thu, 21 Dec 2023 16:37:51 +0000 (11:37 -0500)
Use FIELD_PREP()/FIELD_GET() to encode the tile id into flags. Besides
protecting for eventual overflow it also makes it easier to see a new
flag can't be added as BIT(7).

Reviewed-by: Matthew Brost <matthew.brost@intel.com>
Link: https://lore.kernel.org/r/20230718193924.3084759-2-lucas.demarchi@intel.com
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drivers/gpu/drm/xe/xe_vm_types.h

index c1af0cd6aced176d324fab02c6783d9c3f9b27ba..1e3c7b98d775f73bc6c75cbdc452cc38cb8836ac 100644 (file)
@@ -143,8 +143,8 @@ struct xe_vm {
 #define XE_VM_FLAG_SCRATCH_PAGE                BIT(4)
 #define XE_VM_FLAG_FAULT_MODE          BIT(5)
 #define XE_VM_FLAG_BANNED              BIT(6)
-#define XE_VM_FLAG_TILE_ID(flags)      (((flags) >> 7) & 0x3)
-#define XE_VM_FLAG_SET_TILE_ID(tile)   ((tile)->id << 7)
+#define XE_VM_FLAG_TILE_ID(flags)      FIELD_GET(GENMASK(8, 7), flags)
+#define XE_VM_FLAG_SET_TILE_ID(tile)   FIELD_PREP(GENMASK(8, 7), (tile)->id)
        unsigned long flags;
 
        /** @composite_fence_ctx: context composite fence */