From: Mauro Carvalho Chehab <mchehab@redhat.com>
To: Michael Krufky <mkrufky@kernellabs.com>
Cc: Antti Palosaari <crope@iki.fi>,
Srinivasa.Deevi@conexant.com, Palash.Bandyopadhyay@conexant.com,
dheitmueller@kernellabs.com,
Linux Media Mailing List <linux-media@vger.kernel.org>
Subject: Re: [PATCH 08/10] V4L/DVB: tda18271: allow restricting max out to 4 bytes
Date: Fri, 01 Oct 2010 02:46:20 -0300 [thread overview]
Message-ID: <4CA575AC.5090901@redhat.com> (raw)
In-Reply-To: <AANLkTinGk2bHCrrC2b=ZiTynh9Vh4LjLCju4ke-mCSzz@mail.gmail.com>
Em 30-09-2010 19:07, Michael Krufky escreveu:
> On Thu, Sep 30, 2010 at 6:00 PM, Antti Palosaari <crope@iki.fi> wrote:
>> On 09/30/2010 09:52 PM, Michael Krufky wrote:
>>>
>>> On Tue, Sep 28, 2010 at 2:46 PM, Mauro Carvalho Chehab
>>> <mchehab@redhat.com> wrote:
>>>>
>>>> By default, tda18271 tries to optimize I2C bus by updating all registers
>>>> at the same time. Unfortunately, some devices doesn't support it.
>>>>
>>>> The current logic has a problem when small_i2c is equal to 8, since there
>>>> are some transfers using 11 + 1 bytes.
>>>>
>>>> Fix the problem by enforcing the max size at the right place, and allows
>>>> reducing it to max = 3 + 1.
>>>>
>>>> Signed-off-by: Mauro Carvalho Chehab<mchehab@redhat.com>
>>>
>>> This looks to me as if it is working around a problem on the i2c
>>> master. I believe that a fix like this really belongs in the i2c
>>> master driver, it should be able to break the i2c transactions down
>>> into transactions that the i2c master can handle.
>>>
>>> I wouldn't want to merge this without a better explanation of why it
>>> is necessary in the tda18271 driver. It seems to be a band-aid to
>>> cover up a problem in the i2c master device driver code.
>>
>> Yes it is I2C provider limitation, but I think almost all I2C adapters have
>> some limit. I suggest to set param for each tuner and demod driver which
>> splits reads and writes to len adapter can handle. I did that for tda18218
>> write.
>>
>> But there is one major point you don't see. It is not simple to add this
>> splitting limit to the provider. Provider does not have knowledge which is
>> meaning of bytes it transfers to the bus. Without knowledge it breaks
>> functionality surely in some point. There is commonly seen 1, 2 and 4 byte
>> register address and same for register values. Also some chips like to send
>> data as register-value pairs.
>
> Yes, I understand. We will likely merge Mauro's patch, I just want to
> test it on my own hardware first, and I'd like to verify the cx231xx
> i2c xfer limit issue that Mauro is reporting. I'll try to get back to
> this early next week, or hopefully over this weekend.
Feel free to test. Just remember that all Hauppauge devices at Devin's polaris4
tree uses I2C Channel #1. This seems to be the default on all Conexant SDK also.
The device I'm working with has the tuner at channel #2, and the ISDB-T demod
at channel #1. So, the limits may differ.
On my device, everything seem to work fine with max size = 4
(both analog and digital modes).
Cheers,
Mauro
next prev parent reply other threads:[~2010-10-01 5:46 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <cover.1285699057.git.mchehab@redhat.com>
2010-09-28 18:46 ` [PATCH 01/10] V4L/DVB: cx231xx: remove a printk warning at -avcore and at -417 Mauro Carvalho Chehab
2010-10-07 21:48 ` Mauro Carvalho Chehab
2010-10-07 22:04 ` Devin Heitmueller
2010-10-07 23:09 ` Mauro Carvalho Chehab
2010-10-08 0:31 ` Mauro Carvalho Chehab
2010-09-28 18:46 ` [PATCH 02/10] V4L/DVB: cx231xx: fix Kconfig dependencies Mauro Carvalho Chehab
2010-09-28 18:46 ` [PATCH 03/10] V4L/DVB: tda18271: Add some hint about what tda18217 reg ID returned Mauro Carvalho Chehab
2010-09-29 12:29 ` Devin Heitmueller
2010-09-30 18:57 ` Michael Krufky
2010-09-30 19:16 ` Mauro Carvalho Chehab
2010-09-30 19:27 ` Michael Krufky
2010-09-30 19:58 ` Mauro Carvalho Chehab
2010-09-30 20:26 ` Mauro Carvalho Chehab
2010-09-30 21:03 ` Michael Krufky
2010-10-01 5:47 ` Mauro Carvalho Chehab
2010-09-28 18:46 ` [PATCH 04/10] V4L/DVB: cx231xx: properly implement URB control messages log Mauro Carvalho Chehab
2010-09-28 18:46 ` [PATCH 05/10] V4L/DVB: cx231xx: properly use the right tuner i2c address Mauro Carvalho Chehab
2010-09-28 18:46 ` [PATCH 06/10] V4L/DVB: cx231xx: better handle the master port enable command Mauro Carvalho Chehab
2010-09-28 18:46 ` [PATCH 07/10] V4L/DVB: cx231xx: Only change gpio direction when needed Mauro Carvalho Chehab
2010-09-28 18:46 ` [PATCH 08/10] V4L/DVB: tda18271: allow restricting max out to 4 bytes Mauro Carvalho Chehab
2010-09-29 12:29 ` Devin Heitmueller
2010-09-30 18:52 ` Michael Krufky
2010-09-30 19:12 ` Mauro Carvalho Chehab
2010-09-30 19:18 ` Michael Krufky
2010-09-30 19:48 ` Mauro Carvalho Chehab
2010-09-30 22:00 ` Antti Palosaari
2010-09-30 22:07 ` Michael Krufky
2010-10-01 5:46 ` Mauro Carvalho Chehab [this message]
2010-09-28 18:47 ` [PATCH 09/10] V4L/DVB: tda18271: Add debug message with frequency divisor Mauro Carvalho Chehab
2010-09-29 12:30 ` Devin Heitmueller
2010-09-30 19:03 ` Michael Krufky
2010-09-30 19:16 ` Mauro Carvalho Chehab
2010-09-28 18:47 ` [PATCH 10/10] V4L/DVB: cx231xx-audio: fix some locking issues Mauro Carvalho Chehab
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4CA575AC.5090901@redhat.com \
--to=mchehab@redhat.com \
--cc=Palash.Bandyopadhyay@conexant.com \
--cc=Srinivasa.Deevi@conexant.com \
--cc=crope@iki.fi \
--cc=dheitmueller@kernellabs.com \
--cc=linux-media@vger.kernel.org \
--cc=mkrufky@kernellabs.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.