Commit 06b993af authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab

[media] doc-rst: media_drivers.rst: Fix paragraph headers for MC

Fix the paragraph identation for the media controller
headers.
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
parent d26a5d43
...@@ -183,7 +183,8 @@ The media controller userspace API is documented in DocBook format in ...@@ -183,7 +183,8 @@ The media controller userspace API is documented in DocBook format in
Documentation/DocBook/media/v4l/media-controller.xml. This document focus Documentation/DocBook/media/v4l/media-controller.xml. This document focus
on the kernel-side implementation of the media framework. on the kernel-side implementation of the media framework.
* Abstract media device model: Abstract media device model
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Discovering a device internal topology, and configuring it at runtime, is one Discovering a device internal topology, and configuring it at runtime, is one
of the goals of the media framework. To achieve this, hardware devices are of the goals of the media framework. To achieve this, hardware devices are
...@@ -205,8 +206,8 @@ A link is a point-to-point oriented connection between two pads, either ...@@ -205,8 +206,8 @@ A link is a point-to-point oriented connection between two pads, either
on the same entity or on different entities. Data flows from a source on the same entity or on different entities. Data flows from a source
pad to a sink pad. pad to a sink pad.
Media device
* Media device: ^^^^^^^^^^^^
A media device is represented by a struct &media_device instance, defined in A media device is represented by a struct &media_device instance, defined in
include/media/media-device.h. Allocation of the structure is handled by the include/media/media-device.h. Allocation of the structure is handled by the
...@@ -218,9 +219,8 @@ __media_device_register() via the macro media_device_register() ...@@ -218,9 +219,8 @@ __media_device_register() via the macro media_device_register()
and unregistered by calling and unregistered by calling
media_device_unregister(). media_device_unregister().
* Entities, pads and links: Entities
^^^^^^^^
- Entities
Entities are represented by a struct &media_entity instance, defined in Entities are represented by a struct &media_entity instance, defined in
include/media/media-entity.h. The structure is usually embedded into a include/media/media-entity.h. The structure is usually embedded into a
...@@ -235,7 +235,8 @@ media_device_register_entity() ...@@ -235,7 +235,8 @@ media_device_register_entity()
and unregistred by calling and unregistred by calling
media_device_unregister_entity(). media_device_unregister_entity().
- Interfaces Interfaces
^^^^^^^^^^
Interfaces are represented by a struct &media_interface instance, defined in Interfaces are represented by a struct &media_interface instance, defined in
include/media/media-entity.h. Currently, only one type of interface is include/media/media-entity.h. Currently, only one type of interface is
...@@ -247,8 +248,8 @@ media_devnode_create() ...@@ -247,8 +248,8 @@ media_devnode_create()
and remove them by calling: and remove them by calling:
media_devnode_remove(). media_devnode_remove().
- Pads Pads
^^^^
Pads are represented by a struct &media_pad instance, defined in Pads are represented by a struct &media_pad instance, defined in
include/media/media-entity.h. Each entity stores its pads in a pads array include/media/media-entity.h. Each entity stores its pads in a pads array
managed by the entity driver. Drivers usually embed the array in a managed by the entity driver. Drivers usually embed the array in a
...@@ -267,7 +268,8 @@ Pads have flags that describe the pad capabilities and state. ...@@ -267,7 +268,8 @@ Pads have flags that describe the pad capabilities and state.
NOTE: One and only one of %MEDIA_PAD_FL_SINK and %MEDIA_PAD_FL_SOURCE must NOTE: One and only one of %MEDIA_PAD_FL_SINK and %MEDIA_PAD_FL_SOURCE must
be set for each pad. be set for each pad.
- Links Links
^^^^^
Links are represented by a struct &media_link instance, defined in Links are represented by a struct &media_link instance, defined in
include/media/media-entity.h. There are two types of links: include/media/media-entity.h. There are two types of links:
...@@ -289,15 +291,16 @@ Associate one interface to a Link. ...@@ -289,15 +291,16 @@ Associate one interface to a Link.
Drivers create interface to entity links by calling: Drivers create interface to entity links by calling:
media_create_intf_link() and remove with media_remove_intf_links(). media_create_intf_link() and remove with media_remove_intf_links().
NOTE: .. note::
Links can only be created after having both ends already created. Links can only be created after having both ends already created.
Links have flags that describe the link capabilities and state. The Links have flags that describe the link capabilities and state. The
valid values are described at media_create_pad_link() and valid values are described at media_create_pad_link() and
media_create_intf_link(). media_create_intf_link().
Graph traversal: Graph traversal
^^^^^^^^^^^^^^^
The media framework provides APIs to iterate over entities in a graph. The media framework provides APIs to iterate over entities in a graph.
...@@ -339,7 +342,8 @@ Helper functions can be used to find a link between two given pads, or a pad ...@@ -339,7 +342,8 @@ Helper functions can be used to find a link between two given pads, or a pad
connected to another pad through an enabled link connected to another pad through an enabled link
media_entity_find_link() and media_entity_remote_pad() media_entity_find_link() and media_entity_remote_pad()
Use count and power handling: Use count and power handling
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Due to the wide differences between drivers regarding power management Due to the wide differences between drivers regarding power management
needs, the media controller does not implement power management. However, needs, the media controller does not implement power management. However,
...@@ -351,12 +355,14 @@ The &media_entity.@use_count field is owned by media drivers and must not be ...@@ -351,12 +355,14 @@ The &media_entity.@use_count field is owned by media drivers and must not be
touched by entity drivers. Access to the field must be protected by the touched by entity drivers. Access to the field must be protected by the
&media_device.@graph_mutex lock. &media_device.@graph_mutex lock.
Links setup: Links setup
^^^^^^^^^^^
Link properties can be modified at runtime by calling Link properties can be modified at runtime by calling
media_entity_setup_link() media_entity_setup_link()
Pipelines and media streams: Pipelines and media streams
^^^^^^^^^^^^^^^^^^^^^^^^^^^
When starting streaming, drivers must notify all entities in the pipeline to When starting streaming, drivers must notify all entities in the pipeline to
prevent link states from being modified during streaming by calling prevent link states from being modified during streaming by calling
...@@ -392,7 +398,8 @@ changing entities configuration parameters) drivers can explicitly check the ...@@ -392,7 +398,8 @@ changing entities configuration parameters) drivers can explicitly check the
media_entity stream_count field to find out if an entity is streaming. This media_entity stream_count field to find out if an entity is streaming. This
operation must be done with the media_device graph_mutex held. operation must be done with the media_device graph_mutex held.
Link validation: Link validation
^^^^^^^^^^^^^^^
Link validation is performed by media_entity_pipeline_start() for any Link validation is performed by media_entity_pipeline_start() for any
entity which has sink pads in the pipeline. The entity which has sink pads in the pipeline. The
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment