sphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget9/translations/zh_CN/userspace-api/media/v4l/vidioc-g-edidmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget9/translations/zh_TW/userspace-api/media/v4l/vidioc-g-edidmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget9/translations/it_IT/userspace-api/media/v4l/vidioc-g-edidmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget9/translations/ja_JP/userspace-api/media/v4l/vidioc-g-edidmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget9/translations/ko_KR/userspace-api/media/v4l/vidioc-g-edidmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hPortuguese (Brazilian)}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget9/translations/pt_BR/userspace-api/media/v4l/vidioc-g-edidmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget9/translations/sp_SP/userspace-api/media/v4l/vidioc-g-edidmodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhcomment)}(h8SPDX-License-Identifier: GFDL-1.1-no-invariants-or-laterh]h8SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later}hhsbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1hhhhhhS/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/vidioc-g-edid.rsthKubhtarget)}(h.. _VIDIOC_G_EDID:h]h}(h]h ]h"]h$]h&]refid vidioc-g-ediduh1hhKhhhhhhubhsection)}(hhh](htitle)}(hNioctl VIDIOC_G_EDID, VIDIOC_S_EDID, VIDIOC_SUBDEV_G_EDID, VIDIOC_SUBDEV_S_EDIDh]hNioctl VIDIOC_G_EDID, VIDIOC_S_EDID, VIDIOC_SUBDEV_G_EDID, VIDIOC_SUBDEV_S_EDID}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(hNameh]hName}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhK ubh paragraph)}(hVIDIOC_G_EDID - VIDIOC_S_EDID - VIDIOC_SUBDEV_G_EDID - VIDIOC_SUBDEV_S_EDID - Get or set the EDID of a video receiver/transmitterh]hVIDIOC_G_EDID - VIDIOC_S_EDID - VIDIOC_SUBDEV_G_EDID - VIDIOC_SUBDEV_S_EDID - Get or set the EDID of a video receiver/transmitter}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hhhhubeh}(h]nameah ]h"]nameah$]h&]uh1hhhhhhhhK ubh)}(hhh](h)}(hSynopsish]hSynopsis}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKubhindex)}(hhh]h}(h]h ]h"]h$]h&]entries](singleV4L.VIDIOC_G_EDID (C macro)c.V4L.VIDIOC_G_EDIDhNtauh1j%hjhhhNhNubhdesc)}(hhh](hdesc_signature)}(h VIDIOC_G_EDIDh]hdesc_signature_line)}(h VIDIOC_G_EDIDh]h desc_name)}(h VIDIOC_G_EDIDh]h desc_sig_name)}(hj?h]h VIDIOC_G_EDID}(hjOhhhNhNubah}(h]h ]nah"]h$]h&]uh1jMhjIubah}(h]h ](sig-namedescnameeh"]h$]h&]hhuh1jGhjChhhhhKubah}(h]h ]h"]h$]h&]hhƌ add_permalinkuh1jAsphinx_line_type declaratorhj=hhhhhKubah}(h]j4ah ](sig sig-objecteh"]h$]h&] is_multiline _toc_parts) _toc_namehuh1j;hhhKhj8hhubh desc_content)}(hhh]h}(h]h ]h"]h$]h&]uh1jyhj8hhhhhKubeh}(h]h ](cmacroeh"]h$]h&]domainjobjtypejdesctypejnoindex noindexentrynocontentsentryuh1j6hhhjhNhNubh)}(h<``int ioctl(int fd, VIDIOC_G_EDID, struct v4l2_edid *argp)``h]hliteral)}(hjh]h8int ioctl(int fd, VIDIOC_G_EDID, struct v4l2_edid *argp)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubj&)}(hhh]h}(h]h ]h"]h$]h&]entries](j2V4L.VIDIOC_S_EDID (C macro)c.V4L.VIDIOC_S_EDIDhNtauh1j%hjhhhNhNubj7)}(hhh](j<)}(h VIDIOC_S_EDIDh]jB)}(h VIDIOC_S_EDIDh]jH)}(h VIDIOC_S_EDIDh]jN)}(hjh]h VIDIOC_S_EDID}(hjhhhNhNubah}(h]h ]jYah"]h$]h&]uh1jMhjubah}(h]h ](j`jaeh"]h$]h&]hhuh1jGhjhhhhhKubah}(h]h ]h"]h$]h&]hhjkuh1jAjljmhjhhhhhKubah}(h]jah ](jqjreh"]h$]h&]jvjw)jxhuh1j;hhhKhjhhubjz)}(hhh]h}(h]h ]h"]h$]h&]uh1jyhjhhhhhKubeh}(h]h ](jmacroeh"]h$]h&]jjjjjjjjjuh1j6hhhjhNhNubh)}(h<``int ioctl(int fd, VIDIOC_S_EDID, struct v4l2_edid *argp)``h]j)}(hjh]h8int ioctl(int fd, VIDIOC_S_EDID, struct v4l2_edid *argp)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubj&)}(hhh]h}(h]h ]h"]h$]h&]entries](j2"V4L.VIDIOC_SUBDEV_G_EDID (C macro)c.V4L.VIDIOC_SUBDEV_G_EDIDhNtauh1j%hjhhhNhNubj7)}(hhh](j<)}(hVIDIOC_SUBDEV_G_EDIDh]jB)}(hVIDIOC_SUBDEV_G_EDIDh]jH)}(hVIDIOC_SUBDEV_G_EDIDh]jN)}(hj!h]hVIDIOC_SUBDEV_G_EDID}(hj+hhhNhNubah}(h]h ]jYah"]h$]h&]uh1jMhj'ubah}(h]h ](j`jaeh"]h$]h&]hhuh1jGhj#hhhhhKubah}(h]h ]h"]h$]h&]hhjkuh1jAjljmhjhhhhhKubah}(h]jah ](jqjreh"]h$]h&]jvjw)jxhuh1j;hhhKhjhhubjz)}(hhh]h}(h]h ]h"]h$]h&]uh1jyhjhhhhhKubeh}(h]h ](jmacroeh"]h$]h&]jjjjVjjVjjjuh1j6hhhjhNhNubh)}(hC``int ioctl(int fd, VIDIOC_SUBDEV_G_EDID, struct v4l2_edid *argp)``h]j)}(hj\h]h?int ioctl(int fd, VIDIOC_SUBDEV_G_EDID, struct v4l2_edid *argp)}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjZubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubj&)}(hhh]h}(h]h ]h"]h$]h&]entries](j2"V4L.VIDIOC_SUBDEV_S_EDID (C macro)c.V4L.VIDIOC_SUBDEV_S_EDIDhNtauh1j%hjhhhNhNubj7)}(hhh](j<)}(hVIDIOC_SUBDEV_S_EDIDh]jB)}(hVIDIOC_SUBDEV_S_EDIDh]jH)}(hVIDIOC_SUBDEV_S_EDIDh]jN)}(hjh]hVIDIOC_SUBDEV_S_EDID}(hjhhhNhNubah}(h]h ]jYah"]h$]h&]uh1jMhjubah}(h]h ](j`jaeh"]h$]h&]hhuh1jGhjhhhhhKubah}(h]h ]h"]h$]h&]hhjkuh1jAjljmhjhhhhhKubah}(h]j}ah ](jqjreh"]h$]h&]jvjw)jxhuh1j;hhhKhjhhubjz)}(hhh]h}(h]h ]h"]h$]h&]uh1jyhjhhhhhKubeh}(h]h ](jmacroeh"]h$]h&]jjjjjjjjjuh1j6hhhjhNhNubh)}(hC``int ioctl(int fd, VIDIOC_SUBDEV_S_EDID, struct v4l2_edid *argp)``h]j)}(hjh]h?int ioctl(int fd, VIDIOC_SUBDEV_S_EDID, struct v4l2_edid *argp)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhK hjhhubeh}(h]synopsisah ]h"]synopsisah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h Argumentsh]h Arguments}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhK#ubhdefinition_list)}(hhh](hdefinition_list_item)}(h5``fd`` File descriptor returned by :c:func:`open()`. h](hterm)}(h``fd``h]j)}(hjh]hfd}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhK&hjubh definition)}(hhh]h)}(h-File descriptor returned by :c:func:`open()`.h](hFile descriptor returned by }(hjhhhNhNubh)}(h:c:func:`open()`h]j)}(hj h]hopen()}(hj"hhhNhNubah}(h]h ](xrefjc-funceh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdoc%userspace-api/media/v4l/vidioc-g-edid refdomainjreftypefunc refexplicitrefwarn c:parent_keysphinx.domains.c LookupKey)}data]j? ASTIdentifier)} identifierV4LsbNasb reftargetopenuh1hhhhK&hjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK&hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhhhK&hjubj)}(h0``argp`` Pointer to struct :c:type:`v4l2_edid`. h](j)}(h``argp``h]j)}(hjkh]hargp}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjiubah}(h]h ]h"]h$]h&]uh1jhhhK)hjeubj)}(hhh]h)}(h&Pointer to struct :c:type:`v4l2_edid`.h](hPointer to struct }(hjhhhNhNubh)}(h:c:type:`v4l2_edid`h]j)}(hjh]h v4l2_edid}(hjhhhNhNubah}(h]h ](j,jc-typeeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj8 refdomainjreftypetype refexplicitrefwarnj>jBjM v4l2_ediduh1hhhhK)hjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK)hjubah}(h]h ]h"]h$]h&]uh1jhjeubeh}(h]h ]h"]h$]h&]uh1jhhhK)hjhhubeh}(h]h ]h"]h$]h&]uh1jhjhhhhhNubeh}(h] argumentsah ]h"] argumentsah$]h&]uh1hhhhhhhhK#ubh)}(hhh](h)}(h Descriptionh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhK,ubh)}(hThese ioctls can be used to get or set an EDID associated with an input from a receiver or an output of a transmitter device. They can be used with subdevice nodes (/dev/v4l-subdevX) or with video nodes (/dev/videoX).h]hThese ioctls can be used to get or set an EDID associated with an input from a receiver or an output of a transmitter device. They can be used with subdevice nodes (/dev/v4l-subdevX) or with video nodes (/dev/videoX).}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK.hjhhubh)}(hXWhen used with video nodes the ``pad`` field represents the input (for video capture devices) or output (for video output devices) index as is returned by :ref:`VIDIOC_ENUMINPUT` and :ref:`VIDIOC_ENUMOUTPUT` respectively. When used with subdevice nodes the ``pad`` field represents the input or output pad of the subdevice. If there is no EDID support for the given ``pad`` value, then the ``EINVAL`` error code will be returned.h](hWhen used with video nodes the }(hjhhhNhNubj)}(h``pad``h]hpad}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubhu field represents the input (for video capture devices) or output (for video output devices) index as is returned by }(hjhhhNhNubh)}(h:ref:`VIDIOC_ENUMINPUT`h]hinline)}(hj h]hVIDIOC_ENUMINPUT}(hj hhhNhNubah}(h]h ](j,stdstd-refeh"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]refdocj8 refdomainjreftyperef refexplicitrefwarnjMvidioc_enuminputuh1hhhhK3hjubh and }(hjhhhNhNubh)}(h:ref:`VIDIOC_ENUMOUTPUT`h]j )}(hj/h]hVIDIOC_ENUMOUTPUT}(hj1hhhNhNubah}(h]h ](j,stdstd-refeh"]h$]h&]uh1j hj-ubah}(h]h ]h"]h$]h&]refdocj8 refdomainj;reftyperef refexplicitrefwarnjMvidioc_enumoutputuh1hhhhK3hjubh2 respectively. When used with subdevice nodes the }(hjhhhNhNubj)}(h``pad``h]hpad}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubhf field represents the input or output pad of the subdevice. If there is no EDID support for the given }(hjhhhNhNubj)}(h``pad``h]hpad}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh value, then the }(hjhhhNhNubj)}(h ``EINVAL``h]hEINVAL}(hjuhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh error code will be returned.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK3hjhhubh)}(hXTo get the EDID data the application has to fill in the ``pad``, ``start_block``, ``blocks`` and ``edid`` fields, zero the ``reserved`` array and call :ref:`VIDIOC_G_EDID `. The current EDID from block ``start_block`` and of size ``blocks`` will be placed in the memory ``edid`` points to. The ``edid`` pointer must point to memory at least ``blocks`` * 128 bytes large (the size of one block is 128 bytes).h](h8To get the EDID data the application has to fill in the }(hjhhhNhNubj)}(h``pad``h]hpad}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, }(hjhhhNhNubj)}(h``start_block``h]h start_block}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, }(hjhhhNhNubj)}(h ``blocks``h]hblocks}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh and }(hjhhhNhNubj)}(h``edid``h]hedid}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh fields, zero the }(hjhhhNhNubj)}(h ``reserved``h]hreserved}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh array and call }(hjhhhNhNubh)}(h$:ref:`VIDIOC_G_EDID `h]j )}(hjh]h VIDIOC_G_EDID}(hjhhhNhNubah}(h]h ](j,stdstd-refeh"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]refdocj8 refdomainjreftyperef refexplicitrefwarnjM vidioc_g_ediduh1hhhhK;hjubh. The current EDID from block }(hjhhhNhNubj)}(h``start_block``h]h start_block}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh and of size }(hjhhhNhNubj)}(h ``blocks``h]hblocks}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh will be placed in the memory }(hjhhhNhNubj)}(h``edid``h]hedid}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh points to. The }(hjhhhNhNubj)}(h``edid``h]hedid}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh' pointer must point to memory at least }(hjhhhNhNubj)}(h ``blocks``h]hblocks}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh8 * 128 bytes large (the size of one block is 128 bytes).}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK;hjhhubh)}(hIf there are fewer blocks than specified, then the driver will set ``blocks`` to the actual number of blocks. If there are no EDID blocks available at all, then the error code ``ENODATA`` is set.h](hCIf there are fewer blocks than specified, then the driver will set }(hjshhhNhNubj)}(h ``blocks``h]hblocks}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjsubhc to the actual number of blocks. If there are no EDID blocks available at all, then the error code }(hjshhhNhNubj)}(h ``ENODATA``h]hENODATA}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjsubh is set.}(hjshhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKBhjhhubh)}(hbIf blocks have to be retrieved from the sink, then this call will block until they have been read.h]hbIf blocks have to be retrieved from the sink, then this call will block until they have been read.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKFhjhhubh)}(hX(If ``start_block`` and ``blocks`` are both set to 0 when :ref:`VIDIOC_G_EDID ` is called, then the driver will set ``blocks`` to the total number of available EDID blocks and it will return 0 without copying any data. This is an easy way to discover how many EDID blocks there are.h](hIf }(hjhhhNhNubj)}(h``start_block``h]h start_block}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh and }(hjhhhNhNubj)}(h ``blocks``h]hblocks}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh are both set to 0 when }(hjhhhNhNubh)}(h$:ref:`VIDIOC_G_EDID `h]j )}(hjh]h VIDIOC_G_EDID}(hjhhhNhNubah}(h]h ](j,stdstd-refeh"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]refdocj8 refdomainjreftyperef refexplicitrefwarnjM vidioc_g_ediduh1hhhhKIhjubh% is called, then the driver will set }(hjhhhNhNubj)}(h ``blocks``h]hblocks}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh to the total number of available EDID blocks and it will return 0 without copying any data. This is an easy way to discover how many EDID blocks there are.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKIhjhhubhnote)}(hhIf there are no EDID blocks available at all, then the driver will set ``blocks`` to 0 and it returns 0.h]h)}(hhIf there are no EDID blocks available at all, then the driver will set ``blocks`` to 0 and it returns 0.h](hGIf there are no EDID blocks available at all, then the driver will set }(hj!hhhNhNubj)}(h ``blocks``h]hblocks}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj!ubh to 0 and it returns 0.}(hj!hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKQhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubh)}(hXLTo set the EDID blocks of a receiver the application has to fill in the ``pad``, ``blocks`` and ``edid`` fields, set ``start_block`` to 0 and zero the ``reserved`` array. It is not possible to set part of an EDID, it is always all or nothing. Setting the EDID data is only valid for receivers as it makes no sense for a transmitter.h](hHTo set the EDID blocks of a receiver the application has to fill in the }(hjGhhhNhNubj)}(h``pad``h]hpad}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjGubh, }(hjGhhhNhNubj)}(h ``blocks``h]hblocks}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1jhjGubh and }(hjGhhhNhNubj)}(h``edid``h]hedid}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1jhjGubh fields, set }(hjGhhhNhNubj)}(h``start_block``h]h start_block}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjGubh to 0 and zero the }(hjGhhhNhNubj)}(h ``reserved``h]hreserved}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjGubh array. It is not possible to set part of an EDID, it is always all or nothing. Setting the EDID data is only valid for receivers as it makes no sense for a transmitter.}(hjGhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKThjhhubh)}(hXMThe driver assumes that the full EDID is passed in. If there are more EDID blocks than the hardware can handle then the EDID is not written, but instead the error code ``E2BIG`` is set and ``blocks`` is set to the maximum that the hardware supports. If ``start_block`` is any value other than 0 then the error code ``EINVAL`` is set.h](hThe driver assumes that the full EDID is passed in. If there are more EDID blocks than the hardware can handle then the EDID is not written, but instead the error code }(hjhhhNhNubj)}(h ``E2BIG``h]hE2BIG}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh is set and }(hjhhhNhNubj)}(h ``blocks``h]hblocks}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh6 is set to the maximum that the hardware supports. If }(hjhhhNhNubj)}(h``start_block``h]h start_block}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh/ is any value other than 0 then the error code }(hjhhhNhNubj)}(h ``EINVAL``h]hEINVAL}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh is set.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKZhjhhubh)}(hTo disable an EDID you set ``blocks`` to 0. Depending on the hardware this will drive the hotplug pin low and/or block the source from reading the EDID data in some way. In any case, the end result is the same: the EDID is no longer available.h](hTo disable an EDID you set }(hjhhhNhNubj)}(h ``blocks``h]hblocks}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh to 0. Depending on the hardware this will drive the hotplug pin low and/or block the source from reading the EDID data in some way. In any case, the end result is the same: the EDID is no longer available.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK`hjhhubj&)}(hhh]h}(h]h ]h"]h$]h&]entries](j2V4L.v4l2_edid (C type)c.V4L.v4l2_edidhNtauh1j%hjhhhNhNubj7)}(hhh](j<)}(h v4l2_edidh]jB)}(htype v4l2_edidh](hdesc_sig_keyword)}(htypeh]htype}(hj@hhhNhNubah}(h]h ]kah"]h$]h&]uh1j>hj:hhhhhKeubhdesc_sig_space)}(h h]h }(hjQhhhNhNubah}(h]h ]wah"]h$]h&]uh1jOhj:hhhhhKeubjH)}(h v4l2_edidh]jN)}(hj8h]h v4l2_edid}(hjdhhhNhNubah}(h]h ]jYah"]h$]h&]uh1jMhj`ubah}(h]h ](j`jaeh"]h$]h&]hhuh1jGhj:hhhhhKeubeh}(h]h ]h"]h$]h&]hhjkuh1jAjljmhj6hhhhhKeubah}(h]j1ah ](jqjreh"]h$]h&]jvjw)jxhuh1j;hhhKehj3hhubjz)}(hhh]h}(h]h ]h"]h$]h&]uh1jyhj3hhhhhKeubeh}(h]h ](jtypeeh"]h$]h&]jjjjjjjjjuh1j6hhhjhNhNubhtabular_col_spec)}(hhh]h}(h]h ]h"]h$]h&]spec|p{4.4cm}|p{4.4cm}|p{8.5cm}|uh1jhhhKghjhhubhtable)}(hhh](h)}(hstruct v4l2_edidh]hstruct v4l2_edid}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKihjubhtgroup)}(hhh](hcolspec)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubhtbody)}(hhh](hrow)}(hhh](hentry)}(hhh]h)}(h__u32h]h__u32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKnhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h``pad``h]j)}(hjh]hpad}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKohjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hPad for which to get/set the EDID blocks. When used with a video device node the pad represents the input or output index as returned by :ref:`VIDIOC_ENUMINPUT` and :ref:`VIDIOC_ENUMOUTPUT` respectively.h](hPad for which to get/set the EDID blocks. When used with a video device node the pad represents the input or output index as returned by }(hjhhhNhNubh)}(h:ref:`VIDIOC_ENUMINPUT`h]j )}(hj(h]hVIDIOC_ENUMINPUT}(hj*hhhNhNubah}(h]h ](j,stdstd-refeh"]h$]h&]uh1j hj&ubah}(h]h ]h"]h$]h&]refdocj8 refdomainj4reftyperef refexplicitrefwarnjMvidioc_enuminputuh1hhhhKphjubh and }(hjhhhNhNubh)}(h:ref:`VIDIOC_ENUMOUTPUT`h]j )}(hjLh]hVIDIOC_ENUMOUTPUT}(hjNhhhNhNubah}(h]h ](j,stdstd-refeh"]h$]h&]uh1j hjJubah}(h]h ]h"]h$]h&]refdocj8 refdomainjXreftyperef refexplicitrefwarnjMvidioc_enumoutputuh1hhhhKphjubh respectively.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKphjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h__u32h]h__u32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKthjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h``start_block``h]j)}(hjh]h start_block}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKuhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hMRead the EDID from starting with this block. Must be 0 when setting the EDID.h]hMRead the EDID from starting with this block. Must be 0 when setting the EDID.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKvhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h__u32h]h__u32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKxhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h ``blocks``h]j)}(hjh]hblocks}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKyhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hThe number of blocks to get or set. Must be less or equal to 256 (the maximum number of blocks as defined by the standard). When you set the EDID and ``blocks`` is 0, then the EDID is disabled or erased.h](hThe number of blocks to get or set. Must be less or equal to 256 (the maximum number of blocks as defined by the standard). When you set the EDID and }(hj hhhNhNubj)}(h ``blocks``h]hblocks}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh+ is 0, then the EDID is disabled or erased.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKzhj ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h__u32h]h__u32}(hjF hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK~hjC ubah}(h]h ]h"]h$]h&]uh1jhj@ ubj)}(hhh]h)}(h``reserved``\ [5]h](j)}(h ``reserved``h]hreserved}(hja hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj] ubh [5]}(hj] hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjZ ubah}(h]h ]h"]h$]h&]uh1jhj@ ubj)}(hhh]h)}(hTReserved for future extensions. Applications and drivers must set the array to zero.h]hTReserved for future extensions. Applications and drivers must set the array to zero.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj@ ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h__u8 *h]h__u8 *}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h``edid``h]j)}(hj h]hedid}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hOPointer to memory that contains the EDID. The minimum size is ``blocks`` * 128.h](h>Pointer to memory that contains the EDID. The minimum size is }(hj hhhNhNubj)}(h ``blocks``h]hblocks}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh * 128.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubeh}(h]id1ah ]h"]h$]h&]uh1jhjhhhNhNubeh}(h] descriptionah ]h"] descriptionah$]h&]uh1hhhhhhhhK,ubh)}(hhh](h)}(h Return Valueh]h Return Value}(hj$ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj! hhhhhKubh)}(hOn success 0 is returned, on error -1 and the ``errno`` variable is set appropriately. The generic error codes are described at the :ref:`Generic Error Codes ` chapter.h](h.On success 0 is returned, on error -1 and the }(hj2 hhhNhNubj)}(h ``errno``h]herrno}(hj: hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj2 ubhM variable is set appropriately. The generic error codes are described at the }(hj2 hhhNhNubh)}(h':ref:`Generic Error Codes `h]j )}(hjN h]hGeneric Error Codes}(hjP hhhNhNubah}(h]h ](j,stdstd-refeh"]h$]h&]uh1j hjL ubah}(h]h ]h"]h$]h&]refdocj8 refdomainjZ reftyperef refexplicitrefwarnjM gen-errorsuh1hhhhKhj2 ubh chapter.}(hj2 hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj! hhubj)}(hhh](j)}(h,``ENODATA`` The EDID data is not available. h](j)}(h ``ENODATA``h]j)}(hj h]hENODATA}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj} ubah}(h]h ]h"]h$]h&]uh1jhhhKhjy ubj)}(hhh]h)}(hThe EDID data is not available.h]hThe EDID data is not available.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhjy ubeh}(h]h ]h"]h$]h&]uh1jhhhKhjv ubj)}(hJ``E2BIG`` The EDID data you provided is more than the hardware can handle.h](j)}(h ``E2BIG``h]j)}(hj h]hE2BIG}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhhhKhj ubj)}(hhh]h)}(h@The EDID data you provided is more than the hardware can handle.h]h@The EDID data you provided is more than the hardware can handle.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhhhKhjv hhubeh}(h]h ]h"]h$]h&]uh1jhj! hhhhhNubeh}(h] return-valueah ]h"] return valueah$]h&]uh1hhhhhhhhKubeh}(h](Kioctl-vidioc-g-edid-vidioc-s-edid-vidioc-subdev-g-edid-vidioc-subdev-s-edidheh ]h"](Nioctl vidioc_g_edid, vidioc_s_edid, vidioc_subdev_g_edid, vidioc_subdev_s_edid vidioc_g_edideh$]h&]uh1hhhhhhhhKexpect_referenced_by_name}j hsexpect_referenced_by_id}hhsubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampN source_linkN source_urlN toc_backlinksjfootnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerj& error_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourcehnj _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}refids}h]hasnameids}(j hj j jjjjjjj j j j u nametypes}(j j jjjj j uh}(hhj hjhjjj4j=jjjjj}jjjj jj1j6j j! j ju footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}j4 KsRparse_messages]transform_messages]hsystem_message)}(hhh]h)}(hhh]h3Hyperlink target "vidioc-g-edid" is not referenced.}hj sbah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]levelKtypeINFOsourcehnjlineKuh1j uba transformerN include_log] decorationNhhub.