[Intel-gfx] [PATCH v3 1/3] drm/i915: add GT number to intel_device_info
Ville Syrjälä
ville.syrjala at linux.intel.com
Wed Aug 30 13:41:20 UTC 2017
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 at intel.com>
> ---
> 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
More information about the Intel-gfx
mailing list