linux/drivers/gpu/drm/omapdrm/omap_irq.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright (C) 2011 Texas Instruments Incorporated - https://www.ti.com/
 * Author: Rob Clark <[email protected]>
 */

#include <drm/drm_vblank.h>

#include "omap_drv.h"

struct omap_irq_wait {};

/* call with wait_lock and dispc runtime held */
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)
{}

/**
 * omap_irq_enable_vblank - enable vblank interrupt events
 * @crtc: DRM CRTC
 *
 * Enable vblank interrupts for @crtc.  If the device doesn't have
 * a hardware vblank counter, this routine should be a no-op, since
 * interrupts will have to stay on to keep the count accurate.
 *
 * RETURNS
 * Zero on success, appropriate errno if the given @crtc's vblank
 * interrupt cannot be enabled.
 */
int omap_irq_enable_vblank(struct drm_crtc *crtc)
{}

/**
 * omap_irq_disable_vblank - disable vblank interrupt events
 * @crtc: DRM CRTC
 *
 * Disable vblank interrupts for @crtc.  If the device doesn't have
 * a hardware vblank counter, this routine should be a no-op, since
 * interrupts will have to stay on to keep the count accurate.
 */
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)
{}