mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-18 00:24:58 +08:00
drm/msm/mdp4: request vblank during modeset
This avoids a problem seen with weston (for example) where the display gets stuck in "black screen" if starting weston first thing after boot. Possibly mdp5 needs something similar. The downstream android fbdev driver always requests DMA_E (or DMA_P) when display is active, rather than only enabling it on-demand as the drm driver does, which I believe has the same end result. Signed-off-by: Rob Clark <robdclark@gmail.com>
This commit is contained in:
parent
6814dbf941
commit
119ecb7fd3
@ -397,6 +397,7 @@ static void mdp4_crtc_prepare(struct drm_crtc *crtc)
|
||||
struct mdp4_crtc *mdp4_crtc = to_mdp4_crtc(crtc);
|
||||
DBG("%s", mdp4_crtc->name);
|
||||
/* make sure we hold a ref to mdp clks while setting up mode: */
|
||||
drm_crtc_vblank_get(crtc);
|
||||
mdp4_enable(get_kms(crtc));
|
||||
mdp4_crtc_dpms(crtc, DRM_MODE_DPMS_OFF);
|
||||
}
|
||||
@ -407,6 +408,7 @@ static void mdp4_crtc_commit(struct drm_crtc *crtc)
|
||||
crtc_flush(crtc);
|
||||
/* drop the ref to mdp clk's that we got in prepare: */
|
||||
mdp4_disable(get_kms(crtc));
|
||||
drm_crtc_vblank_put(crtc);
|
||||
}
|
||||
|
||||
static int mdp4_crtc_mode_set_base(struct drm_crtc *crtc, int x, int y,
|
||||
|
Loading…
Reference in New Issue
Block a user