Commit 6ec0e23f authored by Alex Hung's avatar Alex Hung Committed by Alex Deucher
Browse files

Revert "drm/amd/display: Create fake sink and stream for writeback connector"



This reverts commit 01aaeb8c.

[WHY & HOW]
The writeback series cause a regression in thunderbolt display.

Signed-off-by: default avatarAlex Hung <alex.hung@amd.com>
Reviewed-by: default avatarHarry Wentland <harry.wentland@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 98a80bb3
Loading
Loading
Loading
Loading
+11 −22
Original line number Diff line number Diff line
@@ -5709,13 +5709,13 @@ decide_crtc_timing_for_drm_display_mode(struct drm_display_mode *drm_mode,
}

static struct dc_sink *
create_fake_sink(struct dc_link *link)
create_fake_sink(struct amdgpu_dm_connector *aconnector)
{
	struct dc_sink_init_data sink_init_data = { 0 };
	struct dc_sink *sink = NULL;

	sink_init_data.link = link;
	sink_init_data.sink_signal = link->connector_signal;
	sink_init_data.link = aconnector->dc_link;
	sink_init_data.sink_signal = aconnector->dc_link->connector_signal;

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

	struct dc_link *link = NULL;
	struct dc_sink *sink = NULL;

	drm_mode_init(&mode, drm_mode);
@@ -6100,25 +6099,15 @@ create_stream_for_sink(struct drm_connector *connector,
	if (connector->connector_type != DRM_MODE_CONNECTOR_WRITEBACK) {
		aconnector = NULL;
		aconnector = to_amdgpu_dm_connector(connector);
		link = aconnector->dc_link;
	} else {
		struct drm_writeback_connector *wbcon = NULL;
		struct amdgpu_dm_wb_connector *dm_wbcon = NULL;

		wbcon = drm_connector_to_writeback(connector);
		dm_wbcon = to_amdgpu_dm_wb_connector(wbcon);
		link = dm_wbcon->link;
	}

	if (!aconnector || !aconnector->dc_sink) {
		sink = create_fake_sink(link);
		if (!aconnector->dc_sink) {
			sink = create_fake_sink(aconnector);
			if (!sink)
				return stream;

		} else {
			sink = aconnector->dc_sink;
			dc_sink_retain(sink);
		}
	}

	stream = dc_create_stream_for_sink(sink);