V4L/DVB (13774): [Mantis] Remove redundant wait for Burst Reads, wakeup the HIF event
authorSigmund Augdal <sigmund@snap.tv>
Fri, 4 Dec 2009 08:28:24 +0000 (05:28 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Sun, 17 Jan 2010 13:55:39 +0000 (11:55 -0200)
Signed-off-by: Sigmund Augdal <sigmund@snap.tv>
Signed-off-by: Manu Abraham <manu@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/dvb/mantis/mantis_evm.c
drivers/media/dvb/mantis/mantis_hif.c

index 4c4c1448ddd4a44d66070d686c75604f49daadf7..008e2c28c06bd14c62b7d23a2ee110a6eff13525 100644 (file)
@@ -79,6 +79,8 @@ static void mantis_hifevm_work(struct work_struct *work)
        if (gpif_stat & MANTIS_SBUF_OPDONE) {
                dprintk(verbose, MANTIS_DEBUG, 1, "Event Mgr: Adapter(%d) Slot(0): Smart Buffer operation complete", mantis->num);
                ca->sbuf_status = MANTIS_SBUF_DATA_AVAIL;
+               ca->hif_event = MANTIS_SBUF_OPDONE;
+               wake_up(&ca->hif_opdone_wq);
        }
 }
 
index fa4bb6dc3241594531be9f39542debf811748ffb..6c51d178001507731e31ba84a9e0bcb8e184b476 100644 (file)
@@ -75,10 +75,6 @@ int mantis_hif_read_mem(struct mantis_ca *ca, u32 addr)
        udelay(20);
 
        mmwrite(hif_addr, MANTIS_GPIF_ADDR);
-       if (mantis_hif_data_available(ca) != 0) {
-               dprintk(verbose, MANTIS_ERROR, 1, "Adapter(%d) Slot(0): GPIF Smart Buffer burst read failed", mantis->num);
-               return -EREMOTEIO;
-       }
        if (mantis_hif_sbuf_opdone_wait(ca) != 0) {
                dprintk(verbose, MANTIS_ERROR, 1, "Adapter(%d) Slot(0): GPIF Smart Buffer operation failed", mantis->num);
                return -EREMOTEIO;