Skip to content

Commit eb7cca1

Browse files
committed
Merge tag 'media/v6.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media
Pull media updates from Mauro Carvalho Chehab: - DVB budget legacy API was finally documented. It took only 20+ years to get some documentation about it... - hantro driver has gained support for STM32MP25 VDEC/VENC - rkisp1 has gained support for i.MX8MP - atomisp got rid of two items from its todo list. Still 5 items pending for moving it out of staging - lots of driver fixes, cleanups and improvements * tag 'media/v6.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (252 commits) media: rcar-isp: Disallow unbind of devices media: usbtv: Remove useless locks in usbtv_video_free() media: mediatek: vcodec: avoid -Wcast-function-type-strict warning media: ttpci: fix two memleaks in budget_av_attach media: go7007: fix a memleak in go7007_load_encoder media: dvb-frontends: avoid stack overflow warnings with clang media: pvrusb2: fix uaf in pvr2_context_set_notify media: usb: s2255: Refactor s2255_get_fx2fw media: ti: j721e-csi2rx: Convert to platform remove callback returning void media: stm32-dcmipp: Convert to platform remove callback returning void media: nxp: imx8-isi: Convert to platform remove callback returning void media: nuvoton: Convert to platform remove callback returning void media: chips-media: wave5: Convert to platform remove callback returning void media: chips-media: wave5: Remove unnecessary semicolons media: i2c: imx290: Fix IMX920 typo media: platform: replace of_graph_get_next_endpoint() media: i2c: replace of_graph_get_next_endpoint() media: ivsc: csi: Make use of sub-device state media: ivsc: csi: Swap SINK and SOURCE pads media: ipu-bridge: Serialise calls to IPU bridge init ...
2 parents c442a42 + b14257a commit eb7cca1

File tree

257 files changed

+10978
-3696
lines changed

Some content is hidden

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

257 files changed

+10978
-3696
lines changed

Documentation/admin-guide/media/visl.rst

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,10 @@ Module parameters
4949
visl_dprintk_frame_start, visl_dprintk_nframes, but controls the dumping of
5050
buffer data through debugfs instead.
5151

52+
- tpg_verbose: Write extra information on each output frame to ease debugging
53+
the API. When set to true, the output frames are not stable for a given input
54+
as some information like pointers or queue status will be added to them.
55+
5256
What is the default use case for this driver?
5357
---------------------------------------------
5458

@@ -57,8 +61,12 @@ This assumes that a working client is run against visl and that the ftrace and
5761
OUTPUT buffer data is subsequently used to debug a work-in-progress
5862
implementation.
5963

60-
Information on reference frames, their timestamps, the status of the OUTPUT and
61-
CAPTURE queues and more can be read directly from the CAPTURE buffers.
64+
Even though no video decoding is actually done, the output frames can be used
65+
against a reference for a given input, except if tpg_verbose is set to true.
66+
67+
Depending on the tpg_verbose parameter value, information on reference frames,
68+
their timestamps, the status of the OUTPUT and CAPTURE queues and more can be
69+
read directly from the CAPTURE buffers.
6270

6371
Supported codecs
6472
----------------

Documentation/admin-guide/media/vivid.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ all configurable using the following module options:
6060
- node_types:
6161

6262
which devices should each driver instance create. An array of
63-
hexadecimal values, one for each instance. The default is 0x1d3d.
63+
hexadecimal values, one for each instance. The default is 0xe1d3d.
6464
Each value is a bitmask with the following meaning:
6565

6666
- bit 0: Video Capture node

Documentation/devicetree/bindings/media/i2c/techwell,tw9900.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ properties:
3636

3737
properties:
3838
port@0:
39-
$ref: /schemas/graph.yaml#/$defs/port-base
39+
$ref: /schemas/graph.yaml#/properties/port
4040
description: Analog input port
4141

4242
properties:

Documentation/devicetree/bindings/media/rockchip-isp1.yaml

