On some platforms that have the MCC PCH, Port C's hotplug interrupt
bits are mapped to TC1 bits.

Suggested-by: Matt Roper <matthew.d.ro...@intel.com>
Signed-off-by: Vivek Kasireddy <vivek.kasire...@intel.com>
---
 drivers/gpu/drm/i915/display/intel_dp.c | 3 +++
 drivers/gpu/drm/i915/i915_irq.c         | 8 ++++----
 2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_dp.c 
b/drivers/gpu/drm/i915/display/intel_dp.c
index 0e45c61d7331..6594f2af1257 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -5282,6 +5282,9 @@ static bool icl_combo_port_connected(struct 
drm_i915_private *dev_priv,
 {
        enum port port = intel_dig_port->base.port;
 
+       if (HAS_PCH_MCC(dev_priv) && port == PORT_C)
+               return I915_READ(SDEISR) & SDE_TC_HOTPLUG_ICP(PORT_TC1);
+
        return I915_READ(SDEISR) & SDE_DDI_HOTPLUG_ICP(port);
 }
 
diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
index 3af7f7914c40..a7c968b01af3 100644
--- a/drivers/gpu/drm/i915/i915_irq.c
+++ b/drivers/gpu/drm/i915/i915_irq.c
@@ -2249,8 +2249,8 @@ static void icp_irq_handler(struct drm_i915_private 
*dev_priv, u32 pch_iir)
                tc_port_hotplug_long_detect = tgp_tc_port_hotplug_long_detect;
                pins = hpd_tgp;
        } else if (HAS_PCH_MCC(dev_priv)) {
-               ddi_hotplug_trigger = pch_iir & SDE_DDI_MASK_TGP;
-               tc_hotplug_trigger = 0;
+               ddi_hotplug_trigger = pch_iir & SDE_DDI_MASK_ICP;
+               tc_hotplug_trigger = pch_iir & SDE_TC_HOTPLUG_ICP(PORT_TC1);
                pins = hpd_icp;
        } else {
                ddi_hotplug_trigger = pch_iir & SDE_DDI_MASK_ICP;
@@ -3377,8 +3377,8 @@ static void icp_hpd_irq_setup(struct drm_i915_private 
*dev_priv,
 static void mcc_hpd_irq_setup(struct drm_i915_private *dev_priv)
 {
        icp_hpd_irq_setup(dev_priv,
-                         SDE_DDI_MASK_TGP, 0,
-                         TGP_DDI_HPD_ENABLE_MASK, 0,
+                         SDE_DDI_MASK_ICP, SDE_TC_HOTPLUG_ICP(PORT_TC1),
+                         ICP_DDI_HPD_ENABLE_MASK, ICP_TC_HPD_ENABLE(PORT_TC1),
                          hpd_icp);
 }
 
-- 
2.21.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to