Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-or-later */
0002 /*
0003     interrupt handling
0004     Copyright (C) 2003-2004  Kevin Thayer <nufan_wfk at yahoo.com>
0005     Copyright (C) 2004  Chris Kennedy <c@groovy.org>
0006     Copyright (C) 2005-2007  Hans Verkuil <hverkuil@xs4all.nl>
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 /* IRQ Masks */
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