[Intel-xe] [PATCH 11/26] drm/xe: Drop extra_gts[] declarations and XE_GT_TYPE_REMOTE

Lucas De Marchi lucas.demarchi at intel.com
Wed May 17 05:14:36 UTC 2023


On Wed, May 10, 2023 at 08:47:07PM -0700, Matt Roper wrote:
>Now that tiles and GTs are handled separately, extra_gts[] doesn't
>really provide any useful information that we can't just infer directly.
>The primary GT of the root tile and the remote tiles behave the same way

				     ^ missing a "of"?

>and don't need independent handling.
>
>When we re-add support for media GTs in a future patch, the presence of
>media can be determined from MEDIA_VER() (i.e., >= 13) and media's GSI
>offset handling is expected to remain constant for all forseeable future
>platforms, so it won't need to be provided in a definition structure
>either.
>
>Signed-off-by: Matt Roper <matthew.d.roper at intel.com>


Reviewed-by: Lucas De Marchi <lucas.demarchi at intel.com>


Lucas De Marchi

>---
> drivers/gpu/drm/xe/xe_gt_types.h |  1 -
> drivers/gpu/drm/xe/xe_pci.c      | 37 ++++++--------------------------
> 2 files changed, 7 insertions(+), 31 deletions(-)
>
>diff --git a/drivers/gpu/drm/xe/xe_gt_types.h b/drivers/gpu/drm/xe/xe_gt_types.h
>index 8a5f9122ba80..5e0bfb21ae1c 100644
>--- a/drivers/gpu/drm/xe/xe_gt_types.h
>+++ b/drivers/gpu/drm/xe/xe_gt_types.h
>@@ -20,7 +20,6 @@ struct xe_ring_ops;
> enum xe_gt_type {
> 	XE_GT_TYPE_UNINITIALIZED,
> 	XE_GT_TYPE_MAIN,
>-	XE_GT_TYPE_REMOTE,
> 	XE_GT_TYPE_MEDIA,
> };
>
>diff --git a/drivers/gpu/drm/xe/xe_pci.c b/drivers/gpu/drm/xe/xe_pci.c
>index 0f3508c72c79..bfdc9563e54f 100644
>--- a/drivers/gpu/drm/xe/xe_pci.c
>+++ b/drivers/gpu/drm/xe/xe_pci.c
>@@ -46,7 +46,6 @@ struct xe_device_desc {
>
> 	const char *platform_name;
> 	const struct xe_subplatform_desc *subplatforms;
>-	const struct xe_gt_desc *extra_gts;
>
> 	enum xe_platform platform;
>
>@@ -254,20 +253,11 @@ static const struct xe_device_desc dg2_desc = {
> 	DG2_FEATURES,
> };
>
>-static const struct xe_gt_desc pvc_gts[] = {
>-	{
>-		.type = XE_GT_TYPE_REMOTE,
>-		.mmio_adj_limit = 0,
>-		.mmio_adj_offset = 0,
>-	},
>-};
>-
> static const struct xe_device_desc pvc_desc = {
> 	.graphics = &graphics_xehpc,
> 	DGFX_FEATURES,
> 	PLATFORM(XE_PVC),
> 	.require_force_probe = true,
>-	.extra_gts = pvc_gts,
> };
>
> static const struct xe_device_desc mtl_desc = {
>@@ -531,26 +521,13 @@ static int xe_info_init(struct xe_device *xe,
> 		gt->info.id = id;
> 		gt->tile = tile;
>
>-		gt->info.id = id;
>-		if (id == 0) {
>-			gt->info.type = XE_GT_TYPE_MAIN;
>-
>-			gt->info.__engine_mask = graphics_desc->hw_engine_mask;
>-			if (MEDIA_VER(xe) < 13 && media_desc)
>-				gt->info.__engine_mask |= media_desc->hw_engine_mask;
>-
>-			gt->mmio.adj_limit = 0;
>-			gt->mmio.adj_offset = 0;
>-		} else {
>-			gt->info.type = desc->extra_gts[id - 1].type;
>-			gt->info.__engine_mask = xe_gt_is_media_type(gt) ?
>-				media_desc->hw_engine_mask :
>-				graphics_desc->hw_engine_mask;
>-			gt->mmio.adj_limit =
>-				desc->extra_gts[id - 1].mmio_adj_limit;
>-			gt->mmio.adj_offset =
>-				desc->extra_gts[id - 1].mmio_adj_offset;
>-		}
>+		gt->info.id = id;	/* FIXME: Determine sensible numbering */
>+		gt->info.type = XE_GT_TYPE_MAIN;
>+		gt->info.__engine_mask = graphics_desc->hw_engine_mask;
>+		if (MEDIA_VER(xe) < 13 && media_desc)
>+			gt->info.__engine_mask |= media_desc->hw_engine_mask;
>+
>+		/* TODO: Init media GT, if present */
> 	}
>
> 	return 0;
>-- 
>2.40.0
>


More information about the Intel-xe mailing list