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.

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

Reply via email to