[linux-dvb] HVR-4000 and analogue tv
Steven Toth
stoth at linuxtv.org
Wed Sep 24 21:28:55 CEST 2008
Anders Semb Hermansen wrote:
> Den 24. sep.. 2008 kl. 19.20 skrev Darron Broad:
>
> <snip>
>
>> <snip>
>>> Does this mean that mythtv is doing something weird or maybe just
>>> using the v4l api in a different way which the driver cannot handle?
>> This is feasable. I will take a look if I get the time but this
>> is more than likely to be when I have other reasons to look
>> at mythtv so don't expect an immediate response :-)
>>
>
> I did some more investigating.
>
> I thought maybe this had something to do with the tuner, since I got
> snow. So I enabled debugging for the tuner module (debug=1). What I
> saw was that when I started watching TV in myth, there was a
> TUNER_SET_STANDBY after frequency and other things was set. This
> TUNER_SET_STANDBY did not appear when I was just changing channel (and
> picture worked).
>
> So I searched the driver for TUNER_STANDBY and found one which I
> tried. Here is what I did:
>
> diff -r e5ca4534b543 linux/drivers/media/video/cx88/cx88-video.c
> --- a/linux/drivers/media/video/cx88/cx88-video.c Tue Sep 09
> 08:29:56 2008 -0700
> +++ b/linux/drivers/media/video/cx88/cx88-video.c Wed Sep 24
> 20:35:46 2008 +0200
> @@ -1152,7 +1152,8 @@
> file->private_data = NULL;
> kfree(fh);
>
> - cx88_call_i2c_clients (dev->core, TUNER_SET_STANDBY, NULL);
> + printk("Don't set standby mode! TUNER_SET_STANDBY NO SIR!");
> + //cx88_call_i2c_clients (dev->core, TUNER_SET_STANDBY, NULL);
>
> return 0;
> }
>
>
> This fixed it!!
>
> I don't know what side effects this will have. Or if this is caused by
> wrong use of v4l by mythtv, or driver not implementing it correctly.
> Those who know the codebase can maybe answer that and come up with a
> better permanent solution.
Anders, thanks for helping debug this. :)
This will have odd side effects for other boards. It's an interesting
fix and it points us to the real issue, but we need to find a better way
to clean this up, before we submit for merge.
The HVR4000 is a very strange board, we need to be careful when adding
generic changes into cx88-*.c that are not conditioned based on (board
== HVR4000)
I welcome your patches, if you find anything else that's odd/strange
then let's discuss those also. Your help is very much appreciated.
Regards,
- Steve
More information about the linux-dvb
mailing list