Commit graph

1,412,004 commits

Author SHA1 Message Date
Xichao Zhao
9f5c33bddd dm: fix "writen"->"written"
Trivial fix to spelling mistake in comment text.

Signed-off-by: Xichao Zhao <zhao.xichao@vivo.com>
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
2025-09-01 13:35:18 +02:00
Dongsheng Yang
2473577177 dm-pcache: cleanup: fix coding style report by checkpatch.pl
A patch from a few days ago fixed the division issue on 32-bit machines,
but it introduced a coding style problem.

WARNING: Missing a blank line after declarations
+       u32 rem;
+       div_u64_rem(off >> PCACHE_CACHE_SUBTREE_SIZE_SHIFT,
	cache->n_ksets, &rem);

total: 0 errors, 1 warnings, 634 lines checked

Signed-off-by: Dongsheng Yang <dongsheng.yang@linux.dev>
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
2025-09-01 13:30:54 +02:00
Dongsheng Yang
1f9ad14aef dm-pcache: remove ctrl_lock for pcache_cache_segment
The smatch checker reports a “scheduler in atomic context” problem in
the following call chain:

miss_read_end_req()
   -> cache_seg_put()
      -> cache_seg_invalidate()
         -> cache_seg_gen_increase()
            -> mutex_lock(&cache_seg->ctrl_lock);

In practice, this `mutex_lock` will not actually schedule, because it is
only called when `cache_seg_put()` drops the last reference, which is
single-threaded. That is also why the issue never shows up during real
testing.

However, the code is still buggy. The original purpose of `ctrl_lock`
was to prevent read/write conflicts on the cache segment control
information. Looking at the current usage, all control information
accesses are single-threaded: reads only occur during the init phase,
where no conflicts are possible, and writes happen once in the init
phase (also single-threaded) and once when `cache_seg_put()` drops the
last reference (again single-threaded).

Therefore, this patch removes `ctrl_lock` entirely and adds comments in
the appropriate places to document this logic.

Signed-off-by: Dongsheng Yang <dongsheng.yang@linux.dev>
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
2025-09-01 13:30:39 +02:00
Neeraj Upadhyay
27a17e0241 x86/sev: Indicate the SEV-SNP guest supports Secure AVIC
Now that Secure AVIC support is complete, make it part of to the SNP present
features.

Co-developed-by: Kishon Vijay Abraham I <kvijayab@amd.com>
Signed-off-by: Kishon Vijay Abraham I <kvijayab@amd.com>
Signed-off-by: Neeraj Upadhyay <Neeraj.Upadhyay@amd.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Reviewed-by: Tianyu Lan <tiala@microsoft.com>
Link: https://lore.kernel.org/20250828113225.209174-1-Neeraj.Upadhyay@amd.com
2025-09-01 13:20:53 +02:00
Neeraj Upadhyay
952aefeebb x86/sev: Prevent SECURE_AVIC_CONTROL MSR interception for Secure AVIC guests
The SECURE_AVIC_CONTROL MSR holds the GPA of the guest APIC backing page and
bitfields to control enablement of Secure AVIC and whether the guest allows
NMIs to be injected by the hypervisor.

This MSR is populated by the guest and can be read by the guest to get the GPA
of the APIC backing page. The MSR can only be accessed in Secure AVIC mode.
Any attempt to access it when not in Secure AVIC mode results in #GP. So, the
hypervisor should not intercept it. A #VC exception will be generated
otherwise. If this occurs and Secure AVIC is enabled, terminate the guest
execution.

