diff options
author | Manu Abraham <abraham.manu@gmail.com> | 2009-12-04 03:26:46 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2010-01-17 08:55:39 -0500 |
commit | 17b77fc2d404910ca691661038ceb4c02d912d16 (patch) | |
tree | 93692d7f1844e2717f18f352d5367aa75c3741a0 /drivers/media/dvb/mantis/mantis_evm.c | |
parent | f668c7292bda7f64400eaa8d45c3a785eecab990 (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.c | 18 |
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) |