[linux-dvb] [PATCH 1/3] Fix a problem during the access to the IER and ISR registers of the SA7146

Dominik Strasser dominik at die-strassers.de
Sun Dec 17 20:55:59 CET 2006


e9hack schrieb:
> Dominik Strasser wrote:
>   
Hartmut,
>> Here is the debug output (some lines, I can give you more if you want
>> :-) )
>>
>> Dec 17 17:09:43 VDR kernel: saa7146_i2c_writeout(13c2,0000): timed out
>> waiting for end of xfer
>>     
> It comes from your FuSi FF card.
>   
I assumed this due to the PCI id.
>> Dec 17 17:09:43 VDR kernel: EIO after saa7146_i2c_writeout:
>> count=1(2), data=0x86000040, addr=0x09, R/W=W, buf[0]=0x00
>>     
> I think that this comes from ves1820_readreg(). The failing transfer is
> always the second message. I would like to see the affected register,
> but for the ves1820 the first value is the sub-address. I've modified
> the patch a little bit. Now it prints also the register.
>
> If your kernel is configured with a timer frequency of 100Hz or if your
> pc runs with a high load, the timeout value of 10ms may be to small. The
> second patch increases the timeout value to 50ms.
>   
This is a standard Suse 10.2 kernel which is built with CONFIG_HZ=250
The load is rather low, only VDR is running <10% CPU.

Unfortunately the increased timeout didn't change anything.

But with CONFIG_HZ=250,  the timeout was still at 10ms. I now changed it 
to 20*HZ/100, now the frequency of the message has decreased, but it 
still occurs.  I'll retry with increased values. 50*HZ seems to work. 
I'll try to find a minimum. No 50 isn't enough. Still messages occur ...

Regards

Dominik

Here the new output:
Dec 17 20:39:59 VDR kernel: EIO after saa7146_i2c_writeout: count=1(2), 
data=0x69000040, addr=0x09, R/W=W, len=3, buf[0]=0x00, buf[1]=0x00
Dec 17 20:40:01 VDR kernel: saa7146_i2c_writeout(13c2,0000): timed out 
waiting for end of xfer
Dec 17 20:40:01 VDR kernel: EIO after saa7146_i2c_writeout: count=1(2), 
data=0x43000040, addr=0x09, R/W=W, len=3, buf[0]=0x00, buf[1]=0x08
Dec 17 20:40:06 VDR vdr: [8268] frontend 2 timed out while tuning to 
channel 39, tp 338
Dec 17 20:40:09 VDR kernel: saa7146_i2c_writeout(13c2,0000): timed out 
waiting for end of xfer
Dec 17 20:40:09 VDR kernel: EIO after saa7146_i2c_writeout: count=1(2), 
data=0x1e000040, addr=0x09, R/W=W, len=3, buf[0]=0x00, buf[1]=0x0c
Dec 17 20:40:10 VDR kernel: saa7146_i2c_writeout(13c2,0000): timed out 
waiting for end of xfer
Dec 17 20:40:10 VDR kernel: EIO after saa7146_i2c_writeout: count=1(2), 
data=0x43000040, addr=0x09, R/W=W, len=3, buf[0]=0x00, buf[1]=0x08
Dec 17 20:40:10 VDR kernel: saa7146_i2c_writeout(13c2,0000): timed out 
waiting for end of xfer
Dec 17 20:40:10 VDR kernel: EIO after saa7146_i2c_writeout: count=1(2), 
data=0x52000040, addr=0x09, R/W=W, len=3, buf[0]=0x00, buf[1]=0x34
Dec 17 20:40:12 VDR kernel: saa7146_i2c_writeout(13c2,0000): timed out 
waiting for end of xfer
Dec 17 20:40:12 VDR kernel: EIO after saa7146_i2c_writeout: count=1(2), 
data=0x52000040, addr=0x09, R/W=W, len=3, buf[0]=0x00, buf[1]=0x34
Dec 17 20:40:13 VDR kernel: saa7146_i2c_writeout(13c2,0000): timed out 
waiting for end of xfer
Dec 17 20:40:13 VDR kernel: EIO after saa7146_i2c_writeout: count=1(2), 
data=0x86000040, addr=0x09, R/W=W, len=3, buf[0]=0x00, buf[1]=0x0d
Dec 17 20:40:15 VDR kernel: saa7146_i2c_writeout(13c2,0000): timed out 
waiting for end of xfer
Dec 17 20:40:15 VDR kernel: EIO after saa7146_i2c_writeout: count=1(2), 
data=0x86000040, addr=0x09, R/W=W, len=3, buf[0]=0x00, buf[1]=0x0d
Dec 17 20:40:21 VDR kernel: saa7146_i2c_writeout(13c2,0000): timed out 
waiting for end of xfer
Dec 17 20:40:21 VDR kernel: EIO after saa7146_i2c_writeout: count=1(2), 
data=0x43000040, addr=0x09, R/W=W, len=3, buf[0]=0x00, buf[1]=0x0e
Dec 17 20:40:22 VDR kernel: saa7146_i2c_writeout(13c2,0000): timed out 
waiting for end of xfer
Dec 17 20:40:22 VDR kernel: EIO after saa7146_i2c_writeout: count=1(2), 
data=0x1e000040, addr=0x09, R/W=W, len=3, buf[0]=0x00, buf[1]=0x0c
Dec 17 20:40:23 VDR kernel: saa7146_i2c_writeout(13c2,0000): timed out 
waiting for end of xfer
Dec 17 20:40:23 VDR kernel: EIO after saa7146_i2c_writeout: count=1(2), 
data=0x6a000040, addr=0x09, R/W=W, len=3, buf[0]=0x00, buf[1]=0x09
Dec 17 20:40:24 VDR kernel: saa7146_i2c_writeout(13c2,0000): timed out 
waiting for end of xfer
Dec 17 20:40:24 VDR kernel: EIO after saa7146_i2c_writeout: count=1(2), 
data=0x43000040, addr=0x09, R/W=W, len=3, buf[0]=0x00, buf[1]=0x0e




More information about the linux-dvb mailing list