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

From: Devin Heitmueller
Date: Tue Dec 17 2013 - 00:39:36 EST


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.

Devin

--
Devin J. Heitmueller - Kernel Labs
http://www.kernellabs.com
--
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/