drm: omapdrm: Keep vblank interrupt enabled while CRTC is active
Instead of going through a complicated private IRQ registration mechanism, handle the vblank interrupt activation with the standard drm_crtc_vblank_get() and drm_crtc_vblank_put() mechanism. This will let the DRM core keep the vblank interrupt enabled as long as needed to update the frame counter. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
This commit is contained in:
@@ -245,8 +245,10 @@ static irqreturn_t omap_irq_handler(int irq, void *arg)
|
||||
struct drm_crtc *crtc = priv->crtcs[id];
|
||||
enum omap_channel channel = omap_crtc_channel(crtc);
|
||||
|
||||
if (irqstatus & pipe2vbl(crtc))
|
||||
if (irqstatus & pipe2vbl(crtc)) {
|
||||
drm_handle_vblank(dev, id);
|
||||
omap_crtc_vblank_irq(crtc);
|
||||
}
|
||||
|
||||
if (irqstatus & dispc_mgr_get_sync_lost_irq(channel))
|
||||
omap_crtc_error_irq(crtc, irqstatus);
|
||||
|
Reference in New Issue
Block a user