All of lore.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 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.