V4L/DVB (6173): cx23885: Minor cleanup and important NMI comment placed in code
authorSteven Toth <stoth@hauppauge.com>
Wed, 5 Sep 2007 00:50:49 +0000 (21:50 -0300)
committerMauro Carvalho Chehab <mchehab@infradead.org>
Wed, 10 Oct 2007 01:08:26 +0000 (22:08 -0300)
I wanted to document the NMI assert issue inside the code, even though
it's already documented in the patch history. If/when the next cx23887
revision appears, is may need to be enabled on that also.

Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
drivers/media/video/cx23885/cx23885-core.c

index fa5f648..13dc7c8 100644 (file)
@@ -331,8 +331,8 @@ static int cx23885_risc_decode(u32 risc)
                [ RISC_WRITECR >> 28 ] = "writecr",
        };
        static int incr[16] = {
-               [ RISC_WRITE   >> 28 ] = 3, // 2
-               [ RISC_JUMP    >> 28 ] = 3, // 2
+               [ RISC_WRITE   >> 28 ] = 3,
+               [ RISC_JUMP    >> 28 ] = 3,
                [ RISC_SKIP    >> 28 ] = 1,
                [ RISC_SYNC    >> 28 ] = 1,
                [ RISC_WRITERM >> 28 ] = 3,
@@ -629,6 +629,10 @@ static int cx23885_pci_quirks(struct cx23885_dev *dev)
 {
        dprintk(1, "%s()\n", __FUNCTION__);
 
+       /* The cx23885 bridge has a weird bug which causes NMI to be asserted
+        * when DMA begins if RDR_TLCTL0 bit4 is not cleared. It does not
+        * occur on the cx23887 bridge.
+        */
        if(dev->bridge == CX23885_BRIDGE_885)
                cx_clear(RDR_TLCTL0, 1 << 4);