Messages in this thread | | | Date | Wed, 27 Oct 2010 19:41:23 +0300 | From | Antti Palosaari <> | Subject | Re: DVB: af9015 defunct [was: mmotm 2010-10-20-15-01 uploaded] |
| |
On 10/27/2010 07:12 PM, Mauro Carvalho Chehab wrote: > int tda18271_write_regs(struct dvb_frontend *fe, int idx, int len) > { > ... > switch (priv->small_i2c) { > case TDA18271_03_BYTE_CHUNK_INIT: > max = 3; > break; > case TDA18271_08_BYTE_CHUNK_INIT: > max = 8; > break; > case TDA18271_16_BYTE_CHUNK_INIT: > max = 16; > break; > case TDA18271_39_BYTE_CHUNK_INIT: > default: > max = 39; > } > > > with small_i2c = 1, the driver will not restrict the maximum length size. > > It's weird that the patch didn't fix it. Are you sure that reverting this > patch is enough to make the driver work? > > Please test this one. > > It will properly log the size of the message the driver tried to use, and will > reduce the max number of bytes per I2C transfer to 8.
All in all, this small_i2c was added (Michael Krufky and I) when this tuner was taken in use with af9015 and it was 16 bytes initially. I think those other chunks are added later. AF9015 I2C adapter can write 21 bytes at once. Correct solution is to add option which splits writes as wanted (like option .i2c_wr_max) to the TDA18271. I have no HW to test.
Antti -- http://palosaari.fi/
| |