[pvrusb2] driver status / update
Mike Isely
isely at isely.net
Wed Jan 14 23:51:03 CST 2009
On Wed, 14 Jan 2009, Mike Isely wrote:
> On Wed, 14 Jan 2009, Mike Isely wrote:
> >
> > Hmm, audio isn't working. I just also tried a 29xxx (with
> > saa7115+msp3400) and audio is OK there, so there's still something else
> > apparently broken involving the pvrusb2 driver and cx25840. However
> > this whole thing still is an improvement over what's there now so I'm
> > posting the pull request anyway. I will do more digging on the audio
> > problem tonight.
> >
> > -Mike
>
> Well this is interesting. The v4l-dvb changeset that messed up the
> cx25840 module and caused the "no decoder present" bug is ALSO the
> changeset where the cx25840 audio gets screwed up.
>
> I sense a pattern :-(
>
Problem found.
The cx25840 module wasn't being initialized. Without this
initialization taking place, the entire audio side of the cx25840 chip
won't start (the video side however still works which is why I was
getting video but no audio). The telltale sign in the kernel log is
that no attempt is ever made to load the chip's firmware (this is a step
in the initialization sequence).
So why is this a problem only now? Well before that cx25840 changeset
had been committed (same changeset that triggered the bug found last
night), the cx25840 module's previous behavior was that it would
implicitly initialize itself on its own upon receipt of the first
command from the host driver (e.g. pvrusb2). In fact, there wasn't even
a command present to manually perform such an initialization. Now with
this changeset in place, the module has been moved over to a new model
of communication ("v4l2_subdev"), and when that change was made, the
implicit initialization went away. Now the host driver apparently MUST
issue a VIDIOC_INT_INIT command to the module before doing anything else
with it.
I imagine as more stuff moves over to the v4l2_subdev model that this
might become more common. I will see about fixing the pvrusb2 driver to
always issue this command to any v4l2 modules which are bound to it.
For modules that don't know about this command the result should be a
harmless nop.
There's more synchronization and testing I have to do before releasing a
new standalone snapshot. I also have to revert the bus_info change.
There's also still the LIRC issue. So the earliest that there will be a
snapshot might be tomorrow night, maybe even not until Friday night.
-Mike
--
Mike Isely
isely @ pobox (dot) com
PGP: 03 54 43 4D 75 E5 CC 92 71 16 01 E2 B5 F5 C1 E8
More information about the pvrusb2
mailing list