Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1382765
| From | Stefan Agner <stefan@agner.ch> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH 6/6] drm/fsl-dcu: disable vblank events on CRTC disable |
| Date | 2016-04-19 20:00 +0200 |
| Message-ID | <rpI6m-2bD-19@gated-at.bofh.it> (permalink) |
| References | <rpI6m-2bD-5@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
Disable vblank events when CRTC gets disabled. This avoids an external abort when entering suspend while disable_timer is still active: On resume the timer might fire immediately and cause a register access in fsl_dcu_drm_disable_vblank before clocks get enabled by the resume function. Signed-off-by: Stefan Agner <stefan@agner.ch> --- drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_crtc.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_crtc.c b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_crtc.c index ca0f7d83..36df2eb 100644 --- a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_crtc.c +++ b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_crtc.c @@ -43,6 +43,8 @@ static void fsl_dcu_drm_disable_crtc(struct drm_crtc *crtc) struct drm_device *dev = crtc->dev; struct fsl_dcu_drm_device *fsl_dev = dev->dev_private; + drm_crtc_vblank_off(crtc); + regmap_update_bits(fsl_dev->regmap, DCU_DCU_MODE, DCU_MODE_DCU_MODE_MASK, DCU_MODE_DCU_MODE(DCU_MODE_OFF)); @@ -60,6 +62,8 @@ static void fsl_dcu_drm_crtc_enable(struct drm_crtc *crtc) DCU_MODE_DCU_MODE(DCU_MODE_NORMAL)); regmap_write(fsl_dev->regmap, DCU_UPDATE_MODE, DCU_UPDATE_MODE_READREG); + + drm_crtc_vblank_on(crtc); } static void fsl_dcu_drm_crtc_mode_set_nofb(struct drm_crtc *crtc) -- 2.8.0
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH 0/6] drm/fsl-dcu: suspend/resume rework using atomic helpers Stefan Agner <stefan@agner.ch> - 2016-04-19 20:00 +0200 [PATCH 2/6] drm/fsl-dcu: store layer registers in soc_data Stefan Agner <stefan@agner.ch> - 2016-04-19 20:00 +0200 [PATCH 6/6] drm/fsl-dcu: disable vblank events on CRTC disable Stefan Agner <stefan@agner.ch> - 2016-04-19 20:00 +0200 [PATCH 3/6] drm/fsl-dcu: move layer initialization to plane file Stefan Agner <stefan@agner.ch> - 2016-04-19 20:00 +0200
csiph-web