mirror of https://gitee.com/openkylin/linux.git
drm/tegra: sor: Avoid timeouts on unplug events
When the SOR is disabled in DP mode as part of an unplug event, do not attempt to power the DP link down. Powering down the link requires the DPAUX to transmit AUX messages which only works if there's a connected sink. Signed-off-by: Thierry Reding <treding@nvidia.com>
This commit is contained in:
parent
d278e4a971
commit
68a2ebb54d
|
@ -2663,9 +2663,16 @@ static void tegra_sor_dp_disable(struct drm_encoder *encoder)
|
|||
if (output->panel)
|
||||
drm_panel_disable(output->panel);
|
||||
|
||||
err = drm_dp_link_power_down(sor->aux, &sor->link);
|
||||
if (err < 0)
|
||||
dev_err(sor->dev, "failed to power down link: %d\n", err);
|
||||
/*
|
||||
* Do not attempt to power down a DP link if we're not connected since
|
||||
* the AUX transactions would just be timing out.
|
||||
*/
|
||||
if (output->connector.status != connector_status_disconnected) {
|
||||
err = drm_dp_link_power_down(sor->aux, &sor->link);
|
||||
if (err < 0)
|
||||
dev_err(sor->dev, "failed to power down link: %d\n",
|
||||
err);
|
||||
}
|
||||
|
||||
err = tegra_sor_detach(sor);
|
||||
if (err < 0)
|
||||
|
|
Loading…
Reference in New Issue