mirror of https://gitee.com/openkylin/linux.git
drm/tilcdc: make frame_done interrupt active at all times
The frame_done interrupt was only being enabled when the vsync interrupts were being enabled by DRM. However the frame_done is used to determine if the LCD controller has successfully completed the raster_enable, raster_disable commands and the vsync interrupts are not always enabled during these operations. Signed-off-by: Darren Etheridge <detheridge@ti.com> Tested-by: Dave Gerlach <d-gerlach@ti.com> Signed-off-by: Jyri Sarha <jsarha@ti.com> Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
This commit is contained in:
parent
85fd27f80b
commit
b62222fcaa
|
@ -369,7 +369,9 @@ static int tilcdc_irq_postinstall(struct drm_device *dev)
|
|||
if (priv->rev == 1)
|
||||
tilcdc_set(dev, LCDC_RASTER_CTRL_REG, LCDC_V1_UNDERFLOW_INT_ENA);
|
||||
else
|
||||
tilcdc_set(dev, LCDC_INT_ENABLE_SET_REG, LCDC_V2_UNDERFLOW_INT_ENA);
|
||||
tilcdc_set(dev, LCDC_INT_ENABLE_SET_REG,
|
||||
LCDC_V2_UNDERFLOW_INT_ENA |
|
||||
LCDC_FRAME_DONE);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -403,7 +405,7 @@ static void enable_vblank(struct drm_device *dev, bool enable)
|
|||
} else {
|
||||
reg = LCDC_INT_ENABLE_SET_REG;
|
||||
mask = LCDC_V2_END_OF_FRAME0_INT_ENA |
|
||||
LCDC_V2_END_OF_FRAME1_INT_ENA | LCDC_FRAME_DONE;
|
||||
LCDC_V2_END_OF_FRAME1_INT_ENA;
|
||||
}
|
||||
|
||||
if (enable)
|
||||
|
|
Loading…
Reference in New Issue