The G/S_EDID documentation did not explicitly state that the reserved array
should be zeroed by the application.
Also add the missing VIDIOC_SUBDEV_G/S_EDID ioctl names to the header.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
The new code that detects undocumented ioctls hits some false
positives:
This one is not documented, nor it should, as this is
there just to reserve namespace:
Warning: can't find reference for VIDIOC_RESERVED ioctl
But those are already documented together with other ioctls:
Warning: can't find reference for VIDIOC_UNSUBSCRIBE_EVENT ioctl
Warning: can't find reference for FE_GET_PROPERTY ioctl
Warning: can't find reference for VIDIOC_SUBDEV_G_EDID ioctl
Warning: can't find reference for VIDIOC_SUBDEV_S_EDID ioctl
Warning: can't find reference for VIDIOC_SUBDEV_S_DV_TIMINGS ioctl
Warning: can't find reference for VIDIOC_SUBDEV_G_DV_TIMINGS ioctl
Warning: can't find reference for VIDIOC_SUBDEV_QUERY_DV_TIMINGS ioctl
So, we need to just be sure to point to the right documentation.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
When using VIDIOC_G_EDID there is a special case where start_blocks and
blocks are both set to 0. In that case the driver just has to set blocks to
the total number of available blocks and return 0.
Even though the drivers do this right and v4l2-compliance tests for it, it
turned out not to be documented in the spec. Fix this.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Reported-by: Mats Randgaard <matrandg@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
G_EDID is an RW ioctl, so the struct v4l2_edid isn't const.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
The order of the last two fields in the G/S_EDID specification was swapped from
what is in the actual struct. Fix this.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Document that it is now possible to call G/S_EDID from video nodes, not
just sub-device nodes. Add a note that -EINVAL will be returned if
the pad does not support EDIDs.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>