Skip to content

Commit 3db4854

Browse files
authored
Merge branch 'rpi-6.6.y' into rpi-6.6.y-imx477
2 parents 2bafdbc + d6a3a3f commit 3db4854

File tree

3,238 files changed

+52031
-26306
lines changed

Some content is hidden

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

3,238 files changed

+52031
-26306
lines changed

.github/workflows/kernel-build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ on:
1212
workflow_dispatch:
1313

1414
env:
15-
NUM_JOBS: 3
15+
NUM_JOBS: 6
1616

1717
jobs:
1818
build:

Documentation/ABI/stable/sysfs-block

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,16 @@ Description:
101101
devices that support receiving integrity metadata.
102102

103103

104+
What: /sys/block/<disk>/partscan
105+
Date: May 2024
106+
Contact: Christoph Hellwig <[email protected]>
107+
Description:
108+
The /sys/block/<disk>/partscan files reports if partition
109+
scanning is enabled for the disk. It returns "1" if partition
110+
scanning is enabled, or "0" if not. The value type is a 32-bit
111+
unsigned integer, but only "0" and "1" are valid values.
112+
113+
104114
What: /sys/block/<disk>/<partition>/alignment_offset
105115
Date: April 2009
106116
Contact: Martin K. Petersen <[email protected]>

Documentation/ABI/testing/sysfs-devices-system-cpu

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -565,7 +565,8 @@ Description: Control Symmetric Multi Threading (SMT)
565565
================ =========================================
566566

567567
If control status is "forceoff" or "notsupported" writes
568-
are rejected.
568+
are rejected. Note that enabling SMT on PowerPC skips
569+
offline cores.
569570

570571
What: /sys/devices/system/cpu/cpuX/power/energy_perf_bias
571572
Date: March 2019

Documentation/admin-guide/cifs/usage.rst

Lines changed: 11 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -722,40 +722,26 @@ Configuration pseudo-files:
722722
======================= =======================================================
723723
SecurityFlags Flags which control security negotiation and
724724
also packet signing. Authentication (may/must)
725-
flags (e.g. for NTLM and/or NTLMv2) may be combined with
725+
flags (e.g. for NTLMv2) may be combined with
726726
the signing flags. Specifying two different password
727727
hashing mechanisms (as "must use") on the other hand
728728
does not make much sense. Default flags are::
729729

730-
0x07007
731-
732-
(NTLM, NTLMv2 and packet signing allowed). The maximum
733-
allowable flags if you want to allow mounts to servers
734-
using weaker password hashes is 0x37037 (lanman,
735-
plaintext, ntlm, ntlmv2, signing allowed). Some
736-
SecurityFlags require the corresponding menuconfig
737-
options to be enabled. Enabling plaintext
738-
authentication currently requires also enabling
739-
lanman authentication in the security flags
740-
because the cifs module only supports sending
741-
laintext passwords using the older lanman dialect
742-
form of the session setup SMB. (e.g. for authentication
743-
using plain text passwords, set the SecurityFlags
744-
to 0x30030)::
730+
0x00C5
731+
732+
(NTLMv2 and packet signing allowed). Some SecurityFlags
733+
may require enabling a corresponding menuconfig option.
745734

746735
may use packet signing 0x00001
747736
must use packet signing 0x01001
748-
may use NTLM (most common password hash) 0x00002
749-
must use NTLM 0x02002
750737
may use NTLMv2 0x00004
751738
must use NTLMv2 0x04004
752-
may use Kerberos security 0x00008
753-
must use Kerberos 0x08008
754-
may use lanman (weak) password hash 0x00010
755-
must use lanman password hash 0x10010
756-
may use plaintext passwords 0x00020
757-
must use plaintext passwords 0x20020
758-
(reserved for future packet encryption) 0x00040
739+
may use Kerberos security (krb5) 0x00008
740+
must use Kerberos 0x08008
741+
may use NTLMSSP 0x00080
742+
must use NTLMSSP 0x80080
743+
seal (packet encryption) 0x00040
744+
must seal 0x40040
759745

760746
cifsFYI If set to non-zero value, additional debug information
761747
will be logged to the system error log. This field

Documentation/admin-guide/hw-vuln/core-scheduling.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,8 @@ arg4:
6767
will be performed for all tasks in the task group of ``pid``.
6868

