mbox series

[0/3] media: v4l2-ctl: Add support to VIDIOC_DQEVENT_TIME32 on non x86_64 arch

Message ID 20210728100624.16129-1-dafna.hirschfeld@collabora.com (mailing list archive)
Headers show
Series media: v4l2-ctl: Add support to VIDIOC_DQEVENT_TIME32 on non x86_64 arch | expand

Message

Dafna Hirschfeld July 28, 2021, 10:06 a.m. UTC
Currently, if the ioctl VIDIOC_DQEVENT_TIME32 is called on e.g. Arm-64
the function 'v4l2_compat_translate_cmd' doesn't have a 'translation'
for the cmd and so 'cmd' is returned as is. This later cause
a failure '-ENOTTY' in __video_do_ioctl.
This patchset fix it by defining VIDIOC_DQEVENT32_TIME32 to be
VIDIOC_DQEVENT_TIME32 for non x86-64 arch and translate it
to VIDIOC_DQEVENT.

I tested the patchset with vicodec on x86_64 with both v4l2-ctl v4l2-ctl-32
and I tested it on arm64 with v4l2-ctl compiled to 32 bits, - chromeos userspace on mt8173 device.

The command I used:
$ modprobe vicdec
$ v4l2-ctl -d7 --stream-mmap --stream-out-mmap --stream-from jelly_700-1000-YU12.fwht

Witout that patchset the command holds:
$ v4l2-ctl -d7 --stream-mmap --stream-out-mmap --stream-from jelly_700-1000-YU12.fwht
>>>>

This patchset also fixes a failing test video.DecodeAccelVD.h264 from the 'tast' tests on mtk-vcodec:

tast -verbose run -build=false 10.42.0.175 video.DecodeAccelVD.h264

Dafna Hirschfeld (3):
  media: v4l2-core: move the code that copies v4l2_event_time32 to a
    function
  media: v4l2-core: combine code chunks under macro condition together
  media: v4l2-ctl: Add support to VIDIOC_DQEVENT_TIME32 on non x86_64
    arch

 drivers/media/v4l2-core/v4l2-compat-ioctl32.c | 51 ++++++++++---------
 drivers/media/v4l2-core/v4l2-ioctl.c          | 41 +++++++++------
 include/media/v4l2-ioctl.h                    |  9 ++++
 3 files changed, 61 insertions(+), 40 deletions(-)