summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/cx88/cx88-video.c
diff options
context:
space:
mode:
authorGerd Knorr <devnull@localhost>2004-11-30 17:00:13 +0000
committerGerd Knorr <devnull@localhost>2004-11-30 17:00:13 +0000
commit3ab65e59d64a1ab37ad62acd54af78b4f559d990 (patch)
tree6809d45697c5a78a30af1e378fc7d81c39fc2344 /linux/drivers/media/video/cx88/cx88-video.c
parentcec65069b7466d850408a58576dbff9a0ddbf782 (diff)
downloadmediapointer-dvb-s2-3ab65e59d64a1ab37ad62acd54af78b4f559d990.tar.gz
mediapointer-dvb-s2-3ab65e59d64a1ab37ad62acd54af78b4f559d990.tar.bz2
- new cx88-based dvb card by Christopher Pascoe.
- cx88: IR support by Christopher Pascoe and me.
Diffstat (limited to 'linux/drivers/media/video/cx88/cx88-video.c')
-rw-r--r--linux/drivers/media/video/cx88/cx88-video.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/linux/drivers/media/video/cx88/cx88-video.c b/linux/drivers/media/video/cx88/cx88-video.c
index 45bccfeac..24a575543 100644
--- a/linux/drivers/media/video/cx88/cx88-video.c
+++ b/linux/drivers/media/video/cx88/cx88-video.c
@@ -1,5 +1,5 @@
/*
- * $Id: cx88-video.c,v 1.47 2004/11/19 18:07:12 kraxel Exp $
+ * $Id: cx88-video.c,v 1.48 2004/11/30 17:00:13 kraxel Exp $
*
* device driver for Conexant 2388x based TV cards
* video4linux video interface
@@ -435,7 +435,7 @@ static int start_video_dma(struct cx8800_dev *dev,
q->count = 1;
/* enable irqs */
- cx_set(MO_PCI_INTMSK, 0x00fc01);
+ cx_set(MO_PCI_INTMSK, core->pci_irqmask | 0x01);
cx_set(MO_VID_INTMSK, 0x0f0011);
/* enable capture */
@@ -1887,19 +1887,18 @@ static irqreturn_t cx8800_irq(int irq, void *dev_id, struct pt_regs *regs)
{
struct cx8800_dev *dev = dev_id;
struct cx88_core *core = dev->core;
- u32 status, mask;
+ u32 status;
int loop, handled = 0;
for (loop = 0; loop < 10; loop++) {
- status = cx_read(MO_PCI_INTSTAT) & (~0x1f | 0x01);
- mask = cx_read(MO_PCI_INTMSK);
- if (0 == (status & mask))
+ status = cx_read(MO_PCI_INTSTAT) & (core->pci_irqmask | 0x01);
+ if (0 == status)
goto out;
cx_write(MO_PCI_INTSTAT, status);
handled = 1;
- if (status & mask & ~0x1f)
- cx88_irq(core,status,mask);
+ if (status & core->pci_irqmask)
+ cx88_core_irq(core,status);
if (status & 0x01)
cx8800_vid_irq(dev);
};