6969
arg5:
70-
userspace pointer to an unsigned long for storing the cookie returned by
71-
``PR_SCHED_CORE_GET`` command. Should be 0 for all other commands.
70+
userspace pointer to an unsigned long long for storing the cookie returned
71+
by ``PR_SCHED_CORE_GET`` command. Should be 0 for all other commands.
7272

7373
In order for a process to push a cookie to, or pull a cookie from a process, it
7474
is required to have the ptrace access mode: `PTRACE_MODE_READ_REALCREDS` to the

Documentation/admin-guide/kernel-parameters.txt

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -664,12 +664,6 @@
664664
loops can be debugged more effectively on production
665665
systems.
666666

667-
clocksource.max_cswd_read_retries= [KNL]
668-
Number of clocksource_watchdog() retries due to
669-
external delays before the clock will be marked
670-
unstable. Defaults to two retries, that is,
671-
three attempts to read the clock under test.
672-
673667
clocksource.verify_n_cpus= [KNL]
674668
Limit the number of CPUs checked for clocksources
675669
marked with CLOCK_SOURCE_VERIFY_PERCPU that
@@ -3323,6 +3317,9 @@
33233317
arch-independent options, each of which is an
33243318
aggregation of existing arch-specific options.
33253319

3320+
Note, "mitigations" is supported if and only if the
3321+
kernel was built with CPU_MITIGATIONS=y.
3322+
33263323
off
33273324
Disable all optional CPU mitigations. This
33283325
improves system performance, but it may also
@@ -4652,11 +4649,9 @@
46524649

46534650
profile= [KNL] Enable kernel profiling via /proc/profile
46544651
Format: [<profiletype>,]<number>
4655-
Param: <profiletype>: "schedule", "sleep", or "kvm"
4652+
Param: <profiletype>: "schedule" or "kvm"
46564653
[defaults to kernel profiling]
46574654
Param: "schedule" - profile schedule points.
4658-
Param: "sleep" - profile D-state sleeping (millisecs).
4659-
Requires CONFIG_SCHEDSTATS
46604655
Param: "kvm" - profile VM exits.
46614656
Param: <number> - step/bucket size as a power of 2 for
46624657
statistical time based profiling.
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
digraph board {
2+
rankdir=TB
3+
n00000001 [label="{{<port0> 0 | <port1> 1 | <port2> 2 | <port7> 7} | pispbe\n | {<port3> 3 | <port4> 4 | <port5> 5 | <port6> 6}}", shape=Mrecord, style=filled, fillcolor=green]
4+
n00000001:port3 -> n0000001c [style=bold]
5+
n00000001:port4 -> n00000022 [style=bold]
6+
n00000001:port5 -> n00000028 [style=bold]
7+
n00000001:port6 -> n0000002e [style=bold]
8+
n0000000a [label="pispbe-input\n/dev/video0", shape=box, style=filled, fillcolor=yellow]
9+
n0000000a -> n00000001:port0 [style=bold]
10+
n00000010 [label="pispbe-tdn_input\n/dev/video1", shape=box, style=filled, fillcolor=yellow]
11+
n00000010 -> n00000001:port1 [style=bold]
12+
n00000016 [label="pispbe-stitch_input\n/dev/video2", shape=box, style=filled, fillcolor=yellow]
13+
n00000016 -> n00000001:port2 [style=bold]
14+
n0000001c [label="pispbe-output0\n/dev/video3", shape=box, style=filled, fillcolor=yellow]
15+
n00000022 [label="pispbe-output1\n/dev/video4", shape=box, style=filled, fillcolor=yellow]
16+
n00000028 [label="pispbe-tdn_output\n/dev/video5", shape=box, style=filled, fillcolor=yellow]
17+
n0000002e [label="pispbe-stitch_output\n/dev/video6", shape=box, style=filled, fillcolor=yellow]
18+
n00000034 [label="pispbe-config\n/dev/video7", shape=box, style=filled, fillcolor=yellow]
19+
n00000034 -> n00000001:port7 [style=bold]
20+
}
Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
.. SPDX-License-Identifier: GPL-2.0
2+
3+
=========================================================
4+
Raspberry Pi PiSP Back End Memory-to-Memory ISP (pisp-be)
5+
=========================================================
6+
7+
The PiSP Back End
8+
=================
9+
10+
The PiSP Back End is a memory-to-memory Image Signal Processor (ISP) which reads
11+
image data from DRAM memory and performs image processing as specified by the
12+
application through the parameters in a configuration buffer, before writing
13+
pixel data back to memory through two distinct output channels.
14+
15+
The ISP registers and programming model are documented in the `Raspberry Pi
16+
Image Signal Processor (PiSP) Specification document`_
17+
18+
The PiSP Back End ISP processes images in tiles. The handling of image
19+
tessellation and the computation of low-level configuration parameters is
20+
realized by a free software library called `libpisp
21+
<https://github.com/raspberrypi/libpisp>`_.
22+
23+
The full image processing pipeline, which involves capturing RAW Bayer data from
24+
an image sensor through a MIPI CSI-2 compatible capture interface, storing them
25+
in DRAM memory and processing them in the PiSP Back End to obtain images usable
26+
by an application is implemented in `libcamera <https://libcamera.org>`_ as
27+
part of the Raspberry Pi platform support.
28+
29+
The pisp-be driver
30+
==================
31+
32+
The Raspberry Pi PiSP Back End (pisp-be) driver is located under
33+
drivers/media/platform/raspberrypi/pisp-be. It uses the `V4L2 API` to register
34+
a number of video capture and output devices, the `V4L2 subdev API` to register
35+
a subdevice for the ISP that connects the video devices in a single media graph
36+
realized using the `Media Controller (MC) API`.
37+
38+
The media topology registered by the `pisp-be` driver is represented below:
39+
40+
.. _pips-be-topology:
41+
42+
.. kernel-figure:: raspberrypi-pisp-be.dot
43+
:alt: Diagram of the default media pipeline topology
44+
:align: center
45+
46+
47+
The media graph registers the following video device nodes:
48+
49+
- pispbe-input: output device for images to be submitted to the ISP for
50+
processing.
51+
- pispbe-tdn_input: output device for temporal denoise.
52+
- pispbe-stitch_input: output device for image stitching (HDR).
53+
- pispbe-output0: first capture device for processed images.
54+
- pispbe-output1: second capture device for processed images.
55+
- pispbe-tdn_output: capture device for temporal denoise.
56+
- pispbe-stitch_output: capture device for image stitching (HDR).
57+
- pispbe-config: output device for ISP configuration parameters.
58+
59+
pispbe-input
60+
------------
61+
62+
Images to be processed by the ISP are queued to the `pispbe-input` output device
63+
node. For a list of image formats supported as input to the ISP refer to the
64+
`Raspberry Pi Image Signal Processor (PiSP) Specification document`_.
65+
66+
pispbe-tdn_input, pispbe-tdn_output
67+
-----------------------------------
68+
69+
The `pispbe-tdn_input` output video device receives images to be processed by
70+
the temporal denoise block which are captured from the `pispbe-tdn_output`
71+
capture video device. Userspace is responsible for maintaining queues on both
72+
devices, and ensuring that buffers completed on the output are queued to the
73+
input.
74+
75+
pispbe-stitch_input, pispbe-stitch_output
76+
-----------------------------------------
77+
78+
To realize HDR (high dynamic range) image processing the image stitching and
79+
tonemapping blocks are used. The `pispbe-stitch_output` writes images to memory
80+
and the `pispbe-stitch_input` receives the previously written frame to process
81+
it along with the current input image. Userspace is responsible for maintaining
82+
queues on both devices, and ensuring that buffers completed on the output are
83+
queued to the input.
84+
85+
pispbe-output0, pispbe-output1
86+
------------------------------
87+
88+
The two capture devices write to memory the pixel data as processed by the ISP.
89+
90+
pispbe-config
91+
-------------
92+
93+
The `pispbe-config` output video devices receives a buffer of configuration
94+
parameters that define the desired image processing to be performed by the ISP.
95+
96+
The format of the ISP configuration parameter is defined by
97+
:c:type:`pisp_be_tiles_config` C structure and the meaning of each parameter is
98+
described in the `Raspberry Pi Image Signal Processor (PiSP) Specification
99+
document`_.
100+
101+
ISP configuration
102+
=================
103+
104+
The ISP configuration is described solely by the content of the parameters
105+
buffer. The only parameter that userspace needs to configure using the V4L2 API
106+
is the image format on the output and capture video devices for validation of
107+
the content of the parameters buffer.
108+
109+
.. _Raspberry Pi Image Signal Processor (PiSP) Specification document: https://datasheets.raspberrypi.com/camera/raspberry-pi-image-signal-processor-specification.pdf

Documentation/admin-guide/media/v4l-drivers.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ Video4Linux (V4L) driver-specific documentation
2121
omap4_camera
2222
philips
2323
qcom_camss
24+
raspberrypi-pisp-be
2425
rcar-fdp1
2526
rkisp1
2627
saa7134

Documentation/admin-guide/mm/damon/usage.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -389,7 +389,7 @@ pages of all memory cgroups except ``/having_care_already``.::
389389
# # further filter out all cgroups except one at '/having_care_already'
390390
echo memcg > 1/type
391391
echo /having_care_already > 1/memcg_path
392-
echo N > 1/matching
392+
echo Y > 1/matching
393393

394394
Note that ``anon`` and ``memcg`` filters are currently supported only when
395395
``paddr`` `implementation <sysfs_contexts>` is being used.

Documentation/arch/arm64/silicon-errata.rst

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,32 +119,68 @@ stable kernels.
119119
+----------------+-----------------+-----------------+-----------------------------+
120120
| ARM | Cortex-A76 | #1463225 | ARM64_ERRATUM_1463225 |
121121
+----------------+-----------------+-----------------+-----------------------------+
122+
| ARM | Cortex-A76 | #3324349 | ARM64_ERRATUM_3194386 |
123+
+----------------+-----------------+-----------------+-----------------------------+
122124
| ARM | Cortex-A77 | #1508412 | ARM64_ERRATUM_1508412 |
123125
+----------------+-----------------+-----------------+-----------------------------+
126+
| ARM | Cortex-A77 | #3324348 | ARM64_ERRATUM_3194386 |
127+
+----------------+-----------------+-----------------+-----------------------------+
128+
| ARM | Cortex-A78 | #3324344 | ARM64_ERRATUM_3194386 |
129+
+----------------+-----------------+-----------------+-----------------------------+
130+
| ARM | Cortex-A78C | #3324346,3324347| ARM64_ERRATUM_3194386 |
131+
+----------------+-----------------+-----------------+-----------------------------+
124132
| ARM | Cortex-A710 | #2119858 | ARM64_ERRATUM_2119858 |
125133
+----------------+-----------------+-----------------+-----------------------------+
126134
| ARM | Cortex-A710 | #2054223 | ARM64_ERRATUM_2054223 |
127135
+----------------+-----------------+-----------------+-----------------------------+
128136
| ARM | Cortex-A710 | #2224489 | ARM64_ERRATUM_2224489 |
129137
+----------------+-----------------+-----------------+-----------------------------+
138+
| ARM | Cortex-A710 | #3324338 | ARM64_ERRATUM_3194386 |
139+
+----------------+-----------------+-----------------+-----------------------------+
130140
| ARM | Cortex-A715 | #2645198 | ARM64_ERRATUM_2645198 |
131141
+----------------+-----------------+-----------------+-----------------------------+
142+
| ARM | Cortex-A720 | #3456091 | ARM64_ERRATUM_3194386 |
143+
+----------------+-----------------+-----------------+-----------------------------+
144+
| ARM | Cortex-A725 | #3456106 | ARM64_ERRATUM_3194386 |
145+
+----------------+-----------------+-----------------+-----------------------------+
146+
| ARM | Cortex-X1 | #3324344 | ARM64_ERRATUM_3194386 |
147+
+----------------+-----------------+-----------------+-----------------------------+
148+
| ARM | Cortex-X1C | #3324346 | ARM64_ERRATUM_3194386 |
149+
+----------------+-----------------+-----------------+-----------------------------+
132150
| ARM | Cortex-X2 | #2119858 | ARM64_ERRATUM_2119858 |
133151
+----------------+-----------------+-----------------+-----------------------------+
134152
| ARM | Cortex-X2 | #2224489 | ARM64_ERRATUM_2224489 |
135153
+----------------+-----------------+-----------------+-----------------------------+
154+
| ARM | Cortex-X2 | #3324338 | ARM64_ERRATUM_3194386 |
155+
+----------------+-----------------+-----------------+-----------------------------+
156+
| ARM | Cortex-X3 | #3324335 | ARM64_ERRATUM_3194386 |
157+
+----------------+-----------------+-----------------+-----------------------------+
158+
| ARM | Cortex-X4 | #3194386 | ARM64_ERRATUM_3194386 |
159+
+----------------+-----------------+-----------------+-----------------------------+
160+
| ARM | Cortex-X925 | #3324334 | ARM64_ERRATUM_3194386 |
161+
+----------------+-----------------+-----------------+-----------------------------+
136162
| ARM | Neoverse-N1 | #1188873,1418040| ARM64_ERRATUM_1418040 |
137163
+----------------+-----------------+-----------------+-----------------------------+
138164
| ARM | Neoverse-N1 | #1349291 | N/A |
139165
+----------------+-----------------+-----------------+-----------------------------+
140166
| ARM | Neoverse-N1 | #1542419 | ARM64_ERRATUM_1542419 |
141167
+----------------+-----------------+-----------------+-----------------------------+
168+
| ARM | Neoverse-N1 | #3324349 | ARM64_ERRATUM_3194386 |
169+
+----------------+-----------------+-----------------+-----------------------------+
142170
| ARM | Neoverse-N2 | #2139208 | ARM64_ERRATUM_2139208 |
143171
+----------------+-----------------+-----------------+-----------------------------+
144172
| ARM | Neoverse-N2 | #2067961 | ARM64_ERRATUM_2067961 |
145173
+----------------+-----------------+-----------------+-----------------------------+
146174
| ARM | Neoverse-N2 | #2253138 | ARM64_ERRATUM_2253138 |
147175
+----------------+-----------------+-----------------+-----------------------------+
176+
| ARM | Neoverse-N2 | #3324339 | ARM64_ERRATUM_3194386 |
177+
+----------------+-----------------+-----------------+-----------------------------+
178+
| ARM | Neoverse-V1 | #3324341 | ARM64_ERRATUM_3194386 |
179+
+----------------+-----------------+-----------------+-----------------------------+
180+
| ARM | Neoverse-V2 | #3324336 | ARM64_ERRATUM_3194386 |
181+
+----------------+-----------------+-----------------+-----------------------------+
182+
| ARM | Neoverse-V3 | #3312417 | ARM64_ERRATUM_3194386 |
183+
+----------------+-----------------+-----------------+-----------------------------+
148184
| ARM | MMU-500 | #841119,826419 | N/A |
149185
+----------------+-----------------+-----------------+-----------------------------+
150186
| ARM | MMU-600 | #1076982,1209401| N/A |

