Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 9 additions & 1 deletion drivers/gpu/drm/apple/dcp.c
Original file line number Diff line number Diff line change
Expand Up @@ -1824,6 +1824,14 @@ static int dcp_dptx_connect_raw(struct apple_dcp *dcp, u32 port, bool *retryable
/* T8122 dcpext: HPD only after the link wait, see dcp_ext_dptx_607() */
bool late_hpd = dcp_ext_dptx_607(dcp);
bool t8132 = dcp_is_t8132_ext(dcp);
/*
* A DP2HDMI output asserts its own HPD, in dcp_enable_dp2hdmi_hpd(), and
* that firmware never sends the link-configuration notification the wait
* below looks for, so on this path the wait can only time out. Treat it as
* non-fatal, as the late-HPD and compact cases do, instead of withdrawing
* the display.
*/
bool dp2hdmi = dcp->hdmi_hpd && !dcp_is_typec_output(dcp);
bool compact;
unsigned long timeout;
u64 generation;
Expand Down Expand Up @@ -1982,7 +1990,7 @@ static int dcp_dptx_connect_raw(struct apple_dcp *dcp, u32 port, bool *retryable
dev_dbg(dcp->dev,
"dcp_dptx_connect: no link configuration on port %u yet\n", port);
ret = 0;
} else if (!ret && late_hpd) {
} else if (!ret && (late_hpd || dp2hdmi)) {
/* Without HPD this firmware does not train: assert it now. */
dev_dbg(dcp->dev,
"dcp_dptx_connect: no link configuration on port %u yet, asserting HPD\n",
Expand Down