[PATCH 5.4 084/214] gpu/drm: ingenic: Use the planes src_[x,y] to configure DMA length

Greg Kroah-Hartman
2020-09-01T16:27:48Z

From: Paul Cercueil <paul@crapouillou.net>

[ Upstream commit 52e4607dace1eeeb2e012fca291dc4e6cb449bff ]

Instead of obtaining the width/height of the framebuffer from the CRTC
state, obtain it from the current plane state.

v2: No change

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Link: https://patchwork.freedesktop.org/patch/msgid/20191210144142.33143-3-paul@crapouillou.net
# *** extracted tags ***
Acked-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/gpu/drm/ingenic/ingenic-drm.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/ingenic/ingenic-drm.c b/drivers/gpu/drm/ingenic/ingenic-drm.c
index 376fca6ca9f47..e746b3a6f7cbc 100644
--- a/drivers/gpu/drm/ingenic/ingenic-drm.c
+++ b/drivers/gpu/drm/ingenic/ingenic-drm.c
@@ -375,8 +375,8 @@ static void ingenic_drm_plane_atomic_update(struct drm_plane *plane,

if (state && state->fb) {
addr = drm_fb_cma_get_gem_addr(state->fb, state, 0);
- width = state->crtc->state->adjusted_mode.hdisplay;
- height = state->crtc->state->adjusted_mode.vdisplay;
+ width = state->src_w >> 16;
+ height = state->src_h >> 16;
cpp = state->fb->format->cpp[plane->index];

priv->dma_hwdesc->addr = addr;
--
2.25.1