22Display
33#######
44
5- TI SoCs are equipped with Display SubSystem (DSS) hardware to provide hardware
6- acceleration for alpha blending of overlays and color conversion. The DSS
7- hardware is exposed to the software drm API available through `` libdrm `` module.
8- Through this drm interface, a user space program can perform *mode setting * of
9- the display.
5+ TI SoCs with Display Sub-System (DSS) hardware offer hardware acceleration for
6+ alpha blending of overlays and color conversion. The `` libdrm `` module exposes
7+ DSS hardware through the software Direct Render Management (DRM) API. Through
8+ this DRM interface, a user space program can perform *mode setting * of the
9+ display.
1010
11- The drm module models the display hardware as a series of abstract hardware
11+ The DRM module models the display hardware as a series of abstract hardware
1212blocks and manages them through the API. The blocks are:
1313
1414 - CRTC\ [#f1 ]_\: represents a scanout engine that generates video timing
1515 signal from the data pointed to by the scanout buffer
1616
17- - Connector: represents where the video timing signal is sent across to the
18- display
17+ - Connector: represents where the video timing signal goes and how it gets
18+ there
1919
20- - Encoder: transforms the video timing signal from CRTC to a format that is
21- suitable for sending across the connector
20+ - Encoder: transforms the video timing signal from the CRTC to a format that
21+ is suitable for sending to the connector
2222
23- - Plane: represents the overlay buffer that a CRTC can be fed with
23+ - Plane: represents the overlay buffer that will feed a CRTC
2424
25- A utility application ``modetest `` can be used to get the list of available drm
26- blocks. All the information available for the device can be displayed by using
27- it.
25+ The list of available DRM blocks is viewable using the application
26+ :command: `modetest `.
2827
2928.. ifconfig :: CONFIG_image_type in ('adas')
3029
3736 linux-dtbs and install. Also need to disable Display in r5f, rebuild
3837 r5f FW using PSDK RTOS.
3938
40- ********************
41- Finding Connector ID
42- ********************
39+ .. _finding_the_connector_id :
4340
44- Run the below ``modetest `` command:
41+ ************************
42+ Finding the connector ID
43+ ************************
44+
45+ Run the following ``modetest `` command:
4546
4647.. ifconfig :: CONFIG_part_family in ('General_family', 'AM335X_family', 'AM437X_family')
4748
@@ -55,8 +56,8 @@ Run the below ``modetest`` command:
5556
5657 # modetest -M tidss -c
5758
58- Look for the display device for which the connector ID is required -
59- such as HDMI, LCD etc .
59+ Look for the required display device's connector ID - such as High-Definition
60+ Multimedia Interface ( HDMI), DisplayPort (DP), and so on .
6061
6162.. code-block :: text
6263
@@ -75,9 +76,9 @@ such as HDMI, LCD etc.
7576 The modes displayed are the various resolutions supported by the connected
7677display.
7778
78- ****************
79- Finding Plane ID
80- ****************
79+ ********************
80+ Finding the plane ID
81+ ********************
8182
8283To find the Plane ID, run the ``modetest `` command:
8384
@@ -93,7 +94,7 @@ To find the Plane ID, run the ``modetest`` command:
9394
9495 # modetest -M tidss -p
9596
96- Which should show something like below :
97+ Which should show something similar to the following :
9798
9899.. code-block :: text
99100
@@ -108,43 +109,44 @@ Which should show something like below:
108109 props:
109110 ...
110111
111- *******************************
112- Using Connector ID and Plane ID
113- *******************************
112+ ***********************************
113+ Using the connector ID and plane ID
114+ ***********************************
114115
115- The above information may be used with some userspace applications to control
116- which displays are rendered to. These applications are using what is known as
117- kernel mode setting (kms). For more information about kernel mode setting see
118- the `upstream kms documentation `_. In this section you only need to keep 2
119- things in mind:
116+ The earlier information is useful when attempting to select what display to
117+ render to. Some user space applications have command line switches to easily
118+ show this. These applications are using Kernel Mode Setting (KMS). For more
119+ information about KMS see the `upstream kms documentation `_. For now, you only
120+ need to keep 2 things in mind:
120121
121- #. Applications that intend to interact with the kms interface usually don't
122- need any user input. They can query device info through the interface and
123- will normally pick the first connected display automatically.
122+ #. Applications that intend to interact with the KMS interface usually do not
123+ need any user input. They can query device info through the interface
124+ and will normally pick the first connected display automatically.
124125
125- #. Only one application can manage the kms interface at a time. Weston is
126- normally the first graphical application started out of the box and as
127- such it will prevent you from starting any other kms applications. See
128- :ref: `stopping-weston ` if you want to use another kms application.
126+ #. Only one application can manage the KMS interface at a time. Weston is
127+ normally the first graphical application started by default and as such
128+ it will prevent you from starting any other KMS applications. See
129+ :ref: `stopping-weston ` if you want to use another KMS application.
129130
130131.. _upstream kms documentation : https://www.kernel.org/doc/html/latest/gpu/drm-kms.html
131132
132- That being said, if you wish to change rendering behavior for an application
133- check with that applications documentation for a way to specify connector,
134- plane, and / or crtc information. One kms application we include is ``kmscube ``.
135- Below are some examples on how to alter it's default behavior.
133+ If you want to change rendering behavior for an application check with that
134+ applications documentation for a way to specify a connector, plane, and / or
135+ CRTC information. One KMS application we include is :command: `kmscube `. Below
136+ are some examples on how to avoid the default behavior of automatically choosing
137+ a display to render to.
136138
137- Run kmscube on the default display:
139+ Run :command: ` kmscube ` on the default display:
138140
139141.. code-block :: console
140142
141143 # kmscube
142144
143- Run kmscube on the secondary display:
145+ Run :command: ` kmscube ` on the secondary display:
144146
145147.. code-block :: console
146148
147- # kmscube -n <connector-id >
149+ # kmscube -n <connector_id >
148150
149151 For example, if the connector id for the secondary display is 16:
150152
@@ -154,7 +156,7 @@ For example, if the connector id for the secondary display is 16:
154156
155157 .. [#f1 ]
156158
157- CRTC stands for cathode-ray tube controller , a throw back to the old
159+ CRTC stands for Cathode-Ray Tube Controller , a throw back to the old
158160 `cathode-ray tubes TV's <https://en.wikipedia.org/wiki/Cathode-ray_tube >`_
159161 which had a controller that generated video timings based on the data it is
160- being fed by a buffer.
162+ receiving from a buffer.
0 commit comments