Skip to content

Commit 0041ee4

Browse files
committed
Merge branch 'drm/next/du' of git://linuxtv.org/pinchartl/fbdev into drm-next
rcar-du updates. * 'drm/next/du' of git://linuxtv.org/pinchartl/fbdev: (281 commits) drm: rcar-du: Add tri-planar memory formats support drm: rcar-du: Add probe deferral debug messages drm: rcar-du: lvds: Add R-Car Gen3 support drm: rcar-du: lvds: Rename PLLEN bit to PLLON drm: rcar-du: lvds: Fix PLL frequency-related configuration drm: rcar-du: lvds: Avoid duplication of clock clamp code drm: rcar-du: Add R8A7795 device support drm: rcar-du: Output the DISP signal on the ODDF pin drm: rcar-du: Output the DISP signal on the DISP pin drm: rcar-du: Support up to 4 CRTCs drm: rcar-du: Drop LVDS double dependency on OF drm: rcar-du: Enable compilation on ARM64 drm: rcar-du: Fix compile warning on 64-bit platforms drm: rcar-du: Expose the VSP1 compositor through KMS planes drm: rcar-du: Move plane allocator to rcar_du_plane.c drm: rcar-du: Restart the DU group when a plane source changes drm: rcar-du: Add VSP1 compositor support drm: rcar-du: Add VSP1 support to the planes allocator drm: rcar-du: Refactor plane setup drm: rcar-du: Compute plane DDCR4 register value directly ...
2 parents d2eaa59 + 7863ac5 commit 0041ee4

File tree

342 files changed

+10717
-3969
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

342 files changed

+10717
-3969
lines changed

Documentation/DocBook/device-drivers.tmpl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,7 @@ X!Isound/sound_firmware.c
229229
!Iinclude/media/v4l2-dv-timings.h
230230
!Iinclude/media/v4l2-event.h
231231
!Iinclude/media/v4l2-flash-led-class.h
232+
!Iinclude/media/v4l2-mc.h
232233
!Iinclude/media/v4l2-mediabus.h
233234
!Iinclude/media/v4l2-mem2mem.h
234235
!Iinclude/media/v4l2-of.h

Documentation/DocBook/media/v4l/controls.xml

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2329,6 +2329,14 @@ to search and match for the present Macroblock (MB) in the reference picture. Th
23292329
vertical search range for motion estimation module in video encoder.</entry>
23302330
</row>
23312331

