aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/display/dc/inc/core_status.h
diff options
context:
space:
mode:
authorWenjing Liu <wenjing.liu@amd.com>2022-05-13 11:43:45 -0400
committerAlex Deucher <alexander.deucher@amd.com>2022-06-07 16:09:57 -0400
commite5309d7f66105011e0597fd55ff2ef7f636f52c6 (patch)
treedd2b0a353f5e8885d8599859e38db558be53472e /drivers/gpu/drm/amd/display/dc/inc/core_status.h
parentdrm/amd/display: Correct min comp buffer size (diff)
downloadlinux-dev-e5309d7f66105011e0597fd55ff2ef7f636f52c6.tar.xz
linux-dev-e5309d7f66105011e0597fd55ff2ef7f636f52c6.zip
drm/amd/display: add DP sanity checks during enable stream
[why] 1. When HPD deassertion is pulled in the middle of enabe stream link training, we will abort current training and turn off PHY. This causes current link settings to be zeroed this causes later stream enablement sequence to fail as we prefer to carry on enablement process despite of link training failure for SST. 2. When HPD is toggled after detection before before the enable stream sequence as a result. There could be a race condition where we could end up enable stream based on the previous link even though the link is updated after the HPD toggle. This causes an issue where our link bandwidth is no longer enough to accommodate the timing therefore causes us to oversubscribe MST payload time slots. As discussed we decided to add basic sanity check to make sure that our code can handle the oversubscription failure silently without system hang. [how] 1. Keep PHY powered on when HPD is deasserted during enable stream and wait for the detection sequence to power it off later. 2. Do not allocate payload if the required timeslot for current timing is greater than 64 timeslots. Reviewed-by: Aric Cyr <Aric.Cyr@amd.com> Reviewed-by: George Shen <George.Shen@amd.com> Acked-by: Hamza Mahfooz <hamza.mahfooz@amd.com> Signed-off-by: Wenjing Liu <wenjing.liu@amd.com> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/display/dc/inc/core_status.h')
-rw-r--r--drivers/gpu/drm/amd/display/dc/inc/core_status.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/display/dc/inc/core_status.h b/drivers/gpu/drm/amd/display/dc/inc/core_status.h
index 444182a97e6e..8eb8d4afa876 100644
--- a/drivers/gpu/drm/amd/display/dc/inc/core_status.h
+++ b/drivers/gpu/drm/amd/display/dc/inc/core_status.h
@@ -54,7 +54,7 @@ enum dc_status {
DC_UNSUPPORTED_VALUE = 25,
DC_NO_LINK_ENC_RESOURCE = 26,
-
+ DC_FAIL_DP_PAYLOAD_ALLOCATION = 27,
DC_ERROR_UNEXPECTED = -1
};