* 64KB granularity format on GFX12 devices
*/
INTEL_AUX_MAP_GFX12_64KB = 0,
+
+ /**
+ * 1MB granularity format on GFX125 devices
+ */
+ INTEL_AUX_MAP_GFX125_1MB,
+
INTEL_AUX_MAP_LAST,
};
.l1_index_mask = 0xff,
.l1_index_offset = 16,
},
+ [INTEL_AUX_MAP_GFX125_1MB] = {
+ .main_page_size = 1024 * 1024,
+ .main_to_aux_ratio = 256,
+ .l1_page_size = 2 * 1024,
+ .l1_index_mask = 0xf,
+ .l1_index_offset = 20,
+ },
};
struct aux_map_buffer {
static enum intel_aux_map_format
select_format(const struct intel_device_info *devinfo)
{
- return devinfo->verx10 ==
- 120 ? INTEL_AUX_MAP_GFX12_64KB : INTEL_AUX_MAP_LAST;
+ if (devinfo->verx10 >= 125)
+ return INTEL_AUX_MAP_GFX125_1MB;
+ else if (devinfo->verx10 == 120)
+ return INTEL_AUX_MAP_GFX12_64KB;
+ else
+ return INTEL_AUX_MAP_LAST;
}
static bool