#include <drm/drm_vblank.h>
#include "omap_drv.h"
struct omap_irq_wait { … };
static void omap_irq_update(struct drm_device *dev)
{ … }
static void omap_irq_wait_handler(struct omap_irq_wait *wait)
{ … }
struct omap_irq_wait * omap_irq_wait_init(struct drm_device *dev,
u32 irqmask, int count)
{ … }
int omap_irq_wait(struct drm_device *dev, struct omap_irq_wait *wait,
unsigned long timeout)
{ … }
int omap_irq_enable_framedone(struct drm_crtc *crtc, bool enable)
{ … }
int omap_irq_enable_vblank(struct drm_crtc *crtc)
{ … }
void omap_irq_disable_vblank(struct drm_crtc *crtc)
{ … }
static void omap_irq_fifo_underflow(struct omap_drm_private *priv,
u32 irqstatus)
{ … }
static void omap_irq_ocp_error_handler(struct drm_device *dev,
u32 irqstatus)
{ … }
static irqreturn_t omap_irq_handler(int irq, void *arg)
{ … }
static const u32 omap_underflow_irqs[] = …;
int omap_drm_irq_install(struct drm_device *dev)
{ … }
void omap_drm_irq_uninstall(struct drm_device *dev)
{ … }