V4L/DVB (13711): [Mantis] FIX: Do nor toggle GPIF status
authorMarko Ristola <marko.ristola@kolumbus.fi>
Thu, 3 Dec 2009 08:39:22 +0000 (05:39 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Sun, 17 Jan 2010 13:55:29 +0000 (11:55 -0200)
Signed-off-by: Marko Ristola <marko.ristola@kolumbus.fi>
Signed-off-by: Manu Abraham <manu@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/dvb/mantis/mantis_dma.c

index b8fd1c7cd29470622946480ecd546cf827d88da9..e207870fb45d83b0e35cc745fc78775051f79657 100644 (file)
@@ -190,7 +190,8 @@ void mantis_dma_start(struct mantis_pci *mantis)
 
        mantis_risc_program(mantis);
        mmwrite(cpu_to_le32(mantis->risc_dma), MANTIS_RISC_START);
-       mmwrite(MANTIS_GPIF_RDWRN, MANTIS_GPIF_ADDR);
+//     mmwrite(MANTIS_GPIF_RDWRN, MANTIS_GPIF_ADDR);
+       mmwrite(mmread(MANTIS_GPIF_ADDR) | MANTIS_GPIF_RDWRN, MANTIS_GPIF_ADDR);
 
        mmwrite(0, MANTIS_DMA_CTL);
        mantis->last_block = mantis->finished_block = 0;
@@ -210,6 +211,8 @@ void mantis_dma_stop(struct mantis_pci *mantis)
        mask = mmread(MANTIS_INT_MASK);
        dprintk(verbose, MANTIS_DEBUG, 1, "Mantis Stop DMA engine");
 
+       mmwrite((mmread(MANTIS_GPIF_ADDR) & (~(MANTIS_GPIF_RDWRN))), MANTIS_GPIF_ADDR);
+
        mmwrite((mmread(MANTIS_DMA_CTL) & ~(MANTIS_FIFO_EN |
                                            MANTIS_DCAP_EN |
                                            MANTIS_RISC_EN)), MANTIS_DMA_CTL);