Signed-off-by: Neeraj Upadhyay <Neeraj.Upadhyay@amd.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Reviewed-by: Tianyu Lan <tiala@microsoft.com>
Link: https://lore.kernel.org/20250828113119.209135-1-Neeraj.Upadhyay@amd.com
2025-09-01 13:18:48 +02:00
Neeraj Upadhyay
c4074ab87f x86/apic: Enable Secure AVIC in the control MSR
With all the pieces in place now, enable Secure AVIC in the Secure AVIC
Control MSR. Any access to x2APIC MSRs are emulated by the hypervisor
before Secure AVIC is enabled in the control MSR.  Post Secure AVIC
enablement, all x2APIC MSR accesses (whether accelerated by AVIC
hardware or trapped as a #VC exception) operate on the vCPU's APIC
backing page.

Signed-off-by: Neeraj Upadhyay <Neeraj.Upadhyay@amd.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Reviewed-by: Tianyu Lan <tiala@microsoft.com>
Link: https://lore.kernel.org/20250828112126.209028-1-Neeraj.Upadhyay@amd.com
2025-09-01 13:18:14 +02:00
Tina Wuest
cc8e91054c ALSA: usb-audio: Allow Focusrite devices to use low samplerates
Commit 05f254a636 ("ALSA: usb-audio:
Improve filtering of sample rates on Focusrite devices") changed the
check for max_rate in a way which was overly restrictive, forcing
devices to use very high samplerates if they support them, despite
support existing for lower rates as well.

This maintains the intended outcome (ensuring samplerates selected are
supported) while allowing devices with higher maximum samplerates to be
opened at all supported samplerates.

This patch was tested with a Clarett+ 8Pre USB

Fixes: 05f254a636 ("ALSA: usb-audio: Improve filtering of sample rates on Focusrite devices")
Signed-off-by: Tina Wuest <tina@wuest.me>
Link: https://patch.msgid.link/20250901092024.140993-1-tina@wuest.me
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2025-09-01 13:14:52 +02:00
Tetsuo Handa
7f9d34b0a7
cramfs: Verify inode mode when loading from disk
The inode mode loaded from corrupted disk can be invalid. Do like what
commit 0a9e740513 ("isofs: Verify inode mode when loading from disk")
does.

Reported-by: syzbot <syzbot+895c23f6917da440ed0d@syzkaller.appspotmail.com>
Closes: https://syzkaller.appspot.com/bug?extid=895c23f6917da440ed0d
Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Link: https://lore.kernel.org/429b3ef1-13de-4310-9a8e-c2dc9a36234a@I-love.SAKURA.ne.jp
Acked-by: Nicolas Pitre <nico@fluxnic.net>
Signed-off-by: Christian Brauner <brauner@kernel.org>
2025-09-01 13:13:10 +02:00
Michal Wilczynski
6b53cf48d9
drm/imagination: Enable PowerVR driver for RISC-V
Several RISC-V boards feature Imagination GPUs that are compatible with
the PowerVR driver. An example is the IMG BXM-4-64 GPU on the Lichee Pi
4A board. This commit adjusts the driver's Kconfig dependencies to allow
the PowerVR driver to be compiled on the RISC-V architecture.

By enabling compilation on RISC-V, we expand support for these GPUs,
providing graphics acceleration capabilities and enhancing hardware
compatibility on RISC-V platforms.

The RISC-V support is restricted to 64-bit systems (RISCV && 64BIT) as
the driver currently has an implicit dependency on a 64-bit platform.

Add a dependency on MMU to fix a build warning on RISC-V configurations
without an MMU.

Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
Reviewed-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: Matt Coster <matt.coster@imgtec.com>
Signed-off-by: Michal Wilczynski <m.wilczynski@samsung.com>
Link: https://lore.kernel.org/r/20250822-apr_14_for_sending-v13-4-af656f7cc6c3@samsung.com
Signed-off-by: Matt Coster <matt.coster@imgtec.com>
2025-09-01 12:11:00 +01:00
Michal Wilczynski
337ebfda8a
dt-bindings: gpu: img,powervr-rogue: Add TH1520 GPU support
Rework the PowerVR Rogue GPU binding to use an explicit, per variant
style for defining power domain properties and add support for the
T-HEAD TH1520 SoC's GPU.

To improve clarity and precision, the binding is refactored so that
power domain items are listed explicitly for each variant [1]. The
previous method relied on an implicit, positional mapping between the
`power-domains` and `power-domain-names` properties. This change
replaces the generic rules with self contained if/then blocks for each
GPU variant, making the relationship between power domains and their
names explicit and unambiguous.

The generic if block for img,img-rogue, which previously required
power-domains and power-domain-names for all variants, is removed.
Instead, each specific GPU variant now defines its own power domain
requirements within a self-contained if/then block, making the schema
more explicit.

This new structure is then used to add support for the
`thead,th1520-gpu`. While its BXM-4-64 IP has two conceptual power
domains, the TH1520 SoC integrates them behind a single power gate. The
new binding models this with a specific rule that enforces a single
`power-domains` entry and disallows the `power-domain-names` property.

Link: https://lore.kernel.org/all/4d79c8dd-c5fb-442c-ac65-37e7176b0cdd@linaro.org/ [1]

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Matt Coster <matt.coster@imgtec.com>
Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Michal Wilczynski <m.wilczynski@samsung.com>
Link: https://lore.kernel.org/r/20250822-apr_14_for_sending-v13-2-af656f7cc6c3@samsung.com
Signed-off-by: Matt Coster <matt.coster@imgtec.com>
2025-09-01 12:11:00 +01:00
Michal Wilczynski
e38e8391f3
drm/imagination: Use pwrseq for TH1520 GPU power management
Update the Imagination PVR DRM driver to leverage the pwrseq framework
for managing the complex power sequence of the GPU on the T-HEAD TH1520
SoC.

To cleanly separate platform-specific logic from the generic driver,
this patch introduces an `init` callback to the `pwr_power_sequence_ops`
struct. This allows for different power management strategies to be
selected at probe time based on the device's compatible string.

A `pvr_device_data` struct, associated with each compatible in the
of_device_id table, points to the appropriate ops table (manual or
pwrseq).

At probe time, the driver now calls the `->init()` op. For pwrseq-based
platforms, this callback calls `devm_pwrseq_get("gpu-power")`, deferring
probe if the sequencer is not yet available. For other platforms, it
falls back to the existing manual clock and reset handling. The runtime
PM callbacks continue to call the appropriate functions via the ops
table.

Signed-off-by: Michal Wilczynski <m.wilczynski@samsung.com>
Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
Reviewed-by: Matt Coster <matt.coster@imgtec.com>
Link: https://lore.kernel.org/r/20250822-apr_14_for_sending-v13-1-af656f7cc6c3@samsung.com
Signed-off-by: Matt Coster <matt.coster@imgtec.com>
2025-09-01 12:11:00 +01:00
Greg Kroah-Hartman
e5bca063c1
fs: remove vfs_ioctl export
vfs_ioctl() is no longer called by anything outside of fs/ioctl.c, so
remove the global symbol and export as it is not needed.

Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Cc: Christian Brauner <brauner@kernel.org>
Cc: Jan Kara <jack@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Link: https://lore.kernel.org/2025083038-carving-amuck-a4ae@gregkh
Reviewed-by: Jan Kara <jack@suse.cz>
Signed-off-by: Christian Brauner <brauner@kernel.org>
2025-09-01 13:08:01 +02:00
Neeraj Upadhyay
c8018325dd x86/apic: Add kexec support for Secure AVIC
Add a apic->teardown() callback to disable Secure AVIC before rebooting into
the new kernel. This ensures that the new kernel does not access the old APIC
backing page which was allocated by the previous kernel.

Such accesses can happen if there are any APIC accesses done during the guest
boot before Secure AVIC driver probe is done by the new kernel (as Secure AVIC
would have remained enabled in the Secure AVIC control MSR).

Signed-off-by: Neeraj Upadhyay <Neeraj.Upadhyay@amd.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Link: https://lore.kernel.org/20250828112008.209013-1-Neeraj.Upadhyay@amd.com
2025-09-01 13:06:08 +02:00
Neeraj Upadhyay
43b6687ac8 x86/apic: Handle EOI writes for Secure AVIC guests
Secure AVIC accelerates the guest's EOI MSR writes for edge-triggered
interrupts.

For level-triggered interrupts, EOI MSR writes trigger a #VC exception with
an SVM_EXIT_AVIC_UNACCELERATED_ACCESS error code. To complete EOI handling,
the #VC exception handler would need to trigger a GHCB protocol MSR write
event to notify the hypervisor about completion of the level-triggered
interrupt.  Hypervisor notification is required for cases like emulated
IO-APIC, to complete and clear interrupt in the IO-APIC's interrupt state.

However, #VC exception handling adds extra performance overhead for APIC
register writes. In addition, for Secure AVIC, some unaccelerated APIC
register MSR writes are trapped, whereas others are faulted.

This results in additional complexity in #VC exception handling for
unaccelerated APIC MSR accesses. So, directly do a GHCB protocol based APIC
EOI MSR write from apic->eoi() callback for level-triggered interrupts.

Use WRMSR for edge-triggered interrupts, so that hardware re-evaluates any
pending interrupt which can be delivered to the guest vCPU. For
level-triggered interrupts, re-evaluation happens on return from VMGEXIT
corresponding to the GHCB event for APIC EOI MSR write.

Signed-off-by: Neeraj Upadhyay <Neeraj.Upadhyay@amd.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Reviewed-by: Tianyu Lan <tiala@microsoft.com>
Link: https://lore.kernel.org/20250828111654.208987-1-Neeraj.Upadhyay@amd.com
2025-09-01 13:05:03 +02:00
Neeraj Upadhyay
8e3714305a x86/apic: Read and write LVT* APIC registers from HV for SAVIC guests
The Hypervisor needs information about the current state of the LVT registers
for device emulation and NMIs. So, forward reads and write of these registers
to the hypervisor for Secure AVIC enabled guests.

Signed-off-by: Neeraj Upadhyay <Neeraj.Upadhyay@amd.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Reviewed-by: Tianyu Lan <tiala@microsoft.com>
Link: https://lore.kernel.org/20250828111356.208972-1-Neeraj.Upadhyay@amd.com
2025-09-01 13:02:11 +02:00
Kishon Vijay Abraham I
28bbfad229 x86/sev: Enable NMI support for Secure AVIC
Now that support to send NMI IPI and support to inject NMI from the hypervisor
has been added, set V_NMI_ENABLE in the VINTR_CTRL field of the VMSA to enable
NMI for Secure AVIC guests.

  [ bp: Zap useless brackets. ]

Signed-off-by: Kishon Vijay Abraham I <kvijayab@amd.com>
Signed-off-by: Neeraj Upadhyay <Neeraj.Upadhyay@amd.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Reviewed-by: Tianyu Lan <tiala@microsoft.com>
Link: https://lore.kernel.org/20250828111315.208959-1-Neeraj.Upadhyay@amd.com
2025-09-01 13:00:43 +02:00
Neeraj Upadhyay
869e36b966 x86/apic: Allow NMI to be injected from hypervisor for Secure AVIC
Secure AVIC requires the "AllowedNmi" bit in the Secure AVIC Control MSR to be
set for an NMI to be injected from the hypervisor. So set it.

Signed-off-by: Kishon Vijay Abraham I <kvijayab@amd.com>
Signed-off-by: Neeraj Upadhyay <Neeraj.Upadhyay@amd.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Reviewed-by: Tianyu Lan <tiala@microsoft.com>
Link: https://lore.kernel.org/20250828111243.208946-1-Neeraj.Upadhyay@amd.com
2025-09-01 12:57:18 +02:00
Neeraj Upadhyay
9de196f519 x86/apic: Add support to send NMI IPI for Secure AVIC
Secure AVIC introduces a new field in the APIC backing page "NmiReq" that has
to be set by the guest to request a NMI IPI through APIC_ICR write.

Add support to set NmiReq appropriately to send NMI IPI.

Co-developed-by: Kishon Vijay Abraham I <kvijayab@amd.com>
Signed-off-by: Kishon Vijay Abraham I <kvijayab@amd.com>
Signed-off-by: Neeraj Upadhyay <Neeraj.Upadhyay@amd.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Reviewed-by: Tianyu Lan <tiala@microsoft.com>
Link: https://lore.kernel.org/20250828111213.208933-1-Neeraj.Upadhyay@amd.com
2025-09-01 12:49:25 +02:00
Kishon Vijay Abraham I
c77683eccf x86/sev: Initialize VGIF for secondary vCPUs for Secure AVIC
Virtual GIF (VGIF) provides masking capability for when virtual interrupts
(virtual maskable interrupts, virtual NMIs) can be taken by the guest vCPU.

The Secure AVIC hardware reads VGIF state from the vCPU's VMSA. So, set VGIF for
secondary CPUs (the configuration for the boot CPU is done by the hypervisor),
to unmask delivery of virtual interrupts  to the vCPU.

Signed-off-by: Kishon Vijay Abraham I <kvijayab@amd.com>
Signed-off-by: Neeraj Upadhyay <Neeraj.Upadhyay@amd.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Reviewed-by: Tianyu Lan <tiala@microsoft.com>
Link: https://lore.kernel.org/20250828111141.208920-1-Neeraj.Upadhyay@amd.com
2025-09-01 12:48:35 +02:00
Christian Brauner
e23654f5b1 fuse fixes for 6.17-rc5
-----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQSQHSd0lITzzeNWNm3h3BK/laaZPAUCaLVsHgAKCRDh3BK/laaZ
 PDQ9AQDkWIqblrxfuL/Ji9d18XR4FFMN3PHxt046AjFwFVbL4gD/Q8bIDTmJNyts
 YAGcgSkDpa2Q/UT9yZ/8IFdmidnVqwk=
 =5/3p
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQRAhzRXHqcMeLMyaSiRxhvAZXjcogUCaLV6IAAKCRCRxhvAZXjc
 olPYAP9rPVDs2VyektXPfHowxX53nxuYcbGcowPzIn68f9cp0AD/XfyPHfYIKFRc
 Mk/u+Ns438FpHDzBu84y51giQbc2IwM=
 =IEzO
 -----END PGP SIGNATURE-----

Merge tag 'fuse-fixes-6.17-rc5' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse into vfs.fixes

fuse fixes for 6.17-rc5

* tag 'fuse-fixes-6.17-rc5' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse: (6 commits)
  fuse: Block access to folio overlimit
  fuse: fix fuseblk i_blkbits for iomap partial writes
  fuse: reflect cached blocksize if blocksize was changed
  fuse: prevent overflow in copy_file_range return value
  fuse: check if copy_file_range() returns larger than requested size
  fuse: do not allow mapping a non-regular backing file

Link: https://lore.kernel.org/CAJfpeguEVMMyw_zCb+hbOuSxdE2Z3Raw=SJsq=Y56Ae6dn2W3g@mail.gmail.com
Signed-off-by: Christian Brauner <brauner@kernel.org>
2025-09-01 12:48:28 +02:00
Neeraj Upadhyay
ea7d792e11 x86/apic: Support LAPIC timer for Secure AVIC
Secure AVIC requires the LAPIC timer to be emulated by the hypervisor.  KVM
already supports emulating the LAPIC timer using hrtimers. In order to emulate
it, APIC_LVTT, APIC_TMICT and APIC_TDCR register values need to be propagated
to the hypervisor for arming the timer.  APIC_TMCCT register value has to be
read from the hypervisor, which is required for calibrating the APIC timer.
So, read/write all APIC timer registers from/to the hypervisor.

Co-developed-by: Kishon Vijay Abraham I <kvijayab@amd.com>
Signed-off-by: Kishon Vijay Abraham I <kvijayab@amd.com>
Signed-off-by: Neeraj Upadhyay <Neeraj.Upadhyay@amd.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Reviewed-by: Tianyu Lan <tiala@microsoft.com>
Link: https://lore.kernel.org/20250828110926.208866-1-Neeraj.Upadhyay@amd.com
2025-09-01 12:47:07 +02:00
Neeraj Upadhyay
2c6978ea1a x86/apic: Add support to send IPI for Secure AVIC
Secure AVIC hardware accelerates only Self-IPI, i.e. on WRMSR to APIC_SELF_IPI
and APIC_ICR (with destination shorthand equal to Self) registers, hardware
takes care of updating the APIC_IRR in the APIC backing page of the vCPU.

For other IPI types (cross-vCPU, broadcast IPIs), software needs to take care
of updating the APIC_IRR state of the target vCPUs and to ensure that the
target vCPUs notice the new pending interrupt.

Add new callbacks in the Secure AVIC driver for sending IPI requests.  These
callbacks update the IRR in the target guest vCPU's APIC backing page. To
ensure that the remote vCPU notices the new pending interrupt, reuse the GHCB
MSR handling code in vc_handle_msr() to issue APIC_ICR MSR-write GHCB protocol
event to the hypervisor.

For Secure AVIC guests, on APIC_ICR write MSR exits, the hypervisor notifies
the target vCPU by either sending an AVIC doorbell (if target vCPU is running)
or by waking up the non-running target vCPU.

Co-developed-by: Kishon Vijay Abraham I <kvijayab@amd.com>
Signed-off-by: Kishon Vijay Abraham I <kvijayab@amd.com>
Signed-off-by: Neeraj Upadhyay <Neeraj.Upadhyay@amd.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Reviewed-by: Tianyu Lan <tiala@microsoft.com>
Link: https://lore.kernel.org/20250828110824.208851-1-Neeraj.Upadhyay@amd.com
2025-09-01 12:45:18 +02:00
Nicolas Frattaroli
63ddc0a75b arm64: dts: rockchip: fix USB on RADXA ROCK 5T
The RADXA ROCK 5T board uses the same GPIO pin for controlling the USB
host port regulator. This control pin was mistakenly left out of the
ROCK 5T device tree.

Reported-by: FUKAUMI Naoki <naoki@radxa.com>
Closes: https://libera.catirclogs.org/linux-rockchip/2025-08-25#38609886;
Fixes: 0ea651de9b ("arm64: dts: rockchip: add ROCK 5T device tree")
Signed-off-by: Nicolas Frattaroli <nicolas.frattaroli@collabora.com>
Link: https://lore.kernel.org/r/20250825-rock5t-usb-fix-v1-1-de71954a1bb5@collabora.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2025-09-01 12:44:23 +02:00
Neeraj Upadhyay
8c79a68de1 x86/apic: Add an update_vector() callback for Secure AVIC
Add an update_vector() callback to set/clear the ALLOWED_IRR field in a vCPU's
APIC backing page for vectors which are emulated by the hypervisor.

The ALLOWED_IRR field indicates the interrupt vectors which the guest allows
the hypervisor to inject (typically for emulated devices).  Interrupt vectors
used exclusively by the guest itself and the vectors which are not emulated by
the hypervisor, such as IPI vectors, should not be set by the guest in the
ALLOWED_IRR fields.

As clearing/setting state of a vector will also be used in subsequent commits
for other APIC registers (such as APIC_IRR update for sending IPI), add
a common update_vector() in the Secure AVIC driver.

  [ bp: Massage commit message. ]

Co-developed-by: Kishon Vijay Abraham I <kvijayab@amd.com>
Signed-off-by: Kishon Vijay Abraham I <kvijayab@amd.com>
Signed-off-by: Neeraj Upadhyay <Neeraj.Upadhyay@amd.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Reviewed-by: Tianyu Lan <tiala@microsoft.com>
Link: https://lore.kernel.org/20250828110255.208779-4-Neeraj.Upadhyay@amd.com
2025-09-01 12:42:11 +02:00
Christian Brauner
90ccf10de5
inode: fix whitespace issues
Fix two minor whitespace issues.

Signed-off-by: Christian Brauner <brauner@kernel.org>
2025-09-01 12:41:09 +02:00
Josef Bacik
37b27bd5d6
fs: add an icount_read helper
Instead of doing direct access to ->i_count, add a helper to handle
this. This will make it easier to convert i_count to a refcount later.

Signed-off-by: Josef Bacik <josef@toxicpanda.com>
Link: https://lore.kernel.org/9bc62a84c6b9d6337781203f60837bd98fbc4a96.1756222464.git.josef@toxicpanda.com
Signed-off-by: Christian Brauner <brauner@kernel.org>
2025-09-01 12:41:09 +02:00
Josef Bacik
9e70e985bd
fs: rework iput logic
Currently, if we are the last iput, and we have the I_DIRTY_TIME bit
set, we will grab a reference on the inode again and then mark it dirty
and then redo the put.  This is to make sure we delay the time update
for as long as possible.

We can rework this logic to simply dec i_count if it is not 1, and if it
is do the time update while still holding the i_count reference.

Then we can replace the atomic_dec_and_lock with locking the ->i_lock
and doing atomic_dec_and_test, since we did the atomic_add_unless above.

Co-developed-by: Mateusz Guzik <mjguzik@gmail.com>
Signed-off-by: Mateusz Guzik <mjguzik@gmail.com>
Signed-off-by: Josef Bacik <josef@toxicpanda.com>
Link: https://lore.kernel.org/be208b89bdb650202e712ce2bcfc407ac7044c7a.1756222464.git.josef@toxicpanda.com
Signed-off-by: Christian Brauner <brauner@kernel.org>
2025-09-01 12:38:04 +02:00
Karol Wachowski
69a79ada8e accel/ivpu: Prevent recovery work from being queued during device removal
Use disable_work_sync() instead of cancel_work_sync() in ivpu_dev_fini()
to ensure that no new recovery work items can be queued after device
removal has started. Previously, recovery work could be scheduled even
after canceling existing work, potentially leading to use-after-free
bugs if recovery accessed freed resources.

Rename ivpu_pm_cancel_recovery() to ivpu_pm_disable_recovery() to better
reflect its new behavior.

Fixes: 58cde80f45 ("accel/ivpu: Use dedicated work for job timeout detection")
Cc: stable@vger.kernel.org # v6.8+
Signed-off-by: Karol Wachowski <karol.wachowski@intel.com>
Reviewed-by: Lizhi Hou <lizhi.hou@amd.com>
Signed-off-by: Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
Link: https://lore.kernel.org/r/20250808110939.328366-1-jacek.lawrynowicz@linux.intel.com
2025-09-01 12:37:21 +02:00
Neeraj Upadhyay
60791ef375 x86/apic: Add update_vector() callback for APIC drivers
Add an update_vector() callback to allow APIC drivers to perform driver
specific operations on external vector allocation/teardown on a CPU. This
callback will be used by the Secure AVIC APIC driver to configure the vectors
which a guest vCPU allows the hypervisor to send to it.

As system vectors have fixed vector assignments and are not dynamically
allocated, add an apic_update_vector() public API to facilitate
update_vector() callback invocation for them. This will be used for Secure
AVIC enabled guests to allow the hypervisor to inject system vectors which are
emulated by the hypervisor such as APIC timer vector and
HYPERVISOR_CALLBACK_VECTOR.

While at it, cleanup line break in apic_update_irq_cfg().

Co-developed-by: Kishon Vijay Abraham I <kvijayab@amd.com>
Signed-off-by: Kishon Vijay Abraham I <kvijayab@amd.com>
Signed-off-by: Neeraj Upadhyay <Neeraj.Upadhyay@amd.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Link: https://lore.kernel.org/20250828110255.208779-3-Neeraj.Upadhyay@amd.com
2025-09-01 12:36:46 +02:00
Neeraj Upadhyay
45e2cef568 x86/apic: Initialize APIC ID for Secure AVIC
Initialize the APIC ID in the Secure AVIC APIC backing page with the APIC_ID
MSR value read from the hypervisor. CPU topology evaluation later during boot
would catch and report any duplicate APIC ID for two CPUs.

Signed-off-by: Neeraj Upadhyay <Neeraj.Upadhyay@amd.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Reviewed-by: Tianyu Lan <tiala@microsoft.com>
Link: https://lore.kernel.org/20250828110255.208779-2-Neeraj.Upadhyay@amd.com
2025-09-01 12:21:55 +02:00
Jacek Lawrynowicz
cf87f93847 accel/ivpu: Make function parameter names consistent
Make ivpu_hw_btrs_dct_set_status() and ivpu_fw_boot_params_setup()
declaration and definition parameter names consistent.

Reviewed-by: Lizhi Hou <lizhi.hou@amd.com>
Signed-off-by: Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
Link: https://lore.kernel.org/r/20250808111014.328607-1-jacek.lawrynowicz@linux.intel.com
2025-09-01 12:18:36 +02:00
Jacek Lawrynowicz
78f859673c accel/ivpu: Remove unused PLL_CONFIG_DEFAULT
This change removes the unnecessary condition, makes the code clearer,
and silences clang-tidy warning.

Reviewed-by: Lizhi Hou <lizhi.hou@amd.com>
Signed-off-by: Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
Link: https://lore.kernel.org/r/20250808111044.328800-1-jacek.lawrynowicz@linux.intel.com
2025-09-01 12:18:05 +02:00
Arnd Bergmann
1141f2fa20 Renesas ARM SoC updates for v6.18
- Use the SZ_256K definition.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCaLGQyAAKCRCKwlD9ZEnx
 cIBDAQCsXbj5JQ3Z7x+G8OJb+sXnSR4jP+cpJe1+knxJW/sTnwEA6obe0WePN+b+
 Ykxu4q/l/3d+3p42DjKLOmRXns/klQU=
 =hApO
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmi1cbYACgkQmmx57+YA
 GNlmfRAAutwlTDpqYdJ4j70eVhwDPdnXFm5PZ0AZndWH2Bq8mn9r6wesAPu765vy
 xsp7zXSzRi5MRAgG8r6BKjOAZk+JL93VkrygnucwA0UDD8Dk3M2uZrE+/x0zC1e/
 7V8LdVgfKrxTc+79sigjrCCXZSIfuerKmqZfSU8PYD9uhGBM0TAjITrVz1JhSD7G
 dgG5xnoKgol1R5J+FTPgqfXwbomwlqBOLGWkpUGL0eybFI4UEAUc+nLdwFiy9Pa+
 p+WWjiyFzovGp3klexQMoaY5la7LIk64U8U8sXs6kgjPnDbov1vDRigTlZEpYhW1
 CWVB2bcmzncMZrgjTzCh6TVwg9qbc1okGvG8gT8lNetDL5evNtlIBJiHsFoz0Y8A
 dXXOvSYnd6VzhIItOeweRswA7K3Ww3eE2TUwlplenTIXuogfKNYTNDi7DRkmsIXR
 FuGrmDIoqKvP11taX2uInpRq3vzJx0O7dZ2uIlcx0YaPSJTcSCTBQnntNN7FJe02
 NgaHSbZT+oEx53va6LK3gok0v72TIijzQu/5lmsIlfLTDGRUnMM+D33g+T+8Ghr2
 RmAi7yPVS2dkcco1i1KxRNKMLgS2RhM4P+1qPSJrJvHgdUGjce6ujfEEMSyH8ZAk
 TFqDlsXMKt0IXpGI1bComAW4muZj8xM0vlJzZIT/xyqB/hRks0k=
 =wCMj
 -----END PGP SIGNATURE-----

Merge tag 'renesas-arm-soc-for-v6.18-tag1' of https://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into soc/arm

Renesas ARM SoC updates for v6.18

  - Use the SZ_256K definition.

* tag 'renesas-arm-soc-for-v6.18-tag1' of https://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  ARM: shmobile: rcar-gen2: Use SZ_256K definition

Link: https://lore.kernel.org/r/cover.1756468045.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-09-01 12:13:10 +02:00
Jihed Chaibi
70757ee5d2 ARM: defconfig: pxa: Remove duplicate CONFIG_USB_GPIO_VBUS entry
The pxa_defconfig file defines CONFIG_USB_GPIO_VBUS twice, first as
built-in ('y') and then as a module ('m'). The kconfig system correctly
uses the last definition, but the duplication is confusing.

Remove the obsolete configuration to resolve the ambiguity and clean
up the configuration.

Fixes: 2002f39687 ("ARM: refresh defconfig files")
Signed-off-by: Jihed Chaibi <jihed.chaibi.dev@gmail.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-09-01 12:12:10 +02:00
Lukas Bulwahn
c51f6fe14c MAINTAINERS: adjust file entry in DRM ACCEL DRIVER FOR ROCKCHIP NPU
Commit a7352c8494 ("dt-bindings: npu: rockchip,rknn: Add bindings") adds
the device-tree binding rockchip,rk3588-rknn-core.yaml, whereas the commit
ed98261b41 ("accel/rocket: Add a new driver for Rockchip's NPU") adds the
section DRM ACCEL DRIVER FOR ROCKCHIP NPU in MAINTAINERS with a file entry
referring to rockchip,rknn-core.yaml. Note that the file entry is missing
the part rk3588, compared to the added file above, which it intends to
refer to.

Adjust the file entry to the intended file name.

Fixes: ed98261b41 ("accel/rocket: Add a new driver for Rockchip's NPU")
Signed-off-by: Lukas Bulwahn <lukas.bulwahn@redhat.com>
Signed-off-by: Tomeu Vizoso <tomeu@tomeuvizoso.net>
Link: https://lore.kernel.org/r/20250826063248.32153-1-lukas.bulwahn@redhat.com
2025-09-01 12:11:28 +02:00
Arnd Bergmann
d4c9ab287b Renesas ARM defconfig updates for v6.18
- Enable support for the Renesas RZ/T2H serial driver and the
     RZ/V2H(P) RSPI driver in the ARM64 defconfig.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCaLGQlQAKCRCKwlD9ZEnx
 cB5SAP0SGMXzkc53TvvY6OtGBE7alJqloqN8qmwq8kPT+omfGwD/bWgbtDytscYP
 2uHuIvKSuAAxiQOLjDXGf2mOuI3QMAQ=
 =Wrka
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmi1cVAACgkQmmx57+YA
 GNmH/w//RCYStV1s7T9PYvVgkjZoTvieRTIe8eVpRrBeYFDCmwf5OerDItwCfREq
 xxNvk4RaehUk3pczzYszgFLi4BeRzXLLfpC8ZYo3EUBxijTc5flIGyW4yRnLa0DG
 OqbxJpVIsAF6p11cjGD5781y6yaW+k4SpBfU5tCQREaVKiPlhYIRLYMLNkV7lTiK
 gg8xQR2NQMy19n4NIfMVqusJk9YrA2HbAFkSwAxckVcaw7dYoFti8SQ+A+qZmRaZ
 gRatIZXxITfHzqgZI7Z//bMJwxMi6r0dAiHi5uhJFFVhkpGFgSqXg+SfJCW57k+U
 4RX+xa1DBkd4BEcVT8WcRfI/CGCazvCU+ntdWE6MDvEAE+Z/8xk+iSpi3KWzudDN
 Y1czFBxRZ0NgJ9p9fvE8Pbl9LT8SLtMOdpQruv670DIlAVfg3czPdT/8/pyDg2ak
 q0hoyIQ7VRyPxQQ7JI/mD5jivnXy8GsudNrO51DRLxonZqVs8mo+eZjc/q8iqL4P
 yKpQYdb05MHK00RC6ix8CNZdY42vW9pXf7JMIenRkssxd2gmDBk3GDxY+QFs07Ry
 1SACBCUniMODkn3JI/oYeXEbyaouri8V5SQeSChC7V3CJmnXAUN/8/c+8jF9+N9c
 RNgcKJSQoYJPH/IkdJsDInNKKRI6oVBoRTjJkQvQNxoFprzzF28=
 =vIpR
 -----END PGP SIGNATURE-----

Merge tag 'renesas-arm-defconfig-for-v6.18-tag1' of https://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into soc/defconfig

Renesas ARM defconfig updates for v6.18

  - Enable support for the Renesas RZ/T2H serial driver and the
    RZ/V2H(P) RSPI driver in the ARM64 defconfig.

* tag 'renesas-arm-defconfig-for-v6.18-tag1' of https://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  arm64: defconfig: Enable the RZ/V2H(P) RSPI driver
  arm64: defconfig: Enable Renesas RZ/T2H serial SCI

Link: https://lore.kernel.org/r/cover.1756468043.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-09-01 12:11:28 +02:00
Dan Carpenter
09e6d39cc8 accel/rocket: Fix some error checking in rocket_core_init()
The problem is that pm_runtime_get_sync() can return 1 on success so
checking for zero doesn't work.  Use the pm_runtime_resume_and_get()
function instead.  The pm_runtime_resume_and_get() function does
additional cleanup as well so that's a bonus as well.

Fixes: 0810d5ad88 ("accel/rocket: Add job submission IOCTL")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Signed-off-by: Tomeu Vizoso <tomeu@tomeuvizoso.net>
Link: https://lore.kernel.org/r/aKcRW6fsRP_o5C_y@stanley.mountain
2025-09-01 12:11:28 +02:00
Heiko Stuebner
78e399955d accel/rocket: Check the correct DMA irq status to warn about
Right now, the code checks the DMA_READ_ERROR state 2 times, while
I guess it was supposed to warn about both read and write errors.

Change the 2nd check to look at the write-error flag.

Fixes: 0810d5ad88 ("accel/rocket: Add job submission IOCTL")
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Tomeu Vizoso <tomeu@tomeuvizoso.net>
Link: https://lore.kernel.org/r/20250818185658.2585696-1-heiko@sntech.de
2025-09-01 12:11:28 +02:00
Brigham Campbell
ce6b656b5d accel/rocket: Fix usages of kfree() and sizeof()
Replace usages of kfree() with kvfree() for pointers which were
allocated using kvmalloc(), as required by the kernel memory management
API.

Use sizeof() on the type that a pointer references instead of the
pointer itself. In this case, scheds and *scheds both happen to be
pointers, so sizeof() will expand to the same value in either case, but
using *scheds is more technically correct since scheds is an array of
drm_gpu_scheduler *.

Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Julia Lawall <julia.lawall@inria.fr>
Closes: https://lore.kernel.org/r/202508120730.PLbjlKbI-lkp@intel.com/
Signed-off-by: Brigham Campbell <me@brighamcampbell.com>
Signed-off-by: Tomeu Vizoso <tomeu@tomeuvizoso.net>
Link: https://lore.kernel.org/r/20250813-rocket-free-fix-v1-1-51f00a7a1271@brighamcampbell.com
Fixes: 0810d5ad88 ("accel/rocket: Add job submission IOCTL")
2025-09-01 12:11:28 +02:00
Heiko Stuebner
503b0ed38c accel/rocket: Depend on DRM_ACCEL not just DRM
With the current dependency on only DRM, a config of

CONFIG_DRM_ACCEL_ROCKET=y

is possible, but of course wrong, because without DRM_ACCEL the build-
system will never even enter drivers/accel/* .

So depend on DRM_ACCEL instead of just DRM.

Fixes: ed98261b41 ("accel/rocket: Add a new driver for Rockchip's NPU")
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Tomeu Vizoso <tomeu@tomeuvizoso.net>
Link: https://lore.kernel.org/r/20250814113519.1551855-3-heiko@sntech.de
2025-09-01 12:11:28 +02:00
Heiko Stuebner
c4d24127aa accel/rocket: Fix indentation of Kconfig entry
The general indentation for the Kconfig lines is one tab, so adapt the
lines accordingly.

The description is correctly indented (1 tab + 2 spaces) so doesn't need
changes.

Fixes: ed98261b41 ("accel/rocket: Add a new driver for Rockchip's NPU")
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Tomeu Vizoso <tomeu@tomeuvizoso.net>
Link: https://lore.kernel.org/r/20250814113519.1551855-2-heiko@sntech.de
2025-09-01 12:11:28 +02:00
Arnd Bergmann
cc309f9793 Renesas driver updates for v6.18
- Add syscon/regmap support to the RZ System Controller driver.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCaLGQ/AAKCRCKwlD9ZEnx
 cCEfAP0cCBtmmxyYxpYqulgek1YG3qVwlxQEvPh6bN88oxY9AAEAp5hEU/gZH5eR
 YX7F1+ZRA67VOZkth8GsKntf89H11gc=
 =Tj4E
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmi1cPEACgkQmmx57+YA
 GNlKUg/9GBpVQ4IRk3DwKOe14dnkj8lp1aOh6iVKONqV4wEYBXSCcmJoHLxuNRdJ
 iXWlxzzFtz53cguuyKDgaNoosnosqv2ZVqEpEIXxq5XqoDwQ9b6F5HgXk9OypLiT
 yiiniVH9ylE9RJ0MBolmk4aG8HnbL3fIaBwLCd7+6yui+WauQPdT2/+s0Ns63hA3
 tS8xt3GCr2h0oydv9KztUPdekQGWtxP/5MYq1jhICZfdGJ5pUk2P0TWBoFnZZGsG
 f8Ed4lOt3HDyAku1otvS0yhjBrVguSGdXnFJcEgc3kfqLn/aq3ZqtXzUh+eTbTD2
 UCoaY1CdEAvkVR1aRn4yfZSMZBnUKzP8H7H3lULQTrfGxgk/8DcR9tS/+hWZPiU1
 EMt5cfGl8g+PLObZVaHIJXiFkCqMzHH1D8qh9FPPCwUTZc89P9aM7yA7NoIcrxLG
 Ua7yjIZzrWyw0YofvfAZ4TdrgEue9TRbrm27RSh/QoIJDrBxz71dJr2gHbBNkKL6
 JfeVafeaayBJtr5IDSKv9P0xEr77EdUHwqvh2o50OTo5Ogzp5zYw9iWf1DquII/q
 z8jRlTgORf4sYI5KPK5khns7LQWmeYeMrb94dbbgmlp426XUcOKnZ0umpneWw4DT
 Hr7n62kyD6YQ95NpCK36oLtvZ1nWaITGEY7c9PEU1irW9P8OpGQ=
 =UhA2
 -----END PGP SIGNATURE-----

Merge tag 'renesas-drivers-for-v6.18-tag1' of https://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into soc/drivers

Renesas driver updates for v6.18

  - Add syscon/regmap support to the RZ System Controller driver.

* tag 'renesas-drivers-for-v6.18-tag1' of https://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  soc: renesas: rz-sysc: Add syscon/regmap support

Link: https://lore.kernel.org/r/cover.1756468046.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-09-01 12:09:53 +02:00
Arnd Bergmann
fa93213f42 Early ASPEED driver updates for 6.18
Two small changes, the most interesting being the addition of the silicon IDs
 for ASPEED's AST2700 SoC family.
 -----BEGIN PGP SIGNATURE-----
 
 iJIEABYIADoWIQSoUT1x3bOSX/nAa8ajM9GZTrjhpgUCaKu87RwcYW5kcmV3QGNv
 ZGVjb25zdHJ1Y3QuY29tLmF1AAoJEKMz0ZlOuOGmxAoBAIWvFqHDVHh4qzcnmNeM
 g1a5wEbNo/wS0DcEAX39tr9+AP45dJRQdIyj1lFbp0oyGvoyMK1zzr/cUQUGgdTQ
 5OPgBQ==
 =rg00
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmi1cLoACgkQmmx57+YA
 GNkv+xAAm3l42yMRz7GbMNTRbBOh+On9XlvViXHbOjk4KFaBqEtiIYdbaoM8iIeI
 Pp0wv4yX8Dn7qDd4THTKJ1xnnoe+wGwsYAi5lwR/miJv4U4ZyfWoDKhsNzvbCrL7
 j25FyKMcXMmV1U+fufNUGOAwcjOawP26ud8Fb2xT2yEnaZl0em30hbMaYUu7Uj+0
 /jBtTUf0nrHC7TRFgnM1oKRW41WjZgsD8Tdc/gTW2eWS68bG9XBBSPqWVxH4JcG9
 JwP4yZ2RLRZb8YknVJhT3ue8FvtNklRcyo5O9iZCbDfIYJGsvZJZ3vuHvPlFkB+9
 v/eQ4qDaWoJCJsAdzv1Jqp2Gcb4hTiwsTckwGGjVBe7vgjHYBkFlOPmlp2cqpi0D
 vCLP+4SHlsz8koGRtPgC9sDJO+RvY32il2Kp6eMfWHEQ67h/8ncYQyW663uWJAek
 hpdt6mFhj7k55YusKPH43KKdy12dtO7pnNja0Iio/GQ2cFrXzX1Tr3xdsaZS1L8K
 Ipmjj0zGdJV21aEOCxtWDK4302702+nMKNh9zCgZYC7L8OtL23Pm3gIEqegcVrKV
 IHvQRWnCg8Z0R4C00doDpVZyC38hAU/DigEIDVzbXK/UQZpTfMb8v817Il/5bUXZ
 ONM/i60qW7aLchItfnuy9yNCZEgPtI4+CsJqztBCGDUHjVDnfHQ=
 =mCh9
 -----END PGP SIGNATURE-----

Merge tag 'aspeed-6.18-drivers-0' of https://git.kernel.org/pub/scm/linux/kernel/git/bmc/linux into soc/drivers

Early ASPEED driver updates for 6.18

Two small changes, the most interesting being the addition of the silicon IDs
for ASPEED's AST2700 SoC family.

* tag 'aspeed-6.18-drivers-0' of https://git.kernel.org/pub/scm/linux/kernel/git/bmc/linux:
  soc: aspeed: socinfo: Add AST27xx silicon IDs
  soc: aspeed: Use of_reserved_mem_region_to_resource() for "memory-region"

Link: https://lore.kernel.org/r/2d122b5c4a19261148993b66e4b98371a684ba74.camel@codeconstruct.com.au
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-09-01 12:08:58 +02:00
Sebastian Reichel
750b54513f
MAINTAINERS: exclude defconfig from ARM64 PORT
Patches for the arm64 defconfig are supposed to be sent to the
SoC maintainers (e.g. a change in the generic arm64 defconfig
required for Rockchip devices should be send to Heiko Stübner
as he is listed as maintainer for "ARM/Rockchip SoC support")
and not the ARM64 PORT maintainers.

While we cannot easily describe this in MAINTAINERS, we can at
least stop it from giving false information and make it behave
the same way as for the MAINTAINERS file itself (which basically
has the same rules), so that it just outputs the LKML for the
ARM64 defconfig.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Acked-by: Will Deacon <will@kernel.org>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Link: https://lore.kernel.org/r/20250818-arm64-defconfig-v1-1-f589553c3d72@collabora.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-09-01 12:08:25 +02:00
Arnd Bergmann
cea9c89d46 STi dt fixes:
- Drop STiH407/10-B2120 DT boards and bindings.
  - Remove remaining STiH415/6 reference from STi machine.
  - Fix phy-names value for stih407-family.dtsi.
 -----BEGIN PGP SIGNATURE-----
 
 iQJQBAABCgA6FiEEXyrViUccKBz9c35Jysd4L3sz/6YFAmixtDwcHHBhdHJpY2Uu
 Y2hvdGFyZEBmb3NzLnN0LmNvbQAKCRDKx3gvezP/pu45EACS7N1OxSS+HBGWhWKI
 P+vCYDE3z2LrVGkEMIcrFkhH8WS3mvepLLr9rrb6MYLIRy8ql7Kp3+Xu1zd5p4Sh
 9g44jBmx1rzYeH+P7VKHKdz9AJ9IQc2EKviJuHGPYJBsp5SLOnhY4D4yvZsb1yAY
 GnJyTQcsT0A2KCJ6m0UvbMQ2yUysLMJEQhjy4V4E2yE8IUT/lh9RXBKbD8g3IItK
 f5z1p9qk0lhdP3FVvIPAb35Ubl7iCFRvUkrutIY5VR3b7Z8CCickY/s/QqTTd+MY
 RuZ6PfCrdClMVbay3AViollVo+CHS+Yw0khy4p3phLK/jP70L/XJJsXON799axUo
 1DgNkePHU0p2AJF8aSdn0+Sutr/0ycjipkePFy0ee7tROA+8cpoV16elXyiGpt36
 o4hhQitcf2BlZnJcOsA2LmrQ7GojhUBk/LbDOFBuLJLUCk0U4gDBlW/uwK7XBIH6
 fBECEhR56Gdg0p+DptTAhPjoLDfXpLmbacdoXq07dYEbLOb7nZ9zBhRLxERsQCrJ
 uNnYMR50Sbh7Prau23qBeUSMxX1MjiO5K+gPMINYuLfLIR2UyJu4EYb3BLyM9l5Q
 wace7tEskFFT4S20TMoaBFLyJPmSCedDvqGTI51EXElTNibujUCM4PqzZpXYonbE
 HmcuKcIu8TVObAXOyclsaPgg/Q==
 =7Dyu
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmi1bxsACgkQmmx57+YA
 GNnj+xAAlhcUR+lcHVwF0uc9zBY2FEtalCmpE299tXEOymvhJm02xhVEnsuQp/2t
 oA07USgFKBlIMNBVOOoGiVNFklL9g7vtfgEAO3k2iomd1l3SnAGKvkfrJaZP+8vV
 vcHax2S/IKYSFr1aMbTg0fLMRGosO1pXxtgDr7Dq5LG7fIXYyL7pb3Dt721WDFxA
 t8uP6FFqkrKIxi9bib3RkRQJWLkeA4ftqM8I0YV+YRZMKKndL4kvR7hJiafym4hG
 Nl+imehmG7bfqLFgOgJeX+siMlSBnv5XFRP8/fYhzfh7I/wQNF4pS42j3Ngn6KCz
 ahlFVRI4k7ILseyHZoqWFCsrYwgDMvAlHLT7GuCADxBk0qbx0NZfZEoqaEeWuu45
 Fx1lAqjsVcD3oAhmhvjh9gwArAcu7FdqyxKUD0+MA9a4gnuf2pMHCQ7CPtBOe2N/
 iT1/NoAR8UyJLxOhmTGL27k9bP/naLanVioroWj0nQWwv2EFJsaAa5KSevTtkk/Z
 pK4uRiPrqgQTKgBqeOI6fG8k/oHEHD0io9m6zhVMqtTY85s+L72gqFbh21Dmbj83
 kXASAP3/AC9pWKmwwI+Fze2b2fSqbow9arOVT7v3CJ4vR+5D7PYAaMxZMaNwHh6Y
 +b84qAscax0UcsNg9qKGWjRYY0ghAelqfx4zRtuacCMEZjIIFTc=
 =IDvA
 -----END PGP SIGNATURE-----

Merge tag 'sti-dt-for-v6.18-round1' of https://git.kernel.org/pub/scm/linux/kernel/git/pchotard/sti into soc/dt

STi dt fixes:
 - Drop STiH407/10-B2120 DT boards and bindings.
 - Remove remaining STiH415/6 reference from STi machine.
 - Fix phy-names value for stih407-family.dtsi.

* tag 'sti-dt-for-v6.18-round1' of https://git.kernel.org/pub/scm/linux/kernel/git/pchotard/sti:
  ARM: sti: drop B2120 board support
  ARM: sti: removal of stih415/stih416 related entries
  dt-bindings: arm: sti: drop B2120 board support
  ARM: dts: sti: rename SATA phy-names

Link: https://lore.kernel.org/r/e4703e99-e44e-41d2-b744-a12ed4cb6692@foss.st.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-09-01 12:02:03 +02:00
Arnd Bergmann
4e501327bf Renesas DTS updates for v6.18
- Add initial support for the RZ/T2H (R9A09G077) and RZ/N2H
     (R9A09G087) SoCs and their evaluation boards,
   - Add SPI support for the RZ/V2H SoC,
   - Add DMAC and I3C support for the RZ/G3E SoC,
   - Add I3C support for the RZ/G3S SoCs,
   - Miscellaneous fixes and improvements.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCaLGS8gAKCRCKwlD9ZEnx
 cJ8bAQC8AgA3NZP4eqLxtN7yKW2IqbX5TTL0IOVfXLOONK/GdgD/VAsWjfgFkM2S
 Rr37Tf7U1Kh3lw+YV7EdaqE5CfU84gY=
 =vOb3
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmi1bs4ACgkQmmx57+YA
 GNkUYA/8D5Y8/gieFenCVXYdUXJ33RlPJrKGM7kXsQj71nYCFiDkeZmXg2cmqIfP
 iIz/7fgWbm/jRxdGfNFhtTPbN++Zlwtbl7RdenbV0fX0Vg8Uoq83B/oxFA3Q9VHj
 3Fn2dDwj7P/I8Czf7FUuzT0C+e0PgIzFZUinXxLwzL+Oq0GKyK4Mxg18mI2cISNb
 kq+g+UaTPGAIecGrY+/nwHtReUZAZk9YxdxmcwqWaegIlq9UjN96YcSj+u9+I7sH
 tp8vuiutKYZDbmyAWTGvH+IQJ7+BxfUF53FO0CzN/Z4ZIXIRvmHGt4Vsj9XP5NJv
 eXztfp5iIXV0A+baZlhLqxD5meJtpvh0KblSpC1hdc88HkIx4rVT3EiowzUrXC+d
 OWpfnqJKRCpRjhddTYRQr2YFDOYbjNmdpMcJIPpUCAdsipbOzTtf4HorOuFYR+B8
 ZyVcgTFSEBsP/mi7MHtHYXxAl0Ue18FN7ZeJ03U37yCqk3ue8KGi0gc0gf4CJH8F
 8FkKWK5NFujhYNpAo9J0ePmHcXxY/aQQ8e/J8vtlSHyVDc5wUT1HYnlyxg8hhi7M
 p5JG2+CtqTe70MDjs61P5sRePkiairu6D+Z5Z4InIgy7UX9wwojdMnnLZnJabyU4
 f42bkBW+C33GdraqQHksggkP5yRpnWPATktSxX0OrzrmQLpEc2A=
 =RYUL
 -----END PGP SIGNATURE-----

Merge tag 'renesas-dts-for-v6.18-tag1' of https://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into soc/dt

Renesas DTS updates for v6.18

  - Add initial support for the RZ/T2H (R9A09G077) and RZ/N2H
    (R9A09G087) SoCs and their evaluation boards,
  - Add SPI support for the RZ/V2H SoC,
  - Add DMAC and I3C support for the RZ/G3E SoC,
  - Add I3C support for the RZ/G3S SoCs,
  - Miscellaneous fixes and improvements.

* tag 'renesas-dts-for-v6.18-tag1' of https://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel: (31 commits)
  arm64: dts: renesas: Minor whitespace cleanup
  arm64: dts: renesas: sparrow-hawk: Set VDDQ18_25_AVB voltage on EVTB1
  arm64: dts: renesas: sparrow-hawk: Invert microSD voltage selector on EVTB1
  arm64: dts: renesas: r9a09g077m44-rzt2h-evk: Enable I2C0 and I2C1 support
  arm64: dts: renesas: r9a09g077: Add pinctrl node
  arm64: dts: renesas: r9a09g087: Add DT nodes for SCI channels 1-5
  arm64: dts: renesas: r9a09g077: Add DT nodes for SCI channels 1-5
  arm64: dts: renesas: r9a09g047: Add I3C node
  arm64: dts: renesas: r9a08g045: Add I3C node
  arm64: dts: renesas: sparrow-hawk: Update thermal trip points
  arm64: dts: renesas: rzg2: Increase CANFD clock rates
  arm64: dts: renesas: rcar-gen3: Increase CANFD clock rates
  ARM: dts: renesas: porter: Fix CAN pin group
  ARM: dts: renesas: r7s72100: Add boot phase tags
  arm64: dts: renesas: sparrow-hawk: Describe generic SPI NOR support
  arm64: dts: renesas: rzg2lc-smarc: Disable CAN-FD channel0
  arm64: dts: renesas: r9a09g047: Add DMAC nodes
  arm64: dts: renesas: r9a09g057h48-kakip: Fix misplaced article
  arm64: dts: renesas: r9a09g087: Add SDHI nodes
  arm64: dts: renesas: r9a09g077: Add SDHI nodes
  ...

Link: https://lore.kernel.org/r/cover.1756468048.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-09-01 12:00:46 +02:00
Arnd Bergmann
58770c8759 IXP4xx DTS updates for v6.18:
Add the Actiontec router MI424WR A/C and D device trees.
 
 Prerequisite DT bindings have been merged in networking and
 GPIO git trees:
 https://lore.kernel.org/netdev/175106401649.2079310.16035106613106076029.git-patchwork-notify@kernel.org/
 https://lore.kernel.org/linux-gpio/175614780274.8817.4717113656972710108.b4-ty@linaro.org/
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEElDRnuGcz/wPCXQWMQRCzN7AZXXMFAmixcRoACgkQQRCzN7AZ
 XXOTQRAAv27FmZswsr9QADHOaTxtYwbYlUgZm1E3ufi7j/LiWh6WhS+nBKS7oOVw
 nY4E4OuiSJ9Du1ktC73+D9dc6ncS6JdXHuDuPetL78PgrE6ZcmYUX00tdReWU3J4
 ahtBpx81H5lL2PezxCM73EQLzbWDe+5Tj9yJoOc8wsCQ1tt5npu5+LG8EeP5TXhJ
 qPJt3n8dKmsZUTiniMRDJUpHfhcZ3N2s+X/t1plI55bmp2FFMXkWLXaSPasuZRKI
 octgUf9ttE/ye6PZFa+5c789A5HZQGVKJUFa9e4O+O58hr8bA+hi+JGUQDQmDkwA
 ac/X4Hn27StsQJ1rgvxqP1OxgzcDwSiFfzFF9Bo7tZb0RFYSsIAhUUFGWJJKaxIU
 /x+hKRkalKJqeF3wVCAZZQ46pV0uYtenxiMTG1/B7Z4PfO4RoAFJfS66MPhs/LXH
 UJTMGTsNv36/Cmwl99LXg22KLh0Mk86IBgGKVBUFod5KqNLssg0sl0/p22tv7yeK
 UTjhn/cD2SC+EbVph7HPGGcpAeQljSrOhUJ7GxWugpYP5AD82t4GTuCj2thViFpU
 fJaEvWIugpfSrHIVlTQg7hbBJd/3dryYsuPCr20ZCVw8a5gub1Ew69ac049vyn7N
 5Xf4okJ8GvlSKQI/S1W7+psy+fJq8dCqLwm14dix0MmwtmTMMc0=
 =LfS3
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmi1bgcACgkQmmx57+YA
 GNnqHBAAlDa36iJlm4d5Qp1TIFjFoU7aiEW+Dtt5p+Lrpaig/RN+av+BBcczAl+6
 /VtaAzsJgPbNUeNjIBWVGgKhT/IOrhvl13tGt6YL2VClIoXGoYcJd/CvMY+7zevA
 YjwMFT4YcE63IY3kK5DOHwj/3jxhqd1fpS8mRaNOLryHBN1LlDAUwNc1CfTuDHSD
 yak9CSne9w3DnOpATJXYgOI193Q8wSaqV6kTkEkz4oOSh48B620qaJc6wQcE3cXC
 PInZERrPLawM7z+7Qfkg4L0ufFsBwMoZ5SXukNDRhVjcbiwiPmntNUH3U2Ie2/M8
 y+5MTTZTXsR8zmA/PneVEL8+cVpTN8nVZaKnQLSVMv83qjIOoELrmfqTXSrZpczj
 /dsKsdiL6hduOnakuy9kP6erxEVlsLqjZ+/jwNWMctjsSJO2Nxo0GzhIQKRqVZJ7
 acLoF8d+qnqxVqRJ/I4i/y5Ypw/jABJpj6Z1xLPJ5grNhXUy0FyIupYyzNPSnDF2
 gSDL3G53PSYo7x/cba7ftqnZLlOugrmomh1caAA9/i8CT1qE1HCzAjWDXcM6pbBa
 PjQoQ2RbJ0kLQnX0Nzmu3C8HnjTxQm17PIDgdQcQ5e/3fsTgN4Y05m8TySEjKGa5
 6CZbAXFI+Iy33v1D9h6SX1g5Tv1SJRzuXL/wHvk3CBhgpCu5coA=
 =CnM/
 -----END PGP SIGNATURE-----

Merge tag 'ixp4xx-dts-v6.18' of https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator into soc/dt

IXP4xx DTS updates for v6.18:

Add the Actiontec router MI424WR A/C and D device trees.

Prerequisite DT bindings have been merged in networking and
GPIO git trees:
https://lore.kernel.org/netdev/175106401649.2079310.16035106613106076029.git-patchwork-notify@kernel.org/
https://lore.kernel.org/linux-gpio/175614780274.8817.4717113656972710108.b4-ty@linaro.org/

* tag 'ixp4xx-dts-v6.18' of https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator:
  ARM: dts: Add ixp4xx Actiontec MI424WR device trees
  dt-bindings: arm: ixp4xx: List actiontec devices
  dt-bindings: Add Actiontec vendor prefix

Link: https://lore.kernel.org/r/CACRpkdZoDCXgsTGzUUWABbp_r1Xjv7vp7_NjEnEWzMmDQG+UJQ@mail.gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-09-01 11:57:27 +02:00
Marek Vasut
d83f1d19c8 drm/rcar-du: dsi: Fix 1/2/3 lane support
Remove fixed PPI lane count setup. The R-Car DSI host is capable
of operating in 1..4 DSI lane mode. Remove the hard-coded 4-lane
configuration from PPI register settings and instead configure
the PPI lane count according to lane count information already
obtained by this driver instance.

Configure TXSETR register to match PPI lane count. The R-Car V4H
Reference Manual R19UH0186EJ0121 Rev.1.21 section 67.2.2.3 Tx Set
Register (TXSETR), field LANECNT description indicates that the
TXSETR register LANECNT bitfield lane count must be configured
such, that it matches lane count configuration in PPISETR register
DLEN bitfield. Make sure the LANECNT and DLEN bitfields are
configured to match.

Fixes: 155358310f ("drm: rcar-du: Add R-Car DSI driver")
Cc: stable@vger.kernel.org
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Reviewed-by: Tomi Valkeinen <tomi.valkeinen+renesas@ideasonboard.com>
Link: https://lore.kernel.org/r/20250813210840.97621-1-marek.vasut+renesas@mailbox.org
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
2025-09-01 12:57:07 +03:00
Arnd Bergmann
6c8903cf5f Ux500 DTS changes for v6.18
- Fix a GPIO hog name.
 
 - Move custom wakeup GPIO to a proper GPIO IRQ
   line rising edge wakeup.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEElDRnuGcz/wPCXQWMQRCzN7AZXXMFAmiwouQACgkQQRCzN7AZ
 XXO6Zw/9FHbC3yS3ya8++8O5TXbKiCpy7bVlAbAzaIzgXYiyONCEEGqwr8n4NnPI
 t9c6hqHg7fXZWt9tQAhVO3SKcGquMEguZ2Lc+gRaZcuFtK+zxdU058k6JAhJiSU/
 tJax+7zPeSDsYWndlZA+GcgE5VuauMa6xdjr9e0gpRhditC7oCDv6avsaED2wtG6
 c+Dtr+U0uVoqwufNSxoRGWorSJOw9Rq+gRPd22vR9tscwNmu2duaEwRRkjP1Kejq
 Idw5B/dtWL2EWRlYK6vKFhuWwIt46X/rpetl16qY5BMAIId2Eb4XzJHodZgPbN0r
 5y/Ea3UYNgNM063Fgc5Cqm/jNX1TzID81QP35cDROvKCNlEiy/Pyb5l7FHxIsszp
 vlpLHiBVUuweH82l9g+3/QTdFEYsvn3QPV3eU8UwfTdBJC7lSPlzuS2z3zQlBGKL
 s0WhUUD5vTMP5WelzjtkPNJyQGUGpYdnNIoquL6f8cf7QG7NqFs6pms+YGLSAY9n
 UYrRxLEvx/kcTsppAkWLRFQIsQISgv1e4dOOAKb9DiQ52D4KSTaoELGhpIu8uL/w
 enDuE+WdrEdknLiGeMYhMoMdAFzAKtSBWikUvRG4ahNtjkONfF5N68ZkVWVXTLVK
 ExdhU8TPZyiFW0M6PtGcGhEncdKLmS8FFiuyQcVqAuISe8SPen0=
 =rD/K
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmi1bdwACgkQmmx57+YA
 GNmOhQ//TEDz+WY8H3x0lryWkKCbzKGFm8x8SsUHKpYOvUGUO/klPVfAl6z4ySzc
 ffY7taMt3C4U+gV+8OgzOpv6GYP+uCM5I9wO6C2zW/iNI0jWZs/xvNvI8OvKuTru
 2CVlwSg0ZvpTpi0fHF91FcR5Q1uWE5qnuPe072tA6n59qEGcYEbM/Xo+b8kaN6z2
 OtuQ93dTLPqGkTem/U7CN/nnLUGwiS+nCirP1i20MdKBkEFrzn48rCa8bR9hKWnQ
 mVDzd80j2FsEeFd5Ejq78OdbWEirrPvzXVf9CdHz4eQCCCSJQSiq7O/k+rr3iPrP
 uQ7K57u8tZAgo/a8b6DkEJfBp0jHM70NOnLK2LPnVJYLGKdmKfqFZ2IxGeVbao/q
 IBt0nxuBZCrXTGt0cIWHhtywDtcJNdUdtp7ak2NE4xug7pKdUDWJ31gIzeyHFyc3
 9/fC9Jg+fqn2GKYwK11aQBzs49ORQMtkd9L4ZCT17FNGrLh8Ho2ClWqgKFecoylj
 HRXLsHgqwM9ZmG5SeLhd9rz/cEvF/fbljQpu0mLQlw668t9as0B4NrtvM6DbHeIl
 KNb5k/Ykuc+lVJuwK9usWLYopiMZdiYqIaesCdM5wkEQaHnB8yG0+M3JvJLUM96a
 hJNB1vyfnXrgqOxrIWtt7RrkLIJnATErbs5fOeYvXoHRmCppdTw=
 =gh35
 -----END PGP SIGNATURE-----

Merge tag 'ux500-dts-v6.18' of https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik into soc/dt

Ux500 DTS changes for v6.18

- Fix a GPIO hog name.

- Move custom wakeup GPIO to a proper GPIO IRQ
  line rising edge wakeup.

* tag 'ux500-dts-v6.18' of https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik:
  ARM: dts: ste-ux500-samsung: dts bluetooth wakeup interrupt
  ARM: dts: st: ste-nomadik: Align GPIO hog name with bindings

Link: https://lore.kernel.org/r/CACRpkdaGWVe7TNVz_L=gFh3AfzqnEq4rrOLo8x6gXUORA+MMpw@mail.gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-09-01 11:56:44 +02:00
Li Jun
98da8a4aec PM: hibernate: Fix typo in memory bitmaps description comment
Correct 'leave' to 'leaf' in memory bitmaps description comment.

Signed-off-by: Li Jun <lijun01@kylinos.cn>
Link: https://patch.msgid.link/20250819104038.1596952-1-lijun01@kylinos.cn
[ rjw: Subject and changelog edits ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2025-09-01 11:55:53 +02:00