[Intel-xe] [PATCH v4 05/31] drm/xe: Add for_each_tile iterator
Gustavo Sousa
gustavo.sousa at intel.com
Thu Jun 1 15:09:28 UTC 2023
Quoting Matt Roper (2023-05-31 21:03:37-03:00)
>As we start splitting tile handling out from GT handling, we'll need to
>be able to iterate over tiles separately from GTs. This iterator will
>be used in upcoming patches.
>
>v2:
> - s/(id__++)/(id__)++/ (Gustavo)
>
>Cc: Gustavo Sousa <gustavo.sousa at intel.com>
>Reviewed-by: Lucas De Marchi <lucas.demarchi at intel.com>
>Signed-off-by: Matt Roper <matthew.d.roper at intel.com>
Acked-by: Gustavo Sousa <gustavo.sousa at intel.com>
>---
> drivers/gpu/drm/xe/xe_device.h | 4 ++++
> drivers/gpu/drm/xe/xe_pci.c | 3 +--
> 2 files changed, 5 insertions(+), 2 deletions(-)
>
>diff --git a/drivers/gpu/drm/xe/xe_device.h b/drivers/gpu/drm/xe/xe_device.h
>index f7acaf51a1fc..3516ac1dcbc4 100644
>--- a/drivers/gpu/drm/xe/xe_device.h
>+++ b/drivers/gpu/drm/xe/xe_device.h
>@@ -83,6 +83,10 @@ static inline void xe_device_guc_submission_disable(struct xe_device *xe)
> xe->info.enable_guc = false;
> }
>
>+#define for_each_tile(tile__, xe__, id__) \
>+ for ((id__) = 0; (id__) < (xe__)->info.tile_count; (id__)++) \
>+ for_each_if ((tile__) = &(xe__)->tiles[(id__)])
>+
> #define for_each_gt(gt__, xe__, id__) \
> for ((id__) = 0; (id__) < (xe__)->info.tile_count; (id__++)) \
> for_each_if ((gt__) = xe_device_get_gt((xe__), (id__)))
>diff --git a/drivers/gpu/drm/xe/xe_pci.c b/drivers/gpu/drm/xe/xe_pci.c
>index 2e5a15219964..9e0d26329dd7 100644
>--- a/drivers/gpu/drm/xe/xe_pci.c
>+++ b/drivers/gpu/drm/xe/xe_pci.c
>@@ -558,8 +558,7 @@ static int xe_info_init(struct xe_device *xe,
> */
> xe->info.tile_count = 1 + graphics_desc->max_remote_tiles;
>
>- for (id = 0; id < xe->info.tile_count; ++id) {
>- tile = &xe->tiles[id];
>+ for_each_tile(tile, xe, id) {
> tile->xe = xe;
> tile->id = id;
>
>--
>2.40.1
>
More information about the Intel-xe
mailing list