Lines changed: 31 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ description: |
1616
properties:
1717
compatible:
1818
enum:
19+
- fsl,imx8mp-isp
1920
- rockchip,px30-cif-isp
2021
- rockchip,rk3399-cif-isp
2122

@@ -36,9 +37,9 @@ properties:
3637
minItems: 3
3738
items:
3839
# isp0 and isp1
39-
- description: ISP clock
40-
- description: ISP AXI clock
41-
- description: ISP AHB clock
40+
- description: ISP clock (for imx8mp, clk)
41+
- description: ISP AXI clock (for imx8mp, m_hclk)
42+
- description: ISP AHB clock (for imx8mp, hclk)
4243
# only for isp1
4344
- description: ISP Pixel clock
4445

@@ -52,6 +53,13 @@ properties:
5253
# only for isp1
5354
- const: pclk
5455

56+
fsl,blk-ctrl:
57+
$ref: /schemas/types.yaml#/definitions/phandle-array
58+
maxItems: 1
59+
description:
60+
A phandle to the media block control for the ISP, followed by a cell
61+
containing the index of the gasket.
62+
5563
iommus:
5664
maxItems: 1
5765

@@ -113,9 +121,6 @@ required:
113121
- interrupts
114122
- clocks
115123
- clock-names
116-
- iommus
117-
- phys
118-
- phy-names
119124
- power-domains
120125
- ports
121126

@@ -143,6 +148,26 @@ allOf:
143148
required:
144149
- interrupt-names
145150

151+
- if:
152+
properties:
153+
compatible:
154+
contains:
155+
const: fsl,imx8mp-isp
156+
then:
157+
properties:
158+
iommus: false
159+
phys: false
160+
phy-names: false
161+
required:
162+
- fsl,blk-ctrl
163+
else:
164+
properties:
165+
fsl,blk-ctrl: false
166+
required:
167+
- iommus
168+
- phys
169+
- phy-names
170+
146171
additionalProperties: false
147172

148173
examples:
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/media/st,stm32mp25-video-codec.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: STMicroelectronics STM32MP25 VDEC video decoder & VENC video encoder
8+
9+
maintainers:
10+
- Hugues Fruchet <hugues.fruchet@foss.st.com>
11+
12+
description:
13+
The STMicroelectronics STM32MP25 SOCs embeds a VDEC video hardware
14+
decoder peripheral based on Verisilicon VC8000NanoD IP (former Hantro G1)
15+
and a VENC video hardware encoder peripheral based on Verisilicon
16+
VC8000NanoE IP (former Hantro H1).
17+
18+
properties:
19+
compatible:
20+
enum:
21+
- st,stm32mp25-vdec
22+
- st,stm32mp25-venc
23+
24+
reg:
25+
maxItems: 1
26+
27+
interrupts:
28+
maxItems: 1
29+
30+
clocks:
31+
maxItems: 1
32+
33+
required:
34+
- compatible
35+
- reg
36+
- interrupts
37+
- clocks
38+
39+
additionalProperties: false
40+
41+
examples:
42+
- |
43+
#include <dt-bindings/interrupt-controller/arm-gic.h>
44+
video-codec@580d0000 {
45+
compatible = "st,stm32mp25-vdec";
46+
reg = <0x580d0000 0x3c8>;
47+
interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
48+
clocks = <&ck_icn_p_vdec>;
49+
};

Documentation/driver-api/media/drivers/ccs/ccs.rst

Lines changed: 5 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -2,59 +2,16 @@
22
33
.. include:: <isonum.txt>
44

5+
.. _media-ccs-driver:
6+
57
MIPI CCS camera sensor driver
68
=============================
79

