[Mesa-dev] [PATCH 1/2] i965: Fix broxton 2x6 l3 config

Anuj Phogat anuj.phogat at gmail.com
Mon Jun 12 17:01:48 UTC 2017


The new table added in this patch matches with the table
in gfxspecs. We were programming the wrong values earlier.

Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
Cc: Francisco Jerez <currojerez at riseup.net>
Cc: "17.1" <mesa-stable at lists.freedesktop.org>
---
 src/intel/common/gen_device_info.c |  1 +
 src/intel/common/gen_device_info.h |  1 +
 src/intel/common/gen_l3_config.c   | 19 +++++++++++++++++++
 3 files changed, 21 insertions(+)

diff --git a/src/intel/common/gen_device_info.c b/src/intel/common/gen_device_info.c
index 75284a6..eccb464 100644
--- a/src/intel/common/gen_device_info.c
+++ b/src/intel/common/gen_device_info.c
@@ -502,6 +502,7 @@ static const struct gen_device_info gen_device_info_bxt = {
 
 static const struct gen_device_info gen_device_info_bxt_2x6 = {
    GEN9_LP_FEATURES_2X6,
+   .is_broxton_2x6 = 1,
    .l3_banks = 1,
 };
 /*
diff --git a/src/intel/common/gen_device_info.h b/src/intel/common/gen_device_info.h
index 6207630..4fe1b21 100644
--- a/src/intel/common/gen_device_info.h
+++ b/src/intel/common/gen_device_info.h
@@ -41,6 +41,7 @@ struct gen_device_info
    bool is_haswell;
    bool is_cherryview;
    bool is_broxton;
+   bool is_broxton_2x6;
    bool is_kabylake;
 
    bool has_hiz_and_separate_stencil;
diff --git a/src/intel/common/gen_l3_config.c b/src/intel/common/gen_l3_config.c
index ae31d08..e17994b 100644
--- a/src/intel/common/gen_l3_config.c
+++ b/src/intel/common/gen_l3_config.c
@@ -102,6 +102,23 @@ static const struct gen_l3_config chv_l3_configs[] = {
 };
 
 /**
+ * BXT 2x6 validated L3 configurations.  \sa ivb_l3_configs.
+ * Number of ways =
+ *    Allocation in KB for SKU / (Way size per bank * Number of banks).
+ * For BXT 2x6: Banks = 1, Way size per bank = 4.
+ */
+static const struct gen_l3_config bxt_2x6_l3_configs[] = {
+   /*SLM URB  All DC  RO  IS   C   T */
+   {{  0, 32, 48,  0,  0,  0,  0,  0 }},
+   {{  0, 32,  0,  8, 40,  0,  0,  0 }},
+   {{  0, 32,  0, 32, 16,  0,  0,  0 }},
+   {{ 16, 16, 48,  0,  0,  0,  0,  0 }},
+   {{ 16, 16,  0, 40,  8,  0,  0,  0 }},
+   {{ 16, 16,  0, 16, 32,  0,  0,  0 }},
+   {{ 0 }}
+};
+
+/**
  * Return a zero-terminated array of validated L3 configurations for the
  * specified device.
  */
@@ -117,6 +134,8 @@ get_l3_configs(const struct gen_device_info *devinfo)
 
    case 9:
    case 10:
+      if (devinfo->is_broxton_2x6)
+         return bxt_2x6_l3_configs;
       return chv_l3_configs;
 
    default:
-- 
2.9.3



More information about the mesa-dev mailing list