On 30/08/17 14:41, Ville Syrjälä wrote:
On Tue, Aug 29, 2017 at 09:42:02PM +0100, Lionel Landwerlin wrote:
Up to Coffeelake we could deduce this GT number from the device ID.
This doesn't seem to be the case anymore. This change reorders pciids
per GT and adds a gt field to intel_device_info. We set this field on
the following platforms :

    - SNB/IVB/HSW/BDW/SKL/KBL/CFL/CNL

v2: Add SNB & IVB (Chris)

v3: Fix compilation error in early-quirks (Lionel)

Signed-off-by: Lionel Landwerlin <[email protected]>
---
  drivers/gpu/drm/i915/i915_drv.h |   1 +
  drivers/gpu/drm/i915/i915_pci.c | 193 +++++++++++++++++++++++++++++++---------
  include/drm/i915_pciids.h       | 152 +++++++++++++++++++------------
  3 files changed, 246 insertions(+), 100 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 0383e879a315..3d417537bd59 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -842,6 +842,7 @@ struct intel_device_info {
        u8 gen;
        u16 gen_mask;
        enum intel_platform platform;
+       u8 gt; /* GT number, 0 if undefined */
        u8 ring_mask; /* Rings supported by the HW */
        u8 num_rings;
  #define DEFINE_FLAG(name) u8 name:1
diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c
index a1e6b696bcfa..0ac733baa734 100644
--- a/drivers/gpu/drm/i915/i915_pci.c
+++ b/drivers/gpu/drm/i915/i915_pci.c
@@ -224,15 +224,34 @@ static const struct intel_device_info 
intel_ironlake_m_info = {
        GEN_DEFAULT_PIPEOFFSETS, \
        CURSOR_OFFSETS
-static const struct intel_device_info intel_sandybridge_d_info = {
-       GEN6_FEATURES,
-       .platform = INTEL_SANDYBRIDGE,
+#define SNB_D_PLATFORM \
+       GEN6_FEATURES, \
+       .platform = INTEL_SANDYBRIDGE
+
+static const struct intel_device_info intel_sandybridge_d_gt1_info = {
+       SNB_D_PLATFORM,
+       .gt = 1,
  };
-static const struct intel_device_info intel_sandybridge_m_info = {
-       GEN6_FEATURES,
-       .platform = INTEL_SANDYBRIDGE,
-       .is_mobile = 1,
+static const struct intel_device_info intel_sandybridge_d_gt2_info = {
+       SNB_D_PLATFORM,
+       .gt = 2,
+};
+
+#define SNB_M_PLATFORM \
+       GEN6_FEATURES, \
+       .platform = INTEL_SANDYBRIDGE, \
+       .is_mobile = 1
+
+
+static const struct intel_device_info intel_sandybridge_m_gt1_info = {
+       SNB_M_PLATFORM,
+       .gt = 1,
+};
+
+static const struct intel_device_info intel_sandybridge_m_gt2_info = {
+       SNB_M_PLATFORM,
+       .gt = 2,
  };
#define GEN7_FEATURES \
@@ -249,22 +268,41 @@ static const struct intel_device_info 
intel_sandybridge_m_info = {
        GEN_DEFAULT_PIPEOFFSETS, \
        IVB_CURSOR_OFFSETS
-static const struct intel_device_info intel_ivybridge_d_info = {
-       GEN7_FEATURES,
-       .platform = INTEL_IVYBRIDGE,
-       .has_l3_dpf = 1,
+#define IVB_D_FEATURES \
FEATURES vs. PLATFORM seem to be used in an inconsistent manner.

Thanks, fixing it up.

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to