Commit b62222fc authored by Darren Etheridge's avatar Darren Etheridge Committed by Jyri Sarha

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: default avatarDarren Etheridge <detheridge@ti.com>
Tested-by: default avatarDave Gerlach <d-gerlach@ti.com>
Signed-off-by: default avatarJyri Sarha <jsarha@ti.com>
Reviewed-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
parent 85fd27f8
...@@ -369,7 +369,9 @@ static int tilcdc_irq_postinstall(struct drm_device *dev) ...@@ -369,7 +369,9 @@ static int tilcdc_irq_postinstall(struct drm_device *dev)
if (priv->rev == 1) if (priv->rev == 1)
tilcdc_set(dev, LCDC_RASTER_CTRL_REG, LCDC_V1_UNDERFLOW_INT_ENA); tilcdc_set(dev, LCDC_RASTER_CTRL_REG, LCDC_V1_UNDERFLOW_INT_ENA);
else 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; return 0;
} }
...@@ -403,7 +405,7 @@ static void enable_vblank(struct drm_device *dev, bool enable) ...@@ -403,7 +405,7 @@ static void enable_vblank(struct drm_device *dev, bool enable)
} else { } else {
reg = LCDC_INT_ENABLE_SET_REG; reg = LCDC_INT_ENABLE_SET_REG;
mask = LCDC_V2_END_OF_FRAME0_INT_ENA | 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) if (enable)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment