Commit 3643e637 authored by Matt Roper's avatar Matt Roper Committed by Rodrigo Vivi
Browse files

drm/xe: Add for_each_tile iterator



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@intel.com>
Reviewed-by: default avatarLucas De Marchi <lucas.demarchi@intel.com>
Acked-by: default avatarGustavo Sousa <gustavo.sousa@intel.com>
Link: https://lore.kernel.org/r/20230601215244.678611-6-matthew.d.roper@intel.com


Signed-off-by: default avatarMatt Roper <matthew.d.roper@intel.com>
Signed-off-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
parent f79ee301
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -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__)))
+1 −2
Original line number Diff line number Diff line
@@ -537,8 +537,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;