linux/drivers/media/pci/ivtv/ivtv-irq.h

/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
    interrupt handling
    Copyright (C) 2003-2004  Kevin Thayer <nufan_wfk at yahoo.com>
    Copyright (C) 2004  Chris Kennedy <[email protected]>
    Copyright (C) 2005-2007  Hans Verkuil <[email protected]>

 */

#ifndef IVTV_IRQ_H
#define IVTV_IRQ_H

#define IVTV_IRQ_ENC_START_CAP
#define IVTV_IRQ_ENC_EOS
#define IVTV_IRQ_ENC_VBI_CAP
#define IVTV_IRQ_ENC_VIM_RST
#define IVTV_IRQ_ENC_DMA_COMPLETE
#define IVTV_IRQ_ENC_PIO_COMPLETE
#define IVTV_IRQ_DEC_AUD_MODE_CHG
#define IVTV_IRQ_DEC_DATA_REQ
#define IVTV_IRQ_DEC_DMA_COMPLETE
#define IVTV_IRQ_DEC_VBI_RE_INSERT
#define IVTV_IRQ_DMA_ERR
#define IVTV_IRQ_DMA_WRITE
#define IVTV_IRQ_DMA_READ
#define IVTV_IRQ_DEC_VSYNC

/* IRQ Masks */
#define IVTV_IRQ_MASK_INIT

#define IVTV_IRQ_MASK_CAPTURE
#define IVTV_IRQ_MASK_DECODE

irqreturn_t ivtv_irq_handler(int irq, void *dev_id);

void ivtv_irq_work_handler(struct kthread_work *work);
void ivtv_dma_stream_dec_prepare(struct ivtv_stream *s, u32 offset, int lock);
void ivtv_unfinished_dma(struct timer_list *t);

#endif