42 lines · c
1/* SPDX-License-Identifier: GPL-2.0-or-later */2/*3 interrupt handling4 Copyright (C) 2003-2004 Kevin Thayer <nufan_wfk at yahoo.com>5 Copyright (C) 2004 Chris Kennedy <c@groovy.org>6 Copyright (C) 2005-2007 Hans Verkuil <hverkuil@xs4all.nl>7 8 */9 10#ifndef IVTV_IRQ_H11#define IVTV_IRQ_H12 13#define IVTV_IRQ_ENC_START_CAP BIT(31)14#define IVTV_IRQ_ENC_EOS BIT(30)15#define IVTV_IRQ_ENC_VBI_CAP BIT(29)16#define IVTV_IRQ_ENC_VIM_RST BIT(28)17#define IVTV_IRQ_ENC_DMA_COMPLETE BIT(27)18#define IVTV_IRQ_ENC_PIO_COMPLETE BIT(25)19#define IVTV_IRQ_DEC_AUD_MODE_CHG BIT(24)20#define IVTV_IRQ_DEC_DATA_REQ BIT(22)21#define IVTV_IRQ_DEC_DMA_COMPLETE BIT(20)22#define IVTV_IRQ_DEC_VBI_RE_INSERT BIT(19)23#define IVTV_IRQ_DMA_ERR BIT(18)24#define IVTV_IRQ_DMA_WRITE BIT(17)25#define IVTV_IRQ_DMA_READ BIT(16)26#define IVTV_IRQ_DEC_VSYNC BIT(10)27 28/* IRQ Masks */29#define IVTV_IRQ_MASK_INIT (IVTV_IRQ_DMA_ERR|IVTV_IRQ_ENC_DMA_COMPLETE|\30 IVTV_IRQ_DMA_READ|IVTV_IRQ_ENC_PIO_COMPLETE)31 32#define IVTV_IRQ_MASK_CAPTURE (IVTV_IRQ_ENC_START_CAP | IVTV_IRQ_ENC_EOS)33#define IVTV_IRQ_MASK_DECODE (IVTV_IRQ_DEC_DATA_REQ|IVTV_IRQ_DEC_AUD_MODE_CHG)34 35irqreturn_t ivtv_irq_handler(int irq, void *dev_id);36 37void ivtv_irq_work_handler(struct kthread_work *work);38void ivtv_dma_stream_dec_prepare(struct ivtv_stream *s, u32 offset, int lock);39void ivtv_unfinished_dma(struct timer_list *t);40 41#endif42