0001
0002
0003
0004
0005
0006
0007
0008
0009
0010 #ifndef IVTV_IRQ_H
0011 #define IVTV_IRQ_H
0012
0013 #define IVTV_IRQ_ENC_START_CAP BIT(31)
0014 #define IVTV_IRQ_ENC_EOS BIT(30)
0015 #define IVTV_IRQ_ENC_VBI_CAP BIT(29)
0016 #define IVTV_IRQ_ENC_VIM_RST BIT(28)
0017 #define IVTV_IRQ_ENC_DMA_COMPLETE BIT(27)
0018 #define IVTV_IRQ_ENC_PIO_COMPLETE BIT(25)
0019 #define IVTV_IRQ_DEC_AUD_MODE_CHG BIT(24)
0020 #define IVTV_IRQ_DEC_DATA_REQ BIT(22)
0021 #define IVTV_IRQ_DEC_DMA_COMPLETE BIT(20)
0022 #define IVTV_IRQ_DEC_VBI_RE_INSERT BIT(19)
0023 #define IVTV_IRQ_DMA_ERR BIT(18)
0024 #define IVTV_IRQ_DMA_WRITE BIT(17)
0025 #define IVTV_IRQ_DMA_READ BIT(16)
0026 #define IVTV_IRQ_DEC_VSYNC BIT(10)
0027
0028
0029 #define IVTV_IRQ_MASK_INIT (IVTV_IRQ_DMA_ERR|IVTV_IRQ_ENC_DMA_COMPLETE|\
0030 IVTV_IRQ_DMA_READ|IVTV_IRQ_ENC_PIO_COMPLETE)
0031
0032 #define IVTV_IRQ_MASK_CAPTURE (IVTV_IRQ_ENC_START_CAP | IVTV_IRQ_ENC_EOS)
0033 #define IVTV_IRQ_MASK_DECODE (IVTV_IRQ_DEC_DATA_REQ|IVTV_IRQ_DEC_AUD_MODE_CHG)
0034
0035 irqreturn_t ivtv_irq_handler(int irq, void *dev_id);
0036
0037 void ivtv_irq_work_handler(struct kthread_work *work);
0038 void ivtv_dma_stream_dec_prepare(struct ivtv_stream *s, u32 offset, int lock);
0039 void ivtv_unfinished_dma(struct timer_list *t);
0040
0041 #endif