From 414551c356be25c3cb3ca107f2aa3fd531e562b5 Mon Sep 17 00:00:00 2001 From: Liu Ying Date: Fri, 30 Nov 2018 13:23:06 +0800 Subject: MLK-20506 gpu: imx: imx8_dprc: Set CROP_ULC_X/Y to be zero for linear fb Nonzero CROP_ULC_X/Y are only valid for tile framebuffer cropping. Thus, we should set them to be zero for linear framebuffer, otherwise, an on-the-fly switch from tile framebuffer(with cropping enabled) to linear framebuffer would cause hardware malfunction. Signed-off-by: Liu Ying (cherry picked from commit 4fc67aed944526545e6ee44d582b013a6327c8d1) --- drivers/gpu/imx/imx8_dprc.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/gpu/imx/imx8_dprc.c b/drivers/gpu/imx/imx8_dprc.c index 267159c7277d..166c214c0154 100644 --- a/drivers/gpu/imx/imx8_dprc.c +++ b/drivers/gpu/imx/imx8_dprc.c @@ -477,6 +477,9 @@ void dprc_configure(struct dprc *dprc, unsigned int stream_id, FRAME_PIX_X_ULC_CTRL); dprc_write(dprc, CROP_ULC_Y(round_down(y_offset, mt_h)), FRAME_PIX_Y_ULC_CTRL); + } else { + dprc_write(dprc, CROP_ULC_X(0), FRAME_PIX_X_ULC_CTRL); + dprc_write(dprc, CROP_ULC_Y(0), FRAME_PIX_Y_ULC_CTRL); } val = dprc_read(dprc, RTRAM_CTRL0); -- cgit v1.2.3