intel/devinfo: Compute the correct L3$ size for Gen12
authorJason Ekstrand <jason@jlekstrand.net>
Tue, 28 Apr 2020 03:43:42 +0000 (22:43 -0500)
committerMarge Bot <eric+marge@anholt.net>
Tue, 28 Apr 2020 14:34:17 +0000 (14:34 +0000)
Fixes: 8125d7960b6 "intel/dev: Add preliminary device info for Tigerlake"
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Tested-by: Clayton Craft <clayton.a.craft@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4782>

src/intel/dev/gen_device_info.c

index ef444016e3785d93f64bbfc01f5dc2c9c622804c..299d33f9501b0ffa5183e9c53ad4daebe741e21f 100644 (file)
@@ -1201,6 +1201,17 @@ update_from_topology(struct gen_device_info *devinfo,
       }
    }
 
+   if (devinfo->gen == 12 && devinfo->num_slices == 1) {
+      if (n_subslices >= 6) {
+         assert(n_subslices == 6);
+         devinfo->l3_banks = 8;
+      } else if (n_subslices > 2) {
+         devinfo->l3_banks = 6;
+      } else {
+         devinfo->l3_banks = 4;
+      }
+   }
+
    uint32_t eu_mask_len =
       topology->eu_stride * topology->max_subslices * topology->max_slices;
    assert(sizeof(devinfo->eu_masks) >= eu_mask_len);