diff options
author | Stefan Agner <stefan@agner.ch> | 2016-09-06 05:05:12 +0300 |
---|---|---|
committer | Stefan Agner <stefan@agner.ch> | 2016-11-09 04:14:08 +0300 |
commit | 93daeeca2c9472a47d419884a64f6ca2b7f006e4 (patch) | |
tree | 6258ce76d816298f09ebb2ac05dabf74001cf03e /drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_crtc.c | |
parent | 34a515d27c6573b6f550877b30dd5e0f440c3d8f (diff) | |
download | linux-93daeeca2c9472a47d419884a64f6ca2b7f006e4.tar.xz |
drm/fsl-dcu: update all registers on flush
Use the UPDATE_MODE READREG bit to initiate a register transfer
on flush. This makes sure that we flush all registers only once
for all planes.
Signed-off-by: Stefan Agner <stefan@agner.ch>
Diffstat (limited to 'drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_crtc.c')
-rw-r--r-- | drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_crtc.c | 5 |
1 files changed, 5 insertions, 0 deletions
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 b2d5e188b1b8..2ea9dbd9be30 100644 --- a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_crtc.c +++ b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_crtc.c @@ -25,8 +25,13 @@ static void fsl_dcu_drm_crtc_atomic_flush(struct drm_crtc *crtc, struct drm_crtc_state *old_crtc_state) { + struct drm_device *dev = crtc->dev; + struct fsl_dcu_drm_device *fsl_dev = dev->dev_private; struct drm_pending_vblank_event *event = crtc->state->event; + regmap_write(fsl_dev->regmap, + DCU_UPDATE_MODE, DCU_UPDATE_MODE_READREG); + if (event) { crtc->state->event = NULL; |