public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
From: Antti Palosaari <crope@iki.fi>
To: Andrew de Quincey <adq_dvb@lidskialf.net>
Cc: linux-media@vger.kernel.org
Subject: Re: [patch] Fix AF9015 Dual tuner i2c write failures
Date: Sat, 05 Mar 2011 00:13:17 +0200	[thread overview]
Message-ID: <4D7163FD.9030604@iki.fi> (raw)
In-Reply-To: <AANLkTi=rcfL_pku9hhx68C_Fb_76KsW2Yy+Oys10a7+4@mail.gmail.com>

Wow, thanks!

On 03/04/2011 11:37 PM, Andrew de Quincey wrote:
> Hi, this has been annoying me for some time, so this evening I fixed
> it. If you use one of the above dual tuner devices (e.g. KWorld 399U),
> you get random tuning failures and i2c errors reported in dmesg such
> as:
[...]
> Adding a "bus lock" to af9015_i2c_xfer() will not work as demod/tuner
> accesses will take multiple i2c transactions.
>
> Therefore, the following patch overrides the dvb_frontend_ops
> functions to add a per-device lock around them: only one frontend can
> now use the i2c bus at a time. Testing with the scripts above shows
> this has eliminated the errors.

This have annoyed me too, but since it does not broken functionality 
much I haven't put much effort for fixing it. I like that fix since it 
is in AF9015 driver where it logically belongs to. But it looks still 
rather complex. I see you have also considered "bus lock" to 
af9015_i2c_xfer() which could be much smaller in code size (that's I 
have tried to implement long time back).

I would like to ask if it possible to check I2C gate open / close inside 
af9015_i2c_xfer() and lock according that? Something like:

typical command sequence:
 >> FE0 open gate
 >> FE0 write reg
 >> FE0 close gate
 >> FE1 open gate
 >> FE1 read reg
 >> FE1 close gate

if (locked == YES)
   if (locked_by != caller FE)
     return error locked by other FE
   else (locked_by == caller FE)
     allow reg access
     if (gate close req)
       locked = NO
       locked_by = NONE
else (locked == NO)
   locked = YES
   locked_by = caller FE
   allow reg access

Do you see it possible?

thanks
Antti
-- 
http://palosaari.fi/

  reply	other threads:[~2011-03-04 22:13 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-04 21:37 [patch] Fix AF9015 Dual tuner i2c write failures Andrew de Quincey
2011-03-04 22:13 ` Antti Palosaari [this message]
2011-03-04 22:44   ` Andrew de Quincey
2011-03-04 22:59     ` Antti Palosaari
2011-03-04 23:11       ` Andrew de Quincey
2011-03-05  1:43         ` adq
2011-03-05  1:51           ` adq
2011-03-05  9:56             ` Antti Palosaari
     [not found]             ` <AANLkTi=YMtTbgwxNA1O6zp03OoeGKJvn8oYDB9kHjti1@mail.gmail.com>
2011-03-05  9:23               ` Antti Palosaari
2011-03-05 11:56                 ` Andrew de Quincey
2011-03-05 11:55               ` adq
2011-03-06 11:56                 ` adq
2011-03-06 12:24                   ` adq
2011-03-06 13:04                     ` Antti Palosaari
2011-03-06 13:08                       ` adq
2011-03-06 13:24                         ` adq
2011-03-07 18:26                   ` adq
2011-03-07 22:12                     ` adq
2011-03-18 15:46                       ` Antti Palosaari
2011-03-21 20:11                         ` adq
2011-04-02  1:24                         ` adq
2011-04-02  8:20                           ` Antti Palosaari
2011-04-02 11:06                             ` adq
2011-04-02 11:15                               ` adq
2011-04-02 12:18                               ` Antti Palosaari
2011-04-02 13:45                                 ` adq
2011-04-02 17:24                                   ` Antti Palosaari
2011-03-05 10:49           ` Antti Palosaari
2011-03-22  9:00         ` Mauro Carvalho Chehab
2011-03-22 18:26           ` adq
2011-03-22 18:36             ` 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=4D7163FD.9030604@iki.fi \
    --to=crope@iki.fi \
    --cc=adq_dvb@lidskialf.net \
    --cc=linux-media@vger.kernel.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox