[Intel-xe] [PATCH 04/26] drm/xe: Add for_each_tile iterator
Iddamsetty, Aravind
aravind.iddamsetty at intel.com
Fri May 12 05:45:08 UTC 2023
On 11-05-2023 09:17, Matt Roper wrote:
> 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.
>
> Signed-off-by: Matt Roper <matthew.d.roper 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..745dbb16d417 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__)))
as mentioned in earlier patch, this looks to always return primary gt only
Thanks,
Aravind.
> diff --git a/drivers/gpu/drm/xe/xe_pci.c b/drivers/gpu/drm/xe/xe_pci.c
> index 87c328106aca..bef65d3a440e 100644
> --- a/drivers/gpu/drm/xe/xe_pci.c
> +++ b/drivers/gpu/drm/xe/xe_pci.c
> @@ -525,8 +525,7 @@ static int xe_info_init(struct xe_device *xe,
> subplatform_desc->subplatform : XE_SUBPLATFORM_NONE;
> xe->info.step = xe_step_get(xe);
>
> - 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;
>
More information about the Intel-xe
mailing list