[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4CC85D34.7010603@redhat.com>
Date: Wed, 27 Oct 2010 15:11:16 -0200
From: Mauro Carvalho Chehab <mchehab@...hat.com>
To: Antti Palosaari <crope@....fi>
CC: Jiri Slaby <jirislaby@...il.com>, linux-kernel@...r.kernel.org,
akpm@...ux-foundation.org, mm-commits@...r.kernel.org,
Greg KH <gregkh@...e.de>, USB list <linux-usb@...r.kernel.org>
Subject: Re: DVB: af9015 defunct [was: mmotm 2010-10-20-15-01 uploaded]
Em 27-10-2010 14:41, Antti Palosaari escreveu:
> 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.
Yeah, another change added a max restriction of 8.
> 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.
Changing to 21 won't change anything in practice, as it will still use 3 URB's for transferring data.
Only at setup, it needs to write values on more than 16 registers.
The current way that .small_i2c is defined is like that: it specifies the maximum amount of data
that can be transferred.
I won't object to change it from an enum into an integer, although I would
do it only if we need to touch on that code for another reason.
Cheers,
Mauro
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists