linux-media.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Antti Palosaari <crope@iki.fi>
To: Gordon Hecker <ghecker@gmx.de>
Cc: linux-media@vger.kernel.org
Subject: Re: [PATCH] af9013: fix i2c failures for dual-tuner devices
Date: Sat, 21 Jan 2012 00:30:43 +0200	[thread overview]
Message-ID: <4F19EB13.7010502@iki.fi> (raw)
In-Reply-To: <1327094337-12483-1-git-send-email-ghecker@gmx.de>

On 01/20/2012 11:18 PM, Gordon Hecker wrote:
> This patch fixes the following error messages with a
> Terratec Cinergy T Stick Dual RC DVB-T device.
>
> af9013: i2c wr failed=-1 reg=d607 len=1
> af9015: command failed:2
> af9013: i2c rd failed=-1 reg=d607 len=1
> af9015: command failed:1
>
> It implements exclusive access to i2c for only one frontend at a time
> through a use-counter that is increased for each af9013_i2c_gate_ctrl-enable
> or i2c-read/write and decreased accordingly. The use-counter remains
> incremented after af9013_i2c_gate_ctrl-enable until the corresponding
> disable.
>
> Debug output was added.
>
> ToDo:
>   * Replace frontend by adapter (the dual-tuner devices do actually
>     provide two adapters with one frontend each)
>   * move af9013_i2c_gate_mutex, locked_fe, af9013_i2c_gate_ctrl_usecnt
>     to the usb device

Again that same issue. But after af9013 rewrote those should not be very 
significant problem... If you looked, as I can guess, AF9015 code you 
can see callbacks lock that are for resolving same issue. Almost all 
callbacks are locked, but I left few rarely called callbacks without 
lock due to performance point of view. You can guess it causes always 
latency to wait other thread finish callback...

I think you may resolve that just adding one or two callback lock more, 
likely for tuner init() and sleep().

I don't like that you are adding such code for the demod driver - 
problem is USB-bridge, its I2C adapter and firmware. Due to that such 
code should be in AF9015 driver. There has been originally two I2C 
adapters in af9015 but I removed those. And there is actually only one 
I2C adapter in AF9015.
See these for more info about I2C bus connections:
http://palosaari.fi/linux/v4l-dvb/controlling_tuner_af9015_dual_demod.txt
http://palosaari.fi/linux/v4l-dvb/controlling_tuner.txt

I think that piece of code is not very important and I dont like to see 
it in current af9013 driver. Do needed changes for af9015 instead.

regards
Antti

-- 
http://palosaari.fi/

  reply	other threads:[~2012-01-20 22:30 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-01-20 21:18 [PATCH] af9013: fix i2c failures for dual-tuner devices Gordon Hecker
2012-01-20 22:30 ` Antti Palosaari [this message]
2012-01-22 21:13   ` [PATCH] af9015: " Gordon Hecker
2012-03-07 15:51     ` poma

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=4F19EB13.7010502@iki.fi \
    --to=crope@iki.fi \
    --cc=ghecker@gmx.de \
    --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;
as well as URLs for NNTP newsgroup(s).