Lines Matching +full:level +full:- +full:low
1 .. SPDX-License-Identifier: GPL-2.0
15 ----------------
33 ---------------------
53 will be stored in adap->priv and can be used by the adapter ops.
95 Implementing the Low-Level CEC Adapter
96 --------------------------------------
98 The following low-level adapter operations have to be implemented in
103 .. code-block:: none
107 /* Low-level callbacks */
123 /* High-level callback */
127 These low-level ops deal with various aspects of controlling the CEC adapter
128 hardware. They are all called with the mutex adap->lock held.
141 up displays that pull the HPD low when in standby mode. The initial
178 should return -ENXIO. Once a logical address is programmed the CEC hardware
210 To pass on the result of a canceled non-blocking transmit::
216 non-blocking transmit with sequence number msg->sequence. This is
265 low drive was detected on the CEC bus. This indicates that
311 ----------------------------------
323 ----------------------------------------------
328 .. code-block:: none
331 /* Low-level callbacks */
338 /* High-level CEC message callback */
342 If both callbacks are set, then an ``error-inj`` file will appear in debugfs.
353 This ensures that you can always do ``echo clear >error-inj`` to clear any error
354 injections without having to know the details of the driver-specific commands.
356 Note that the output of ``error-inj`` shall be valid as input to ``error-inj``.
359 .. code-block:: none
361 $ cat error-inj >einj.txt
362 $ cat einj.txt >error-inj
372 The second callback will parse commands written to the ``error-inj`` file::
378 are no embedded newlines) and it is 0-terminated. The callback is free to
384 Implementing the High-Level CEC Adapter
385 ---------------------------------------
387 The low-level operations drive the hardware, the high-level operations are
388 CEC protocol driven. The high-level callbacks are called without the adap->lock
389 mutex being held. The following high-level callbacks are available:
391 .. code-block:: none
394 /* Low-level callbacks */
400 /* High-level CEC message callback */
421 -ENOMSG, otherwise the CEC framework assumes it processed this message and
426 -----------------------
440 Change the physical address. This function will set adap->phys_addr and
468 log_addrs->num_log_addrs set to 0. The block argument is ignored when
474 -----------------
477 the message and the hardware handles the low-level CEC protocol. But some
478 hardware only drives the CEC pin and software has to handle the low-level
481 Note that due to the close-to-realtime requirements it can never be guaranteed
486 One advantage of this low-level implementation is that it can be used as
488 CEC pin transitions from low to high or vice versa.
490 .. kernel-doc:: include/media/cec-pin.h
493 ----------------------
502 .. kernel-doc:: include/media/cec-notifier.h