aboutsummaryrefslogtreecommitdiff
path: root/drivers/media/dvb/mantis
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/dvb/mantis')
-rw-r--r--drivers/media/dvb/mantis/mantis_evm.c10
-rw-r--r--drivers/media/dvb/mantis/mantis_hif.c1
2 files changed, 10 insertions, 1 deletions
diff --git a/drivers/media/dvb/mantis/mantis_evm.c b/drivers/media/dvb/mantis/mantis_evm.c
index 214ae5ee31e..000cf396a2c 100644
--- a/drivers/media/dvb/mantis/mantis_evm.c
+++ b/drivers/media/dvb/mantis/mantis_evm.c
@@ -27,11 +27,19 @@ static void mantis_hifevm_work(struct work_struct *work)
struct mantis_ca *ca = container_of(work, struct mantis_ca, hif_evm_work);
struct mantis_pci *mantis = ca->ca_priv;
- u32 gpif_stat, gpif_mask;
+ u32 gpif_stat, gpif_mask, rst_mask, rst_stat;
+
+ rst_mask = MANTIS_GPIF_WRACK |
+ MANTIS_GPIF_OTHERR |
+ MANTIS_SBUF_WSTO |
+ MANTIS_GPIF_EXTIRQ;
gpif_stat = mmread(MANTIS_GPIF_STATUS);
gpif_mask = mmread(MANTIS_GPIF_IRQCFG);
+ rst_stat = gpif_stat & rst_mask;
+ mmwrite(rst_stat, MANTIS_GPIF_STATUS);
+
if (gpif_stat & MANTIS_GPIF_DETSTAT) {
if (gpif_stat & MANTIS_CARD_PLUGIN) {
dprintk(verbose, MANTIS_DEBUG, 1, "Event Mgr: Adapter(%d) Slot(0): CAM Plugin", mantis->num);
diff --git a/drivers/media/dvb/mantis/mantis_hif.c b/drivers/media/dvb/mantis/mantis_hif.c
index c2cecc3d7b1..2f1a6cb943d 100644
--- a/drivers/media/dvb/mantis/mantis_hif.c
+++ b/drivers/media/dvb/mantis/mantis_hif.c
@@ -188,6 +188,7 @@ int mantis_hif_init(struct mantis_ca *ca)
irqcfg = mmread(MANTIS_GPIF_IRQCFG);
irqcfg |= MANTIS_MASK_BRRDY;
+ irqcfg |= MANTIS_MASK_WRACK;
mmwrite(irqcfg, MANTIS_GPIF_IRQCFG);
return 0;