Skip to content

Commit 6ec0e23

Browse files
Alex Hungalexdeucher
authored andcommitted
Revert "drm/amd/display: Create fake sink and stream for writeback connector"
This reverts commit 01aaeb8. [WHY & HOW] The writeback series cause a regression in thunderbolt display. Signed-off-by: Alex Hung <alex.hung@amd.com> Reviewed-by: Harry Wentland <harry.wentland@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
1 parent 98a80bb commit 6ec0e23

1 file changed

Lines changed: 11 additions & 22 deletions

File tree

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

Lines changed: 11 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -5709,13 +5709,13 @@ decide_crtc_timing_for_drm_display_mode(struct drm_display_mode *drm_mode,
57095709
}
57105710

57115711
static struct dc_sink *
5712-
create_fake_sink(struct dc_link *link)
5712+
create_fake_sink(struct amdgpu_dm_connector *aconnector)
57135713
{
57145714
struct dc_sink_init_data sink_init_data = { 0 };
57155715
struct dc_sink *sink = NULL;
57165716

5717-
sink_init_data.link = link;
5718-
sink_init_data.sink_signal = link->connector_signal;
5717+
sink_init_data.link = aconnector->dc_link;
5718+
sink_init_data.sink_signal = aconnector->dc_link->connector_signal;
57195719

57205720
sink = dc_sink_create(&sink_init_data);
57215721
if (!sink) {
@@ -6086,7 +6086,6 @@ create_stream_for_sink(struct drm_connector *connector,
60866086
enum color_transfer_func tf = TRANSFER_FUNC_UNKNOWN;
60876087
struct dsc_dec_dpcd_caps dsc_caps;
60886088

6089-
struct dc_link *link = NULL;
60906089
struct dc_sink *sink = NULL;
60916090

60926091
drm_mode_init(&mode, drm_mode);
@@ -6100,24 +6099,14 @@ create_stream_for_sink(struct drm_connector *connector,
61006099
if (connector->connector_type != DRM_MODE_CONNECTOR_WRITEBACK) {
61016100
aconnector = NULL;
61026101
aconnector = to_amdgpu_dm_connector(connector);
6103-
link = aconnector->dc_link;
6104-
} else {
6105-
struct drm_writeback_connector *wbcon = NULL;
6106-
struct amdgpu_dm_wb_connector *dm_wbcon = NULL;
6107-
6108-
wbcon = drm_connector_to_writeback(connector);
6109-
dm_wbcon = to_amdgpu_dm_wb_connector(wbcon);
6110-
link = dm_wbcon->link;
6111-
}
6112-
6113-
if (!aconnector || !aconnector->dc_sink) {
6114-
sink = create_fake_sink(link);
6115-
if (!sink)
6116-
return stream;
6117-
6118-
} else {
6119-
sink = aconnector->dc_sink;
6120-
dc_sink_retain(sink);
6102+
if (!aconnector->dc_sink) {
6103+
sink = create_fake_sink(aconnector);
6104+
if (!sink)
6105+
return stream;
6106+
} else {
6107+
sink = aconnector->dc_sink;
6108+
dc_sink_retain(sink);
6109+
}
61216110
}
61226111

61236112
stream = dc_create_stream_for_sink(sink);

0 commit comments

Comments
 (0)