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

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

 



> 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 




--
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