<div dir="ltr">Perhaps this should probably be the last patch in the series as it's the one that actually enables CNL support?  Otherwise, you could get a commit with PCI ids but a completely busted driver.<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, May 12, 2017 at 4:38 PM, Anuj Phogat <span dir="ltr"><<a href="mailto:anuj.phogat@gmail.com" target="_blank">anuj.phogat@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">From: Ben Widawsky <<a href="mailto:benjamin.widawsky@intel.com">benjamin.widawsky@intel.com</a>><br>
<br>
v2 (Anuj):<br>
Rebased on master and updated pci ids<br>
Remove redundant initialization of max_wm_threads to 64 * 12.<br>
For gen9+ max_wm_threads are initialized in gen_get_device_info().<br>
<br>
Signed-off-by: Anuj Phogat <<a href="mailto:anuj.phogat@gmail.com">anuj.phogat@gmail.com</a>><br>
Signed-off-by: Ben Widawsky <<a href="mailto:benjamin.widawsky@intel.com">benjamin.widawsky@intel.com</a>><br>
---<br>
 include/pci_ids/i965_pci_ids.h     | 12 ++++++++<br>
 src/intel/common/gen_device_<wbr>info.c | 58 ++++++++++++++++++++++++++++++<wbr>++++++++<br>
 src/intel/common/gen_device_<wbr>info.h |  1 +<br>
 3 files changed, 71 insertions(+)<br>
<br>
diff --git a/include/pci_ids/i965_pci_<wbr>ids.h b/include/pci_ids/i965_pci_<wbr>ids.h<br>
index 17504f5..b296359 100644<br>
--- a/include/pci_ids/i965_pci_<wbr>ids.h<br>
+++ b/include/pci_ids/i965_pci_<wbr>ids.h<br>
@@ -165,3 +165,15 @@ CHIPSET(0x5927, kbl_gt3, "Intel(R) Iris Plus Graphics 650 (Kaby Lake GT3)")<br>
 CHIPSET(0x593B, kbl_gt4, "Intel(R) Kabylake GT4")<br>
 CHIPSET(0x3184, glk,     "Intel(R) HD Graphics (Geminilake)")<br>
 CHIPSET(0x3185, glk_2x6, "Intel(R) HD Graphics (Geminilake 2x6)")<br>
+CHIPSET(0x5A49, cnl_2x8, "Intel(R) HD Graphics (Cannonlake 2x8 GT0.5)")<br>
+CHIPSET(0x5A4A, cnl_2x8, "Intel(R) HD Graphics (Cannonlake 2x8 GT0.5)")<br>
+CHIPSET(0x5A41, cnl_3x8, "Intel(R) HD Graphics (Cannonlake 3x8 GT1)")<br>
+CHIPSET(0x5A42, cnl_3x8, "Intel(R) HD Graphics (Cannonlake 3x8 GT1)")<br>
+CHIPSET(0x5A44, cnl_3x8, "Intel(R) HD Graphics (Cannonlake 3x8 GT1)")<br>
+CHIPSET(0x5A59, cnl_4x8, "Intel(R) HD Graphics (Cannonlake 4x8 GT1.5)")<br>
+CHIPSET(0x5A5A, cnl_4x8, "Intel(R) HD Graphics (Cannonlake 4x8 GT1.5)")<br>
+CHIPSET(0x5A5C, cnl_4x8, "Intel(R) HD Graphics (Cannonlake 4x8 GT1.5)")<br>
+CHIPSET(0x5A50, cnl_5x8, "Intel(R) HD Graphics (Cannonlake 5x8 GT2)")<br>
+CHIPSET(0x5A51, cnl_5x8, "Intel(R) HD Graphics (Cannonlake 5x8 GT2)")<br>
+CHIPSET(0x5A52, cnl_5x8, "Intel(R) HD Graphics (Cannonlake 5x8 GT2)")<br>
+CHIPSET(0x5A54, cnl_5x8, "Intel(R) HD Graphics (Cannonlake 5x8 GT2)")<br>
diff --git a/src/intel/common/gen_device_<wbr>info.c b/src/intel/common/gen_device_<wbr>info.c<br>
index 47aed9d..87edb94 100644<br>
--- a/src/intel/common/gen_device_<wbr>info.c<br>
+++ b/src/intel/common/gen_device_<wbr>info.c<br>
@@ -555,6 +555,64 @@ static const struct gen_device_info gen_device_info_glk_2x6 = {<br>
    GEN9_LP_FEATURES_2X6<br>
 };<br>
<br>
+#define GEN10_HW_INFO                               \<br>
+   .gen = 10,                                       \<br>
+   .max_vs_threads = 728,                           \<br>
+   .max_gs_threads = 432,                           \<br>
+   .max_tcs_threads = 432,                          \<br>
+   .max_tes_threads = 624,                          \<br>
+   .max_cs_threads = 56,                            \<br>
+   .urb = {                                         \<br>
+      .size = 256,                                  \<br>
+      .min_entries = {                              \<br>
+         [MESA_SHADER_VERTEX]    = 64,              \<br>
+         [MESA_SHADER_TESS_EVAL] = 34,              \<br>
+      },                                            \<br>
+      .max_entries = {                              \<br>
+      [MESA_SHADER_VERTEX]       = 3936,            \<br>
+      [MESA_SHADER_TESS_CTRL]    = 896,             \<br>
+      [MESA_SHADER_TESS_EVAL]    = 2064,            \<br>
+      [MESA_SHADER_GEOMETRY]     = 832,             \<br>
+      },                                            \<br>
+   }<br>
+<br>
+#define GEN10_FEATURES(_gt, _slices, _l3)           \<br>
+   GEN8_FEATURES,                                   \<br>
+   GEN10_HW_INFO,                                   \<br>
+   .gt = _gt, .num_slices = _slices, .l3_banks = _l3<br>
+<br>
+static const struct gen_device_info gen_device_info_cnl_2x8 = {<br>
+   /* GT0.5 */<br>
+   GEN10_FEATURES(1, 1, 2)<br>
+};<br>
+<br>
+static const struct gen_device_info gen_device_info_cnl_3x8 = {<br>
+   /* GT1 */<br>
+   GEN10_FEATURES(1, 1, 3)<br>
+};<br>
+<br>
+static const struct gen_device_info gen_device_info_cnl_4x8 = {<br>
+   /* GT 1.5 */<br>
+   GEN10_FEATURES(1, 2, 6)<br>
+};<br>
+<br>
+static const struct gen_device_info gen_device_info_cnl_5x8 = {<br>
+   /* GT2 */<br>
+   GEN10_FEATURES(2, 2, 6)<br>
+};<br>
+<br>
+static const struct gen_device_info gen_device_info_cnl_gt1 = {<br>
+   GEN10_FEATURES(1, 1, 3)<br>
+};<br>
+<br>
+static const struct gen_device_info gen_device_info_cnl_gt2 = {<br>
+   GEN10_FEATURES(2, 2, 6)<br>
+};<br>
+<br>
+static const struct gen_device_info gen_device_info_cnl_gt3 = {<br>
+   GEN10_FEATURES(3, 4, 12)<br>
+};<br>
+<br>
 bool<br>
 gen_get_device_info(int devid, struct gen_device_info *devinfo)<br>
 {<br>
diff --git a/src/intel/common/gen_device_<wbr>info.h b/src/intel/common/gen_device_<wbr>info.h<br>
index 80676d0..6207630 100644<br>
--- a/src/intel/common/gen_device_<wbr>info.h<br>
+++ b/src/intel/common/gen_device_<wbr>info.h<br>
@@ -96,6 +96,7 @@ struct gen_device_info<br>
     * to change, so we program @max_cs_threads as the lower maximum.<br>
     */<br>
    unsigned num_slices;<br>
+   unsigned l3_banks;<br>
    unsigned max_vs_threads;   /**< Maximum Vertex Shader threads */<br>
    unsigned max_tcs_threads;  /**< Maximum Hull Shader threads */<br>
    unsigned max_tes_threads;  /**< Maximum Domain Shader threads */<br>
<span class="HOEnZb"><font color="#888888">--<br>
2.9.3<br>
<br>
______________________________<wbr>_________________<br>
mesa-dev mailing list<br>
<a href="mailto:mesa-dev@lists.freedesktop.org">mesa-dev@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev" rel="noreferrer" target="_blank">https://lists.freedesktop.org/<wbr>mailman/listinfo/mesa-dev</a><br>
</font></span></blockquote></div><br></div>