Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  1) .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  2) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  3) .. _app-pri:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  4) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  5) ********************
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  6) Application Priority
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  7) ********************
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  8) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  9) When multiple applications share a device it may be desirable to assign
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) them different priorities. Contrary to the traditional "rm -rf /" school
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) of thought, a video recording application could for example block other
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) applications from changing video controls or switching the current TV
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) channel. Another objective is to permit low priority applications
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) working in background, which can be preempted by user controlled
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) applications and automatically regain control of the device at a later
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) time.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) Since these features cannot be implemented entirely in user space V4L2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) defines the :ref:`VIDIOC_G_PRIORITY <VIDIOC_G_PRIORITY>` and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) :ref:`VIDIOC_S_PRIORITY <VIDIOC_G_PRIORITY>` ioctls to request and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) query the access priority associate with a file descriptor. Opening a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) device assigns a medium priority, compatible with earlier versions of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) V4L2 and drivers not supporting these ioctls. Applications requiring a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) different priority will usually call :ref:`VIDIOC_S_PRIORITY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) <VIDIOC_G_PRIORITY>` after verifying the device with the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) :ref:`VIDIOC_QUERYCAP` ioctl.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) Ioctls changing driver properties, such as
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) :ref:`VIDIOC_S_INPUT <VIDIOC_G_INPUT>`, return an ``EBUSY`` error code
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) after another application obtained higher priority.