2332+
<row><entry></entry></row>
2333+
<row id="v4l2-mpeg-video-force-key-frame">
2334+
<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME</constant>&nbsp;</entry>
2335+
<entry>button</entry>
2336+
</row><row><entry spanname="descr">Force a key frame for the next queued buffer. Applicable to encoders.
2337+
This is a general, codec-agnostic keyframe control.</entry>
2338+
</row>
2339+
23322340
<row><entry></entry></row>
23332341
<row>
23342342
<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_CPB_SIZE</constant>&nbsp;</entry>
@@ -5069,6 +5077,46 @@ interface and may change in the future.</para>
50695077
This control is applicable to VGA, DVI-A/D, HDMI and DisplayPort connectors.
50705078
</entry>
50715079
</row>
5080+
<row>
5081+
<entry spanname="id"><constant>V4L2_CID_DV_TX_IT_CONTENT_TYPE</constant></entry>
5082+
<entry id="v4l2-dv-content-type">enum v4l2_dv_it_content_type</entry>
5083+
</row>
5084+
<row><entry spanname="descr">Configures the IT Content Type
5085+
of the transmitted video. This information is sent over HDMI and DisplayPort connectors
5086+
as part of the AVI InfoFrame. The term 'IT Content' is used for content that originates
5087+
from a computer as opposed to content from a TV broadcast or an analog source. The
5088+
enum&nbsp;v4l2_dv_it_content_type defines the possible content types:</entry>
5089+
</row>
5090+
<row>
5091+
<entrytbl spanname="descr" cols="2">
5092+
<tbody valign="top">
5093+
<row>
5094+
<entry><constant>V4L2_DV_IT_CONTENT_TYPE_GRAPHICS</constant>&nbsp;</entry>
5095+
<entry>Graphics content. Pixel data should be passed unfiltered and without
5096+
analog reconstruction.</entry>
5097+
</row>
5098+
<row>
5099+
<entry><constant>V4L2_DV_IT_CONTENT_TYPE_PHOTO</constant>&nbsp;</entry>
5100+
<entry>Photo content. The content is derived from digital still pictures.
5101+
The content should be passed through with minimal scaling and picture
5102+
enhancements.</entry>
5103+
</row>
5104+
<row>
5105+
<entry><constant>V4L2_DV_IT_CONTENT_TYPE_CINEMA</constant>&nbsp;</entry>
5106+
<entry>Cinema content.</entry>
5107+
</row>
5108+
<row>
5109+
<entry><constant>V4L2_DV_IT_CONTENT_TYPE_GAME</constant>&nbsp;</entry>
5110+
<entry>Game content. Audio and video latency should be minimized.</entry>
5111+
</row>
5112+
<row>
5113+
<entry><constant>V4L2_DV_IT_CONTENT_TYPE_NO_ITC</constant>&nbsp;</entry>
5114+
<entry>No IT Content information is available and the ITC bit in the AVI
5115+
InfoFrame is set to 0.</entry>
5116+
</row>
5117+
</tbody>
5118+
</entrytbl>
5119+
</row>
50725120
<row>
50735121
<entry spanname="id"><constant>V4L2_CID_DV_RX_POWER_PRESENT</constant></entry>
50745122
<entry>bitmask</entry>
@@ -5098,6 +5146,16 @@ interface and may change in the future.</para>
50985146
This control is applicable to VGA, DVI-A/D, HDMI and DisplayPort connectors.
50995147
</entry>
51005148
</row>
5149+
<row>
5150+
<entry spanname="id"><constant>V4L2_CID_DV_RX_IT_CONTENT_TYPE</constant></entry>
5151+
<entry>enum v4l2_dv_it_content_type</entry>
5152+
</row>
5153+
<row><entry spanname="descr">Reads the IT Content Type
5154+
of the received video. This information is sent over HDMI and DisplayPort connectors
5155+
as part of the AVI InfoFrame. The term 'IT Content' is used for content that originates
5156+
from a computer as opposed to content from a TV broadcast or an analog source. See
5157+
<constant>V4L2_CID_DV_TX_IT_CONTENT_TYPE</constant> for the available content types.</entry>
5158+
</row>
51015159
<row><entry></entry></row>
51025160
</tbody>
51035161
</tgroup>

Documentation/DocBook/media/v4l/media-ioc-g-topology.xml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,6 @@
4848

4949
<refsect1>
5050
<title>Description</title>
51-
52-
<para><emphasis role="bold">NOTE:</emphasis> This new ioctl is programmed to be added on Kernel 4.6. Its definition/arguments may change until its final version.</para>
53-
5451
<para>The typical usage of this ioctl is to call it twice.
5552
On the first call, the structure defined at &media-v2-topology; should
5653
be zeroed. At return, if no errors happen, this ioctl will return the

Documentation/DocBook/media/v4l/media-types.xml

Lines changed: 28 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -56,10 +56,6 @@
5656
<entry><constant>MEDIA_ENT_F_CONN_COMPOSITE</constant></entry>
5757
<entry>Connector for a RGB composite signal.</entry>
5858
</row>
59-
<row>
60-
<entry><constant>MEDIA_ENT_F_CONN_TEST</constant></entry>
61-
<entry>Connector for a test generator.</entry>
62-
</row>
6359
<row>
6460
<entry><constant>MEDIA_ENT_F_CAM_SENSOR</constant></entry>
6561
<entry>Camera video sensor entity.</entry>
@@ -84,7 +80,34 @@
8480
</row>
8581
<row>
8682
<entry><constant>MEDIA_ENT_F_TUNER</constant></entry>
87-
<entry>Digital TV, analog TV, radio and/or software radio tuner.</entry>
83+
<entry>Digital TV, analog TV, radio and/or software radio tuner,
84+
with consists on a PLL tuning stage that converts radio
85+
frequency (RF) signal into an Intermediate Frequency (IF).
86+
Modern tuners have internally IF-PLL decoders for audio
87+
and video, but older models have those stages implemented
88+
on separate entities.
89+
</entry>
90+
</row>
91+
<row>
92+
<entry><constant>MEDIA_ENT_F_IF_VID_DECODER</constant></entry>
93+
<entry>IF-PLL video decoder. It receives the IF from a PLL
94+
and decodes the analog TV video signal. This is commonly
95+
found on some very old analog tuners, like Philips MK3
96+
designs. They all contain a tda9887 (or some software
97+
compatible similar chip, like tda9885). Those devices
98+
use a different I2C address than the tuner PLL.
99+
</entry>
100+
</row>
101+
<row>
102+
<entry><constant>MEDIA_ENT_F_IF_AUD_DECODER</constant></entry>
103+
<entry>IF-PLL sound decoder. It receives the IF from a PLL
104+
and decodes the analog TV audio signal. This is commonly
105+
found on some very old analog hardware, like Micronas
106+
msp3400, Philips tda9840, tda985x, etc. Those devices
107+
use a different I2C address than the tuner PLL and
108+
should be controlled together with the IF-PLL video
109+
decoder.
110+
</entry>
88111
</row>
89112
</tbody>
90113
</tgroup>

