mirror of https://gitee.com/openkylin/linux.git
drm/i915/ehl: Port C's hotplug interrupt is associated with TC1 bits
On platforms that have the MCC PCH, Port C's hotplug interrupt bits are mapped to TC1 bits. Suggested-by: Matt Roper <matthew.d.roper@intel.com> Signed-off-by: Vivek Kasireddy <vivek.kasireddy@intel.com> Reviewed-by: Matt Roper <matthew.d.roper@intel.com> Signed-off-by: Matt Roper <matthew.d.roper@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20191011002618.3087-1-vivek.kasireddy@intel.com
This commit is contained in:
parent
41e35ffb38
commit
53448aed7b
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue