[alsa-devel] [RFC PATCH 1/3] tea575x-tuner: various improvements
hverkuil at xs4all.nl
Sat Mar 26 11:19:31 CET 2011
On Friday, March 25, 2011 22:40:12 Ondrej Zary wrote:
> On Tuesday 22 March 2011 20:02:30 Hans Verkuil wrote:
> > BTW, can you run the v4l2-compliance utility for the two boards that use
> > this radio tuner?
> > This utility is part of the v4l-utils repository
> > (http://git.linuxtv.org/v4l-utils.git).
> > Run as 'v4l2-compliance -r /dev/radioX -v2'.
> > I'm sure there will be some errors/warnings (warnings regarding
> > G/S_PRIORITY are to be expected). But I can use it to make a patch for
> > 2.6.40 that fixes any issues.
> The output is the same for both fm801 and es1968 (see below). Seems that
> there are 4 errors:
> 1. multiple-open does not work
> 2. something bad with s_frequency
> 3. input functions are present
> 4. no extended controls
Thanks for testing! Some comments are below...
> Running on 2.6.38
> Driver Info:
> Driver name : tea575x-tuner
> Card type : TEA5757
> Bus info : PCI
> Driver version: 0.0.2
> Capabilities : 0x00050000
> Compliance test for device /dev/radio0 (not using libv4l2):
> Required ioctls:
> test VIDIOC_QUERYCAP: OK
> Allow for multiple opens:
> test second radio open: FAIL
I will fix this. Once 2.6.39-rc1 is released I can make a patch fixing this.
> Debug ioctls:
> test VIDIOC_DBG_G_CHIP_IDENT: Not Supported
> test VIDIOC_DBG_G/S_REGISTER: Not Supported
> test VIDIOC_LOG_STATUS: Not Supported
> Input ioctls:
> test VIDIOC_G/S_TUNER: OK
> fail: set rangehigh+1 frequency did not return EINVAL
> test VIDIOC_G/S_FREQUENCY: FAIL
Hmm, S_FREQUENCY apparently fails to check for valid frequency values.
Can you take a quick look at the code?
> test VIDIOC_ENUMAUDIO: Not Supported
> fail: radio can't have input support
> test VIDIOC_G/S/ENUMINPUT: FAIL
ENUMINPUT/G/S_INPUT are not allowed for radio devices. These ioctls are specific
for video. 90% of all radio driver use it, though :-)
I'll fix this when I go through all radio drivers.
> test VIDIOC_G/S_AUDIO: Not Supported
> Inputs: 0 Audio Inputs: 0 Tuners: 1
> Output ioctls:
> test VIDIOC_G/S_MODULATOR: Not Supported
> test VIDIOC_G/S_FREQUENCY: OK
> test VIDIOC_ENUMAUDOUT: Not Supported
> test VIDIOC_G/S/ENUMOUTPUT: Not Supported
> test VIDIOC_G/S_AUDOUT: Not Supported
> Outputs: 0 Audio Outputs: 0 Modulators: 0
> Control ioctls:
> fail: does not support V4L2_CTRL_FLAG_NEXT_CTRL
> test VIDIOC_QUERYCTRL/MENU: FAIL
I'll fix this as well. The drivers needs to be converted to the control
> test VIDIOC_G/S_CTRL: OK
> test VIDIOC_G/S/TRY_EXT_CTRLS: Not Supported
> Standard Controls: 0 Private Controls: 0
> Input/Output configuration ioctls:
> test VIDIOC_ENUM/G/S/QUERY_STD: Not Supported
> test VIDIOC_ENUM/G/S/QUERY_DV_PRESETS: Not Supported
> test VIDIOC_G/S_DV_TIMINGS: Not Supported
> Total: 21 Succeeded: 17 Failed: 4 Warnings: 0
Hans Verkuil - video4linux developer - sponsored by Cisco
More information about the Alsa-devel