Message ID | 20240805154054.8633-1-tumic@gpxsee.org |
---|---|
Headers | show |
Series | media: mgb4: YUV and variable framerate support | expand |
Hi Martin, Before I merge this series, I would like to see the v4l2-compliance output for each video device. Can you reply with that output? I want to make sure that all the g/s_parm and dv_timings changes are correct according to v4l2-compliance. And of course, if it isn't, then please fix any reported issue and post a v7. Regards, Hans On 05/08/2024 17:40, tumic@gpxsee.org wrote: > From: Martin Tůma <martin.tuma@digiteqautomotive.com> > > Recent mgb4 FW update added support for the YUV image format and variable > framerates independent of the signal framerate. The following patches extend > the mgb4 driver with support for both features. > > Changes in V6: > - Properly handle the timings when no signal is present. > > Changes in V5: > - Removed surplus v4l2_format.type checks. > - Improved the patch descriptions. > - Splitted the frame rate limit patch into separate code/documentation parts. > > Changes in V4: > - Splitted the output frame_rate handling fix from the variable frame rate > addition patch. > > Changes in V3: > - Use div_u64() for 64b division (fixes build error on ARM32) > > Changes in V2: > - Added missing stride limit > > Martin Tůma (4): > media: mgb4: Add support for YUV image formats > media: mgb4: Add support for V4L2_CAP_TIMEPERFRAME > media: mgb4: Fixed signal frame rate limit handling > media: admin-guide: mgb4: Outputs DV timings documentation update > > Documentation/admin-guide/media/mgb4.rst | 23 +- > drivers/media/pci/mgb4/mgb4_core.c | 2 +- > drivers/media/pci/mgb4/mgb4_core.h | 2 + > drivers/media/pci/mgb4/mgb4_io.h | 29 ++- > drivers/media/pci/mgb4/mgb4_sysfs_out.c | 9 +- > drivers/media/pci/mgb4/mgb4_vin.c | 193 +++++++++++--- > drivers/media/pci/mgb4/mgb4_vin.h | 3 +- > drivers/media/pci/mgb4/mgb4_vout.c | 309 ++++++++++++++++++++--- > drivers/media/pci/mgb4/mgb4_vout.h | 5 +- > 9 files changed, 482 insertions(+), 93 deletions(-) > > > base-commit: 1613e604df0cd359cf2a7fbd9be7a0bcfacfabd0
===== INPUT ===== v4l2-compliance 1.26.1, 64 bits, 64-bit time_t Compliance test for mgb4 device /dev/video0: Driver Info: Driver name : mgb4 Card type : MGB4 PCIe Card Bus info : PCI:0000:01:00.0 Driver version : 6.10.0 Capabilities : 0x85200001 Video Capture Read/Write Streaming Extended Pix Format Device Capabilities Device Caps : 0x05200001 Video Capture Read/Write Streaming Extended Pix Format Required ioctls: test VIDIOC_QUERYCAP: OK test invalid ioctls: OK Allow for multiple opens: test second /dev/video0 open: OK test VIDIOC_QUERYCAP: OK test VIDIOC_G/S_PRIORITY: OK test for unlimited opens: OK Debug ioctls: test VIDIOC_DBG_G/S_REGISTER: OK (Not Supported) 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 test VIDIOC_G/S_AUDIO: OK (Not Supported) Inputs: 1 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) test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK test VIDIOC_DV_TIMINGS_CAP: OK test VIDIOC_G/S_EDID: OK (Not Supported) Control ioctls (Input 0): test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK (Not Supported) test VIDIOC_QUERYCTRL: OK (Not Supported) test VIDIOC_G/S_CTRL: OK (Not Supported) test VIDIOC_G/S/TRY_EXT_CTRLS: OK (Not Supported) warn: v4l2-test-controls.cpp(1139): V4L2_CID_DV_RX_POWER_PRESENT not found for input 0 test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK (Not Supported) test VIDIOC_G/S_JPEGCOMP: OK (Not Supported) Standard Controls: 0 Private Controls: 0 Format ioctls (Input 0): test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK test VIDIOC_G/S_PARM: OK test VIDIOC_G_FBUF: OK (Not Supported) test VIDIOC_G_FMT: OK test VIDIOC_TRY_FMT: OK test VIDIOC_S_FMT: OK 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 (Input 0): 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 (Input 0): test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK test CREATE_BUFS maximum buffers: OK test VIDIOC_EXPBUF: OK test Requests: OK (Not Supported) Total for mgb4 device /dev/video0: 46, Succeeded: 46, Failed: 0, Warnings: 1 ===== OUTPUT ===== v4l2-compliance 1.26.1, 64 bits, 64-bit time_t Compliance test for mgb4 device /dev/video2: Driver Info: Driver name : mgb4 Card type : MGB4 PCIe Card Bus info : PCI:0000:01:00.0 Driver version : 6.10.0 Capabilities : 0x85200002 Video Output Read/Write Streaming Extended Pix Format Device Capabilities Device Caps : 0x05200002 Video Output Read/Write Streaming Extended Pix Format Required ioctls: test VIDIOC_QUERYCAP: OK test invalid ioctls: OK Allow for multiple opens: test second /dev/video2 open: OK test VIDIOC_QUERYCAP: OK test VIDIOC_G/S_PRIORITY: OK test for unlimited opens: OK Debug ioctls: test VIDIOC_DBG_G/S_REGISTER: OK (Not Supported) 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 test VIDIOC_G/S_AUDOUT: OK (Not Supported) Outputs: 1 Audio Outputs: 0 Modulators: 0 Input/Output configuration ioctls: test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported) test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK test VIDIOC_DV_TIMINGS_CAP: OK test VIDIOC_G/S_EDID: OK (Not Supported) Control ioctls (Output 0): test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK (Not Supported) test VIDIOC_QUERYCTRL: OK (Not Supported) test VIDIOC_G/S_CTRL: OK (Not Supported) test VIDIOC_G/S/TRY_EXT_CTRLS: OK (Not Supported) warn: v4l2-test-controls.cpp(1144): V4L2_CID_DV_TX_HOTPLUG not found for output 0 warn: v4l2-test-controls.cpp(1147): V4L2_CID_DV_TX_EDID_PRESENT not found for output 0 test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK (Not Supported) test VIDIOC_G/S_JPEGCOMP: OK (Not Supported) Standard Controls: 0 Private Controls: 0 Format ioctls (Output 0): test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK warn: v4l2-test-formats.cpp(1421): S_PARM is supported for buftype 2, but not for ENUM_FRAMEINTERVALS test VIDIOC_G/S_PARM: OK test VIDIOC_G_FBUF: OK (Not Supported) test VIDIOC_G_FMT: OK test VIDIOC_TRY_FMT: OK test VIDIOC_S_FMT: OK 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 (Output 0): 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 (Output 0): test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK test CREATE_BUFS maximum buffers: OK test VIDIOC_EXPBUF: OK test Requests: OK (Not Supported) Total for mgb4 device /dev/video2: 46, Succeeded: 46, Failed: 0, Warnings: 3 On 12. 08. 24 8:53 dop., Hans Verkuil wrote: > Hi Martin, > > Before I merge this series, I would like to see the v4l2-compliance output for > each video device. > > Can you reply with that output? > > I want to make sure that all the g/s_parm and dv_timings changes are correct > according to v4l2-compliance. And of course, if it isn't, then please fix > any reported issue and post a v7. > > Regards, > > Hans > > On 05/08/2024 17:40, tumic@gpxsee.org wrote: >> From: Martin Tůma <martin.tuma@digiteqautomotive.com> >> >> Recent mgb4 FW update added support for the YUV image format and variable >> framerates independent of the signal framerate. The following patches extend >> the mgb4 driver with support for both features. >> >> Changes in V6: >> - Properly handle the timings when no signal is present. >> >> Changes in V5: >> - Removed surplus v4l2_format.type checks. >> - Improved the patch descriptions. >> - Splitted the frame rate limit patch into separate code/documentation parts. >> >> Changes in V4: >> - Splitted the output frame_rate handling fix from the variable frame rate >> addition patch. >> >> Changes in V3: >> - Use div_u64() for 64b division (fixes build error on ARM32) >> >> Changes in V2: >> - Added missing stride limit >> >> Martin Tůma (4): >> media: mgb4: Add support for YUV image formats >> media: mgb4: Add support for V4L2_CAP_TIMEPERFRAME >> media: mgb4: Fixed signal frame rate limit handling >> media: admin-guide: mgb4: Outputs DV timings documentation update >> >> Documentation/admin-guide/media/mgb4.rst | 23 +- >> drivers/media/pci/mgb4/mgb4_core.c | 2 +- >> drivers/media/pci/mgb4/mgb4_core.h | 2 + >> drivers/media/pci/mgb4/mgb4_io.h | 29 ++- >> drivers/media/pci/mgb4/mgb4_sysfs_out.c | 9 +- >> drivers/media/pci/mgb4/mgb4_vin.c | 193 +++++++++++--- >> drivers/media/pci/mgb4/mgb4_vin.h | 3 +- >> drivers/media/pci/mgb4/mgb4_vout.c | 309 ++++++++++++++++++++--- >> drivers/media/pci/mgb4/mgb4_vout.h | 5 +- >> 9 files changed, 482 insertions(+), 93 deletions(-) >> >> >> base-commit: 1613e604df0cd359cf2a7fbd9be7a0bcfacfabd0 >
From: Martin Tůma <martin.tuma@digiteqautomotive.com> Recent mgb4 FW update added support for the YUV image format and variable framerates independent of the signal framerate. The following patches extend the mgb4 driver with support for both features. Changes in V6: - Properly handle the timings when no signal is present. Changes in V5: - Removed surplus v4l2_format.type checks. - Improved the patch descriptions. - Splitted the frame rate limit patch into separate code/documentation parts. Changes in V4: - Splitted the output frame_rate handling fix from the variable frame rate addition patch. Changes in V3: - Use div_u64() for 64b division (fixes build error on ARM32) Changes in V2: - Added missing stride limit Martin Tůma (4): media: mgb4: Add support for YUV image formats media: mgb4: Add support for V4L2_CAP_TIMEPERFRAME media: mgb4: Fixed signal frame rate limit handling media: admin-guide: mgb4: Outputs DV timings documentation update Documentation/admin-guide/media/mgb4.rst | 23 +- drivers/media/pci/mgb4/mgb4_core.c | 2 +- drivers/media/pci/mgb4/mgb4_core.h | 2 + drivers/media/pci/mgb4/mgb4_io.h | 29 ++- drivers/media/pci/mgb4/mgb4_sysfs_out.c | 9 +- drivers/media/pci/mgb4/mgb4_vin.c | 193 +++++++++++--- drivers/media/pci/mgb4/mgb4_vin.h | 3 +- drivers/media/pci/mgb4/mgb4_vout.c | 309 ++++++++++++++++++++--- drivers/media/pci/mgb4/mgb4_vout.h | 5 +- 9 files changed, 482 insertions(+), 93 deletions(-) base-commit: 1613e604df0cd359cf2a7fbd9be7a0bcfacfabd0