810
The MIPI CCS camera sensor driver is a generic driver for `MIPI CCS
911
<https://www.mipi.org/specifications/camera-command-set>`_ compliant
10-
camera sensors. It exposes three sub-devices representing the pixel array,
11-
the binner and the scaler.
12-
13-
As the capabilities of individual devices vary, the driver exposes
14-
interfaces based on the capabilities that exist in hardware.
15-
16-
Pixel Array sub-device
17-
----------------------
18-
19-
The pixel array sub-device represents the camera sensor's pixel matrix, as well
20-
as analogue crop functionality present in many compliant devices. The analogue
21-
crop is configured using the ``V4L2_SEL_TGT_CROP`` on the source pad (0) of the
22-
entity. The size of the pixel matrix can be obtained by getting the
23-
``V4L2_SEL_TGT_NATIVE_SIZE`` target.
24-
25-
Binner
26-
------
27-
28-
The binner sub-device represents the binning functionality on the sensor. For
29-
that purpose, selection target ``V4L2_SEL_TGT_COMPOSE`` is supported on the
30-
sink pad (0).
31-
32-
Additionally, if a device has no scaler or digital crop functionality, the
33-
source pad (1) exposes another digital crop selection rectangle that can only
34-
crop at the end of the lines and frames.
35-
36-
Scaler
37-
------
38-
39-
The scaler sub-device represents the digital crop and scaling functionality of
40-
the sensor. The V4L2 selection target ``V4L2_SEL_TGT_CROP`` is used to
41-
configure the digital crop on the sink pad (0) when digital crop is supported.
42-
Scaling is configured using selection target ``V4L2_SEL_TGT_COMPOSE`` on the
43-
sink pad (0) as well.
44-
45-
Additionally, if the scaler sub-device exists, its source pad (1) exposes
46-
another digital crop selection rectangle that can only crop at the end of the
47-
lines and frames.
48-
49-
Digital and analogue crop
50-
-------------------------
51-
52-
Digital crop functionality is referred to as cropping that effectively works by
53-
dropping some data on the floor. Analogue crop, on the other hand, means that
54-
the cropped information is never retrieved. In case of camera sensors, the
55-
analogue data is never read from the pixel matrix that are outside the
56-
configured selection rectangle that designates crop. The difference has an
57-
effect in device timing and likely also in power consumption.
12+
camera sensors.
13+
14+
Also see :ref:`the CCS driver UAPI documentation <media-ccs-uapi>`.
5815

5916
CCS static data
6017
---------------

Documentation/driver-api/media/v4l2-subdev.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,7 @@ Asynchronous sub-device notifier for sub-devices
229229
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
230230

231231
A driver that registers an asynchronous sub-device may also register an
232-
asynchronous notifier. This is called an asynchronous sub-device notifier andthe
232+
asynchronous notifier. This is called an asynchronous sub-device notifier and the
233233
process is similar to that of a bridge driver apart from that the notifier is
234234
initialised using :c:func:`v4l2_async_subdev_nf_init` instead. A sub-device
235235
notifier may complete only after the V4L2 device becomes available, i.e. there's

Documentation/userspace-api/media/drivers/ccs.rst

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
33
.. include:: <isonum.txt>
44

5+
.. _media-ccs-uapi:
6+
57
MIPI CCS camera sensor driver
68
=============================
79

@@ -13,6 +15,8 @@ the binner and the scaler.
1315
As the capabilities of individual devices vary, the driver exposes
1416
interfaces based on the capabilities that exist in hardware.
1517

18+
Also see :ref:`the CCS driver kernel documentation <media-ccs-driver>`.
19+
1620
Pixel Array sub-device
1721
----------------------
1822

@@ -30,7 +34,7 @@ that purpose, selection target ``V4L2_SEL_TGT_COMPOSE`` is supported on the
3034
sink pad (0).
3135

3236
Additionally, if a device has no scaler or digital crop functionality, the
33-
source pad (1) expses another digital crop selection rectangle that can only
37+
source pad (1) exposes another digital crop selection rectangle that can only
3438
crop at the end of the lines and frames.
3539

3640
Scaler

Documentation/userspace-api/media/dvb/legacy_dvb_apis.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,3 +23,4 @@ DVB-S2, DVB-T2, ISDB, etc.
2323
:maxdepth: 1
2424

2525
frontend_legacy_dvbv3_api
26+
legacy_dvb_decoder_api

0 commit comments

Comments
 (0)