Ver código fonte

V4L/DVB (13774): [Mantis] Remove redundant wait for Burst Reads, wakeup the HIF event

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>
Sigmund Augdal 15 anos atrás
pai
commit
c02e15150c

+ 2 - 0
drivers/media/dvb/mantis/mantis_evm.c

@@ -79,6 +79,8 @@ static void mantis_hifevm_work(struct work_struct *work)
 	if (gpif_stat & MANTIS_SBUF_OPDONE) {
 	if (gpif_stat & MANTIS_SBUF_OPDONE) {
 		dprintk(verbose, MANTIS_DEBUG, 1, "Event Mgr: Adapter(%d) Slot(0): Smart Buffer operation complete", mantis->num);
 		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->sbuf_status = MANTIS_SBUF_DATA_AVAIL;
+		ca->hif_event = MANTIS_SBUF_OPDONE;
+		wake_up(&ca->hif_opdone_wq);
 	}
 	}
 }
 }
 
 

+ 0 - 4
drivers/media/dvb/mantis/mantis_hif.c

@@ -75,10 +75,6 @@ int mantis_hif_read_mem(struct mantis_ca *ca, u32 addr)
 	udelay(20);
 	udelay(20);
 
 
 	mmwrite(hif_addr, MANTIS_GPIF_ADDR);
 	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) {
 	if (mantis_hif_sbuf_opdone_wait(ca) != 0) {
 		dprintk(verbose, MANTIS_ERROR, 1, "Adapter(%d) Slot(0): GPIF Smart Buffer operation failed", mantis->num);
 		dprintk(verbose, MANTIS_ERROR, 1, "Adapter(%d) Slot(0): GPIF Smart Buffer operation failed", mantis->num);
 		return -EREMOTEIO;
 		return -EREMOTEIO;