On Fri, Feb 9, 2018 at 12:02 AM, Hans Verkuil <hverk...@xs4all.nl> wrote:
> On 02/09/2018 09:00 AM, Tim Harvey wrote:
>> On Thu, Feb 8, 2018 at 11:41 PM, Hans Verkuil <hverk...@xs4all.nl> wrote:
>>> On 02/09/2018 07:01 AM, Tim Harvey wrote:
>>>>
>>>> I don't see v4l2-subdev.c (or anything) ever calling g_input_status.
>>>> How do I test this?
>>>
>>> Huh, that's a very good question! It is meant to be called by bridge
>>> drivers implementing VIDIOC_ENUMINPUT. But that doesn't apply to the imx
>>> driver since it is expecting userspace to talk directly to the subdev.
>>>
>>> Now for the DV_TIMINGS API this doesn't matter all that much since
>>> QUERY_DV_TIMINGS can do the same job through the returned error code, but
>>> for analog TV there is no such option (QUERYSTD doesn't support such
>>> detailed feedback).
>>>
>>> I see that you have an adv7180 in your system. Can you run
>>> 'v4l2-compliance -uX' for the adv7180 subdev and post the output here?
>>>
>>
>>
>> # v4l2-compliance -u0
>> v4l2-compliance SHA   : b2f8f9049056eb6f9e028927dacb2c715a062df8
>>
>> Compliance test for device /d[ 2526.153591] adv7180 2-0020: 
>> =================  S
>> TART STATUS  =================
>> ev/v4l-subdev0:
>>
>> Media Driver I[ 2526.162531] adv7180 2-0020: ==================  END STATUS  
>> ===
>> ===============
>> nfo:
>>         Driver name      : imx-media
>>         Model            : imx-media
>>         Serial           :
>>         Bus info         :
>>         Media version    : 4.15.0
>>         Hardware revision: 0x00000000 (0)
>>         Driver version   : 4.15.0
>> Interface Info:
>>         ID               : 0x0300008d
>>         Type             : V4L Sub-Device
>> Entity Info:
>>         ID               : 0x00000001 (1)
>>         Name             : adv7180 2-0020
>>         Function         : FAIL: Unknown V4L2 Sub-Device
>>         Pad 0x01000002   : Source
>>           Link 0x0200007f: to remote pad 0x1000067 of entity 
>> 'ipu2_csi1_mux': Da
>> ta
>>
>> Required ioctls:
>>         test MC information (see 'Media Driver Info' above): FAIL
>>
>> Allow for multiple opens:
>>         test second /dev/v4l-subdev0 open: OK
>>         test for unlimited opens: OK
>>
>> Debug ioctls:
>>         test VIDIOC_LOG_STATUS: OK (Not Supported)
>>
>> Input ioctls:
>>         test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported)
>>         test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
>>         test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported)
>>         test VIDIOC_ENUMAUDIO: OK (Not Supported)
>>         test VIDIOC_G/S/ENUMINPUT: OK (Not Supported)
>>         test VIDIOC_G/S_AUDIO: OK (Not Supported)
>>         Inputs: 0 Audio Inputs: 0 Tuners: 0
>>
>> Output ioctls:
>>         test VIDIOC_G/S_MODULATOR: OK (Not Supported)
>>         test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
>>         test VIDIOC_ENUMAUDOUT: OK (Not Supported)
>>         test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported)
>>         test VIDIOC_G/S_AUDOUT: OK (Not Supported)
>>         Outputs: 0 Audio Outputs: 0 Modulators: 0
>>
>> Input/Output configuration ioctls:
>>         test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported)
>
> Not Supported!
>
>>         test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported)
>>         test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported)
>>         test VIDIOC_G/S_EDID: OK (Not Supported)
>>
>> Sub-Device ioctls (Source Pad 0):
>>         test Try VIDIOC_SUBDEV_ENUM_MBUS_CODE/FRAME_SIZE/FRAME_INTERVAL: OK
>>                 fail: v4l2-test-subdevs.cpp(301): fmt.width == 0 ||
>> fmt.width == ~0U
>>                 fail: v4l2-test-subdevs.cpp(342):
>> checkMBusFrameFmt(node, fmt.format)
>>         test Try VIDIOC_SUBDEV_G/S_FMT: FAIL
>>         test Try VIDIOC_SUBDEV_G/S_SELECTION/CROP: OK (Not Supported)
>>         test Active VIDIOC_SUBDEV_ENUM_MBUS_CODE/FRAME_SIZE/FRAME_INTERVAL: 
>> OK
>>                 fail: v4l2-test-subdevs.cpp(307): fmt.ycbcr_enc == 0xffff
>>                 fail: v4l2-test-subdevs.cpp(342):
>> checkMBusFrameFmt(node, fmt.format)
>>         test Active VIDIOC_SUBDEV_G/S_FMT: FAIL
>>         test Active VIDIOC_SUBDEV_G/S_SELECTION/CROP: OK (Not Supported)
>>         test VIDIOC_SUBDEV_G/S_FRAME_INTERVAL: OK (Not Supported)
>>
>> Control ioctls:
>>         test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK
>>         test VIDIOC_QUERYCTRL: OK
>>         test VIDIOC_G/S_CTRL: OK
>>         test VIDIOC_G/S/TRY_EXT_CTRLS: OK
>>         test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK
>>         test VIDIOC_G/S_JPEGCOMP: OK (Not Supported)
>>         Standard Controls: 5 Private Controls: 1
>>
>> Format ioctls:
>>         test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK (Not Supported)
>>         test VIDIOC_G/S_PARM: OK (Not Supported)
>>         test VIDIOC_G_FBUF: OK (Not Supported)
>>         test VIDIOC_G_FMT: OK (Not Supported)
>>         test VIDIOC_TRY_FMT: OK (Not Supported)
>>         test VIDIOC_S_FMT: OK (Not Supported)
>>         test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported)
>>         test Cropping: OK (Not Supported)
>>         test Composing: OK (Not Supported)
>>         test Scaling: OK (Not Supported)
>>
>> Codec ioctls:
>>         test VIDIOC_(TRY_)ENCODER_CMD: OK (Not Supported)
>>         test VIDIOC_G_ENC_INDEX: OK (Not Supported)
>>         test VIDIOC_(TRY_)DECODER_CMD: OK (Not Supported)
>>
>> Buffer ioctls:
>>         test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK (Not Supported)
>>         test VIDIOC_EXPBUF: OK (Not Supported)
>>
>> Total: 47, Succeeded: 44, Failed: 3, Warnings: 0
>>
>>> Analog TV receivers are rare in MC bridge drivers, and I see that the subdev
>>> API doesn't even support the G/S/QUERY/ENUM_STD ioctls! I think the adv7180 
>>> is
>>> basically unusable in your system. And we need a subdev replacement for
>>> VIDIOC_ENUMINPUT.
>>>
>>> Was the adv7180 ever tested? Are you able to test it?
>>
>> Yes, it works - I've tested and used it.
>
> How? Without STD support how can you even see what standards are supported
> and switch between standards? Did you try to switch between PAL and NTSC?
>

it was a few kernel versions ago and I doubt I tested both formats.
I'll take a look at it again and report back.

Tim

Reply via email to