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) \

Reply via email to