39 lines
1.6 KiB
Diff
39 lines
1.6 KiB
Diff
From 0427e8464446a03d287e7ec8b7bb74dd983b6988 Mon Sep 17 00:00:00 2001
|
|
From: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
|
Date: Mon, 12 Jul 2021 12:27:59 +0100
|
|
Subject: [PATCH] drm/vc4: Fix margin calculations for the right/bottom
|
|
edges
|
|
|
|
The calculations clipped the right/bottom edge of the clipped
|
|
range based on the left/top margins.
|
|
|
|
Fixes: 666e73587f90 ("drm/vc4: Take margin setup into account when updating planes")
|
|
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
|
---
|
|
drivers/gpu/drm/vc4/vc4_plane.c | 8 ++++----
|
|
1 file changed, 4 insertions(+), 4 deletions(-)
|
|
|
|
--- a/drivers/gpu/drm/vc4/vc4_plane.c
|
|
+++ b/drivers/gpu/drm/vc4/vc4_plane.c
|
|
@@ -310,16 +310,16 @@ static int vc4_plane_margins_adj(struct
|
|
adjhdisplay,
|
|
crtc_state->mode.hdisplay);
|
|
vc4_pstate->crtc_x += left;
|
|
- if (vc4_pstate->crtc_x > crtc_state->mode.hdisplay - left)
|
|
- vc4_pstate->crtc_x = crtc_state->mode.hdisplay - left;
|
|
+ if (vc4_pstate->crtc_x > crtc_state->mode.hdisplay - right)
|
|
+ vc4_pstate->crtc_x = crtc_state->mode.hdisplay - right;
|
|
|
|
adjvdisplay = crtc_state->mode.vdisplay - (top + bottom);
|
|
vc4_pstate->crtc_y = DIV_ROUND_CLOSEST(vc4_pstate->crtc_y *
|
|
adjvdisplay,
|
|
crtc_state->mode.vdisplay);
|
|
vc4_pstate->crtc_y += top;
|
|
- if (vc4_pstate->crtc_y > crtc_state->mode.vdisplay - top)
|
|
- vc4_pstate->crtc_y = crtc_state->mode.vdisplay - top;
|
|
+ if (vc4_pstate->crtc_y > crtc_state->mode.vdisplay - bottom)
|
|
+ vc4_pstate->crtc_y = crtc_state->mode.vdisplay - bottom;
|
|
|
|
vc4_pstate->crtc_w = DIV_ROUND_CLOSEST(vc4_pstate->crtc_w *
|
|
adjhdisplay,
|