[linux-dvb] Re: nxt200x: Error reading multireg register

Michael Krufky mkrufky at m1k.net
Fri Oct 28 05:24:51 CEST 2005


Kirk Lapray wrote:

> That's what I am thinking.  It looks like those registers are trying 
> to be read before the card has locked onto the signal.  I only get 
> these errors if I tune to channel that doesn't have a digital signal.  
> I wonder if the tuner in the HDTV Wonder is able to lock on faster 
> than the one in the A180.  Since you get these errors when there is 
> not a signal, and it doesn't mean anything is wrong, we should 
> probably ignore it.
>
> After looking over the nxt2002_readreg_multibyte code again it looks 
> like it never even checks for errors.  We might just want to do the 
> same and remove

Can you just send me a patch? (with your sign-off and short 
description)  It's a lot easier for me to see what you're changing that 
way, and also a much better (and safer) way to apply the change to cvs.

Thanks,

-Mike

>
> In nxt200x_readreg_multibyte change it from:
>
>                 case NXT2004:
>                         /* probably not right, but gives correct values */
>                         attr = 0x02;
>                         if (reg & 0x80) {
>                                 attr = attr << 1;
>                                 if (reg & 0x04)
>                                         attr = attr >> 1;
>                         }
>
>                         /* set multi register length */
>                         len2 = (attr << 4) | len;
>                         nxt200x_writebytes(state, 0x34, &len2, 1);
>
>                         /* toggle the multireg bit*/
>                         buf = 0x80;
>                         nxt200x_writebytes(state, 0x21, &buf, 1);
>
>                       /* read status */
>                       nxt200x_readbytes(state, 0x21, &buf, 1);
>
>                       if (buf == 0)
>                       {
>                                 /* read the actual data */
>                                 for(i = 0; i < len; i++) {
>                                         nxt200x_readbytes(state, 0x36 
> + i, &data[i], 1);
>                                 }
>                                 return 0;
>                       }
>                       break;
>                 default:
>                         return -EINVAL;
>                         break;
>         }
>
>       printk(KERN_WARNING "nxt200x: Error reading multireg register 
> 0x%02X BUFFER=0x%02X\n",reg,buf);
>
>       return 0;
>
> To:
>
>                 case NXT2004:
>                         /* probably not right, but gives correct values */
>                         attr = 0x02;
>                         if (reg & 0x80) {
>                                 attr = attr << 1;
>                                 if (reg & 0x04)
>                                         attr = attr >> 1;
>                         }
>
>                         /* set multi register length */
>                         len2 = (attr << 4) | len;
>                         nxt200x_writebytes(state, 0x34, &len2, 1);
>
>                         /* toggle the multireg bit*/
>                         buf = 0x80;
>                         nxt200x_writebytes(state, 0x21, &buf, 1);
>
>                         /* read the actual data */
>                         for(i = 0; i < len; i++) {
>                                 nxt200x_readbytes(state, 0x36 + i, 
> &data[i], 1);
>                         }
>                         return 0;
>                         break;
>                 default:
>                         return -EINVAL;
>                         break;
>         }
>
>
> Kirk
>
> On 10/27/05, *Michael Krufky* <mkrufky at m1k.net 
> <mailto:mkrufky at m1k.net>> wrote:
>
>     Kirk Lapray wrote:
>
>     > On 10/27/05, *Michael Krufky* <mkrufky at m1k.net
>     <mailto:mkrufky at m1k.net>
>     > <mailto:mkrufky at m1k.net <mailto:mkrufky at m1k.net>>> wrote:
>     >
>     >     Although everything is working well, I am still getting
>     these errors
>     >     when I first run azap:
>     >
>     >     nxt200x: NXT2004 Detected
>     >     DVB: registering new adapter (saa7133[0]).
>     >     DVB: registering frontend 0 (Nextwave NXT200X VSB/QAM
>     frontend)...
>     >     nxt2004: Waiting for firmware upload ( dvb-fe-nxt2004.fw)...
>     >     nxt2004: Waiting for firmware upload(2)...
>     >     nxt2004: Firmware upload complete
>     >     nxt200x: Error reading multireg register 0xA6
>     >     nxt200x: Error reading multireg register 0xE6
>     >     nxt200x: Error reading multireg register 0xE6
>     >
>     >     Never more than 3 lines in the log... It is tuning and
>     delivering
>     >     my ts
>     >     stream just fine.
>     >
>     > I know the nxt2002 driver used dprintk instead of printk in the
>     > multireg read and write commands.  We could switch it to dprintk and
>     > then you would only see these errors if you loaded the driver with
>     > debug set.
>
>     Kirk -
>
>     So... I guess that translates to "those errors don't matter."  Would
>     that be the correct assessment?
>
>     I'm not worried about whether I am *seeing* them or not... I was only
>     concerned about whether it was indicating something worth paying
>     attention to.
>
>     -Mike
>
>




More information about the linux-dvb mailing list