drm/amd/display: Not to call dpcd_set_source_specific_data during resume.
authorRajib Mahapatra <rajib.mahapatra@amd.com>
Mon, 10 Jan 2022 07:45:19 +0000 (13:15 +0530)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 25 Jan 2022 23:00:32 +0000 (18:00 -0500)
[Why]
During resume path, dpcd_set_source_specific_data is taking
extra time when core_link_write_dpcd fails on DP_SOURCE_OUI+0x03
and DP_SOURCE_MINIMUM_HBLANK_SUPPORTED. Here,aux->transfer fails
with multiple retries and consume significant amount time during
S0i3 resume.

[How]
Not to call dpcd_set_source_specific_data during resume path
when there is no oled panel connected and achieve faster resume
during S0i3.

Reviewed-by: Hersen Wu <hersenxs.wu@amd.com>
Signed-off-by: Rajib Mahapatra <rajib.mahapatra@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/core/dc_link.c

index 0c64dea..e5d63b0 100644 (file)
@@ -862,7 +862,8 @@ static bool dc_link_detect_helper(struct dc_link *link,
                (!link->dc->config.allow_edp_hotplug_detection)) &&
                link->local_sink) {
                // need to re-write OUI and brightness in resume case
-               if (link->connector_signal == SIGNAL_TYPE_EDP) {
+               if (link->connector_signal == SIGNAL_TYPE_EDP &&
+                       (link->dpcd_sink_ext_caps.bits.oled == 1)) {
                        dpcd_set_source_specific_data(link);
                        msleep(post_oui_delay);
                        dc_link_set_default_brightness_aux(link);