Commit | Line | Data |
---|---|---|
5377d91f MH |
1 | .. -*- coding: utf-8; mode: rst -*- |
2 | ||
3 | .. _media-controller-model: | |
4 | ||
5 | Media device model | |
6 | ================== | |
7 | ||
8 | Discovering a device internal topology, and configuring it at runtime, | |
9 | is one of the goals of the media controller API. To achieve this, | |
10 | hardware devices and Linux Kernel interfaces are modelled as graph | |
11 | objects on an oriented graph. The object types that constitute the graph | |
12 | are: | |
13 | ||
14 | - An **entity** is a basic media hardware or software building block. | |
15 | It can correspond to a large variety of logical blocks such as | |
16 | physical hardware devices (CMOS sensor for instance), logical | |
17 | hardware devices (a building block in a System-on-Chip image | |
18 | processing pipeline), DMA channels or physical connectors. | |
19 | ||
20 | - An **interface** is a graph representation of a Linux Kernel | |
21 | userspace API interface, like a device node or a sysfs file that | |
22 | controls one or more entities in the graph. | |
23 | ||
24 | - A **pad** is a data connection endpoint through which an entity can | |
25 | interact with other entities. Data (not restricted to video) produced | |
26 | by an entity flows from the entity's output to one or more entity | |
27 | inputs. Pads should not be confused with physical pins at chip | |
28 | boundaries. | |
29 | ||
30 | - A **data link** is a point-to-point oriented connection between two | |
31 | pads, either on the same entity or on different entities. Data flows | |
32 | from a source pad to a sink pad. | |
33 | ||
34 | - An **interface link** is a point-to-point bidirectional control | |
35 | connection between a Linux Kernel interface and an entity.m | |
36 | ||
37 | ||
38 | .. ------------------------------------------------------------------------------ | |
39 | .. This file was automatically converted from DocBook-XML with the dbxml | |
40 | .. library (https://github.com/return42/sphkerneldoc). The origin XML comes | |
41 | .. from the linux kernel, refer to: | |
42 | .. | |
43 | .. * https://github.com/torvalds/linux/tree/master/Documentation/DocBook | |
44 | .. ------------------------------------------------------------------------------ |