Skip to content

Commit d99768a

Browse files
Automatic merge of 'master' into merge (2026-03-16 17:27)
2 parents 367b51a + 2675947 commit d99768a

372 files changed

Lines changed: 4429 additions & 2468 deletions

File tree

Some content is hidden

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

Documentation/admin-guide/kernel-parameters.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8196,6 +8196,9 @@ Kernel parameters
81968196
p = USB_QUIRK_SHORT_SET_ADDRESS_REQ_TIMEOUT
81978197
(Reduce timeout of the SET_ADDRESS
81988198
request from 5000 ms to 500 ms);
8199+
q = USB_QUIRK_FORCE_ONE_CONFIG (Device
8200+
claims zero configurations,
8201+
forcing to 1);
81998202
Example: quirks=0781:5580:bk,0a5c:5834:gij
82008203

82018204
usbhid.mousepoll=

Documentation/devicetree/bindings/display/msm/dp-controller.yaml

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -253,7 +253,6 @@ allOf:
253253
enum:
254254
# these platforms support 2 streams MST on some interfaces,
255255
# others are SST only
256-
- qcom,glymur-dp
257256
- qcom,sc8280xp-dp
258257
- qcom,x1e80100-dp
259258
then:
@@ -310,6 +309,26 @@ allOf:
310309
minItems: 6
311310
maxItems: 8
312311

312+
- if:
313+
properties:
314+
compatible:
315+
contains:
316+
enum:
317+
# these platforms support 2 streams MST on some interfaces,
318+
# others are SST only, but all controllers have 4 ports
319+
- qcom,glymur-dp
320+
then:
321+
properties:
322+
reg:
323+
minItems: 9
324+
maxItems: 9
325+
clocks:
326+
minItems: 5
327+
maxItems: 6
328+
clocks-names:
329+
minItems: 5
330+
maxItems: 6
331+
313332
unevaluatedProperties: false
314333

315334
examples:

