diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3252-drm-amd-display-Call-update_stream_signal-directly-f.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3252-drm-amd-display-Call-update_stream_signal-directly-f.patch | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3252-drm-amd-display-Call-update_stream_signal-directly-f.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3252-drm-amd-display-Call-update_stream_signal-directly-f.patch new file mode 100644 index 00000000..08f81fec --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3252-drm-amd-display-Call-update_stream_signal-directly-f.patch @@ -0,0 +1,82 @@ +From 09042047973e3e22f169d2b2b0a94eac07d8faf4 Mon Sep 17 00:00:00 2001 +From: Harry Wentland <harry.wentland@amd.com> +Date: Mon, 18 Dec 2017 12:01:30 -0500 +Subject: [PATCH 3252/4131] drm/amd/display: Call update_stream_signal directly + from amdgpu_dm + +There's no good place in DC to cover all place where stream signal should +be updated. update_stream_signal depends on timing which comes from DM. + +Signed-off-by: Harry Wentland <harry.wentland@amd.com> +Reviewed-by: Tony Cheng <Tony.Cheng@amd.com> +Acked-by: Harry Wentland <harry.wentland@amd.com> +--- + drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 10 +++------- + drivers/gpu/drm/amd/display/dc/core/dc_stream.c | 2 +- + drivers/gpu/drm/amd/display/dc/dc_stream.h | 2 ++ + 3 files changed, 6 insertions(+), 8 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 b59e7c5..3a78c4cd 100644 +--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c ++++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +@@ -2615,6 +2615,7 @@ create_stream_for_sink(struct amdgpu_dm_connector *aconnector, + dm_state ? (dm_state->scaling != RMX_OFF) : false); + } + ++ drm_mode_set_crtcinfo(&mode, 0); + fill_stream_properties_from_drm_display_mode(stream, + &mode, &aconnector->base); + update_stream_scaling_settings(&mode, dm_state, stream); +@@ -2624,6 +2625,8 @@ create_stream_for_sink(struct amdgpu_dm_connector *aconnector, + drm_connector, + aconnector->dc_sink); + ++ update_stream_signal(stream); ++ + return stream; + } + +@@ -3143,13 +3146,6 @@ int amdgpu_dm_connector_mode_valid(struct drm_connector *connector, + goto fail; + } + +- drm_mode_set_crtcinfo(mode, 0); +- fill_stream_properties_from_drm_display_mode(stream, mode, connector); +- +- stream->src.width = mode->hdisplay; +- stream->src.height = mode->vdisplay; +- stream->dst = stream->src; +- + dc_result = dc_validate_stream(adev->dm.dc, stream); + + if (dc_result == DC_OK) +diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_stream.c b/drivers/gpu/drm/amd/display/dc/core/dc_stream.c +index 3cbdd8c..c3b1988 100644 +--- a/drivers/gpu/drm/amd/display/dc/core/dc_stream.c ++++ b/drivers/gpu/drm/amd/display/dc/core/dc_stream.c +@@ -33,7 +33,7 @@ + /******************************************************************************* + * Private functions + ******************************************************************************/ +-static void update_stream_signal(struct dc_stream_state *stream) ++void update_stream_signal(struct dc_stream_state *stream) + { + + struct dc_sink *dc_sink = stream->sink; +diff --git a/drivers/gpu/drm/amd/display/dc/dc_stream.h b/drivers/gpu/drm/amd/display/dc/dc_stream.h +index e23620b..2d2472b 100644 +--- a/drivers/gpu/drm/amd/display/dc/dc_stream.h ++++ b/drivers/gpu/drm/amd/display/dc/dc_stream.h +@@ -239,6 +239,8 @@ enum surface_update_type dc_check_update_surfaces_for_stream( + */ + struct dc_stream_state *dc_create_stream_for_sink(struct dc_sink *dc_sink); + ++void update_stream_signal(struct dc_stream_state *stream); ++ + void dc_stream_retain(struct dc_stream_state *dc_stream); + void dc_stream_release(struct dc_stream_state *dc_stream); + +-- +2.7.4 + |