Documentation/DocBook/media/v4l/pixfmt-yuv420m.xml

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,43 @@
1-
<refentry id="V4L2-PIX-FMT-YUV420M">
1+
<refentry>
22
<refmeta>
3-
<refentrytitle>V4L2_PIX_FMT_YUV420M ('YM12')</refentrytitle>
3+
<refentrytitle>V4L2_PIX_FMT_YUV420M ('YM12'), V4L2_PIX_FMT_YVU420M ('YM21')</refentrytitle>
44
&manvol;
55
</refmeta>
66
<refnamediv>
7-
<refname> <constant>V4L2_PIX_FMT_YUV420M</constant></refname>
8-
<refpurpose>Variation of <constant>V4L2_PIX_FMT_YUV420</constant>
9-
with planes non contiguous in memory. </refpurpose>
7+
<refname id="V4L2-PIX-FMT-YUV420M"><constant>V4L2_PIX_FMT_YUV420M</constant></refname>
8+
<refname id="V4L2-PIX-FMT-YVU420M"><constant>V4L2_PIX_FMT_YVU420M</constant></refname>
9+
<refpurpose>Variation of <constant>V4L2_PIX_FMT_YUV420</constant> and
10+
<constant>V4L2_PIX_FMT_YVU420</constant> with planes non contiguous
11+
in memory.</refpurpose>
1012
</refnamediv>
1113

1214
<refsect1>
1315
<title>Description</title>
1416

1517
<para>This is a multi-planar format, as opposed to a packed format.
16-
The three components are separated into three sub- images or planes.
18+
The three components are separated into three sub-images or planes.</para>
1719

18-
The Y plane is first. The Y plane has one byte per pixel. The Cb data
20+
<para>The Y plane is first. The Y plane has one byte per pixel.
21+
For <constant>V4L2_PIX_FMT_YUV420M</constant> the Cb data
1922
constitutes the second plane which is half the width and half
2023
the height of the Y plane (and of the image). Each Cb belongs to four
2124
pixels, a two-by-two square of the image. For example,
2225
Cb<subscript>0</subscript> belongs to Y'<subscript>00</subscript>,
2326
Y'<subscript>01</subscript>, Y'<subscript>10</subscript>, and
2427
Y'<subscript>11</subscript>. The Cr data, just like the Cb plane, is
25-
in the third plane. </para>
28+
in the third plane.</para>
29+
30+
<para><constant>V4L2_PIX_FMT_YVU420M</constant> is the same except
31+
the Cr data is stored in the second plane and the Cb data in the third plane.
32+
</para>
2633

2734
<para>If the Y plane has pad bytes after each row, then the Cb
2835
and Cr planes have half as many pad bytes after their rows. In other
2936
words, two Cx rows (including padding) is exactly as long as one Y row
3037
(including padding).</para>
3138

32-
<para><constant>V4L2_PIX_FMT_YUV420M</constant> is intended to be
39+
<para><constant>V4L2_PIX_FMT_YUV420M</constant> and
40+
<constant>V4L2_PIX_FMT_YVU420M</constant> are intended to be
3341
used only in drivers and applications that support the multi-planar API,
3442
described in <xref linkend="planar-apis"/>. </para>
3543

Documentation/DocBook/media/v4l/pixfmt-yvu420m.xml renamed to Documentation/DocBook/media/v4l/pixfmt-yuv422m.xml

Lines changed: 59 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,45 @@
1-
<refentry id="V4L2-PIX-FMT-YVU420M">
1+
<refentry>
22
<refmeta>
3-
<refentrytitle>V4L2_PIX_FMT_YVU420M ('YM21')</refentrytitle>
3+
<refentrytitle>V4L2_PIX_FMT_YUV422M ('YM16'), V4L2_PIX_FMT_YVU422M ('YM61')</refentrytitle>
44
&manvol;
55
</refmeta>
66
<refnamediv>
7-
<refname> <constant>V4L2_PIX_FMT_YVU420M</constant></refname>
8-
<refpurpose>Variation of <constant>V4L2_PIX_FMT_YVU420</constant>
9-
with planes non contiguous in memory. </refpurpose>
7+
<refname id="V4L2-PIX-FMT-YUV422M"><constant>V4L2_PIX_FMT_YUV422M</constant></refname>
8+
<refname id="V4L2-PIX-FMT-YVU422M"><constant>V4L2_PIX_FMT_YVU422M</constant></refname>
9+
<refpurpose>Planar formats with &frac12; horizontal resolution, also
10+
known as YUV and YVU 4:2:2</refpurpose>
1011
</refnamediv>
1112

1213
<refsect1>
1314
<title>Description</title>
1415

1516
<para>This is a multi-planar format, as opposed to a packed format.
16-
The three components are separated into three sub-images or planes.
17+
The three components are separated into three sub-images or planes.</para>
1718

18-
The Y plane is first. The Y plane has one byte per pixel. The Cr data
19-
constitutes the second plane which is half the width and half
20-
the height of the Y plane (and of the image). Each Cr belongs to four
21-
pixels, a two-by-two square of the image. For example,
22-
Cr<subscript>0</subscript> belongs to Y'<subscript>00</subscript>,
23-
Y'<subscript>01</subscript>, Y'<subscript>10</subscript>, and
24-
Y'<subscript>11</subscript>. The Cb data, just like the Cr plane, constitutes
25-
the third plane. </para>
19+
<para>The Y plane is first. The Y plane has one byte per pixel.
20+
For <constant>V4L2_PIX_FMT_YUV422M</constant> the Cb data
21+
constitutes the second plane which is half the width of the Y plane (and of the
22+
image). Each Cb belongs to two pixels. For example,
23+
Cb<subscript>0</subscript> belongs to Y'<subscript>00</subscript>,
24+
Y'<subscript>01</subscript>. The Cr data, just like the Cb plane, is
25+
in the third plane. </para>
2626

27-
<para>If the Y plane has pad bytes after each row, then the Cr
28-
and Cb planes have half as many pad bytes after their rows. In other
27+
<para><constant>V4L2_PIX_FMT_YVU422M</constant> is the same except
28+
the Cr data is stored in the second plane and the Cb data in the third plane.
29+
</para>
30+
31+
<para>If the Y plane has pad bytes after each row, then the Cb
32+
and Cr planes have half as many pad bytes after their rows. In other
2933
words, two Cx rows (including padding) is exactly as long as one Y row
3034
(including padding).</para>
3135

32-
<para><constant>V4L2_PIX_FMT_YVU420M</constant> is intended to be
36+
<para><constant>V4L2_PIX_FMT_YUV422M</constant> and
37+
<constant>V4L2_PIX_FMT_YVU422M</constant> are intended to be
3338
used only in drivers and applications that support the multi-planar API,
3439
described in <xref linkend="planar-apis"/>. </para>
3540

3641
<example>
37-
<title><constant>V4L2_PIX_FMT_YVU420M</constant> 4 &times; 4
42+
<title><constant>V4L2_PIX_FMT_YUV422M</constant> 4 &times; 4
3843
pixel image</title>
3944

