summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
diff options
context:
space:
mode:
authorJerry Zuo <Jerry.Zuo@amd.com>2017-09-08 11:52:45 -0400
committerAlex Deucher <alexander.deucher@amd.com>2017-10-21 16:41:09 -0400
commitf4ac176e62fdc74e52ee58461fb7c8912322fc1c (patch)
treee7f417699da1bff0e86d5a017e1b19cb39f6ef02 /drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
parenteade83503a5381ab0292f9653786bec6a638c523 (diff)
downloadlwn-f4ac176e62fdc74e52ee58461fb7c8912322fc1c.tar.gz
lwn-f4ac176e62fdc74e52ee58461fb7c8912322fc1c.zip
drm/amd/display: Exclude MST from fake sink
Needs effort to take care of the fake sink scenario in downstream daisy chain device. Exclude MST from fake sink feature for now. Signed-off-by: Jerry Zuo <Jerry.Zuo@amd.com> Reviewed-by: Harry Wentland <Harry.Wentland@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c')
-rw-r--r--drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
index ecca2862407f..dfea04fed695 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
@@ -2354,8 +2354,16 @@ create_stream_for_sink(struct amdgpu_dm_connector *aconnector,
drm_connector = &aconnector->base;
- if (!aconnector->dc_sink)
+ if (!aconnector->dc_sink) {
+ /*
+ * Exclude MST from creating fake_sink
+ * TODO: need to enable MST into fake_sink feature
+ */
+ if (aconnector->mst_port)
+ goto stream_create_fail;
+
create_fake_sink(aconnector);
+ }
stream = dc_create_stream_for_sink(aconnector->dc_sink);
@@ -4376,7 +4384,8 @@ static int dm_update_crtcs_state(struct dc *dc,
aconnector = amdgpu_dm_find_first_crtc_matching_connector(state, crtc);
/* TODO This hack should go away */
- if (aconnector) {
+ if (aconnector && enable) {
+ // Make sure fake sink is created in plug-in scenario
new_con_state = drm_atomic_get_connector_state(state,
&aconnector->base);