parse_em28xx_drxk.pl: Describe DRX-K flags
authorMauro Carvalho Chehab <mchehab@redhat.com>
Sat, 9 Jul 2011 14:57:28 +0000 (11:57 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Sat, 9 Jul 2011 14:57:28 +0000 (11:57 -0300)
Those flag values were got from Terratec driver, found at:
http://linux.terratec.de/files/TERRATEC_H7/20110323_TERRATEC_H7_Linux.tar.gz

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
contrib/em28xx/parse_em28xx_drxk.pl

index 5d2ff0b..b93654f 100755 (executable)
@@ -2109,7 +2109,17 @@ sub parse_drxk_addr($$$$)
                }
 
                if ($flags) {
-                       printf "%s%d_flags(state, 0x%s, %s, 0x%08x, 0x%02x);\n", $cmd, $bits, $addr, $reg, $data, $flags;
+                       my $descr;
+
+                       # That _seems_ to be the flags. Not sure through
+                       $descr .= "R/W/Modify " if ($flags & 0x10);
+                       $descr .= "Broadcast " if ($flags & 0x20);
+                       $descr .= "SingleMaster " if (($flags & 0xc0) == 0xc0);
+                       $descr .= "MultiMaster " if (($flags & 0xc0) == 0x40);
+                       $descr .= "ClearCRC " if (($flags & 0xc0) == 0x80);
+
+                       printf "%s%d_flags(state, 0x%s, %s, 0x%08x, 0x%02x); /* Flags = %s */\n", $cmd, $bits, $addr, $reg, $data, $flags, $descr;
+
                } else {
                        printf "%s%d(state, 0x%s, %s, 0x%08x, %d);\n", $cmd, $bits, $addr, $reg, $data;
                }