1 .. SPDX-License-Identifier: GFDL-1.1-no-invari 2 .. c:namespace:: V4L 3 4 .. _VIDIOC_SUBDEV_G_ROUTING: 5 6 ********************************************** 7 ioctl VIDIOC_SUBDEV_G_ROUTING, VIDIOC_SUBDEV_S 8 ********************************************** 9 10 Name 11 ==== 12 13 VIDIOC_SUBDEV_G_ROUTING - VIDIOC_SUBDEV_S_ROUT 14 15 16 Synopsis 17 ======== 18 19 .. c:macro:: VIDIOC_SUBDEV_G_ROUTING 20 21 ``int ioctl(int fd, VIDIOC_SUBDEV_G_ROUTING, s 22 23 .. c:macro:: VIDIOC_SUBDEV_S_ROUTING 24 25 ``int ioctl(int fd, VIDIOC_SUBDEV_S_ROUTING, s 26 27 Arguments 28 ========= 29 30 ``fd`` 31 File descriptor returned by :ref:`open() < 32 33 ``argp`` 34 Pointer to struct :c:type:`v4l2_subdev_rou 35 36 37 Description 38 =========== 39 40 These ioctls are used to get and set the routi 41 The routing configuration determines the flows 42 43 Drivers report their current routing tables us 44 ``VIDIOC_SUBDEV_G_ROUTING`` ioctl and applicat 45 with the ``VIDIOC_SUBDEV_S_ROUTING`` ioctl, by 46 setting or clearing flags of the ``flags`` fie 47 :c:type:`v4l2_subdev_route`. Similarly to ``VI 48 ``VIDIOC_SUBDEV_S_ROUTING`` returns the routes 49 50 All stream configurations are reset when ``VID 51 This means that the userspace must reconfigure 52 after calling the ioctl with e.g. ``VIDIOC_SUB 53 54 Only subdevices which have both sink and sourc 55 56 The ``len_routes`` field indicates the number 57 ``routes`` array allocated by userspace. It is 58 ioctls to indicate how many routes the kernel 59 by the kernel. 60 61 The ``num_routes`` field indicates the number 62 table. For ``VIDIOC_SUBDEV_S_ROUTING``, it is 63 routes that the application stored in the ``ro 64 is returned by the kernel and indicates how ma 65 subdevice routing table. This may be smaller o 66 ``num_routes`` set by the application for ``VI 67 drivers may adjust the requested routing table 68 69 The kernel can return a ``num_routes`` value l 70 both ioctls. This indicates thare are more rou 71 the ``routes`` array. In this case, the ``rout 72 with the first ``len_routes`` entries of the s 73 not considered to be an error, and the ioctl c 74 wants to retrieve the missing routes, it can i 75 ``VIDIOC_SUBDEV_G_ROUTING`` call with a large 76 77 ``VIDIOC_SUBDEV_S_ROUTING`` may return more ro 78 ``num_routes`` field due to e.g. hardware prop 79 80 .. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm 81 82 .. c:type:: v4l2_subdev_routing 83 84 .. flat-table:: struct v4l2_subdev_routing 85 :header-rows: 0 86 :stub-columns: 0 87 :widths: 1 1 2 88 89 * - __u32 90 - ``which`` 91 - Routing table to be accessed, from enu 92 :ref:`v4l2_subdev_format_whence <v4l2- 93 * - __u32 94 - ``len_routes`` 95 - The length of the array (as in memory 96 * - struct :c:type:`v4l2_subdev_route` 97 - ``routes[]`` 98 - Array of struct :c:type:`v4l2_subdev_r 99 * - __u32 100 - ``num_routes`` 101 - Number of entries of the routes array 102 * - __u32 103 - ``reserved``\ [11] 104 - Reserved for future extensions. Applic 105 the array to zero. 106 107 .. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm 108 109 .. c:type:: v4l2_subdev_route 110 111 .. flat-table:: struct v4l2_subdev_route 112 :header-rows: 0 113 :stub-columns: 0 114 :widths: 1 1 2 115 116 * - __u32 117 - ``sink_pad`` 118 - Sink pad number. 119 * - __u32 120 - ``sink_stream`` 121 - Sink pad stream number. 122 * - __u32 123 - ``source_pad`` 124 - Source pad number. 125 * - __u32 126 - ``source_stream`` 127 - Source pad stream number. 128 * - __u32 129 - ``flags`` 130 - Route enable/disable flags 131 :ref:`v4l2_subdev_routing_flags <v4l2- 132 * - __u32 133 - ``reserved``\ [5] 134 - Reserved for future extensions. Applic 135 the array to zero. 136 137 .. tabularcolumns:: |p{6.6cm}|p{2.2cm}|p{8.7cm 138 139 .. _v4l2-subdev-routing-flags: 140 141 .. flat-table:: enum v4l2_subdev_routing_flags 142 :header-rows: 0 143 :stub-columns: 0 144 :widths: 3 1 4 145 146 * - V4L2_SUBDEV_ROUTE_FL_ACTIVE 147 - 0x0001 148 - The route is enabled. Set by applicati 149 150 Return Value 151 ============ 152 153 On success 0 is returned, on error -1 and the 154 appropriately. The generic error codes are des 155 :ref:`Generic Error Codes <gen-errors>` chapte 156 157 EINVAL 158 The sink or source pad identifiers referenc 159 pads of different types (ie. the sink_pad i 160 pad), or the ``which`` field has an unsuppo 161 162 E2BIG 163 The application provided ``num_routes`` for 164 larger than the number of routes the driver
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.