diff options
author | Stefan Agner <stefan@agner.ch> | 2016-01-04 19:34:22 -0500 |
---|---|---|
committer | Stefan Agner <stefan@agner.ch> | 2016-11-08 20:14:08 -0500 |
commit | 34a515d27c6573b6f550877b30dd5e0f440c3d8f (patch) | |
tree | 92f0f7360db125e2e6573ac6ece3bf3f8a70f36d | |
parent | 020a0bbc0d89c15693e69ed2063584ef7ec2d811 (diff) |
drm/fsl-dcu: do not update when modifying irq registers
The IRQ status and mask registers are not "double buffered" according
to the reference manual. Hence, there is no extra transfer/update
write needed when modifying these registers.
Signed-off-by: Stefan Agner <stefan@agner.ch>
-rw-r--r-- | drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c index e04efbed1a54..cc2fde2ae5ef 100644 --- a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c +++ b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c | |||
@@ -59,8 +59,6 @@ static int fsl_dcu_drm_irq_init(struct drm_device *dev) | |||
59 | 59 | ||
60 | regmap_write(fsl_dev->regmap, DCU_INT_STATUS, 0); | 60 | regmap_write(fsl_dev->regmap, DCU_INT_STATUS, 0); |
61 | regmap_write(fsl_dev->regmap, DCU_INT_MASK, ~0); | 61 | regmap_write(fsl_dev->regmap, DCU_INT_MASK, ~0); |
62 | regmap_write(fsl_dev->regmap, DCU_UPDATE_MODE, | ||
63 | DCU_UPDATE_MODE_READREG); | ||
64 | 62 | ||
65 | return ret; | 63 | return ret; |
66 | } | 64 | } |
@@ -139,8 +137,6 @@ static irqreturn_t fsl_dcu_drm_irq(int irq, void *arg) | |||
139 | drm_handle_vblank(dev, 0); | 137 | drm_handle_vblank(dev, 0); |
140 | 138 | ||
141 | regmap_write(fsl_dev->regmap, DCU_INT_STATUS, int_status); | 139 | regmap_write(fsl_dev->regmap, DCU_INT_STATUS, int_status); |
142 | regmap_write(fsl_dev->regmap, DCU_UPDATE_MODE, | ||
143 | DCU_UPDATE_MODE_READREG); | ||
144 | 140 | ||
145 | return IRQ_HANDLED; | 141 | return IRQ_HANDLED; |
146 | } | 142 | } |