xe->info.vram_flags & XE_VRAM_FLAGS_NEED64K ? SZ_64K : SZ_4K;
config->info[XE_QUERY_CONFIG_VA_BITS] = 12 +
(9 * (xe->info.vm_max_level + 1));
- config->info[XE_QUERY_CONFIG_GT_COUNT] = xe->info.tile_count;
+ config->info[XE_QUERY_CONFIG_GT_COUNT] = xe->info.gt_count;
config->info[XE_QUERY_CONFIG_MEM_REGION_COUNT] =
hweight_long(xe->info.mem_region_mask);
config->info[XE_QUERY_CONFIG_MAX_ENGINE_PRIORITY] =
{
struct xe_gt *gt;
size_t size = sizeof(struct drm_xe_query_gts) +
- xe->info.tile_count * sizeof(struct drm_xe_query_gt);
+ xe->info.gt_count * sizeof(struct drm_xe_query_gt);
struct drm_xe_query_gts __user *query_ptr =
u64_to_user_ptr(query->data);
struct drm_xe_query_gts *gts;
if (XE_IOCTL_ERR(xe, !gts))
return -ENOMEM;
- gts->num_gt = xe->info.tile_count;
+ gts->num_gt = xe->info.gt_count;
for_each_gt(gt, xe, id) {
- if (id == 0)
- gts->gts[id].type = XE_QUERY_GT_TYPE_MAIN;
- else if (xe_gt_is_media_type(gt))
+ if (xe_gt_is_media_type(gt))
gts->gts[id].type = XE_QUERY_GT_TYPE_MEDIA;
- else
+ else if (gt_to_tile(gt)->id > 0)
gts->gts[id].type = XE_QUERY_GT_TYPE_REMOTE;
+ else
+ gts->gts[id].type = XE_QUERY_GT_TYPE_MAIN;
gts->gts[id].instance = id;
gts->gts[id].clock_freq = gt->info.clock_freq;
if (!IS_DGFX(xe))
static size_t calc_topo_query_size(struct xe_device *xe)
{
- return xe->info.tile_count *
+ return xe->info.gt_count *
(3 * sizeof(struct drm_xe_query_topology_mask) +
sizeof_field(struct xe_gt, fuse_topo.g_dss_mask) +
sizeof_field(struct xe_gt, fuse_topo.c_dss_mask) +