Documentation/devicetree/bindings/display/msm/qcom,glymur-mdss.yaml

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -176,13 +176,17 @@ examples:
176176
};
177177
};
178178
179-
displayport-controller@ae90000 {
179+
displayport-controller@af54000 {
180180
compatible = "qcom,glymur-dp";
181-
reg = <0xae90000 0x200>,
182-
<0xae90200 0x200>,
183-
<0xae90400 0x600>,
184-
<0xae91000 0x400>,
185-
<0xae91400 0x400>;
181+
reg = <0xaf54000 0x200>,
182+
<0xaf54200 0x200>,
183+
<0xaf55000 0xc00>,
184+
<0xaf56000 0x400>,
185+
<0xaf57000 0x400>,
186+
<0xaf58000 0x400>,
187+
<0xaf59000 0x400>,
188+
<0xaf5a000 0x600>,
189+
<0xaf5b000 0x600>;
186190
187191
interrupt-parent = <&mdss>;
188192
interrupts = <12>;

Documentation/devicetree/bindings/display/msm/qcom,sm8750-mdss.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ maintainers:
1010
- Krzysztof Kozlowski <krzk@kernel.org>
1111

1212
description:
13-
SM8650 MSM Mobile Display Subsystem(MDSS), which encapsulates sub-blocks like
13+
SM8750 MSM Mobile Display Subsystem(MDSS), which encapsulates sub-blocks like
1414
DPU display controller, DSI and DP interfaces etc.
1515

1616
$ref: /schemas/display/msm/mdss-common.yaml#

Documentation/devicetree/bindings/spi/allwinner,sun6i-a31-spi.yaml

Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,6 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
66

77
title: Allwinner A31 SPI Controller
88

9-
allOf:
10-
- $ref: spi-controller.yaml
11-
129
maintainers:
1310
- Chen-Yu Tsai <wens@csie.org>
1411
- Maxime Ripard <mripard@kernel.org>
@@ -82,11 +79,11 @@ patternProperties:
8279

8380
spi-rx-bus-width:
8481
items:
85-
- const: 1
82+
enum: [0, 1, 2, 4]
8683

8784
spi-tx-bus-width:
8885
items:
89-
- const: 1
86+
enum: [0, 1, 2, 4]
9087

9188
required:
9289
- compatible
@@ -95,6 +92,28 @@ required:
9592
- clocks
9693
- clock-names
9794

95+
allOf:
96+
- $ref: spi-controller.yaml
97+
- if:
98+
not:
99+
properties:
100+
compatible:
101+
contains:
102+
enum:
103+
- allwinner,sun50i-r329-spi
104+
- allwinner,sun55i-a523-spi
105+
then:
106+
patternProperties:
107+
"^.*@[0-9a-f]+":
108+
properties:
109+
spi-rx-bus-width:
110+
items:
111+
enum: [0, 1]
112+
113+
spi-tx-bus-width:
114+
items:
115+
enum: [0, 1]
116+
98117
unevaluatedProperties: false
99118

100119
examples:

Documentation/scheduler/sched-ext.rst

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@ options should be enabled to use sched_ext:
4343
CONFIG_DEBUG_INFO_BTF=y
4444
CONFIG_BPF_JIT_ALWAYS_ON=y
4545
CONFIG_BPF_JIT_DEFAULT_ON=y
46-
CONFIG_PAHOLE_HAS_BTF_TAG=y
4746
4847
sched_ext is used only when the BPF scheduler is loaded and running.
4948

@@ -58,7 +57,8 @@ in ``ops->flags``, all ``SCHED_NORMAL``, ``SCHED_BATCH``, ``SCHED_IDLE``, and
5857
However, when the BPF scheduler is loaded and ``SCX_OPS_SWITCH_PARTIAL`` is
5958
set in ``ops->flags``, only tasks with the ``SCHED_EXT`` policy are scheduled
6059
by sched_ext, while tasks with ``SCHED_NORMAL``, ``SCHED_BATCH`` and
61-
``SCHED_IDLE`` policies are scheduled by the fair-class scheduler.
60+
``SCHED_IDLE`` policies are scheduled by the fair-class scheduler which has
61+
higher sched_class precedence than ``SCHED_EXT``.
6262

6363
Terminating the sched_ext scheduler program, triggering `SysRq-S`, or
6464
detection of any internal error including stalled runnable tasks aborts the
@@ -345,6 +345,8 @@ Where to Look
345345
The functions prefixed with ``scx_bpf_`` can be called from the BPF
346346
scheduler.
347347

348+
* ``kernel/sched/ext_idle.c`` contains the built-in idle CPU selection policy.
349+
348350
* ``tools/sched_ext/`` hosts example BPF scheduler implementations.
349351

350352
* ``scx_simple[.bpf].c``: Minimal global FIFO scheduler example using a
@@ -353,13 +355,35 @@ Where to Look
353355
* ``scx_qmap[.bpf].c``: A multi-level FIFO scheduler supporting five
354356
levels of priority implemented with ``BPF_MAP_TYPE_QUEUE``.
355357

358+
* ``scx_central[.bpf].c``: A central FIFO scheduler where all scheduling
359+
decisions are made on one CPU, demonstrating ``LOCAL_ON`` dispatching,
360+
tickless operation, and kthread preemption.
361+
362+
* ``scx_cpu0[.bpf].c``: A scheduler that queues all tasks to a shared DSQ
363+
and only dispatches them on CPU0 in FIFO order. Useful for testing bypass
364+
behavior.
365+
366+
* ``scx_flatcg[.bpf].c``: A flattened cgroup hierarchy scheduler
367+
implementing hierarchical weight-based cgroup CPU control by compounding
368+
each cgroup's share at every level into a single flat scheduling layer.
369+
370+
* ``scx_pair[.bpf].c``: A core-scheduling example that always makes
371+
sibling CPU pairs execute tasks from the same CPU cgroup.
372+
373+
* ``scx_sdt[.bpf].c``: A variation of ``scx_simple`` demonstrating BPF
374+
arena memory management for per-task data.
375+
376+
* ``scx_userland[.bpf].c``: A minimal scheduler demonstrating user space
377+
scheduling. Tasks with CPU affinity are direct-dispatched in FIFO order;
378+
all others are scheduled in user space by a simple vruntime scheduler.
379+
356380
ABI Instability
357381
===============
358382

359383
The APIs provided by sched_ext to BPF schedulers programs have no stability
360384
guarantees. This includes the ops table callbacks and constants defined in
361385
``include/linux/sched/ext.h``, as well as the ``scx_bpf_`` kfuncs defined in
362-
``kernel/sched/ext.c``.
386+
``kernel/sched/ext.c`` and ``kernel/sched/ext_idle.c``.
363387

364388
While we will attempt to provide a relatively stable API surface when
365389
possible, they are subject to change without warning between kernel

MAINTAINERS

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8626,9 +8626,8 @@ F: drivers/gpu/drm/lima/
86268626
F: include/uapi/drm/lima_drm.h
86278627

86288628
DRM DRIVERS FOR LOONGSON
8629-
M: Sui Jingfeng <suijingfeng@loongson.cn>
86308629
L: dri-devel@lists.freedesktop.org
8631-
S: Supported
8630+
S: Orphan
86328631
T: git https://gitlab.freedesktop.org/drm/misc/kernel.git
86338632
F: drivers/gpu/drm/loongson/
86348633

@@ -16358,7 +16357,6 @@ F: net/dsa/tag_mtk.c
1635816357

1635916358
MEDIATEK T7XX 5G WWAN MODEM DRIVER
1636016359
M: Chandrashekar Devegowda <chandrashekar.devegowda@intel.com>
16361-
R: Chiranjeevi Rapolu <chiranjeevi.rapolu@linux.intel.com>
1636216360
R: Liu Haijun <haijun.liu@mediatek.com>
1636316361
R: Ricardo Martinez <ricardo.martinez@linux.intel.com>
1636416362
L: netdev@vger.kernel.org
@@ -21938,7 +21936,7 @@ F: drivers/media/radio/radio-tea5777.c
2193821936

2193921937
RADOS BLOCK DEVICE (RBD)
2194021938
M: Ilya Dryomov <idryomov@gmail.com>
21941-
R: Dongsheng Yang <dongsheng.yang@easystack.cn>
21939+
R: Dongsheng Yang <dongsheng.yang@linux.dev>
2194221940
L: ceph-devel@vger.kernel.org
2194321941
S: Supported
2194421942
W: http://ceph.com/
@@ -25759,6 +25757,7 @@ F: include/net/pkt_cls.h
2575925757
F: include/net/pkt_sched.h
2576025758
F: include/net/sch_priv.h
2576125759
F: include/net/tc_act/
25760+
F: include/net/tc_wrapper.h
2576225761
F: include/uapi/linux/pkt_cls.h
2576325762
F: include/uapi/linux/pkt_sched.h
2576425763
F: include/uapi/linux/tc_act/

Makefile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -476,6 +476,7 @@ KBUILD_USERLDFLAGS := $(USERLDFLAGS)
476476
export rust_common_flags := --edition=2021 \
477477
-Zbinary_dep_depinfo=y \
478478
-Astable_features \
479+
-Aunused_features \
479480
-Dnon_ascii_idents \
480481
-Dunsafe_op_in_unsafe_fn \
481482
-Wmissing_docs \
@@ -1113,6 +1114,9 @@ KBUILD_CFLAGS += -fno-builtin-wcslen
11131114
# change __FILE__ to the relative path to the source directory
11141115
ifdef building_out_of_srctree
11151116
KBUILD_CPPFLAGS += -fmacro-prefix-map=$(srcroot)/=
1117+
ifeq ($(call rustc-option-yn, --remap-path-scope=macro),y)
1118+
KBUILD_RUSTFLAGS += --remap-path-prefix=$(srcroot)/= --remap-path-scope=macro
1119+
endif
11161120
endif
11171121

11181122
# include additional Makefiles when needed

arch/s390/kernel/irq.c

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -147,10 +147,8 @@ void noinstr do_io_irq(struct pt_regs *regs)
147147
bool from_idle;
148148

149149
from_idle = test_and_clear_cpu_flag(CIF_ENABLED_WAIT);
150-
if (from_idle) {
150+
if (from_idle)
151151
update_timer_idle();
152-
regs->psw.mask &= ~(PSW_MASK_EXT | PSW_MASK_IO | PSW_MASK_WAIT);
153-
}
154152

155153
irq_enter_rcu();
156154

@@ -176,6 +174,9 @@ void noinstr do_io_irq(struct pt_regs *regs)
176174

177175
set_irq_regs(old_regs);
178176
irqentry_exit(regs, state);
177+
178+
if (from_idle)
179+
regs->psw.mask &= ~(PSW_MASK_EXT | PSW_MASK_IO | PSW_MASK_WAIT);
179180
}
180181

181182
void noinstr do_ext_irq(struct pt_regs *regs)
@@ -185,10 +186,8 @@ void noinstr do_ext_irq(struct pt_regs *regs)
185186
bool from_idle;
186187

187188
from_idle = test_and_clear_cpu_flag(CIF_ENABLED_WAIT);
188-
if (from_idle) {
189+
if (from_idle)
189190
update_timer_idle();
190-
regs->psw.mask &= ~(PSW_MASK_EXT | PSW_MASK_IO | PSW_MASK_WAIT);
191-
}
192191

193192
irq_enter_rcu();
194193

@@ -210,6 +209,9 @@ void noinstr do_ext_irq(struct pt_regs *regs)
210209
irq_exit_rcu();
211210
set_irq_regs(old_regs);
212211
irqentry_exit(regs, state);
212+
213+
if (from_idle)
214+
regs->psw.mask &= ~(PSW_MASK_EXT | PSW_MASK_IO | PSW_MASK_WAIT);
213215
}
214216

