Commit graph

1,463,462 commits

Author SHA1 Message Date
Huisong Li
629be87e0d cpuidle: Simplify cpuidle_register_device() with guard()
Use guard() macro for mutex to simplify the control flow in
cpuidle_register_device().

Signed-off-by: Huisong Li <lihuisong@huawei.com>
Link: https://patch.msgid.link/20260403084542.708104-1-lihuisong@huawei.com
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2026-04-04 20:44:42 +02:00
Huisong Li
47e6a863a8 ACPI: processor: idle: Fix NULL pointer dereference in hotplug path
A cpuidle_device might fail to register during boot, but the system can
continue to run. In such cases, acpi_processor_hotplug() can trigger
a NULL pointer dereference when accessing the per-cpu acpi_cpuidle_device.

So add NULL pointer check for the per-cpu acpi_cpuidle_device in
acpi_processor_hotplug.

Signed-off-by: Huisong Li <lihuisong@huawei.com>
Link: https://patch.msgid.link/20260403090253.998322-1-lihuisong@huawei.com
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2026-04-04 20:42:37 +02:00
Danilo Krummrich
6c8dfb0362 bus: fsl-mc: use generic driver_override infrastructure
When a driver is probed through __driver_attach(), the bus' match()
callback is called without the device lock held, thus accessing the
driver_override field without a lock, which can cause a UAF.

Fix this by using the driver-core driver_override infrastructure taking
care of proper locking internally.

Note that calling match() from __driver_attach() without the device lock
held is intentional. [1]

Tested-by: Ioana Ciornei <ioana.ciornei@nxp.com>
Acked-by: Ioana Ciornei <ioana.ciornei@nxp.com>
Acked-by: Christophe Leroy (CS GROUP) <chleroy@kernel.org>
Link: https://lore.kernel.org/driver-core/DGRGTIRHA62X.3RY09D9SOK77P@kernel.org/ [1]
Reported-by: Gui-Dong Han <hanguidong02@gmail.com>
Closes: https://bugzilla.kernel.org/show_bug.cgi?id=220789
Fixes: 1f86a00c11 ("bus/fsl-mc: add support for 'driver_override' in the mc-bus")
Link: https://patch.msgid.link/20260324005919.2408620-3-dakr@kernel.org
Signed-off-by: Danilo Krummrich <dakr@kernel.org>
2026-04-04 20:41:25 +02:00
Huisong Li
02c68ed11c ACPI: processor: idle: Reset power_setup_done flag on initialization failure
The 'power_setup_done' flag is a key indicator used across the ACPI
processor driver to determine if cpuidle are properly configured and
available for a given CPU.

Currently, this flag is set during the early stages of initialization.
However, if the subsequent registration of the cpuidle driver in
acpi_processor_register_idle_driver() or the per-CPU device registration
in acpi_processor_power_init() fails, this flag remains set. This may
lead to some issues where other functions in ACPI idle driver use these
flags.

Fix this by explicitly resetting this flag to 0 in these error paths.

Signed-off-by: Huisong Li <lihuisong@huawei.com>
Link: https://patch.msgid.link/20260403085343.866440-1-lihuisong@huawei.com
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2026-04-04 20:41:01 +02:00
Rafael J. Wysocki
7572dcabe3 ACPI: TAD: Add alarm support to the RTC class device interface
Add alarm support, based on Section 9.17 of ACPI 6.6 [1], to the RTC
class device interface of the driver.

The ACPI time and alarm device (TAD) can support two separate alarm
timers, one for waking up the system when it is on AC power, and one
for waking it up when it is on DC power.  In principle, each of them
can be set to a different value representing the number of seconds
till the given alarm timer expires.

However, the RTC class device can only set one alarm, so it will set
both the alarm timers of the ACPI TAD (if the DC one is supported) to
the same value.  That is somewhat cumbersome because there is no way in
the ACPI TAD firmware interface to set both timers in one go, so they
need to be set sequentially, but that's how it goes.

On the alarm read side, the driver assumes that both timers have been
set to the same value, so it is sufficient to access one of them (the
AC one specifically).

Link: https://uefi.org/specs/ACPI/6.6/09_ACPI_Defined_Devices_and_Device_Specific_Objects.html#time-and-alarm-device [1]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Reviewed-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Link: https://patch.msgid.link/2076980.usQuhbGJ8B@rafael.j.wysocki
2026-04-04 20:37:25 +02:00
Rafael J. Wysocki
2ffc8bf29e ACPI: TAD: Split acpi_tad_rtc_read_time()
Move the code converting a struct acpi_tad_rt into a struct rtc_time
from acpi_tad_rtc_read_time() into a new function, acpi_tad_rt_to_tm(),
to facilitate adding alarm support to the driver's RTC class device
interface going forward.

No intentional functional impact.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Reviewed-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
[ rjw: Subject and changelog edits ]
Link: https://patch.msgid.link/9619488.CDJkKcVGEf@rafael.j.wysocki
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2026-04-04 20:37:09 +02:00
Rafael J. Wysocki
9bcdd4ef4c ACPI: TAD: Relocate two functions
Move two functions introduced previously, __acpi_tad_wake_set() and
__acpi_tad_wake_read(), to the part of the code preceding the sysfs
interface implementation, since subsequently they will be used by
the RTC device interface too.

No intentional functional impact.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Reviewed-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Link: https://patch.msgid.link/3960639.kQq0lBPeGt@rafael.j.wysocki
2026-04-04 20:37:02 +02:00
Rafael J. Wysocki
b14b77bbea ACPI: TAD: Split three functions to untangle runtime PM handling
Move the core functionality of acpi_tad_get_real_time(),
acpi_tad_wake_set(), and acpi_tad_wake_read() into separate functions
called __acpi_tad_get_real_time(), __acpi_tad_wake_set(), and
__acpi_tad_wake_read(), respectively, which can be called from
code blocks following a single runtime resume of the device.

This will facilitate adding alarm support to the RTC class device
interface of the driver going forward.

No intentional functional impact.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Reviewed-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Link: https://patch.msgid.link/23076728.EfDdHjke4D@rafael.j.wysocki
2026-04-04 20:36:54 +02:00
Rafael J. Wysocki
00154eede7 ACPI: processor: Rearrange and clean up acpi_processor_errata_piix4()
In acpi_processor_errata_piix4() it is not necessary to use three
struct pci_dev pointers.  One is sufficient, so use it everywhere and
drop the other two.

Additionally, define the auxiliary local variables value1 and value2
in the code block in which they are used.

