FAILED: patch "[PATCH] drm/amd/display: Fix ODM policy implementation" failed to apply to 5.9-stable tree
[email protected]
maintainerThe patch below does not apply to the 5.9-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From 25b315817216eaac93ca880d736b359ababae61a Mon Sep 17 00:00:00 2001
From: Wesley Chalmers <[email protected]>
Date: Tue, 8 Sep 2020 16:22:25 -0400
Subject: [PATCH] drm/amd/display: Fix ODM policy implementation
[WHY]
Only the leftmost ODM pipe should be offset when scaling. A previous code change was intended to implement this policy, but a section of code was overlooked.
Signed-off-by Wesley Chalmers <[email protected]>
Reviewed-by Aric Cyr <[email protected]>
Acked-by Qingqing Zhuo <[email protected]>
Signed-off-by Alex Deucher <[email protected]>
Cc <[email protected]>
drivers/gpu/drm/amd/display/dc/core/dc_resource.c +6 -5
@@ -785,14 +785,15 @@ static void calculate_recout(struct pipe_ctx *pipe_ctx)/* * Only the leftmost ODM pipe should be offset by a nonzero distance */ -if (!pipe_ctx->prev_odm_pipe) +if (!pipe_ctx->prev_odm_pipe) { data->recout.x = stream->dst.x; -else - data->recout.x =0 ; -if (stream->src.x < surf_clip.x) - data->recout.x += (surf_clip.x - stream->src.x) * stream->dst.width +if (stream->src.x < surf_clip.x) + data->recout.x += (surf_clip.x - stream->src.x) * stream->dst.width / stream->src.width; + }else + data->recout.x =0 ; + data->recout.width = surf_clip.width * stream->dst.width / stream->src.width;if (data->recout.width + data->recout.x > stream->dst.x + stream->dst.width) data->recout.width = stream->dst.x + stream->dst.width - data->recout.x;