Skip to content

Commit 7835303

Browse files
Radhakrishna Sripadamattrope
authored andcommitted
drm/i915/mtl: Add MeteorLake PCI IDs
Add Meteorlake PCI IDs. Split into M, and P subplatforms. v2: Update PCI id's v3: Move id 7d60 under MTL_M(MattR) Bspec: 55420 Signed-off-by: Radhakrishna Sripada <[email protected]> Signed-off-by: Matt Roper <[email protected]> Reviewed-by: Matt Roper <[email protected]> Signed-off-by: Matt Roper <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
1 parent bcf9b29 commit 7835303

File tree

5 files changed

+36
-0
lines changed

5 files changed

+36
-0
lines changed

drivers/gpu/drm/i915/i915_drv.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1071,6 +1071,10 @@ IS_SUBPLATFORM(const struct drm_i915_private *i915,
10711071
#define IS_PONTEVECCHIO(dev_priv) IS_PLATFORM(dev_priv, INTEL_PONTEVECCHIO)
10721072
#define IS_METEORLAKE(dev_priv) IS_PLATFORM(dev_priv, INTEL_METEORLAKE)
10731073

1074+
#define IS_METEORLAKE_M(dev_priv) \
1075+
IS_SUBPLATFORM(dev_priv, INTEL_METEORLAKE, INTEL_SUBPLATFORM_M)
1076+
#define IS_METEORLAKE_P(dev_priv) \
1077+
IS_SUBPLATFORM(dev_priv, INTEL_METEORLAKE, INTEL_SUBPLATFORM_P)
10741078
#define IS_DG2_G10(dev_priv) \
10751079
IS_SUBPLATFORM(dev_priv, INTEL_DG2, INTEL_SUBPLATFORM_G10)
10761080
#define IS_DG2_G11(dev_priv) \

drivers/gpu/drm/i915/i915_pci.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1218,6 +1218,7 @@ static const struct pci_device_id pciidlist[] = {
12181218
INTEL_RPLP_IDS(&adl_p_info),
12191219
INTEL_DG2_IDS(&dg2_info),
12201220
INTEL_ATS_M_IDS(&ats_m_info),
1221+
INTEL_MTL_IDS(&mtl_info),
12211222
{0, 0, 0}
12221223
};
12231224
MODULE_DEVICE_TABLE(pci, pciidlist);

drivers/gpu/drm/i915/intel_device_info.c

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -202,6 +202,14 @@ static const u16 subplatform_g12_ids[] = {
202202
INTEL_DG2_G12_IDS(0),
203203
};
204204

205+
static const u16 subplatform_m_ids[] = {
206+
INTEL_MTL_M_IDS(0),
207+
};
208+
209+
static const u16 subplatform_p_ids[] = {
210+
INTEL_MTL_P_IDS(0),
211+
};
212+
205213
static bool find_devid(u16 id, const u16 *p, unsigned int num)
206214
{
207215
for (; num; num--, p++) {
@@ -256,6 +264,12 @@ void intel_device_info_subplatform_init(struct drm_i915_private *i915)
256264
} else if (find_devid(devid, subplatform_g12_ids,
257265
ARRAY_SIZE(subplatform_g12_ids))) {
258266
mask = BIT(INTEL_SUBPLATFORM_G12);
267+
} else if (find_devid(devid, subplatform_m_ids,
268+
ARRAY_SIZE(subplatform_m_ids))) {
269+
mask = BIT(INTEL_SUBPLATFORM_M);
270+
} else if (find_devid(devid, subplatform_p_ids,
271+
ARRAY_SIZE(subplatform_p_ids))) {
272+
mask = BIT(INTEL_SUBPLATFORM_P);
259273
}
260274

261275
GEM_BUG_ON(mask & ~INTEL_SUBPLATFORM_MASK);

drivers/gpu/drm/i915/intel_device_info.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,10 @@ enum intel_platform {
127127
*/
128128
#define INTEL_SUBPLATFORM_N 1
129129

130+
/* MTL */
131+
#define INTEL_SUBPLATFORM_M 0
132+
#define INTEL_SUBPLATFORM_P 1
133+
130134
enum intel_ppgtt_type {
131135
INTEL_PPGTT_NONE = I915_GEM_PPGTT_NONE,
132136
INTEL_PPGTT_ALIASING = I915_GEM_PPGTT_ALIASING,

include/drm/i915_pciids.h

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -733,5 +733,18 @@
733733
#define INTEL_ATS_M_IDS(info) \
734734
INTEL_ATS_M150_IDS(info), \
735735
INTEL_ATS_M75_IDS(info)
736+
/* MTL */
737+
#define INTEL_MTL_M_IDS(info) \
738+
INTEL_VGA_DEVICE(0x7D40, info), \
739+
INTEL_VGA_DEVICE(0x7D60, info)
740+
741+
#define INTEL_MTL_P_IDS(info) \
742+
INTEL_VGA_DEVICE(0x7D45, info), \
743+
INTEL_VGA_DEVICE(0x7D55, info), \
744+
INTEL_VGA_DEVICE(0x7DD5, info)
745+
746+
#define INTEL_MTL_IDS(info) \
747+
INTEL_MTL_M_IDS(info), \
748+
INTEL_MTL_P_IDS(info)
736749

737750
#endif /* _I915_PCIIDS_H */

0 commit comments

Comments
 (0)