diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/4010-drm-amd-display-Update-scaler-v_active-data-if-inter.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/4010-drm-amd-display-Update-scaler-v_active-data-if-inter.patch | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/4010-drm-amd-display-Update-scaler-v_active-data-if-inter.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/4010-drm-amd-display-Update-scaler-v_active-data-if-inter.patch new file mode 100644 index 00000000..0e8999ed --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/4010-drm-amd-display-Update-scaler-v_active-data-if-inter.patch @@ -0,0 +1,50 @@ +From fd0de08f6d6e3b71454ece3da76c73b5bcf4b16f Mon Sep 17 00:00:00 2001 +From: Dmytro Laktyushkin <Dmytro.Laktyushkin@amd.com> +Date: Mon, 26 Mar 2018 12:33:22 -0400 +Subject: [PATCH 4010/4131] drm/amd/display: Update scaler v_active data if + interlaced + +Signed-off-by: Dmytro Laktyushkin <Dmytro.Laktyushkin@amd.com> +Reviewed-by: Nikola Cornij <Nikola.Cornij@amd.com> +Reviewed-by: Wesley Chalmers <Wesley.Chalmers@amd.com> +Acked-by: Harry Wentland <harry.wentland@amd.com> +--- + drivers/gpu/drm/amd/display/dc/core/dc_resource.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c +index 1de8f55..b57c540 100644 +--- a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c ++++ b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c +@@ -844,6 +844,9 @@ bool resource_build_scaling_params(struct pipe_ctx *pipe_ctx) + pipe_ctx->plane_res.scl_data.format = convert_pixel_format_to_dalsurface( + pipe_ctx->plane_state->format); + ++ if (pipe_ctx->stream->timing.flags.INTERLACE) ++ pipe_ctx->stream->dst.height *= 2; ++ + calculate_scaling_ratios(pipe_ctx); + + calculate_viewport(pipe_ctx); +@@ -864,6 +867,8 @@ bool resource_build_scaling_params(struct pipe_ctx *pipe_ctx) + + pipe_ctx->plane_res.scl_data.h_active = timing->h_addressable + timing->h_border_left + timing->h_border_right; + pipe_ctx->plane_res.scl_data.v_active = timing->v_addressable + timing->v_border_top + timing->v_border_bottom; ++ if (pipe_ctx->stream->timing.flags.INTERLACE) ++ pipe_ctx->plane_res.scl_data.v_active *= 2; + + + /* Taps calculations */ +@@ -909,6 +914,9 @@ bool resource_build_scaling_params(struct pipe_ctx *pipe_ctx) + plane_state->dst_rect.x, + plane_state->dst_rect.y); + ++ if (pipe_ctx->stream->timing.flags.INTERLACE) ++ pipe_ctx->stream->dst.height /= 2; ++ + return res; + } + +-- +2.7.4 + |