All of lore.kernel.org
 help / color / mirror / Atom feed
From: Antti Palosaari <crope@iki.fi>
To: linux-media@vger.kernel.org, David Daney <david.daney@cavium.com>
Subject: Re: recursive locking problem
Date: Wed, 14 Sep 2011 13:45:47 +0300	[thread overview]
Message-ID: <4E7085DB.2050809@iki.fi> (raw)
In-Reply-To: <20110914061922.GA1851@minime.bse>

On 09/14/2011 09:19 AM, Daniel Glöckner wrote:
> On Wed, Sep 14, 2011 at 04:03:58AM +0300, Antti Palosaari wrote:
>> On 09/09/2011 02:46 PM, Daniel Glöckner wrote:
>>> On Thu, Sep 08, 2011 at 07:34:32PM +0300, Antti Palosaari wrote:
>>>> I am working with AF9015 I2C-adapter lock. I need lock I2C-bus since
>>>> there is two tuners having same I2C address on same bus, demod I2C
>>>> gate is used to select correct tuner.
>>>
>>> Would it be possible to use the i2c-mux framework to handle this?
>>> Each tuner will then have its own i2c bus.
>>
>> Interesting idea, but it didn't worked. It deadlocks. I think it
>> locks since I2C-mux is controlled by I2C "switch" in same I2C bus,
>> not GPIO or some other HW.
>
> Take a look at drivers/i2c/muxes/pca954x.c. You need to use
> parent->algo->master_xfer/smbus_xfer directly as the lock that
> protects you from having both gates open is the lock of the
> root i2c bus.

Ah yes, rather similar case. I see it as commented in pca954x.c:
/* Write to mux register. Don't use i2c_transfer()/i2c_smbus_xfer()
    for this as they will try to lock adapter a second time */

This looks even more hackish solution than calling existing demod 
.i2c_gate_ctrl() callback from USB-interface driver. But yes, it must 
work - not beautiful but workable workaround.


regards
Antti

-- 
http://palosaari.fi/

  reply	other threads:[~2011-09-14 10:45 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-09-08 16:34 recursive locking problem Antti Palosaari
2011-09-09  7:51 ` Hans Petter Selasky
2011-09-09 10:45 ` David Waring
2011-09-13 20:59   ` Antti Palosaari
2011-09-13 21:34     ` Steve Kerrison
2011-09-13 21:58       ` Steven Toth
2011-09-13 22:10         ` Devin Heitmueller
2011-09-13 22:19           ` Steven Toth
2011-09-13 22:01       ` Devin Heitmueller
2011-09-09 11:46 ` Daniel Glöckner
2011-09-14  1:03   ` Antti Palosaari
2011-09-14  6:19     ` Daniel Glöckner
2011-09-14 10:45       ` Antti Palosaari [this message]
2011-09-14 12:22         ` Daniel Glöckner

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=4E7085DB.2050809@iki.fi \
    --to=crope@iki.fi \
    --cc=david.daney@cavium.com \
    --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.