cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

ext-ctrls-dv.rst (6953B)


      1.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
      2
      3.. _dv-controls:
      4
      5*******************************
      6Digital Video Control Reference
      7*******************************
      8
      9The Digital Video control class is intended to control receivers and
     10transmitters for `VGA <http://en.wikipedia.org/wiki/Vga>`__,
     11`DVI <http://en.wikipedia.org/wiki/Digital_Visual_Interface>`__
     12(Digital Visual Interface), HDMI (:ref:`hdmi`) and DisplayPort
     13(:ref:`dp`). These controls are generally expected to be private to
     14the receiver or transmitter subdevice that implements them, so they are
     15only exposed on the ``/dev/v4l-subdev*`` device node.
     16
     17.. note::
     18
     19   Note that these devices can have multiple input or output pads which are
     20   hooked up to e.g. HDMI connectors. Even though the subdevice will
     21   receive or transmit video from/to only one of those pads, the other pads
     22   can still be active when it comes to EDID (Extended Display
     23   Identification Data, :ref:`vesaedid`) and HDCP (High-bandwidth Digital
     24   Content Protection System, :ref:`hdcp`) processing, allowing the
     25   device to do the fairly slow EDID/HDCP handling in advance. This allows
     26   for quick switching between connectors.
     27
     28These pads appear in several of the controls in this section as
     29bitmasks, one bit for each pad. Bit 0 corresponds to pad 0, bit 1 to pad
     301, etc. The maximum value of the control is the set of valid pads.
     31
     32
     33.. _dv-control-id:
     34
     35Digital Video Control IDs
     36=========================
     37
     38``V4L2_CID_DV_CLASS (class)``
     39    The Digital Video class descriptor.
     40
     41``V4L2_CID_DV_TX_HOTPLUG (bitmask)``
     42    Many connectors have a hotplug pin which is high if EDID information
     43    is available from the source. This control shows the state of the
     44    hotplug pin as seen by the transmitter. Each bit corresponds to an
     45    output pad on the transmitter. If an output pad does not have an
     46    associated hotplug pin, then the bit for that pad will be 0. This
     47    read-only control is applicable to DVI-D, HDMI and DisplayPort
     48    connectors.
     49
     50``V4L2_CID_DV_TX_RXSENSE (bitmask)``
     51    Rx Sense is the detection of pull-ups on the TMDS clock lines. This
     52    normally means that the sink has left/entered standby (i.e. the
     53    transmitter can sense that the receiver is ready to receive video).
     54    Each bit corresponds to an output pad on the transmitter. If an
     55    output pad does not have an associated Rx Sense, then the bit for
     56    that pad will be 0. This read-only control is applicable to DVI-D
     57    and HDMI devices.
     58
     59``V4L2_CID_DV_TX_EDID_PRESENT (bitmask)``
     60    When the transmitter sees the hotplug signal from the receiver it
     61    will attempt to read the EDID. If set, then the transmitter has read
     62    at least the first block (= 128 bytes). Each bit corresponds to an
     63    output pad on the transmitter. If an output pad does not support
     64    EDIDs, then the bit for that pad will be 0. This read-only control
     65    is applicable to VGA, DVI-A/D, HDMI and DisplayPort connectors.
     66
     67``V4L2_CID_DV_TX_MODE``
     68    (enum)
     69
     70enum v4l2_dv_tx_mode -
     71    HDMI transmitters can transmit in DVI-D mode (just video) or in HDMI
     72    mode (video + audio + auxiliary data). This control selects which
     73    mode to use: V4L2_DV_TX_MODE_DVI_D or V4L2_DV_TX_MODE_HDMI.
     74    This control is applicable to HDMI connectors.
     75
     76``V4L2_CID_DV_TX_RGB_RANGE``
     77    (enum)
     78
     79enum v4l2_dv_rgb_range -
     80    Select the quantization range for RGB output. V4L2_DV_RANGE_AUTO
     81    follows the RGB quantization range specified in the standard for the
     82    video interface (ie. :ref:`cea861` for HDMI).
     83    V4L2_DV_RANGE_LIMITED and V4L2_DV_RANGE_FULL override the
     84    standard to be compatible with sinks that have not implemented the
     85    standard correctly (unfortunately quite common for HDMI and DVI-D).
     86    Full range allows all possible values to be used whereas limited
     87    range sets the range to (16 << (N-8)) - (235 << (N-8)) where N is
     88    the number of bits per component. This control is applicable to VGA,
     89    DVI-A/D, HDMI and DisplayPort connectors.
     90
     91``V4L2_CID_DV_TX_IT_CONTENT_TYPE``
     92    (enum)
     93
     94enum v4l2_dv_it_content_type -
     95    Configures the IT Content Type of the transmitted video. This
     96    information is sent over HDMI and DisplayPort connectors as part of
     97    the AVI InfoFrame. The term 'IT Content' is used for content that
     98    originates from a computer as opposed to content from a TV broadcast
     99    or an analog source. The enum v4l2_dv_it_content_type defines
    100    the possible content types:
    101
    102.. tabularcolumns:: |p{7.3cm}|p{10.2cm}|
    103
    104.. flat-table::
    105    :header-rows:  0
    106    :stub-columns: 0
    107
    108    * - ``V4L2_DV_IT_CONTENT_TYPE_GRAPHICS``
    109      - Graphics content. Pixel data should be passed unfiltered and
    110	without analog reconstruction.
    111    * - ``V4L2_DV_IT_CONTENT_TYPE_PHOTO``
    112      - Photo content. The content is derived from digital still pictures.
    113	The content should be passed through with minimal scaling and
    114	picture enhancements.
    115    * - ``V4L2_DV_IT_CONTENT_TYPE_CINEMA``
    116      - Cinema content.
    117    * - ``V4L2_DV_IT_CONTENT_TYPE_GAME``
    118      - Game content. Audio and video latency should be minimized.
    119    * - ``V4L2_DV_IT_CONTENT_TYPE_NO_ITC``
    120      - No IT Content information is available and the ITC bit in the AVI
    121	InfoFrame is set to 0.
    122
    123
    124
    125``V4L2_CID_DV_RX_POWER_PRESENT (bitmask)``
    126    Detects whether the receiver receives power from the source (e.g.
    127    HDMI carries 5V on one of the pins). This is often used to power an
    128    eeprom which contains EDID information, such that the source can
    129    read the EDID even if the sink is in standby/power off. Each bit
    130    corresponds to an input pad on the receiver. If an input pad
    131    cannot detect whether power is present, then the bit for that pad
    132    will be 0. This read-only control is applicable to DVI-D, HDMI and
    133    DisplayPort connectors.
    134
    135``V4L2_CID_DV_RX_RGB_RANGE``
    136    (enum)
    137
    138enum v4l2_dv_rgb_range -
    139    Select the quantization range for RGB input. V4L2_DV_RANGE_AUTO
    140    follows the RGB quantization range specified in the standard for the
    141    video interface (ie. :ref:`cea861` for HDMI).
    142    V4L2_DV_RANGE_LIMITED and V4L2_DV_RANGE_FULL override the
    143    standard to be compatible with sources that have not implemented the
    144    standard correctly (unfortunately quite common for HDMI and DVI-D).
    145    Full range allows all possible values to be used whereas limited
    146    range sets the range to (16 << (N-8)) - (235 << (N-8)) where N is
    147    the number of bits per component. This control is applicable to VGA,
    148    DVI-A/D, HDMI and DisplayPort connectors.
    149
    150``V4L2_CID_DV_RX_IT_CONTENT_TYPE``
    151    (enum)
    152
    153enum v4l2_dv_it_content_type -
    154    Reads the IT Content Type of the received video. This information is
    155    sent over HDMI and DisplayPort connectors as part of the AVI
    156    InfoFrame. The term 'IT Content' is used for content that originates
    157    from a computer as opposed to content from a TV broadcast or an
    158    analog source. See ``V4L2_CID_DV_TX_IT_CONTENT_TYPE`` for the
    159    available content types.