Backport Comet Lake support for inteldrm from mainline linux.
commit a7b4deeb02b978bc59808cb13c93ba84f01023a4
Author: Anusha Srivatsa <[email protected]>
Date: Mon Mar 18 13:01:32 2019 -0700
drm/i915/cml: Add CML PCI IDS
Comet Lake is a Intel Processor containing Gen9
Intel HD Graphics. This patch adds the initial set of
PCI IDs. Comet Lake comes off of Coffee Lake - adding
the IDs to Coffee Lake ID list.
More support and features will be in the patches that follow.
v2: Split IDs according to GT. (Rodrigo)
v3: Update IDs.
Cc: Rodrigo Vivi <[email protected]>
Cc: Lucas De Marchi <[email protected]>
Signed-off-by: Anusha Srivatsa <[email protected]>
Reviewed-by: Rodrigo Vivi <[email protected]>
Link:
https://patchwork.freedesktop.org/patch/msgid/[email protected]
commit 729ae330a0f2e270db2ca70c06a83d0aa2776288
Author: Anusha Srivatsa <[email protected]>
Date: Mon Mar 18 13:01:33 2019 -0700
drm/i915/cml: Introduce Comet Lake PCH
Comet Lake PCH is based off of Cannon Point(CNP).
Add PCI ID for Comet Lake PCH.
v2: Code cleanup (DK)
v3: Comment cleanup (Jani)
Cc: Jani Nikula <[email protected]>
Cc: Dhinakaran Pandiyan <[email protected]>
Cc: Rodrigo Vivi <[email protected]>
Signed-off-by: Anusha Srivatsa <[email protected]>
Reviewed-by: Rodrigo Vivi <[email protected]>
Link:
https://patchwork.freedesktop.org/patch/msgid/[email protected]
diff --git sys/dev/pci/drm/i915/i915_devlist.h
sys/dev/pci/drm/i915/i915_devlist.h
index 5388608848d..8dc87d6fdc0 100644
--- sys/dev/pci/drm/i915/i915_devlist.h
+++ sys/dev/pci/drm/i915/i915_devlist.h
@@ -212,6 +212,24 @@ static const struct pci_matchid i915_devices[] = {
{ 0x8086, 0x3ea3 },
{ 0x8086, 0x87ca },
{ 0x8086, 0x3ea2 },
+ { 0x8086, 0x9b21 },
+ { 0x8086, 0x9baa },
+ { 0x8086, 0x9bab },
+ { 0x8086, 0x9bac },
+ { 0x8086, 0x9ba0 },
+ { 0x8086, 0x9ba5 },
+ { 0x8086, 0x9ba8 },
+ { 0x8086, 0x9ba4 },
+ { 0x8086, 0x9ba2 },
+ { 0x8086, 0x9b41 },
+ { 0x8086, 0x9bca },
+ { 0x8086, 0x9bcb },
+ { 0x8086, 0x9bcc },
+ { 0x8086, 0x9bc0 },
+ { 0x8086, 0x9bc5 },
+ { 0x8086, 0x9bc8 },
+ { 0x8086, 0x9bc4 },
+ { 0x8086, 0x9bc2 },
{ 0x8086, 0x5a51 },
{ 0x8086, 0x5a59 },
{ 0x8086, 0x5a41 },
diff --git sys/dev/pci/drm/i915/i915_drv.c sys/dev/pci/drm/i915/i915_drv.c
index f0cdd46a147..c41308b3e33 100644
--- sys/dev/pci/drm/i915/i915_drv.c
+++ sys/dev/pci/drm/i915/i915_drv.c
@@ -195,6 +195,11 @@ intel_pch_type(const struct drm_i915_private *dev_priv,
unsigned short id)
DRM_DEBUG_KMS("Found Cannon Lake LP PCH (CNP-LP)\n");
WARN_ON(!IS_CANNONLAKE(dev_priv) && !IS_COFFEELAKE(dev_priv));
return PCH_CNP;
+ case INTEL_PCH_CMP_DEVICE_ID_TYPE:
+ DRM_DEBUG_KMS("Found Comet Lake PCH (CMP)\n");
+ WARN_ON(!IS_COFFEELAKE(dev_priv));
+ /* CometPoint is CNP Compatible */
+ return PCH_CNP;
case INTEL_PCH_ICP_DEVICE_ID_TYPE:
DRM_DEBUG_KMS("Found Ice Lake PCH\n");
WARN_ON(!IS_ICELAKE(dev_priv));
diff --git sys/dev/pci/drm/i915/i915_drv.h sys/dev/pci/drm/i915/i915_drv.h
index 9c8ba12b5fa..5d1fd179a4b 100644
--- sys/dev/pci/drm/i915/i915_drv.h
+++ sys/dev/pci/drm/i915/i915_drv.h
@@ -735,7 +735,7 @@ enum intel_pch {
PCH_LPT, /* Lynxpoint/Wildcatpoint PCH */
PCH_SPT, /* Sunrisepoint PCH */
PCH_KBP, /* Kaby Lake PCH */
- PCH_CNP, /* Cannon Lake PCH */
+ PCH_CNP, /* Cannon/Comet Lake PCH */
PCH_ICP, /* Ice Lake PCH */
PCH_NOP, /* PCH without south display */
};
@@ -2788,6 +2788,7 @@ intel_info(const struct drm_i915_private *dev_priv)
#define INTEL_PCH_KBP_DEVICE_ID_TYPE 0xA280
#define INTEL_PCH_CNP_DEVICE_ID_TYPE 0xA300
#define INTEL_PCH_CNP_LP_DEVICE_ID_TYPE 0x9D80
+#define INTEL_PCH_CMP_DEVICE_ID_TYPE 0x0280
#define INTEL_PCH_ICP_DEVICE_ID_TYPE 0x3480
#define INTEL_PCH_P2X_DEVICE_ID_TYPE 0x7100
#define INTEL_PCH_P3X_DEVICE_ID_TYPE 0x7000
diff --git sys/dev/pci/drm/i915/i915_pci.c sys/dev/pci/drm/i915/i915_pci.c
index 879c4932028..7bad4686dfb 100644
--- sys/dev/pci/drm/i915/i915_pci.c
+++ sys/dev/pci/drm/i915/i915_pci.c
@@ -667,6 +667,8 @@ const struct drm_pcidev pciidlist[] = {
INTEL_WHL_U_GT2_IDS(&intel_coffeelake_gt2_info),
INTEL_AML_CFL_GT2_IDS(&intel_coffeelake_gt2_info),
INTEL_WHL_U_GT3_IDS(&intel_coffeelake_gt3_info),
+ INTEL_CML_GT1_IDS(&intel_coffeelake_gt1_info),
+ INTEL_CML_GT2_IDS(&intel_coffeelake_gt2_info),
INTEL_CNL_IDS(&intel_cannonlake_info),
INTEL_ICL_11_IDS(&intel_icelake_11_info),
{0, 0, 0}
diff --git sys/dev/pci/drm/include/drm/i915_pciids.h
sys/dev/pci/drm/include/drm/i915_pciids.h
index d2fad7b0fcf..ecbde04a68e 100644
--- sys/dev/pci/drm/include/drm/i915_pciids.h
+++ sys/dev/pci/drm/include/drm/i915_pciids.h
@@ -373,6 +373,30 @@
#define INTEL_AML_CFL_GT2_IDS(info) \
INTEL_VGA_DEVICE(0x87CA, info)
+/* CML GT1 */
+#define INTEL_CML_GT1_IDS(info) \
+ INTEL_VGA_DEVICE(0x9B21, info), \
+ INTEL_VGA_DEVICE(0x9BAA, info), \
+ INTEL_VGA_DEVICE(0x9BAB, info), \
+ INTEL_VGA_DEVICE(0x9BAC, info), \
+ INTEL_VGA_DEVICE(0x9BA0, info), \
+ INTEL_VGA_DEVICE(0x9BA5, info), \
+ INTEL_VGA_DEVICE(0x9BA8, info), \
+ INTEL_VGA_DEVICE(0x9BA4, info), \
+ INTEL_VGA_DEVICE(0x9BA2, info)
+
+/* CML GT2 */
+#define INTEL_CML_GT2_IDS(info) \
+ INTEL_VGA_DEVICE(0x9B41, info), \
+ INTEL_VGA_DEVICE(0x9BCA, info), \
+ INTEL_VGA_DEVICE(0x9BCB, info), \
+ INTEL_VGA_DEVICE(0x9BCC, info), \
+ INTEL_VGA_DEVICE(0x9BC0, info), \
+ INTEL_VGA_DEVICE(0x9BC5, info), \
+ INTEL_VGA_DEVICE(0x9BC8, info), \
+ INTEL_VGA_DEVICE(0x9BC4, info), \
+ INTEL_VGA_DEVICE(0x9BC2, info)
+
#define INTEL_KBL_IDS(info) \
INTEL_KBL_GT1_IDS(info), \
INTEL_KBL_GT2_IDS(info), \
@@ -436,7 +460,9 @@
INTEL_WHL_U_GT1_IDS(info), \
INTEL_WHL_U_GT2_IDS(info), \
INTEL_WHL_U_GT3_IDS(info), \
- INTEL_AML_CFL_GT2_IDS(info)
+ INTEL_AML_CFL_GT2_IDS(info), \
+ INTEL_CML_GT1_IDS(info), \
+ INTEL_CML_GT2_IDS(info)
/* CNL */
#define INTEL_CNL_IDS(info) \