From: Gustavo Sousa <gustavo.so...@intel.com>

Xe2_LPD has sourth display on the same SOC. As such, define a new fake
PCH entry for it.

v2: Match on display IP version rather than on platform (Matt Roper)

Signed-off-by: Gustavo Sousa <gustavo.so...@intel.com>
Signed-off-by: Lucas De Marchi <lucas.demar...@intel.com>
---
 drivers/gpu/drm/i915/soc/intel_pch.c | 5 ++++-
 drivers/gpu/drm/i915/soc/intel_pch.h | 2 ++
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/soc/intel_pch.c 
b/drivers/gpu/drm/i915/soc/intel_pch.c
index dfffdfa50b97..240beafb38ed 100644
--- a/drivers/gpu/drm/i915/soc/intel_pch.c
+++ b/drivers/gpu/drm/i915/soc/intel_pch.c
@@ -222,7 +222,10 @@ void intel_detect_pch(struct drm_i915_private *dev_priv)
         * South display engine on the same PCI device: just assign the fake
         * PCH.
         */
-       if (IS_DG2(dev_priv)) {
+       if (DISPLAY_VER(dev_priv) >= 20) {
+               dev_priv->pch_type = PCH_LNL;
+               return;
+       } else if (IS_DG2(dev_priv)) {
                dev_priv->pch_type = PCH_DG2;
                return;
        } else if (IS_DG1(dev_priv)) {
diff --git a/drivers/gpu/drm/i915/soc/intel_pch.h 
b/drivers/gpu/drm/i915/soc/intel_pch.h
index 32aff5a70d04..1b03ea60a7a8 100644
--- a/drivers/gpu/drm/i915/soc/intel_pch.h
+++ b/drivers/gpu/drm/i915/soc/intel_pch.h
@@ -30,6 +30,7 @@ enum intel_pch {
        /* Fake PCHs, functionality handled on the same PCI dev */
        PCH_DG1 = 1024,
        PCH_DG2,
+       PCH_LNL,
 };
 
 #define INTEL_PCH_DEVICE_ID_MASK               0xff80
@@ -66,6 +67,7 @@ enum intel_pch {
 
 #define INTEL_PCH_TYPE(dev_priv)               ((dev_priv)->pch_type)
 #define INTEL_PCH_ID(dev_priv)                 ((dev_priv)->pch_id)
+#define HAS_PCH_LNL(dev_priv)                  (INTEL_PCH_TYPE(dev_priv) == 
PCH_LNL)
 #define HAS_PCH_MTP(dev_priv)                  (INTEL_PCH_TYPE(dev_priv) == 
PCH_MTP)
 #define HAS_PCH_DG2(dev_priv)                  (INTEL_PCH_TYPE(dev_priv) == 
PCH_DG2)
 #define HAS_PCH_ADP(dev_priv)                  (INTEL_PCH_TYPE(dev_priv) == 
PCH_ADP)
-- 
2.40.1

Reply via email to