4045
<formalpara>
@@ -75,24 +80,44 @@ pixel image</title>
7580
<row><entry></entry></row>
7681
<row>
7782
<entry>start1&nbsp;+&nbsp;0:</entry>
78-
<entry>Cr<subscript>00</subscript></entry>
79-
<entry>Cr<subscript>01</subscript></entry>
83+
<entry>Cb<subscript>00</subscript></entry>
84+
<entry>Cb<subscript>01</subscript></entry>
8085
</row>
8186
<row>
8287
<entry>start1&nbsp;+&nbsp;2:</entry>
83-
<entry>Cr<subscript>10</subscript></entry>
84-
<entry>Cr<subscript>11</subscript></entry>
88+
<entry>Cb<subscript>10</subscript></entry>
89+
<entry>Cb<subscript>11</subscript></entry>
90+
</row>
91+
<row>
92+
<entry>start1&nbsp;+&nbsp;4:</entry>
93+
<entry>Cb<subscript>20</subscript></entry>
94+
<entry>Cb<subscript>21</subscript></entry>
95+
</row>
96+
<row>
97+
<entry>start1&nbsp;+&nbsp;6:</entry>
98+
<entry>Cb<subscript>30</subscript></entry>
99+
<entry>Cb<subscript>31</subscript></entry>
85100
</row>
86101
<row><entry></entry></row>
87102
<row>
88103
<entry>start2&nbsp;+&nbsp;0:</entry>
89-
<entry>Cb<subscript>00</subscript></entry>
90-
<entry>Cb<subscript>01</subscript></entry>
104+
<entry>Cr<subscript>00</subscript></entry>
105+
<entry>Cr<subscript>01</subscript></entry>
91106
</row>
92107
<row>
93108
<entry>start2&nbsp;+&nbsp;2:</entry>
94-
<entry>Cb<subscript>10</subscript></entry>
95-
<entry>Cb<subscript>11</subscript></entry>
109+
<entry>Cr<subscript>10</subscript></entry>
110+
<entry>Cr<subscript>11</subscript></entry>
111+
</row>
112+
<row>
113+
<entry>start2&nbsp;+&nbsp;4:</entry>
114+
<entry>Cr<subscript>20</subscript></entry>
115+
<entry>Cr<subscript>21</subscript></entry>
116+
</row>
117+
<row>
118+
<entry>start2&nbsp;+&nbsp;6:</entry>
119+
<entry>Cr<subscript>30</subscript></entry>
120+
<entry>Cr<subscript>31</subscript></entry>
96121
</row>
97122
</tbody>
98123
</tgroup>
@@ -113,36 +138,23 @@ pixel image</title>
113138
</row>
114139
<row>
115140
<entry>0</entry>
116-
<entry>Y</entry><entry></entry><entry>Y</entry><entry></entry>
117-
<entry>Y</entry><entry></entry><entry>Y</entry>
118-
</row>
119-
<row>
120-
<entry></entry>
121-
<entry></entry><entry>C</entry><entry></entry><entry></entry>
122-
<entry></entry><entry>C</entry><entry></entry>
141+
<entry>Y</entry><entry>C</entry><entry>Y</entry><entry></entry>
142+
<entry>Y</entry><entry>C</entry><entry>Y</entry>
123143
</row>
124144
<row>
125145
<entry>1</entry>
126-
<entry>Y</entry><entry></entry><entry>Y</entry><entry></entry>
127-
<entry>Y</entry><entry></entry><entry>Y</entry>
128-
</row>
129-
<row>
130-
<entry></entry>
146+
<entry>Y</entry><entry>C</entry><entry>Y</entry><entry></entry>
147+
<entry>Y</entry><entry>C</entry><entry>Y</entry>
131148
</row>
132149
<row>
133150
<entry>2</entry>
134-
<entry>Y</entry><entry></entry><entry>Y</entry><entry></entry>
135-
<entry>Y</entry><entry></entry><entry>Y</entry>
136-
</row>
137-
<row>
138-
<entry></entry>
139-
<entry></entry><entry>C</entry><entry></entry><entry></entry>
140-
<entry></entry><entry>C</entry><entry></entry>
151+
<entry>Y</entry><entry>C</entry><entry>Y</entry><entry></entry>
152+
<entry>Y</entry><entry>C</entry><entry>Y</entry>
141153
</row>
142154
<row>
143155
<entry>3</entry>
144-
<entry>Y</entry><entry></entry><entry>Y</entry><entry></entry>
145-
<entry>Y</entry><entry></entry><entry>Y</entry>
156+
<entry>Y</entry><entry>C</entry><entry>Y</entry><entry></entry>
157+
<entry>Y</entry><entry>C</entry><entry>Y</entry>
146158
</row>
147159
</tbody>
148160
</tgroup>

0 commit comments

Comments
 (0)