Re: stable regression: tda18271_read_regs: [1-0060|M] ERROR: i2c_transferreturned: -19

From: Antti Palosaari
Date: Tue Dec 17 2013 - 16:09:21 EST


Off-topic, Cc:s dropped, related to DVB / V4L2 tuner communication problems.

On 17.12.2013 07:39, Devin Heitmueller wrote:
Hi Connor,

On Tue, Dec 17, 2013 at 12:28 AM, Connor Behan <connor.behan@xxxxxxxxx> wrote:
Thanks for the detailed answer. I have tried your patch and updated the
wiki page. Would a 950 or 950Q be safer to buy next time?

The 950 has long since been obsoleted. You cannot buy them anymore.
The 950q though is well supported and doesn't have this issue as it
uses a different chip.

On 14/12/13 05:17 PM, Devin Heitmueller wrote:
I had a patch kicking around which fixed part of the issue, but it
didn't completely work because of the lgdt3305 having AGC enabled at
chip powerup (which interferes with analog tuning on the shared
tuner), and the internal v4l-dvb APIs don't provide any easy way to
reset the AGC from the analog side of the device.

By this do you mean that the functions exist but they aren't part of the
public API? Maybe this problem can be addressed if there is ever "v4l3"
or some other reason to break compatibility.

No, these are internal APIs that dictate how the various driver
components talk to each other. Because the V4L and DVB subsystems
were developed independently of each other, they do a really crappy
job of communicating between them (a problem which manifests itself in
particular when sharing hardware resources such as tuners).

The problem *can* be fixed, but it would likely require
extensions/changes to the basic frameworks used to communicate between
the different drivers.

That shared DVB / V4L2 tuner is one problem that I have also currently (SDR is on V4L2 API and DTV is provided via DVB API). I have decided to try model where I separate RF tuner totally independent used DVB / V4L2 APIs, just to plain I2C driver model. Idea is here to provide needed set of general callbacks and communication and device binding is done via I2C driver model.
I am not sure though if there is any big caveats I haven't realized yet...

regards
Antti

--
http://palosaari.fi/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/