drm/amd/display: set link->dongle_max_pix_clk to 0 on a disconnect
[Why] Found issue in EDID Emulation where if we connect a display using a passive HDMI-DP dongle, disconnect it and then try to emulate a display using DP, we could not see 4K modes. This was because on a disconnect, dongle_max_pix_clk was still set so when we emulate using DP, in dc_link_validate_mode_timing(), it would think we were still using a dongle and limit the modes we support. [How] In dc_link_detect(), set dongle_max_pix_clk to 0 when we detect a hotplug out ( if new_connection_type = dc_connection_none ). Signed-off-by: Samson Tam <Samson.Tam@amd.com> Reviewed-by: Jun Lei <Jun.Lei@amd.com> Acked-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
a1651530a3
commit
233d87a579
|
@ -984,6 +984,12 @@ bool dc_link_detect(struct dc_link *link, enum dc_detect_reason reason)
|
|||
|
||||
link->type = dc_connection_none;
|
||||
sink_caps.signal = SIGNAL_TYPE_NONE;
|
||||
/* When we unplug a passive DP-HDMI dongle connection, dongle_max_pix_clk
|
||||
* is not cleared. If we emulate a DP signal on this connection, it thinks
|
||||
* the dongle is still there and limits the number of modes we can emulate.
|
||||
* Clear dongle_max_pix_clk on disconnect to fix this
|
||||
*/
|
||||
link->dongle_max_pix_clk = 0;
|
||||
}
|
||||
|
||||
LINK_INFO("link=%d, dc_sink_in=%p is now %s prev_sink=%p dpcd same=%d edid same=%d\n",
|
||||
|
|
Loading…
Reference in New Issue