drm/i915: Fix SKL DDI A digital port .connected()
SKL doesn't have any north DE hotplug stuff. Currently we're trying to read DDI A live state from the BDW north DE bit, instead of the approproate south DE bit. Fix it. And for good measure clear the pointer to the north hpd pin array, so that we'll actually notice if some other place is also using the wrong thing. Reviewed-by: Jani Nikula <jani.nikula@intel.com> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20230302161013.29213-3-ville.syrjala@linux.intel.com
This commit is contained in:
parent
a98ffd6e33
commit
dded35acec
@ -4510,13 +4510,16 @@ void intel_ddi_init(struct drm_i915_private *dev_priv, enum port port)
|
||||
dig_port->connected = intel_tc_port_connected;
|
||||
else
|
||||
dig_port->connected = lpt_digital_port_connected;
|
||||
} else if (DISPLAY_VER(dev_priv) >= 8) {
|
||||
if (port == PORT_A || IS_GEMINILAKE(dev_priv) ||
|
||||
IS_BROXTON(dev_priv))
|
||||
} else if (IS_GEMINILAKE(dev_priv) || IS_BROXTON(dev_priv)) {
|
||||
dig_port->connected = bdw_digital_port_connected;
|
||||
} else if (DISPLAY_VER(dev_priv) == 9) {
|
||||
dig_port->connected = lpt_digital_port_connected;
|
||||
} else if (IS_BROADWELL(dev_priv)) {
|
||||
if (port == PORT_A)
|
||||
dig_port->connected = bdw_digital_port_connected;
|
||||
else
|
||||
dig_port->connected = lpt_digital_port_connected;
|
||||
} else {
|
||||
} else if (IS_HASWELL(dev_priv)) {
|
||||
if (port == PORT_A)
|
||||
dig_port->connected = hsw_digital_port_connected;
|
||||
else
|
||||
|
@ -197,6 +197,8 @@ static void intel_hpd_init_pins(struct drm_i915_private *dev_priv)
|
||||
hpd->hpd = hpd_gen11;
|
||||
else if (IS_GEMINILAKE(dev_priv) || IS_BROXTON(dev_priv))
|
||||
hpd->hpd = hpd_bxt;
|
||||
else if (DISPLAY_VER(dev_priv) == 9)
|
||||
hpd->hpd = NULL; /* no north HPD on SKL */
|
||||
else if (DISPLAY_VER(dev_priv) >= 8)
|
||||
hpd->hpd = hpd_bdw;
|
||||
else if (DISPLAY_VER(dev_priv) >= 7)
|
||||
|
Loading…
x
Reference in New Issue
Block a user