Documentation/bpf/map_lpm_trie.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ significant byte.
1717

1818
LPM tries may be created with a maximum prefix length that is a multiple
1919
of 8, in the range from 8 to 2048. The key used for lookup and update
20-
operations is a ``struct bpf_lpm_trie_key``, extended by
20+
operations is a ``struct bpf_lpm_trie_key_u8``, extended by
2121
``max_prefixlen/8`` bytes.
2222

2323
- For IPv4 addresses the data length is 4 bytes

Documentation/cdrom/cdrom-standard.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -217,7 +217,7 @@ current *struct* is::
217217
int (*media_changed)(struct cdrom_device_info *, int);
218218
int (*tray_move)(struct cdrom_device_info *, int);
219219
int (*lock_door)(struct cdrom_device_info *, int);
220-
int (*select_speed)(struct cdrom_device_info *, int);
220+
int (*select_speed)(struct cdrom_device_info *, unsigned long);
221221
int (*get_last_session) (struct cdrom_device_info *,
222222
struct cdrom_multisession *);
223223
int (*get_mcn)(struct cdrom_device_info *, struct cdrom_mcn *);
@@ -396,7 +396,7 @@ action need be taken, and the return value should be 0.
396396

397397
::
398398

399-
int select_speed(struct cdrom_device_info *cdi, int speed)
399+
int select_speed(struct cdrom_device_info *cdi, unsigned long speed)
400400

401401
Some CD-ROM drives are capable of changing their head-speed. There
402402
are several reasons for changing the speed of a CD-ROM drive. Badly

Documentation/devicetree/bindings/dma/fsl,edma.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,8 @@ properties:
4747
- 3
4848

4949
dma-channels:
50-
minItems: 1
51-
maxItems: 64
50+
minimum: 1
51+
maximum: 64
5252

5353
clocks:
5454
minItems: 1

Documentation/devicetree/bindings/i2c/atmel,at91sam-i2c.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ required:
7575
- clocks
7676

7777
allOf:
78-
- $ref: i2c-controller.yaml
78+
- $ref: /schemas/i2c/i2c-controller.yaml#
7979
- if:
8080
properties:
8181
compatible:

0 commit comments

Comments
 (0)