aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb/mantis/mantis_evm.c
diff options
context:
space:
mode:
authorManu Abraham <abraham.manu@gmail.com>2009-12-04 03:26:46 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2010-01-17 08:55:39 -0500
commit17b77fc2d404910ca691661038ceb4c02d912d16 (patch)
tree93692d7f1844e2717f18f352d5367aa75c3741a0 /drivers/media/dvb/mantis/mantis_evm.c
parentf668c7292bda7f64400eaa8d45c3a785eecab990 (diff)
V4L/DVB (13771): [Mantis] Reset Flags at the earliest possible
Signed-off-by: Manu Abraham <manu@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/dvb/mantis/mantis_evm.c')
-rw-r--r--drivers/media/dvb/mantis/mantis_evm.c18
1 files changed, 5 insertions, 13 deletions
diff --git a/drivers/media/dvb/mantis/mantis_evm.c b/drivers/media/dvb/mantis/mantis_evm.c
index d603601c09b1..4c4c1448ddd4 100644
--- a/drivers/media/dvb/mantis/mantis_evm.c
+++ b/drivers/media/dvb/mantis/mantis_evm.c
@@ -27,19 +27,11 @@ static void mantis_hifevm_work(struct work_struct *work)
27 struct mantis_ca *ca = container_of(work, struct mantis_ca, hif_evm_work); 27 struct mantis_ca *ca = container_of(work, struct mantis_ca, hif_evm_work);
28 struct mantis_pci *mantis = ca->ca_priv; 28 struct mantis_pci *mantis = ca->ca_priv;
29 29
30 u32 gpif_stat, gpif_mask, rst_mask, rst_stat; 30 u32 gpif_stat, gpif_mask;
31
32 rst_mask = MANTIS_GPIF_WRACK |
33 MANTIS_GPIF_OTHERR |
34 MANTIS_SBUF_WSTO |
35 MANTIS_GPIF_EXTIRQ;
36 31
37 gpif_stat = mmread(MANTIS_GPIF_STATUS); 32 gpif_stat = mmread(MANTIS_GPIF_STATUS);
38 gpif_mask = mmread(MANTIS_GPIF_IRQCFG); 33 gpif_mask = mmread(MANTIS_GPIF_IRQCFG);
39 34
40 rst_stat = gpif_stat & rst_mask;
41 mmwrite(rst_stat, MANTIS_GPIF_STATUS);
42
43 if (gpif_stat & MANTIS_GPIF_DETSTAT) { 35 if (gpif_stat & MANTIS_GPIF_DETSTAT) {
44 if (gpif_stat & MANTIS_CARD_PLUGIN) { 36 if (gpif_stat & MANTIS_CARD_PLUGIN) {
45 dprintk(verbose, MANTIS_DEBUG, 1, "Event Mgr: Adapter(%d) Slot(0): CAM Plugin", mantis->num); 37 dprintk(verbose, MANTIS_DEBUG, 1, "Event Mgr: Adapter(%d) Slot(0): CAM Plugin", mantis->num);
@@ -60,13 +52,13 @@ static void mantis_hifevm_work(struct work_struct *work)
60 } 52 }
61 } 53 }
62 54
63 if (gpif_stat & MANTIS_GPIF_EXTIRQ) 55 if (mantis->gpif_status & MANTIS_GPIF_EXTIRQ)
64 dprintk(verbose, MANTIS_DEBUG, 1, "Event Mgr: Adapter(%d) Slot(0): Ext IRQ", mantis->num); 56 dprintk(verbose, MANTIS_DEBUG, 1, "Event Mgr: Adapter(%d) Slot(0): Ext IRQ", mantis->num);
65 57
66 if (gpif_stat & MANTIS_SBUF_WSTO) 58 if (mantis->gpif_status & MANTIS_SBUF_WSTO)
67 dprintk(verbose, MANTIS_DEBUG, 1, "Event Mgr: Adapter(%d) Slot(0): Smart Buffer Timeout", mantis->num); 59 dprintk(verbose, MANTIS_DEBUG, 1, "Event Mgr: Adapter(%d) Slot(0): Smart Buffer Timeout", mantis->num);
68 60
69 if (gpif_stat & MANTIS_GPIF_OTHERR) 61 if (mantis->gpif_status & MANTIS_GPIF_OTHERR)
70 dprintk(verbose, MANTIS_DEBUG, 1, "Event Mgr: Adapter(%d) Slot(0): Alignment Error", mantis->num); 62 dprintk(verbose, MANTIS_DEBUG, 1, "Event Mgr: Adapter(%d) Slot(0): Alignment Error", mantis->num);
71 63
72 if (gpif_stat & MANTIS_SBUF_OVFLW) 64 if (gpif_stat & MANTIS_SBUF_OVFLW)
@@ -75,7 +67,7 @@ static void mantis_hifevm_work(struct work_struct *work)
75 if (gpif_stat & MANTIS_GPIF_BRRDY) 67 if (gpif_stat & MANTIS_GPIF_BRRDY)
76 dprintk(verbose, MANTIS_DEBUG, 1, "Event Mgr: Adapter(%d) Slot(0): Smart Buffer Read Ready", mantis->num); 68 dprintk(verbose, MANTIS_DEBUG, 1, "Event Mgr: Adapter(%d) Slot(0): Smart Buffer Read Ready", mantis->num);
77 69
78 if (gpif_stat & MANTIS_GPIF_WRACK) 70 if (mantis->gpif_status & MANTIS_GPIF_WRACK)
79 dprintk(verbose, MANTIS_DEBUG, 1, "Event Mgr: Adapter(%d) Slot(0): Slave Write ACK", mantis->num); 71 dprintk(verbose, MANTIS_DEBUG, 1, "Event Mgr: Adapter(%d) Slot(0): Slave Write ACK", mantis->num);
80 72
81 if (gpif_stat & MANTIS_GPIF_INTSTAT) 73 if (gpif_stat & MANTIS_GPIF_INTSTAT)