public inbox for linux-media@vger.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox