diff --git a/src/intel/dev/i915/intel_device_info.c b/src/intel/dev/i915/intel_device_info.c index 25e0f5eecee..e2ce29f30ed 100644 --- a/src/intel/dev/i915/intel_device_info.c +++ b/src/intel/dev/i915/intel_device_info.c @@ -305,10 +305,14 @@ query_topology(struct intel_device_info *devinfo, int fd) if (devinfo->verx10 >= 125) { struct drm_i915_query_topology_info *geom_topo_info = - intel_i915_query_alloc(fd, DRM_I915_QUERY_GEOMETRY_SUBSLICES, NULL); + intel_i915_query_alloc(fd, PRELIM_DRM_I915_QUERY_GEOMETRY_SLICES, NULL); if (geom_topo_info == NULL) { - free(topo_info); - return false; + geom_topo_info = + intel_i915_query_alloc(fd, DRM_I915_QUERY_GEOMETRY_SUBSLICES, NULL); + if (geom_topo_info == NULL) { + free(topo_info); + return false; + } } update_from_single_slice_topology(devinfo, topo_info, geom_topo_info);