Module: Mesa Branch: main Commit: 3e3fd921acd77ca8fef1bec93de14b4ed06db18f URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3e3fd921acd77ca8fef1bec93de14b4ed06db18f
Author: Francisco Jerez <curroje...@riseup.net> Date: Sun May 28 16:30:23 2023 -0700 intel/mtl: Import L3 cache configurations. Reviewed-by: Lionel Landwerlin <lionel.g.landwer...@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25493> --- src/intel/common/intel_l3_config.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/intel/common/intel_l3_config.c b/src/intel/common/intel_l3_config.c index 0018d0acaf0..f56d41cd82e 100644 --- a/src/intel/common/intel_l3_config.c +++ b/src/intel/common/intel_l3_config.c @@ -189,9 +189,13 @@ get_l3_list(const struct intel_device_info *devinfo) return &icl_l3_list; case 12: - if (intel_device_info_is_dg2(devinfo)) + if (intel_device_info_is_dg2(devinfo) || + intel_device_info_is_mtl(devinfo)) { + /* XXX - Some MTL configs may need special-casing here, but + * we have no way to identify them right now. + */ return &dg2_l3_list; - else if (devinfo->platform == INTEL_PLATFORM_DG1 || devinfo->verx10 == 125) + } else if (devinfo->platform == INTEL_PLATFORM_DG1 || devinfo->verx10 == 125) return &empty_l3_list; else return &tgl_l3_list; @@ -341,9 +345,13 @@ intel_get_l3_config(const struct intel_device_info *devinfo, static unsigned get_l3_way_size(const struct intel_device_info *devinfo) { + /* Only MTL N/S/M have an 8KB way size, other MTL configs have 4KB + * ways. See BSpec 45319. + */ const unsigned way_size_per_bank = - (devinfo->ver >= 9 && devinfo->l3_banks == 1) || devinfo->ver >= 11 ? - 4 : 2; + devinfo->platform == INTEL_PLATFORM_MTL_M ? 8 : + (devinfo->ver >= 9 && devinfo->l3_banks == 1) || devinfo->ver >= 11 ? 4 : + 2; assert(devinfo->l3_banks); return way_size_per_bank * devinfo->l3_banks;