215217
static void show_msi_interrupt(struct seq_file *p, int irq)

drivers/accel/amdxdna/aie2_ctx.c

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,6 @@ aie2_sched_notify(struct amdxdna_sched_job *job)
165165

166166
trace_xdna_job(&job->base, job->hwctx->name, "signaled fence", job->seq);
167167

168-
amdxdna_pm_suspend_put(job->hwctx->client->xdna);
169168
job->hwctx->priv->completed++;
170169
dma_fence_signal(fence);
171170

@@ -290,19 +289,11 @@ aie2_sched_job_run(struct drm_sched_job *sched_job)
290289
struct dma_fence *fence;
291290
int ret;
292291

293-
ret = amdxdna_pm_resume_get(hwctx->client->xdna);
294-
if (ret)
292+
if (!hwctx->priv->mbox_chann)
295293
return NULL;
296294

297-
if (!hwctx->priv->mbox_chann) {
298-
amdxdna_pm_suspend_put(hwctx->client->xdna);
299-
return NULL;
300-
}
301-
302-
if (!mmget_not_zero(job->mm)) {
303-
amdxdna_pm_suspend_put(hwctx->client->xdna);
295+
if (!mmget_not_zero(job->mm))
304296
return ERR_PTR(-ESRCH);
305-
}
306297

307298
kref_get(&job->refcnt);
308299
fence = dma_fence_get(job->fence);
@@ -333,7 +324,6 @@ aie2_sched_job_run(struct drm_sched_job *sched_job)
333324

334325
out:
335326
if (ret) {
336-
amdxdna_pm_suspend_put(hwctx->client->xdna);
337327
dma_fence_put(job->fence);
338328
aie2_job_put(job);
339329
mmput(job->mm);

0 commit comments

Comments
 (0)