Mesa (staging/20.0): intel/devinfo: Compute the correct L3$ size for Gen12

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Apr 28 19:51:58 UTC 2020


Module: Mesa
Branch: staging/20.0
Commit: 002f718dfafdcb661d13bd8c46dd3d8f36b23494
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=002f718dfafdcb661d13bd8c46dd3d8f36b23494

Author: Jason Ekstrand <jason at jlekstrand.net>
Date:   Mon Apr 27 22:43:42 2020 -0500

intel/devinfo: Compute the correct L3$ size for Gen12

Fixes: 8125d7960b6 "intel/dev: Add preliminary device info for Tigerlake"
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Tested-by: Clayton Craft <clayton.a.craft at intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4782>
(cherry picked from commit 86f67952d31554b8b4b5a9943b43ace988c6401f)

---

 .pick_status.json               |  2 +-
 src/intel/dev/gen_device_info.c | 11 +++++++++++
 2 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/.pick_status.json b/.pick_status.json
index 1b72b86d04d..6a56b35b407 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -238,7 +238,7 @@
         "description": "intel/devinfo: Compute the correct L3$ size for Gen12",
         "nominated": true,
         "nomination_type": 1,
-        "resolution": 0,
+        "resolution": 1,
         "master_sha": null,
         "because_sha": "8125d7960b672bcd597a2687e3078899afc52560"
     },
diff --git a/src/intel/dev/gen_device_info.c b/src/intel/dev/gen_device_info.c
index ef444016e37..299d33f9501 100644
--- a/src/intel/dev/gen_device_info.c
+++ b/src/intel/dev/gen_device_info.c
@@ -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);



More information about the mesa-commit mailing list