aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/mediatek/mtk_drm_gem.c
diff options
context:
space:
mode:
authorHsin-Yi Wang <hsinyi@chromium.org>2019-05-30 17:18:47 +0800
committerCK Hu <ck.hu@mediatek.com>2019-06-04 09:54:42 +0800
commit2458d9d6d94be982b917e93c61a89b4426f32e31 (patch)
treeca451993ee924f15d7df22dfae8692e1009b7528 /drivers/gpu/drm/mediatek/mtk_drm_gem.c
parentdrm/mediatek: clear num_pipes when unbind driver (diff)
downloadlinux-dev-2458d9d6d94be982b917e93c61a89b4426f32e31.tar.xz
linux-dev-2458d9d6d94be982b917e93c61a89b4426f32e31.zip
drm/mediatek: call mtk_dsi_stop() after mtk_drm_crtc_atomic_disable()
mtk_dsi_stop() should be called after mtk_drm_crtc_atomic_disable(), which needs ovl irq for drm_crtc_wait_one_vblank(), since after mtk_dsi_stop() is called, ovl irq will be disabled. If drm_crtc_wait_one_vblank() is called after last irq, it will timeout with this message: "vblank wait timed out on crtc 0". This happens sometimes when turning off the screen. In drm_atomic_helper.c#disable_outputs(), the calling sequence when turning off the screen is: 1. mtk_dsi_encoder_disable() --> mtk_output_dsi_disable() --> mtk_dsi_stop(); /* sometimes make vblank timeout in atomic_disable */ --> mtk_dsi_poweroff(); 2. mtk_drm_crtc_atomic_disable() --> drm_crtc_wait_one_vblank(); ... --> mtk_dsi_ddp_stop() --> mtk_dsi_poweroff(); mtk_dsi_poweroff() has reference count design, change to make mtk_dsi_stop() called in mtk_dsi_poweroff() when refcount is 0. Fixes: 0707632b5bac ("drm/mediatek: update DSI sub driver flow for sending commands to panel") Signed-off-by: Hsin-Yi Wang <hsinyi@chromium.org> Signed-off-by: CK Hu <ck.hu@mediatek.com>
Diffstat (limited to 'drivers/gpu/drm/mediatek/mtk_drm_gem.c')
0 files changed, 0 insertions, 0 deletions