[Intel-gfx] [PATCH v3 1/3] drm/i915: add GT number to intel_device_info
Lionel Landwerlin
lionel.g.landwerlin at intel.com
Wed Aug 30 13:45:21 UTC 2017
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 <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.
>
Thanks, fixing it up.
More information about the Intel-gfx
mailing list