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 <lionel.g.landwerlin@xxxxxxxxx> > --- > 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. -- Ville Syrjälä Intel OTC _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx