V4L/DVB (6082): cx88: Improve risc instruction printing in sram channel dump
authorTrent Piepho <xyzzy@speakeasy.org>
Tue, 21 Aug 2007 11:19:16 +0000 (08:19 -0300)
committerMauro Carvalho Chehab <mchehab@infradead.org>
Wed, 10 Oct 2007 01:06:28 +0000 (22:06 -0300)
When the risc instrunctions from the CMDS were printed, instruction arguments
weren't taken into account.

This changes output like:
cx88[0]:   risc0: 0x1d010400 [ write sol eol irq1 cnt0 count=1024 ]
cx88[0]:   risc1: 0x0cac2800 [ INVALID sol eol 23 21 19 18 13 count=2048 ]
cx88[0]:   risc2: 0x1d010400 [ write sol eol irq1 cnt0 count=1024 ]
cx88[0]:   risc3: 0x0cac2c00 [ INVALID sol eol 23 21 19 18 13 count=3072 ]

cx88[0]:   risc0: 0x1d010400 [ write sol eol irq1 cnt0 count=1024 ]
cx88[0]:   risc1: 0x0cac2800 [ arg #1 ]
cx88[0]:   risc2: 0x1d010400 [ write sol eol irq1 cnt0 count=1024 ]
cx88[0]:   risc3: 0x0cac2c00 [ arg #1 ]

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
drivers/media/video/cx88/cx88-core.c

index cea3212d28b481a4ff65016a945367d9af53a200..ce7f1f0ae054ff94282aa2423555e3de5622ef9c 100644 (file)
@@ -434,10 +434,13 @@ void cx88_sram_channel_dump(struct cx88_core *core,
                printk("%s:   cmds: %-12s: 0x%08x\n",
                       core->name,name[i],
                       cx_read(ch->cmds_start + 4*i));
-       for (i = 0; i < 4; i++) {
+       for (n = 1, i = 0; i < 4; i++) {
                risc = cx_read(ch->cmds_start + 4 * (i+11));
                printk("%s:   risc%d: ", core->name, i);
-               cx88_risc_decode(risc);
+               if (--n)
+                       printk("0x%08x [ arg #%d ]\n", risc, n);
+               else
+                       n = cx88_risc_decode(risc);
        }
        for (i = 0; i < 16; i += n) {
                risc = cx_read(ch->ctrl_start + 4 * i);