Skip to content

Commit 01a18aa

Browse files
tsunglinxalexdeucher
authored andcommitted
drm/amd/display: Ext displays with dock can't recognized after resume
[Why] Needs to set the default value of the LTTPR timeout after resume. [How] Set the default (3.2ms) timeout at resuming if the sink supports LTTPR Reviewed-by: Jerry Zuo <[email protected]> Acked-by: Qingqing Zhuo <[email protected]> Signed-off-by: Ryan Lin <[email protected]> Tested-by: Daniel Wheeler <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
1 parent 23f4a2d commit 01a18aa

File tree

3 files changed

+11
-2
lines changed

3 files changed

+11
-2
lines changed

drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@
4141
#include "dpcd_defs.h"
4242
#include "link/protocols/link_dpcd.h"
4343
#include "link_service_types.h"
44+
#include "link/protocols/link_dp_capability.h"
45+
#include "link/protocols/link_ddc.h"
4446

4547
#include "vid.h"
4648
#include "amdgpu.h"
@@ -2302,6 +2304,14 @@ static void s3_handle_mst(struct drm_device *dev, bool suspend)
23022304
if (suspend) {
23032305
drm_dp_mst_topology_mgr_suspend(mgr);
23042306
} else {
2307+
/* if extended timeout is supported in hardware,
2308+
* default to LTTPR timeout (3.2ms) first as a W/A for DP link layer
2309+
* CTS 4.2.1.1 regression introduced by CTS specs requirement update.
2310+
*/
2311+
try_to_configure_aux_timeout(aconnector->dc_link->ddc, LINK_AUX_DEFAULT_LTTPR_TIMEOUT_PERIOD);
2312+
if (!dp_is_lttpr_present(aconnector->dc_link))
2313+
try_to_configure_aux_timeout(aconnector->dc_link->ddc, LINK_AUX_DEFAULT_TIMEOUT_PERIOD);
2314+
23052315
ret = drm_dp_mst_topology_mgr_resume(mgr, true);
23062316
if (ret < 0) {
23072317
dm_helpers_dp_mst_stop_top_mgr(aconnector->dc_link->ctx,

drivers/gpu/drm/amd/display/dc/link/protocols/link_ddc.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
#define DPVGA_DONGLE_AUX_DEFER_WA_DELAY 40
3434
#define I2C_OVER_AUX_DEFER_WA_DELAY_1MS 1
3535
#define LINK_AUX_DEFAULT_LTTPR_TIMEOUT_PERIOD 3200 /*us*/
36+
#define LINK_AUX_DEFAULT_TIMEOUT_PERIOD 552 /*us*/
3637

3738
#define EDID_SEGMENT_SIZE 256
3839

drivers/gpu/drm/amd/display/dc/link/protocols/link_dp_capability.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,6 @@
6060
#define MIN(X, Y) ((X) < (Y) ? (X) : (Y))
6161
#endif
6262

63-
#define LINK_AUX_DEFAULT_TIMEOUT_PERIOD 552 /*us*/
64-
6563
struct dp_lt_fallback_entry {
6664
enum dc_lane_count lane_count;
6765
enum dc_link_rate link_rate;

0 commit comments

Comments
 (0)