Re: regression : saa7134 with Pinnacle PCTV 50i (analog) can not tune anymore

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Am Mittwoch, den 08.07.2009, 21:07 +0200 schrieb
eric.paturage@xxxxxxxxx:
> > Hi Eric,
> > 
> > yes, arbitration lost on i2c is an error condition.
> > 
> > As far I know we did not change the bus speed or anything, but some
> > cards need and i2c quirk to work correctly with the clients.
> > 
> > Mike recently changed the old quirk with good reasons and it was widely
> > tested, also by me, without any negative effect seen.
> > 
> > Maybe your card is a rare case needing the old quirk.
> > 
> > You could try to change the quirk in saa7134-i2c.c
> > 
> > static int saa7134_i2c_xfer(struct i2c_adapter *i2c_adap,
> > 			    struct i2c_msg *msgs, int num)
> > {
> > 	struct saa7134_dev *dev = i2c_adap->algo_data;
> > 	enum i2c_status status;
> > 	unsigned char data;
> > 	int addr,rc,i,byte;
> > 
> > 	status = i2c_get_status(dev);
> > 	if (!i2c_is_idle(status))
> > 		if (!i2c_reset(dev))
> > 			return -EIO;
> > 
> > 	d2printk("start xfer\n");
> > 	d1printk(KERN_DEBUG "%s: i2c xfer:",dev->name);
> > 	for (i = 0; i < num; i++) {
> > 		if (!(msgs[i].flags & I2C_M_NOSTART) || 0 == i) {
> > 			/* send address */
> > 			d2printk("send address\n");
> > 			addr  = msgs[i].addr << 1;
> > 			if (msgs[i].flags & I2C_M_RD)
> > 				addr |= 1;
> > 			if (i > 0 && msgs[i].flags & I2C_M_RD && msgs[i].addr != 0x40) {
> > 				/* workaround for a saa7134 i2c bug
> > 				 * needed to talk to the mt352 demux
> > 				 * thanks to pinnacle for the hint */
> > 				int quirk = 0xfe;    <--------------------------------------
> > 				d1printk(" [%02x quirk]",quirk);
> > 				i2c_send_byte(dev,START,quirk);
> > 				i2c_recv_byte(dev);
> > 			}
> > 
> > back to 0xfd.
> > 
> > Cheers,
> > Hermann
> > 
> 
> H Hermann 
> 
> thanks for your suggestion .
> No  improvement with changing the quirk to 0xfd , 
> I still get the same error messages : 
> i2c-adapter i2c-1: Invalid 7-bit address 0x7a
> saa7133[0]: i2c xfer: < 8e >
> input: i2c IR (Pinnacle PCTV) as /class/input/input4
> ir-kbd-i2c: i2c IR (Pinnacle PCTV) detected at i2c-1/1-0047/ir0 [saa7133[0]]
> saa7133[0]: i2c xfer: < 8f ERROR: ARB_LOST
> saa7133[0]: i2c xfer: < 84 ERROR: NO_DEVICE
> saa7133[0]: i2c xfer: < 86 ERROR: ARB_LOST
> saa7133[0]: i2c xfer: < 94 ERROR: NO_DEVICE
> saa7133[0]: i2c xfer: < 96 ERROR: ARB_LOST
> saa7133[0]: i2c xfer: < c0 ERROR: NO_DEVICE
> saa7133[0]: i2c xfer: < c2 ERROR: NO_DEVICE
> saa7133[0]: i2c xfer: < c4 ERROR: NO_DEVICE
> saa7133[0]: i2c xfer: < c6 ERROR: NO_DEVICE
> saa7133[0]: i2c xfer: < c8 ERROR: NO_DEVICE      
> 
> 
> Regards 
> 

Hi Eric,

thanks for your time and testing.

Before we need to start with v4l-dvb bisecting.

There have only been a few changes for the saa7134 driver since what
Mauro did send for 2.6.30.

Mostly for ir-kbd-i2c and for your remote was no tester found.

All i2c errors seem to start from the remote and that i2c remote stuff I
don't have and can't fake.

Did you try with options saa7134 disable_ir=1 already too?

Cheers,
Hermann




--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux