drm/rockchip: vop: reset scale mode when win is disabled
authorJonas Karlman <jonas@kwiboo.se>
Wed, 20 Feb 2019 22:40:06 +0000 (22:40 +0000)
committerHeiko Stuebner <heiko@sntech.de>
Mon, 18 Mar 2019 17:58:12 +0000 (18:58 +0100)
commite9abc611a941d4051cde1d94b2ab7473fdb50102
tree70eb266f1499c5ef7b8778d0505220ff1732c83c
parent36b6c9ed45afe89045973e8dee1b004dd5372d40
drm/rockchip: vop: reset scale mode when win is disabled

NV12 framebuffers produced by the VPU shows distorted on RK3288
after win has been disabled when scaling is active.

This issue can be reproduced using a 1080p modeset by:
- Scale a 1280x720 NV12 framebuffer to 1920x1080 on win0
- Disable win0
- Display a 1920x1080 NV12 framebuffer without scaling on win0
- Output will now show the framebuffer distorted

And by:
- Scale a 1280x720 NV12 framebuffer to 1920x1080
- Change to a 720p modeset (win gets disabled and scaling reset to none)
- Output will now show the framebuffer distorted

Fix this by setting scale mode to none when win is disabled.

Fixes: 4c156c21c794 ("drm/rockchip: vop: support plane scale")
Cc: stable@vger.kernel.org
Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Link: https://patchwork.freedesktop.org/patch/msgid/AM3PR03MB0966DE3E19BACE07328CD637AC7D0@AM3PR03MB0966.eurprd03.prod.outlook.com
drivers/gpu/drm/rockchip/rockchip_drm_vop.c