No intentional functional impact.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Link: https://patch.msgid.link/2846888.mvXUDI8C0e@rafael.j.wysocki
2026-04-04 20:28:48 +02:00
Aksh Garg
d9cf7154de PCI: cadence: Use cdns_pcie_read_sz() for byte or word read access
The commit 18ac51ae9d ("PCI: cadence: Implement capability search
using PCI core APIs") assumed all the platforms using Cadence PCIe
controller support byte and word register accesses. This is not true
for all platforms (e.g., TI J721E SoC, which only supports dword
register accesses).

This causes capability searches via cdns_pcie_find_capability() to fail
on such platforms.

Fix this by using cdns_pcie_read_sz() for config read functions, which
properly handles size-aligned accesses. Remove the now-unused byte and
word read wrapper functions (cdns_pcie_readw and cdns_pcie_readb).

Fixes: 18ac51ae9d ("PCI: cadence: Implement capability search using PCI core APIs")
Signed-off-by: Aksh Garg <a-garg7@ti.com>
Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>
Cc: stable@vger.kernel.org
Link: https://patch.msgid.link/20260402085545.284457-1-a-garg7@ti.com
2026-04-04 22:55:27 +05:30
Rafael J. Wysocki
f706a63fd8 ACPI: TAD: Use DC wakeup only if AC wakeup is supported
According to Section 9.17.2 of ACPI 6.6 [1], setting ACPI_TAD_DC_WAKE in
the capabilities without setting ACPI_TAD_AC_WAKE is invalid, so don't
support wakeup if that's the case.

Moreover, it is sufficient to check ACPI_TAD_AC_WAKE alone to determine
if wakeup is supported at all, so use this observation to simplify one
check.

Link: https://uefi.org/specs/ACPI/6.6/09_ACPI_Defined_Devices_and_Device_Specific_Objects.html#gcp-get-capability [1]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Link: https://patch.msgid.link/2833494.mvXUDI8C0e@rafael.j.wysocki
2026-04-04 19:18:57 +02:00
Rafael J. Wysocki
93afe8ba9b ACPI: TAD: Use dev_groups in struct device_driver
Instead of creating and removing the device sysfs attributes directly
during probe and remove of the driver, respectively, use dev_groups in
struct device_driver to point to the attribute definitions and let the
core take care of creating and removing them.

No intentional functional impact.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Link: https://patch.msgid.link/2836803.mvXUDI8C0e@rafael.j.wysocki
2026-04-04 19:18:57 +02:00
Rafael J. Wysocki
6db176eb41 ACPI: TAD: Update the driver description comment
Update the preamble comment describing the driver to match the code
after previous changes along with the copyright information.

No functional impact.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Link: https://patch.msgid.link/23034847.EfDdHjke4D@rafael.j.wysocki
2026-04-04 19:18:57 +02:00
Rafael J. Wysocki
8a1e7f4b17 ACPI: TAD: Add RTC class device interface
Add an RTC class device interface allowing to read and set the real time
value to the ACPI TAD driver.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Reviewed-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Link: https://patch.msgid.link/2352027.iZASKD2KPV@rafael.j.wysocki
2026-04-04 19:18:57 +02:00
Rafael J. Wysocki
fca4f233a2 ACPI: TAD: Clear unused RT data in acpi_tad_set_real_time()
Move the clearing of the fields in struct acpi_tad_rt that are not used
on the real time setting side to acpi_tad_set_real_time().

No intentional functional impact.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Link: https://patch.msgid.link/8660506.T7Z3S40VBb@rafael.j.wysocki
2026-04-04 19:18:57 +02:00
Rafael J. Wysocki
3329a1416c ACPI: TAD: Rearrange RT data validation checking
Move RT data validation checks from acpi_tad_set_real_time() to
a separate function called acpi_tad_rt_is_invalid() and use it
also in acpi_tad_get_real_time() to validate data coming from
the platform firmware.

Also make acpi_tad_set_real_time() return -EINVAL when the RT data
passed to it is invalid (instead of -ERANGE which is somewhat
confusing) and introduce ACPI_TAD_TZ_UNSPEC to represent the
"unspecified timezone" value.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Link: https://patch.msgid.link/3409319.aeNJFYEL58@rafael.j.wysocki
2026-04-04 19:18:57 +02:00
Rafael J. Wysocki
e64ab3e217 ACPI: TAD: Use __free() for cleanup in time_store()
Use __free() for the automatic freeing of memory pointed to by local
variable str in time_store() which allows the code to become somewhat
easier to follow.

No intentional functional impact.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Link: https://patch.msgid.link/13971300.uLZWGnKmhe@rafael.j.wysocki
2026-04-04 19:18:56 +02:00
Rafael J. Wysocki
6c711fde3a ACPI: TAD: Support RTC without wakeup
The ACPI TAD can provide a functional RTC without wakeup capabilities,
so stop failing probe if AC wakeup is not supported.

Also, if _PRW is missing, do not fail probe, but clear the wakeup bits
in capabilities.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Link: https://patch.msgid.link/1959268.tdWV9SEqCh@rafael.j.wysocki
2026-04-04 19:18:56 +02:00
Rafael J. Wysocki
8be4a29b49 ACPI: TAD: Create one attribute group
Instead of creating three attribute groups, one for each supported
subset of capabilities, create just one and use an .is_visible()
callback in it to decide which attributes to use.

No intentional functional impact.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Link: https://patch.msgid.link/2412153.ElGaqSPkdT@rafael.j.wysocki
2026-04-04 19:18:56 +02:00
Rafael J. Wysocki
b48ee1f740 rtc: cmos: Do not require IRQ if ACPI alarm is used
If the ACPI RTC fixed event is used, a dedicated IRQ is not required
for the CMOS RTC alarm to work, so allow the driver to use the alarm
without a valid IRQ in that case.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Reviewed-by: Mario Limonciello (AMD) <superm1@kernel.org>
Link: https://patch.msgid.link/6168746.MhkbZ0Pkbq@rafael.j.wysocki
2026-04-04 19:14:58 +02:00
Rafael J. Wysocki
db5dab0784 rtc: cmos: Enable ACPI alarm if advertised in ACPI FADT
If the ACPI_FADT_FIXED_RTC flag is unset, the platform is declaring that
it supports the ACPI RTC fixed event which should be used instead of a
dedicated CMOS RTC IRQ.  However, the driver only enables it when
is_hpet_enabled() returns true, which is questionable because there is
no clear connection between enabled HPET and signaling wakeup via the
ACPI RTC fixed event (for instance, the latter can be expected to work
on systems that don't include a functional HPET).

Moreover, since use_hpet_alarm() returns false if use_acpi_alarm is set,
the ACPI RTC fixed event is effectively used instead of the HPET alarm
if the latter is functional, but there is no particular reason why it
could not be used otherwise.

Accordingly, on x86 systems with ACPI, set use_acpi_alarm if
ACPI_FADT_FIXED_RTC is unset without looking at whether or not HPET is
enabled.

Also, do the ACPI FADT check in use_acpi_alarm_quirks() before the DMI
BIOS year checks which are more expensive and it's better to skip them
if ACPI_FADT_FIXED_RTC is set.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Reviewed-by: Mario Limonciello (AMD) <superm1@kernel.org>
Link: https://patch.msgid.link/9618535.CDJkKcVGEf@rafael.j.wysocki
2026-04-04 19:14:58 +02:00
Ioana Ciornei
208858b1b4 bus: fsl-mc: wait for the MC firmware to complete its boot
There are use cases in which the Management Complex firmware boot
process is started by the bootloader which does not wait for the boot to
complete. This is mainly done in order to reduce the overall boot time
of a DPAA2 based SoC.

In this kind of circumstance, the fsl-mc bus driver needs to make sure
that the MC firmware boot process is finished before proceeding to the
usual operations such as interrogating the firmware to gather all
existent DPAA2 objects, creating the fsl-mc devices on the bus etc.

Add this kind of check early in the boot process of the fsl-mc bus and
defer the probe in case the firmware is still in its boot process.

Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com>
Link: https://lore.kernel.org/r/20260401144508.3062019-1-ioana.ciornei@nxp.com
Signed-off-by: Christophe Leroy (CS GROUP) <chleroy@kernel.org>
2026-04-04 18:54:05 +02:00
Wang Jun
a0fe29d20e soc: fsl: qe: panic on ioremap() failure in qe_reset()
When ioremap() fails in qe_reset(), the global pointer qe_immr remains
NULL, leading to a subsequent NULL pointer dereference when the pointer
is accessed. Since this happens early in the boot process, a failure to
map a few bytes of I/O memory indicates a fatal error from which the
system cannot recover.

Follow the same pattern as qe_sdma_init() and panic immediately when
ioremap() fails. This avoids a silent NULL pointer dereference later
and makes the error explicit.

Fixes: 9865853851 ("[POWERPC] Add QUICC Engine (QE) infrastructure")
Cc: stable@vger.kernel.org
Signed-off-by: Wang Jun <1742789905@qq.com>
Link: https://lore.kernel.org/r/tencent_FED49CF5331CC0C7910618883332A08E2606@qq.com
[chleroy: Rearranged change to reduce churn]
Signed-off-by: Christophe Leroy (CS GROUP) <chleroy@kernel.org>
2026-04-04 18:52:09 +02:00
Chen-Yu Tsai
5573c44cb3 PCI: mediatek-gen3: Prevent leaking IRQ domains when IRQ not found
In mtk_pcie_setup_irq(), the IRQ domains are allocated before the
controller's IRQ is fetched. If the latter fails, the function
directly returns an error, without cleaning up the allocated domains.

Hence, reverse the order so that the IRQ domains are allocated after the
controller's IRQ is found.

This was flagged by Sashiko during a review of "[PATCH v6 0/7] PCI:
mediatek-gen3: add power control support".

Fixes: 814cceebba ("PCI: mediatek-gen3: Add INTx support")
Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>
Link: https://sashiko.dev/#/patchset/20260324052002.4072430-1-wenst%40chromium.org
Link: https://patch.msgid.link/20260324093542.18523-1-wenst@chromium.org
2026-04-04 22:20:50 +05:30
Krzysztof Kozlowski
3ef628c3f3 Microchip ARM64 SoC updates for v7.1
This update includes:
 - use a top-level configuration flag for all Microchip platforms
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQTsZ8eserC1pmhwqDmejrg/N2X7/QUCac7HaAAKCRCejrg/N2X7
 /cCQAP9AyKc3k+kYA0Q3+IuBj7QdVmbuABIeIcR5wF63/+ft6AD/Sdma/GNEjheH
 SIthAnfbgkOTv0V1cHuZ3G1O0o4p4wA=
 =cR5d
 -----END PGP SIGNATURE-----

Merge tag 'microchip-soc-7.1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/at91/linux into soc/arm

Microchip ARM64 SoC updates for v7.1

This update includes:
- use a top-level configuration flag for all Microchip platforms

* tag 'microchip-soc-7.1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/at91/linux:
  arm64: Kconfig: provide a top-level switch for Microchip platforms

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2026-04-04 17:34:56 +02:00
Krzysztof Kozlowski
b5bfa8a921 Microchip ARM64 device tree updates for v7.1
This update includes:
 - device tree files for the Microchip LAN9691 SoC and its evaluation
   board (Microchip EV23X71A)
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQTsZ8eserC1pmhwqDmejrg/N2X7/QUCac7J9wAKCRCejrg/N2X7
 /Sv6AP9vqTk9ImposrX16/oHw1K+b8IzjDVooZHeHkZSdbICVgD/Tl/RjRLJyfmN
 aNuN1d/YNyr7euIlAxJtLG2TaZe4pQc=
 =K6WU
 -----END PGP SIGNATURE-----

Merge tag 'microchip-dt64-7.1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/at91/linux into soc/dt

Microchip ARM64 device tree updates for v7.1

This update includes:
- device tree files for the Microchip LAN9691 SoC and its evaluation
  board (Microchip EV23X71A)

* tag 'microchip-dt64-7.1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/at91/linux:
  arm64: dts: microchip: add EV23X71A board
  dt-bindings: arm: AT91: document EV23X71A board
  arm64: dts: microchip: add LAN969x support
  arm64: dts: microchip: add LAN969x clock header file

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2026-04-04 17:32:55 +02:00
Krzysztof Kozlowski
98bc7682ff Microchip AT91 SoC updates for v7.1
This update includes:
 - device tree bindings conversion to DT schema for CHIPID, RAM
   controller and PIT, PIT64b, ST timers
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQTsZ8eserC1pmhwqDmejrg/N2X7/QUCac7GNAAKCRCejrg/N2X7
 /ZcEAQCAG50O3QClqoV0d7uesf/Sh77oiwHYP/YxRjL5ipgiRwEA5Fea/NVWvW+5
 z3mJEXhEryqw3a0rAtaRkNU5lNEHqgE=
 =282z
 -----END PGP SIGNATURE-----

Merge tag 'at91-soc-7.1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/at91/linux into soc/drivers

Microchip AT91 SoC updates for v7.1

This update includes:
- device tree bindings conversion to DT schema for CHIPID, RAM
  controller and PIT, PIT64b, ST timers

* tag 'at91-soc-7.1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/at91/linux:
  dt-bindings: arm: atmel,at91rm9200-sdramc: convert to DT schema
  dt-bindings: arm: atmel,at91rm9200-st: convert to DT schema
  dt-bindings: arm: microchip,sam9x60-pit64b : convert to DT schema
  dt-bindings: arm: atmel,at91sam9260-pit: convert to DT schema
  dt-bindings: arm: microchip,sama7g5-chipid : convert to DT schema

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2026-04-04 17:30:56 +02:00
Krzysztof Kozlowski
cefb8fb648 Microchip AT91 device tree updates for v7.1
This update includes:
 - enable LVDS, LCD and PMU for SAMA7D64 SoC
 - drop unused #address-cells, #size-cells for SAM9X60 UDC node
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQTsZ8eserC1pmhwqDmejrg/N2X7/QUCac7C3gAKCRCejrg/N2X7
 /RG8AQCoa/kodlgIlpz6SID+K8iTiKOce/x/yan44a7zEe0UqgEAlwxyEcASjVmo
 bXMWZtYzKpW492jFV0WBeghuWmEI8A0=
 =tzrV
 -----END PGP SIGNATURE-----

Merge tag 'at91-dt-7.1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/at91/linux into soc/dt

Microchip AT91 device tree updates for v7.1

This update includes:
- enable LVDS, LCD and PMU for SAMA7D64 SoC
- drop unused #address-cells, #size-cells for SAM9X60 UDC node

* tag 'at91-dt-7.1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/at91/linux:
  ARM: dts: microchip: sama7d65: add Cortex-A7 PMU node
  arm: dts: microchip: remove unused #address-cells/#size-cells from sam9x60 udc node
  ARM: dts: microchip: sama7d65: add LVDS controller
  ARM: dts: microchip: sama7d65: add LCD controller

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2026-04-04 17:27:46 +02:00
Krzysztof Kozlowski
07e1a498ee Microchip AT91 defconfig updates for v7.1
This update includes:
 - LCD controller, LVDS controller, backlight, simple pannel, touchscreen
   configuration flags required by SAMA7D65 SoC
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQTsZ8eserC1pmhwqDmejrg/N2X7/QUCac7FEwAKCRCejrg/N2X7
 /QVrAQDMOi7i7TGMt/YjqwnVWpg0gShD7R/7RSX3kUEn0q9uDAEA9t2n0uFr2jVV
 OBw4aTNX2O4KCJYxoz57cGUJyf5G+Qw=
 =kEOC
 -----END PGP SIGNATURE-----

Merge tag 'at91-defconfig-7.1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/at91/linux into soc/defconfig

Microchip AT91 defconfig updates for v7.1

This update includes:
- LCD controller, LVDS controller, backlight, simple pannel, touchscreen
  configuration flags required by SAMA7D65 SoC

* tag 'at91-defconfig-7.1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/at91/linux:
  ARM: configs: at91: sama7: enable LVDS serializer support
  ARM: configs: at91: sama7: enable config for atmel maxtouch
  ARM: configs: at91: sama7: enable DRM hlcdc support

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2026-04-04 17:24:37 +02:00
Linus Torvalds
3aae9383f4 Input updates for v7.0-rc6
- new IDs for BETOP BTP-KP50B/C and Razer Wolverine V3 Pro added to
   xpad controller driver
 
 - another quirk for new TUXEDO InfinityBook added to i8042
 
 - a small fixup for Synaptics RMI4 driver to properly unlock mutex when
   encountering an error in F54
 
 - an update to bcm5974 touch controller driver to reliably switch into
   wellspring mode.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQST2eWILY88ieB2DOtAj56VGEWXnAUCadCpLQAKCRBAj56VGEWX
 nDgsAP0UYEFs1rFYYESyaTJVkbUg1DVxbqzFkL69MJasfFDLRQD/dM3ZECzCatiU
 IIOXbWw+0kwNR3bysSp3RQ2jQoeS6gQ=
 =Rs1H
 -----END PGP SIGNATURE-----

Merge tag 'input-for-v7.0-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input

Pull input fixes from Dmitry Torokhov:

 - new IDs for BETOP BTP-KP50B/C and Razer Wolverine V3 Pro added to
   xpad controller driver

 - another quirk for new TUXEDO InfinityBook added to i8042

 - a small fixup for Synaptics RMI4 driver to properly unlock mutex when
   encountering an error in F54

 - an update to bcm5974 touch controller driver to reliably switch into
   wellspring mode

* tag 'input-for-v7.0-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
  Input: xpad - add support for BETOP BTP-KP50B/C controller's wireless mode
  Input: xpad - add support for Razer Wolverine V3 Pro
  Input: synaptics-rmi4 - fix a locking bug in an error path
  Input: i8042 - add TUXEDO InfinityBook Max 16 Gen10 AMD to i8042 quirk table
  Input: bcm5974 - recover from failed mode switch
2026-04-04 08:24:32 -07:00
Krzysztof Kozlowski
eaad992e3f Microchip AT91 fixes for v7.0
This update includes:
 - fix gpio-lines for SAM9X7 PIOB GPIO controller
 -----BEGIN PGP SIGNATURE-----
 
 iHQEABYKAB0WIQTsZ8eserC1pmhwqDmejrg/N2X7/QUCac7DjQAKCRCejrg/N2X7
 /TxBAPihDQlcTKbEWBtlawcQtw568kXK3KPL+QjqUSDk7B6dAP0UGI9oWWRJ3KIC
 DrtM+nLDjC+lKNcp8ihb1oE1x7G1Bw==
 =yOCL
 -----END PGP SIGNATURE-----

Merge tag 'at91-fixes-7.0' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/at91/linux into arm/fixes

Microchip AT91 fixes for v7.0

This update includes:
- fix gpio-lines for SAM9X7 PIOB GPIO controller

* tag 'at91-fixes-7.0' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/at91/linux:
  ARM: dts: microchip: sam9x7: fix gpio-lines count for pioB

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2026-04-04 17:22:39 +02:00
Krzysztof Kozlowski
55fbbbbed6 i.MX arm64 device tree changes for 7.1:
- New Board Support
   S32N79-RDB, Variscite DART-MX95, DART-MX91 with Sonata carrier boards,
   Verdin iMX95 with multiple carrier boards (Yavia, Mallow, Ivy, Dahlia)
   TQMa93xx/MBa93xxLA-MINI, SolidRun i.MX8MP HummingBoard IIoT,
   SolidRun i.MX8MM SOM and EVB, SolidRun SolidSense-N8 board
   Ka-Ro Electronics tx8m-1610 COM, GOcontroll Moduline IV and Moduline Mini,
   NXP FRDM-IMX91S board, i.MX93 Wireless EVK board with Wireless SiP,
   NXP i.MX8MP audio board v2.
 
 - USB & Type-C Support
   Type-C and USB nodes for imx943, correct power-fole for
   imx8qxp-mek/imx8qm-mek.
 
 - Audio Enhancements
   PDM microphone, bt-sco, and WM8962 sound card support for i.MX952. AONMIX
   MQS for i.MX95. Use audio-graph-card2 for imx8dxl-evk. WM8904 audio codec
   for imx8mm-var-som.
 
 - Thermal & Cooling
   PF09/53 thermal zone, fan node, active cooling on A55, SCMI
   sensor/lmm/cpu for imx943/imx94.
 
 - Display Support
   Multiple LVDS and parallel display overlays for TQ boards (imx91/imx93).
   Parallel display for i.MX93. ontat,kd50g21-40nt-a1 panel for
   imx93-9x9-qsb. pixpaper display overlay for i.MX93 FRDM.
 
 - Networking
   Multiple queue configuration on eqos for TQMa8MPxL.
   MaxLinear PHY support, MCP251xFD CAN controller for imx8mm-var-som.
   SDIO WiFi support (imx91-evk, imx8mp-evk, imx943-evk)
 
 - Bluetooth Support
   imx943-evk, imx93-14x14-evk, imx95-19x19-evk, imx8mp-evk, imx8mn-evk,
   imx8mm-evk.
 
 - Miscellaneous
   xspi and MT35XU01G SPI NOR flash for i.MX952.
   V2X/ELE mailbox nodes, SCMI misc ctrl-ids for imx94.
   eDMA channel reservation for V2X, Cortex M7 support for imx95.
   Ethos-U65 NPU and SRAM nodes for imx93.
   Wire up DMA IRQ for PCIe for imx8qm-ss-hsio.
 
 - Bug Fixes & Improvements
   Complete pinmux for rcwsr12 to fix I2C bus recovery affect other module
   pinmux for layscape platform.
   Multiple bug fixes for GPIO polarity, IRQ types, pinmux configurations.
   GICv3 PPI interrupt CPU mask cleanup across multiple SoCs.
   Fixed Ethernet PHY IRQ types on TQ boards.
   Fixed UART RTS/CTS muxing issues.
   Fixed SD card issues on Kontron boards.
   Fixed touch reset configuration.
   Removed fallback ethernet-phy-ieee802.3-c22 where appropriate.
   Move funnel outside from soc.
   TMU sensor ID cleanup.
   Change usdhc tuning step for eMMC and SD.
   Hexadecimal format, readability improvements, duplicate removal.
 -----BEGIN PGP SIGNATURE-----
 
 iQHFBAABCgAvFiEEJS45w2QNr0ezLVaoNF3oRQ23YkwFAmnGkOYRHGZyYW5rLmxp
 QG54cC5jb20ACgkQNF3oRQ23YkxAcgwAzlwOKm7wIVrobh0qRfAAhIG09oB5XPEk
 ivaM1HBR83sE2f36nTyh3b5sf6sQSHwQRGgKsxZgtZWN1csisxhrVwWLqNjdvTUf
 Bvh+jhFZKTZ9S3j20FK9ulM/flOQmhnfJih7i01SvrpFWm/jLghHT4tBXde4x79K
 Vht7ybp+PIW+EB32I/du19Ap9gRv+/wJAIetDdST0qWrl0tBrNFX65QN6Y4C7dtN
 nnVi0Z+4akFm6EqnJjoexN/PIh6DFNkCWjtZ+GD0IYsD7GGcfpeEgmFR7WasU1bp
 vw1nW9cF/fi2P47/6bqqU/xKzuELb71P21U//RtspQI1EFhxix+pX0ZaPucRqvOl
 fn317igaBnK8WGkmesT5I0jp13ITIzpJJfWBg4viEEOSrjJ40Mkm7AG7MSvVHuoE
 +Uglywl0H3vDzmMqQamwCvGxE/OttPc0vAEDMq2rQ1SnTmfw1oy6jb/boKAn2Vni
 BI/DfTaGY4U0DwMeadiDNFVzbedBWjDT
 =oF2l
 -----END PGP SIGNATURE-----

Merge tag 'imx-dt64-7.1' of https://git.kernel.org/pub/scm/linux/kernel/git/frank.li/linux into soc/dt

Krzysztof notes:
1. This might impact users of i.MX8MM SPDIF as compatible is being
   replaced.

Frank Li writes:

i.MX arm64 device tree changes for 7.1:

- New Board Support
  S32N79-RDB, Variscite DART-MX95, DART-MX91 with Sonata carrier boards,
  Verdin iMX95 with multiple carrier boards (Yavia, Mallow, Ivy, Dahlia)
  TQMa93xx/MBa93xxLA-MINI, SolidRun i.MX8MP HummingBoard IIoT,
  SolidRun i.MX8MM SOM and EVB, SolidRun SolidSense-N8 board
  Ka-Ro Electronics tx8m-1610 COM, GOcontroll Moduline IV and Moduline Mini,
  NXP FRDM-IMX91S board, i.MX93 Wireless EVK board with Wireless SiP,
  NXP i.MX8MP audio board v2.

- USB & Type-C Support
  Type-C and USB nodes for imx943, correct power-fole for
  imx8qxp-mek/imx8qm-mek.

- Audio Enhancements
  PDM microphone, bt-sco, and WM8962 sound card support for i.MX952. AONMIX
  MQS for i.MX95. Use audio-graph-card2 for imx8dxl-evk. WM8904 audio codec
  for imx8mm-var-som.

- Thermal & Cooling
  PF09/53 thermal zone, fan node, active cooling on A55, SCMI
  sensor/lmm/cpu for imx943/imx94.

- Display Support
  Multiple LVDS and parallel display overlays for TQ boards (imx91/imx93).
  Parallel display for i.MX93. ontat,kd50g21-40nt-a1 panel for
  imx93-9x9-qsb. pixpaper display overlay for i.MX93 FRDM.

- Networking
  Multiple queue configuration on eqos for TQMa8MPxL.
  MaxLinear PHY support, MCP251xFD CAN controller for imx8mm-var-som.
  SDIO WiFi support (imx91-evk, imx8mp-evk, imx943-evk)

- Bluetooth Support
  imx943-evk, imx93-14x14-evk, imx95-19x19-evk, imx8mp-evk, imx8mn-evk,
  imx8mm-evk.

- Miscellaneous
  xspi and MT35XU01G SPI NOR flash for i.MX952.
  V2X/ELE mailbox nodes, SCMI misc ctrl-ids for imx94.
  eDMA channel reservation for V2X, Cortex M7 support for imx95.
  Ethos-U65 NPU and SRAM nodes for imx93.
  Wire up DMA IRQ for PCIe for imx8qm-ss-hsio.

- Bug Fixes & Improvements
  Complete pinmux for rcwsr12 to fix I2C bus recovery affect other module
  pinmux for layscape platform.
  Multiple bug fixes for GPIO polarity, IRQ types, pinmux configurations.
  GICv3 PPI interrupt CPU mask cleanup across multiple SoCs.
  Fixed Ethernet PHY IRQ types on TQ boards.
  Fixed UART RTS/CTS muxing issues.
  Fixed SD card issues on Kontron boards.
  Fixed touch reset configuration.
  Removed fallback ethernet-phy-ieee802.3-c22 where appropriate.
  Move funnel outside from soc.
  TMU sensor ID cleanup.
  Change usdhc tuning step for eMMC and SD.
  Hexadecimal format, readability improvements, duplicate removal.

* tag 'imx-dt64-7.1' of https://git.kernel.org/pub/scm/linux/kernel/git/frank.li/linux: (139 commits)
  arm64: dts: imx8qxp-mek: switch Type-C connector power-role to dual
  arm64: dts: imx8qm-mek: switch Type-C connector power-role to dual
  arm64: dts: lx2162a-clearfog: set sfp connector leds function and source
  arm64: dts: lx2162a-sr-som: add crypto & rtc aliases, model
  arm64: dts: lx2160a-cex7: add rtc alias
  arm64: dts: lx2160a: complete pinmux for rcwsr12 configuration word
  arm64: dts: lx2160a: change zeros to hexadecimal in pinmux nodes
  arm64: dts: lx2160a: add sda gpio references for i2c bus recovery
  arm64: dts: lx2160a: rename pinmux nodes for readability
  arm64: dts: lx2160a: remove duplicate pinmux nodes
  arm64: dts: lx2160a: change i2c0 (iic1) pinmux mask to one bit
  arm64: dts: lx2160a-cex7/lx2162a-sr-som: fix usd-cd & gpio pinmux
  arm64: dts: freescale: imx8mp-moduline-display-106: add typec-power-opmode property
  arm64: dts: imx8mp-tqma8mpql: Add DT overlays to explicit list
  arm64: dts: imx8mp-evk: Specify ADV7535 register addresses
  arm64: dts: imx8dxl-evk: Use audio-graph-card2 for wm8960-2 and wm8960-3
  arm64: dts: imx943-evk: Add pf09/53 thermal zone
  arm64: dts: imx943-evk: Add fan node and enable active cooling on A55
  arm64: dts: imx943-evk: Add nxp,ctrl-ids for scmi_misc
  arm64: dts: imx943: Add thermal support
  ...

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2026-04-04 16:30:40 +02:00
Krzysztof Kozlowski
d619216295 arm64: tegra: Device tree changes for v7.1-rc1
Various fixes and new additions across a number of devices. GPIO and PCI
 are enabled on Tegra264 and the Jetson AGX Thor Developer Kit, allowing
 it to boot via network and mass storage.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmnI9AIACgkQ3SOs138+
 s6GpVg//WO5PA0vrqOPIH1RVdytiRqXlEzdY7NQCqtW7GLzX9dii1xmInf2/VO5q
 Pk6t6F1MrzsLfV7IDvb4whfyAcFJ8yTmvvCNtTv3OO92NInPTEBv/LdSVGogxlj+
 2c/Xnmyiy6Lks/nN5lCKLNou4ktWW8BYADo6xkNRMcVTMwzmfhOADFSj5w7sFSJe
 GMuGxSDgMykw612oaQ9LvRZZ1hQnDihdlkPVNZZP05siXinZeWMwu+WwfSFbCbhu
 zphMHBTdaU7FUOszBEx35zPwSsDVhfOEoH1S3A2109ojE1Kw0aTrcdoW2GPTXenZ
 8WlZXhQMqPby6ij97LHpzLOMA1Pz2r/LOY+NllJr1CbW/xNL8UAXHDm+k0c+aAcD
 Jn0371hbDVKnSWzOV50FKIorrXMi7BtD8YioAO1AniGz/vDymGHjPt0Wy2cvwIVk
 zN8sTKy22X4RHLwfXqS7amIoLKaT+3BZ0p5VqFL9YZJ23xCuS7M7E+8EKSB4yQ9q
 TjFa79adOV1Xl5AsVrmOj5U5gGXSP750xtIVgsCNngnyKLfYW3STRVVIC0PbNWiV
 oWdlUpIWGnLHHDY+eGYNVIQ3NAHLJl2NJuMdZrNVdZIr77BR9/y3rDVc5KcYFxQZ
 63NdsmddN/h0GPuQEyborGfHoz+GTgvDL7NG6Vg27mNmh1hqZy4=
 =ubsZ
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-7.1-arm64-dt' of https://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into soc/dt

arm64: tegra: Device tree changes for v7.1-rc1

Various fixes and new additions across a number of devices. GPIO and PCI
are enabled on Tegra264 and the Jetson AGX Thor Developer Kit, allowing
it to boot via network and mass storage.

* tag 'tegra-for-7.1-arm64-dt' of https://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  arm64: tegra: Add Tegra264 GPIO controllers
  arm64: tegra: smaug: Enable SPI-NOR flash
  arm64: tegra: Add Jetson AGX Thor Developer Kit support
  arm64: tegra: Add PCI controllers on Tegra264
  arm64: tegra: Fix RTC aliases
  arm64: tegra: Drop redundant clock and reset names for TSEC
  arm64: tegra: Fix snps,blen properties
  dt-bindings: pci: Document the NVIDIA Tegra264 PCIe controller

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2026-04-04 16:13:27 +02:00
Caleb Sander Mateos
8b155f2e4a block: remove unused BVEC_ITER_ALL_INIT
This macro no longer has any users, so remove it.

Signed-off-by: Caleb Sander Mateos <csander@purestorage.com>
Link: https://patch.msgid.link/20260403184852.2140919-1-csander@purestorage.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2026-04-04 08:10:37 -06:00
Krzysztof Kozlowski
d7dbdadad2 dt-bindings: Changes for v7.1-rc1
This contains a few conversions to DT schema along with various
 additions and fixes to reduce the amount of validation warnings.
 
 Included are also a new binding for the PCIe controller found on
 Tegra264 as well as compatible strings for the Jetson AGX Thor
 Developer Kit.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmnI8ZAACgkQ3SOs138+
 s6G1lRAAvALxbMaizOUtlOjsPQOuE6OJ9VqeueLfMWI8YJuDf+OOC4IFtwbZxzeW
 ft28k8Ni4XLfOJVHuBN3ZyD04nudaIRQFyAW9ERdHLZDeyIaiq1y+aMH+YPdAp+i
 DPtKqLR+iAQ17rLokyIotHFGApFZghAd9ln1ZYZc9aOi9ZwrVQ3WEitbW36DJcMH
 7WH7nxrf04vblv8DHZcu8p5DH9RmoU3qHxRteprwtiYX/ruwjD5KHOQLo2j+flZx
 YMayxN/lO3kVXQ0A65+t5nV4jevEQ4iTjtwjs0cps+xkXavcOO/SYhlqRjg5wbCv
 1uLwS/ptjB3S+hD58jvqLfCUxLXvRx0xpBm5Vhs5eZgL0BPWT3O755Qow4zraDve
 ofGNbwA2SubVI2hgE/ZVPCU0X0mr89st16gWlflVeopJJk2kNAsfPUlCERPqbj+I
 +wuz8K1lfiBTkEw8Ceym2VEAH6D1MhkqnErwk9aW9yuYuXB9NtOjTxy/dELMHpFd
 Gt3BQxYug/xjV/FCtYj5x/lqkXZWsa4uBxilXzf84ScRa5NqfrwyLY1KBaRNOIch
 NlB4Bm0QhfBCXcTNeYF6XjIc6cIL83vCQK7hvBh9yEX3Ln+FBiqzF7jt1ZNdnm34
 NzWOoPMh9FumoYxywmN1/oco9TOLebYGqszwG8jORBQG0YAwrEQ=
 =oPQj
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-7.1-dt-bindings' of https://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into soc/drivers

dt-bindings: Changes for v7.1-rc1

This contains a few conversions to DT schema along with various
additions and fixes to reduce the amount of validation warnings.

Included are also a new binding for the PCIe controller found on
Tegra264 as well as compatible strings for the Jetson AGX Thor
Developer Kit.

* tag 'tegra-for-7.1-dt-bindings' of https://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  dt-bindings: arm: tegra: Document Jetson AGX Thor DevKit
  dt-bindings: display: tegra: Document Tegra20 HDMI port
  dt-bindings: arm: tegra: Add Tegra238 CBB compatible strings
  dt-bindings: memory: tegra210: Mark EMC as cooling device
  dt-bindings: memory: Add Tegra210 memory controller bindings
  dt-bindings: phy: tegra: Document Tegra210 USB PHY
  dt-bindings: arm: tegra: Add missing compatible strings
  dt-bindings: interrupt-controller: tegra: Fix reg entries
  dt-bindings: clock: tegra124-dfll: Convert to json-schema
  dt-bindings: phy: tegra-xusb: Document Type C support
  dt-bindings: pci: Document the NVIDIA Tegra264 PCIe controller

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2026-04-04 16:09:43 +02:00
Krzysztof Kozlowski
9c5a54409b ARM: tegra: Device tree changes for v7.1-rc1
Various improvements for Tegra114 boards, as well as some legacy cleanup
 for PAZ00 and Transformers devices.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmnI8xkACgkQ3SOs138+
 s6HCoBAAmYXIpZVo5xBf8xErWQzkY7muZv6ulOvninRe3/TGajLT1T8Iw4QAcOhH
 A0OecujOg/xOE1TlAoHnUzPQjdFv/38eLy78k49kFnecauogHkTxZOtQuM7yX4P+
 nXooqLoYhnq5CRxuxLI88qfN/2Z0qwIU3ucf5QahMBR8EDXa8a1MEfH470oqxAfu
 jn+HcjgmcTEPzztV0y4Zfa8oivTUjrkz6m18Bm5ujMxzuq3EfaCTJLMLgTpAKVvo
 4y5xrygaUem6XtIs1aedHHdCpBHcpAkbuyAb2ECFjSc0ogeuUylnAy3bcw6WOL04
 31p5fIfz7cprl2LGWhUGHa8rCF1mZ1dPvLtWTBuDiC8zGkXhYOgCcwtlV3s+2g9p
 I3RPfgWqj6dNbUgp5iSfOVRCMpia8CVjx3YGYzodv2TE0yhKEFtq2aZ5LxYpVttk
 uEOjsByuSV6mb4g1N4joTkIwn7PeVIRKWlTdA82Bycr7gHGf0JVi6HuEcoRp3WYL
 5guCbH/8qGQ7Eobc1hCtrhAypyqt8Ms/ly4a9NyCeu+Xee7MOWk3ZESSwk7TaKmF
 98b1Rl3s/m49ZMYbMTXgkSGLpiWaEFyD6RulrJjS5Cjk0y69ZxJ573sVEIPICEhI
 skuMo1ZQe5cB+K2ZfT5e1C/HFfCgGiIDQixtyIxzw3abJbTH6Rg=
 =1bL1
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-7.1-arm-dt' of https://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into soc/dt

ARM: tegra: Device tree changes for v7.1-rc1

Various improvements for Tegra114 boards, as well as some legacy cleanup
for PAZ00 and Transformers devices.

* tag 'tegra-for-7.1-arm-dt' of https://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  ARM: tegra: paz00: Configure WiFi rfkill switch through device tree
  ARM: tegra: transformers: Add connector node
  ARM: tegra: Add External Memory Controller node on Tegra114
  ARM: tegra: Add ACTMON node to Tegra114 device tree
  ARM: tegra: lg-x3: Add node for capacitive buttons
  ARM: tegra: lg-x3: Add USB and power related nodes
  ARM: tegra: lg-x3: Add panel and bridge nodes
  ARM: tn7: Adjust panel node
  ARM: tegra: Add SOCTHERM support on Tegra114

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2026-04-04 16:03:22 +02:00
Daniel Lezcano
761fdf4c8c thermal/core: Remove pointless variable when registering a cooling device
The 'id' variable is set to store the ida_alloc() value which is
already stored into cdev->id. It is pointless to use it because
cdev->id can be used instead.

Signed-off-by: Daniel Lezcano <daniel.lezcano@oss.qualcomm.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@kernel.org>
Reviewed-by: Lukasz Luba <lukasz.luba@arm.com>
Link: https://patch.msgid.link/20260402084426.1360086-1-daniel.lezcano@kernel.org
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2026-04-04 15:05:18 +02:00
Rafael J. Wysocki
49c7db1f0b Merge back earlier thermal core updates for 7.1 2026-04-04 14:59:43 +02:00
Rafael J. Wysocki
35ed8fa05f Merge back earlier cpufreq material for 7.1 2026-04-04 14:58:58 +02:00
Borislav Petkov (AMD)
f44cc3a48a x86/fpu: Correct misspelled xfeaures_to_write local var
It happens. Fix it.

No functional changes.

Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Link: https://patch.msgid.link/20260404120048.14765-1-bp@kernel.org
2026-04-04 14:11:46 +02:00
Manikanta Maddireddy
5ab7a22588 misc: pci_endpoint_test: Add Tegra194 and Tegra234 device table entries
Add PCI device IDs for Tegra194 (0x1ad4) and Tegra234(0x229b) Endpoint
controllers, so that pci_endpoint_test can bind and run on these
controllers.

Signed-off-by: Manikanta Maddireddy <mmaddireddy@nvidia.com>
Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>
Reviewed-by: Niklas Cassel <cassel@kernel.org>
Link: https://patch.msgid.link/20260324080857.916263-5-mmaddireddy@nvidia.com
2026-04-04 16:17:02 +05:30
Manikanta Maddireddy
12a22fb38c PCI: tegra194: Expose BAR2 (MSI-X) and BAR4 (DMA) as 64-bit BAR_RESERVED
Tegra Endpoint exposes three 64-bit BARs at indices 0, 2, and 4:
- BAR0+BAR1: EPF test/data (programmable 64-bit BAR)
- BAR2+BAR3: MSI-X table (hardware-backed)
- BAR4+BAR5: DMA registers (hardware-backed)

Update tegra_pcie_epc_features so that BAR2 is BAR_RESERVED with
PCI_EPC_BAR_RSVD_MSIX_TBL_RAM (64 KB) & PCI_EPC_BAR_RSVD_MSIX_PBA_RAM
(64 KB) and BAR4 is BAR_RESERVED with PCI_EPC_BAR_RSVD_DMA_CTRL_MMIO (4KB).
This keeps CONSECUTIVE_BAR_TEST working while allowing the host to use
64-bit BAR2 (MSI-X) and BAR4 (DMA).

Signed-off-by: Manikanta Maddireddy <mmaddireddy@nvidia.com>
Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>
Reviewed-by: Niklas Cassel <cassel@kernel.org>
Link: https://patch.msgid.link/20260324080857.916263-4-mmaddireddy@nvidia.com
2026-04-04 16:16:49 +05:30
Manikanta Maddireddy
5aec1f18b3 PCI: tegra194: Make BAR0 programmable and remove 1MB size limit
The Tegra194/234 Endpoint does not support the Resizable BAR capability,
but BAR0 can be programmed to different sizes via the DBI2 BAR registers
in dw_pcie_ep_set_bar_programmable(). The BAR0 size is set once during
initialization.

Remove the fixed 1MB limit from pci_epc_features so Endpoint function
drivers can configure the BAR0 size they need.

Signed-off-by: Manikanta Maddireddy <mmaddireddy@nvidia.com>
Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>
Reviewed-by: Niklas Cassel <cassel@kernel.org>
Link: https://patch.msgid.link/20260324080857.916263-3-mmaddireddy@nvidia.com
2026-04-04 16:15:00 +05:30
Manikanta Maddireddy
5f352433ea PCI: endpoint: Add reserved region type for MSI-X Table and PBA
Add PCI_EPC_BAR_RSVD_MSIX_TBL_RAM and PCI_EPC_BAR_RSVD_MSIX_PBA_RAM to
enum pci_epc_bar_rsvd_region_type so that Endpoint controllers can
describe hardware-owned MSI-X Table and PBA (Pending Bit Array) regions
behind a BAR_RESERVED BAR.

Signed-off-by: Manikanta Maddireddy <mmaddireddy@nvidia.com>
Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>
Reviewed-by: Niklas Cassel <cassel@kernel.org>
Link: https://patch.msgid.link/20260324080857.916263-2-mmaddireddy@nvidia.com
2026-04-04 16:14:37 +05:30
Maíra Canal
458f2a712a
drm/v3d: Introduce Runtime Power Management
Commit 90a64adb08 ("drm/v3d: Get rid of pm code") removed the last
bits of power management code that V3D had, which were actually never
hooked. Therefore, currently, the GPU clock is enabled during probe
and only disabled when removing the driver.

Implement proper power management using the kernel's Runtime PM
framework.

Reviewed-by: Melissa Wen <mwen@igalia.com>
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
Link: https://patch.msgid.link/20260331-v3d-power-management-v9-3-f52ff87bfd36@igalia.com
Signed-off-by: Maíra Canal <mcanal@igalia.com>
2026-04-04 07:41:08 -03:00
Maíra Canal
ffd7371ed4
drm/v3d: Allocate all resources before enabling the clock
Move all resource allocation operations before actually enabling the
clock, as those operations don't require the GPU to be powered on.

This is a preparation for runtime PM support. The next commit will
move all code related to powering on and initiating the GPU into the
runtime PM resume callback and all resource allocation will happen
before resume().

Reviewed-by: Melissa Wen <mwen@igalia.com>
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
Link: https://patch.msgid.link/20260331-v3d-power-management-v9-2-f52ff87bfd36@igalia.com
Signed-off-by: Maíra Canal <mcanal@igalia.com>
2026-04-04 07:41:08 -03:00
Richard Zhu
4d7937d8cc dt-bindings: PCI: imx6q-pcie: Add i.MX94 and i.MX943 SoCs
Add bindings support for PCIe endpoint controllers in i.MX94 and i.MX943
SoCs with fallback to the i.MX95 SoC.

Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
[mani: commit log]
Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://patch.msgid.link/20260324023036.784466-3-hongxing.zhu@nxp.com
2026-04-04 16:08:44 +05:30
Richard Zhu
401359ef44 dt-bindings: PCI: imx6q-pcie: Fix maxItems of clocks and clock-names
Commit 1352f58d7c ("dt-bindings: PCI: pci-imx6: Add external reference
clock input") that added reference clock to the binding was incomplete.

The constraints for "clocks" and "clock-names" still enforce an incorrect
number of items. Update maxItems for both properties to 6 to match the
actual hardware configuration.

Fixes: 1352f58d7c ("dt-bindings: PCI: pci-imx6: Add external reference clock input")
Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
[mani: commit log]
Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Link: https://patch.msgid.link/20260324023036.784466-2-hongxing.zhu@nxp.com
2026-04-04 16:07:15 +05:30
Maíra Canal
de1e32ef1d
drm/v3d: Use devm_reset_control_get_optional_exclusive()
Simplify optional reset handling by using the function
devm_reset_control_get_optional_exclusive().

Reviewed-by: Melissa Wen <mwen@igalia.com>
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
Link: https://patch.msgid.link/20260331-v3d-power-management-v9-1-f52ff87bfd36@igalia.com
Signed-off-by: Maíra Canal <mcanal@igalia.com>
2026-04-04 07:37:14 -03:00
Felix Gu
c54d5f5b33 PCI: aspeed: Fix IRQ domain leak on platform_get_irq() failure
The aspeed_pcie_probe() function calls aspeed_pcie_init_irq_domain()
which allocates pcie->intx_domain and initializes MSI. However, if
platform_get_irq() fails afterwards, the cleanup action was not yet
registered via devm_add_action_or_reset(), causing the IRQ domain
resources to leak.

Fix this by registering the devm cleanup action immediately after
aspeed_pcie_init_irq_domain() succeeds, before calling
platform_get_irq(). This ensures proper cleanup on any subsequent
failure.

Fixes: 9aa0cb68fc ("PCI: aspeed: Add ASPEED PCIe RC driver")
Signed-off-by: Felix Gu <ustc.gu@gmail.com>
Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>
Tested-by: Jacky Chou <jacky_chou@aspeedtech.com>
Link: https://patch.msgid.link/20260324-aspeed-v1-1-354181624c00@gmail.com
2026-04-04 16:02:55 +05:30