1059b1c5bSMauro Carvalho Chehab.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later 254f38fcaSMauro Carvalho Chehab 354f38fcaSMauro Carvalho Chehab.. _VIDIOC_SUBDEV_ENUM_MBUS_CODE: 454f38fcaSMauro Carvalho Chehab 554f38fcaSMauro Carvalho Chehab********************************** 654f38fcaSMauro Carvalho Chehabioctl VIDIOC_SUBDEV_ENUM_MBUS_CODE 754f38fcaSMauro Carvalho Chehab********************************** 854f38fcaSMauro Carvalho Chehab 954f38fcaSMauro Carvalho ChehabName 1054f38fcaSMauro Carvalho Chehab==== 1154f38fcaSMauro Carvalho Chehab 1254f38fcaSMauro Carvalho ChehabVIDIOC_SUBDEV_ENUM_MBUS_CODE - Enumerate media bus formats 1354f38fcaSMauro Carvalho Chehab 1454f38fcaSMauro Carvalho Chehab 1554f38fcaSMauro Carvalho ChehabSynopsis 1654f38fcaSMauro Carvalho Chehab======== 1754f38fcaSMauro Carvalho Chehab 1854f38fcaSMauro Carvalho Chehab.. c:function:: int ioctl( int fd, VIDIOC_SUBDEV_ENUM_MBUS_CODE, struct v4l2_subdev_mbus_code_enum * argp ) 1954f38fcaSMauro Carvalho Chehab :name: VIDIOC_SUBDEV_ENUM_MBUS_CODE 2054f38fcaSMauro Carvalho Chehab 2154f38fcaSMauro Carvalho Chehab 2254f38fcaSMauro Carvalho ChehabArguments 2354f38fcaSMauro Carvalho Chehab========= 2454f38fcaSMauro Carvalho Chehab 2554f38fcaSMauro Carvalho Chehab``fd`` 2654f38fcaSMauro Carvalho Chehab File descriptor returned by :ref:`open() <func-open>`. 2754f38fcaSMauro Carvalho Chehab 2854f38fcaSMauro Carvalho Chehab``argp`` 2954f38fcaSMauro Carvalho Chehab Pointer to struct :c:type:`v4l2_subdev_mbus_code_enum`. 3054f38fcaSMauro Carvalho Chehab 3154f38fcaSMauro Carvalho Chehab 3254f38fcaSMauro Carvalho ChehabDescription 3354f38fcaSMauro Carvalho Chehab=========== 3454f38fcaSMauro Carvalho Chehab 3554f38fcaSMauro Carvalho ChehabTo enumerate media bus formats available at a given sub-device pad 3654f38fcaSMauro Carvalho Chehabapplications initialize the ``pad``, ``which`` and ``index`` fields of 3754f38fcaSMauro Carvalho Chehabstruct 3854f38fcaSMauro Carvalho Chehab:c:type:`v4l2_subdev_mbus_code_enum` and 3954f38fcaSMauro Carvalho Chehabcall the :ref:`VIDIOC_SUBDEV_ENUM_MBUS_CODE` ioctl with a pointer to this 4054f38fcaSMauro Carvalho Chehabstructure. Drivers fill the rest of the structure or return an ``EINVAL`` 4154f38fcaSMauro Carvalho Chehaberror code if either the ``pad`` or ``index`` are invalid. All media bus 4254f38fcaSMauro Carvalho Chehabformats are enumerable by beginning at index zero and incrementing by 4354f38fcaSMauro Carvalho Chehabone until ``EINVAL`` is returned. 4454f38fcaSMauro Carvalho Chehab 4554f38fcaSMauro Carvalho ChehabAvailable media bus formats may depend on the current 'try' formats at 4654f38fcaSMauro Carvalho Chehabother pads of the sub-device, as well as on the current active links. 4754f38fcaSMauro Carvalho ChehabSee :ref:`VIDIOC_SUBDEV_G_FMT` for more 4854f38fcaSMauro Carvalho Chehabinformation about the try formats. 4954f38fcaSMauro Carvalho Chehab 5054f38fcaSMauro Carvalho Chehab 5154f38fcaSMauro Carvalho Chehab.. c:type:: v4l2_subdev_mbus_code_enum 5254f38fcaSMauro Carvalho Chehab 5354f38fcaSMauro Carvalho Chehab.. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}| 5454f38fcaSMauro Carvalho Chehab 5554f38fcaSMauro Carvalho Chehab.. flat-table:: struct v4l2_subdev_mbus_code_enum 5654f38fcaSMauro Carvalho Chehab :header-rows: 0 5754f38fcaSMauro Carvalho Chehab :stub-columns: 0 5854f38fcaSMauro Carvalho Chehab :widths: 1 1 2 5954f38fcaSMauro Carvalho Chehab 6054f38fcaSMauro Carvalho Chehab * - __u32 6154f38fcaSMauro Carvalho Chehab - ``pad`` 6254f38fcaSMauro Carvalho Chehab - Pad number as reported by the media controller API. 6354f38fcaSMauro Carvalho Chehab * - __u32 6454f38fcaSMauro Carvalho Chehab - ``index`` 6554f38fcaSMauro Carvalho Chehab - Number of the format in the enumeration, set by the application. 6654f38fcaSMauro Carvalho Chehab * - __u32 6754f38fcaSMauro Carvalho Chehab - ``code`` 6854f38fcaSMauro Carvalho Chehab - The media bus format code, as defined in 6954f38fcaSMauro Carvalho Chehab :ref:`v4l2-mbus-format`. 7054f38fcaSMauro Carvalho Chehab * - __u32 7154f38fcaSMauro Carvalho Chehab - ``which`` 7254f38fcaSMauro Carvalho Chehab - Media bus format codes to be enumerated, from enum 7354f38fcaSMauro Carvalho Chehab :ref:`v4l2_subdev_format_whence <v4l2-subdev-format-whence>`. 7454f38fcaSMauro Carvalho Chehab * - __u32 7554f38fcaSMauro Carvalho Chehab - ``reserved``\ [8] 7654f38fcaSMauro Carvalho Chehab - Reserved for future extensions. Applications and drivers must set 7754f38fcaSMauro Carvalho Chehab the array to zero. 7854f38fcaSMauro Carvalho Chehab 7954f38fcaSMauro Carvalho Chehab 8054f38fcaSMauro Carvalho ChehabReturn Value 8154f38fcaSMauro Carvalho Chehab============ 8254f38fcaSMauro Carvalho Chehab 8354f38fcaSMauro Carvalho ChehabOn success 0 is returned, on error -1 and the ``errno`` variable is set 8454f38fcaSMauro Carvalho Chehabappropriately. The generic error codes are described at the 8554f38fcaSMauro Carvalho Chehab:ref:`Generic Error Codes <gen-errors>` chapter. 8654f38fcaSMauro Carvalho Chehab 8754f38fcaSMauro Carvalho ChehabEINVAL 8854f38fcaSMauro Carvalho Chehab The struct 8954f38fcaSMauro Carvalho Chehab :c:type:`v4l2_subdev_mbus_code_enum` 9054f38fcaSMauro Carvalho Chehab ``pad`` references a non-existing pad, or the ``index`` field is out 9154f38fcaSMauro Carvalho Chehab of bounds. 92