summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2026-10-13Merge branch 'for-7.4/cxl-dcd' into cxl-for-nextDave Jiang
Part 1 of DCD support. Functionality disabled. Documentation/cxl: Document DPA partition layout and ordering rules cxl/core: Enforce partition order/simplify partition calls cxl/mem: Configure dynamic capacity interrupts cxl/pci: Factor out interrupt policy check cxl/events: Split event msgnum configuration from irq setup cxl/cdat: Gather DSMAS data for DCD partitions cxl/mem: Read dynamic capacity configuration from the device cxl/mbox: Flag support for Dynamic Capacity Devices (DCD)
2026-10-13Merge tag 'samsung-soc-7.4' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into soc/arm Samsung mach/soc changes for v7.4 Switch to software nodes for GPIO keys, which will allow later dropping platform data from gpio-keys driver. Likewise improve samsung-keypad input driver and drop platform data there as well. * tag 'samsung-soc-7.4' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux: ARM: EXYNOS: Replace __ASSEMBLY__ with __ASSEMBLER__ ARM: s3c: crag6410: use software nodes/properties to set up GPIO keys Input: samsung-keypad - remove support for platform data ARM: s3c: crag6410: switch keypad device to software properties ARM: s3c: register and attach software nodes for Samsung gpio_chips Input: samsung-keypad - handle compact binding dt-bindings: input: samsung,s3c6410-keypad: introduce compact binding Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-10-13Merge tag 'soc_fsl-7.4-1' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/chleroy/linux into soc/drivers FSL SOC Changes for 7.4 Freescale QUICC Engine: - Fix sparse warnings in GPIO - Drop GPIOD_FLAGS_BIT_NONEXCLUSIVE Freescale CPM1 Timeslot Assigner: - Fix clock leak in tsa_of_parse_tdms() Data Path I/O: - Free the IRQ before releasing the I/O object - Fix cleanup on IRQ registration failure Freescale Management Complex: - Annotate fsl_mc_io.portal_virt_addr with __counted_by_ptr - Drop the fwnode links of the dpmacs nodes - Register the object drivers after misc_class exists - Set dma_mask for the DPRC devices - Fix repeated word 'for' in comment * tag 'soc_fsl-7.4-1' of https://git.kernel.org/pub/scm/linux/kernel/git/chleroy/linux: soc: fsl: dpio: Free the IRQ before releasing the I/O object soc: fsl: dpio: Fix cleanup on IRQ registration failure bus: fsl-mc: Annotate fsl_mc_io.portal_virt_addr with __counted_by_ptr bus: fsl-mc: drop the fwnode links of the dpmacs nodes soc: fsl: cpm1: tsa: Fix clock leak in tsa_of_parse_tdms() soc: fsl: qe: drop GPIOD_FLAGS_BIT_NONEXCLUSIVE bus: fsl-mc: register the object drivers after misc_class exists bus: fsl-mc: set dma_mask for the DPRC devices bus: fsl-mc: fix repeated word 'for' in comment soc: fsl: qe: Fix sparse warnings in GPIO Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-10-13Merge tag 'tee-for-v7.4' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/jenswi/linux-tee into soc/drivers Move tee_ioctl_shm_register_data to above IOCTL definition * tag 'tee-for-v7.4' of git://git.kernel.org/pub/scm/linux/kernel/git/jenswi/linux-tee: tee: move tee_ioctl_shm_register_data to above IOCTL definition Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-10-13Merge tag 'tegra-for-7.4-soc' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into soc/drivers soc/tegra: Changes for v7.4-rc1 Adds various bits of core Tegra SoC support for Tegra410, Tegra264 and Tegra210-B01. Tegra234 can now be woken up via PCIe. Some references leak and other fixes round this off. * tag 'tegra-for-7.4-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: soc/tegra: flowctrl: Release OF node reference on error soc/tegra: pmc: Make sure clk_init_data is fully initialized soc/tegra: fuse: speedo-tegra210: Support revision B01 soc/tegra: fuse: Support revision B01 soc/tegra: pmc: Add Tegra210B01 support soc/tegra: cbb: Fix loggger -> logger typo soc/tegra: pmc: Add PCIe wake event for Tegra234 soc/tegra: fuse: Add Tegra264 support soc/tegra: pmc: Add PMC support for Tegra410 Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-10-13Merge branch '20260811-ipq9650_icc-v2-1-55b8efbd62c6@oss.qualcomm.com' into ↵Bjorn Andersson
clk-for-7.4 Merge the IPQ9650 interconnect binding extension through a topic branch to enable the constants to be shared with DeviceTree branches as well.
2026-10-13dt-bindings: clock: qcom: Add CMN PLL support for IPQ5210 SoCLuo Jie
Add the compatible string for the IPQ5210 CMN PLL clock controller and the dt-bindings clock ID header for IPQ5210. The IPQ5210 CMN PLL supplies configurable clocks to the NSS (network subsystem), PPE (packet process engine), and PON (passive optical network) hardware blocks. It also supplies a raw EPHY output clock for the integrated Ethernet PHY and several gated fixed-rate outputs to Ethernet PHY and switch devices. Acked-by: Rob Herring (Arm) <robh@kernel.org> Signed-off-by: Luo Jie <jie.luo@oss.qualcomm.com> Link: https://patch.msgid.link/20260906-qcom_ipq5210_cmnpll-v4-2-aec5ed642f4f@oss.qualcomm.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-10-13dt-bindings: clock: qcom: nord-negcc: Add the secondary QUSB2 PHY resetBartosz Golaszewski
The NE_GCC block has two eUSB2 PHY block resets - PRIM and SEC - but right now only the primary is registered. Add the secondary, which is required by the usb_1 eUSB2 PHY. Note that the SoC has three eUSB2 PHYs but only these two QUSB2PHY resets: the HS-only USB20 tile has no dedicated QUSB2PHY reset and is instead reset as a whole via NE_GCC_USB20_PRIM_BCR. Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com> Signed-off-by: Shawn Guo <shengchao.guo@oss.qualcomm.com> Reviewed-by: Taniya Das <taniya.das@oss.qualcomm.com> Link: https://patch.msgid.link/20260901035322.654-2-shengchao.guo@oss.qualcomm.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-10-13dt-bindings: clock: qcom: Add EMAC CNOC APB clocks for NordTaniya Das
Add the EMAC0 and EMAC1 CNOC APB clock IDs to the SE_GCC clock controller bindings for the Qualcomm Nord SoC. Signed-off-by: Taniya Das <taniya.das@oss.qualcomm.com> Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com> Tested-by: Shawn Guo <shengchao.guo@oss.qualcomm.com> Link: https://patch.msgid.link/20260824-nords_emac_apb_clk-v1-1-290767386bf5@oss.qualcomm.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-10-13Merge tag 'ti-driver-soc-for-v7.4' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux into soc/drivers TI SoC driver updates for v7.4 Small cleanup-only pull request for drivers/firmware and drivers/soc/ti. It contains no functional changes to SoC behavior and no new features Firmware: - ti_sci: Simplify the buffer pointer allocation by using kzalloc() in place of kcalloc() - ti_sci: Fix a typo in comments SoC drivers: - k3-ringacc: Correct the ring API kernel-doc and the DMA ring initialization kernel-doc so the documentation matches the code - knav_qmss: Fix typos in comments * tag 'ti-driver-soc-for-v7.4' of https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux: soc: ti: k3-ringacc: Fix DMA ring initialization kernel-doc soc: ti: k3-ringacc: Correct ring API kernel-doc firmware: ti_sci: replace kcalloc with kzalloc for buffer pointer allocation soc: ti: knav_qmss: Fix typos in comments firmware: ti_sci: Fix typo "upto" in comments Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-10-13Merge tag 'qcom-drivers-for-7.4-3' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into soc/drivers More Qualcomm driver updates for v7.4 Add SM8950 Maili and SM8975 Hawi SoC IDs. Document the Maili CPUCP mailbox and PMIC arbiter compatibles. Allow QSEECOM on the Kalambo CRD, Glymur QCB, and Lenovo ThinkPad T14s Gen 7. Reuse Glymur's UBWC configuration for Kalambo, and add the Nord LLCC configuration and binding. Add Shikra SoC and subsystem low-power statistics. Document its modem_apps GLINK audio channel. Document MSM8952 SCM and record that MSM8952 has no UBWC. Describe IPQ5424 IMEM as mmio-sram and add the MSM8960 SPS interrupt-controller syscon compatible. Fix SCM PAS resource-table retries and handling of empty tables. Use sleepable one-time initialization for TZMEM, and correct SCM Kconfig selection for non-Qualcomm builds. Disable the SHM bridge on SM7125 to avoid boot-time RCU stalls. Fix PMIC GLINK probe ordering and PD charger ULOG removal races. Provide I2C Hub serial-engine program-RAM depth without accessing absent DMA registers. * tag 'qcom-drivers-for-7.4-3' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (31 commits) soc: qcom: geni-se: Drop unused icc_ddr parameter from geni_icc_get() firmware: qcom: scm: Allow QSEECOM on ThinkPad T14s Gen 7 dt-bindings: mailbox: qcom: Document Maili CPUCP mailbox controller dt-bindings: spmi: glymur-spmi-pmic-arb: Add compatible for Qualcomm Maili SoC soc: qcom: pmic_pdcharger_ulog: prevent work requeue during remove ASoC: dt-bindings: qcom,apr: Add modem_apps GLINK channel for shikra firmware: qcom: tzmem: disable SHM bridge for SM7125 platform soc: qcom: ubwc: Add Kalambo UBWC config firmware: qcom: scm: Allow QSEECOM on Kalambo CRD firmware: qcom: scm: Allow QSEECOM on the Glymur QCB soc: qcom: stats: Add stats compatible and config for Shikra dt-bindings: soc: qcom: stats: Add compatible for Shikra soc: qcom: fix typo "upto" in comment firmware: qcom: fix typo "uninterruptable" in comment soc: qcom: socinfo: Add SM8950 SoC ID dt-bindings: arm: qcom,ids: Add SoC ID for SM8950 soc: qcom: geni-se: provide PROG_RAM_DEPTH for I2C HUB Serial Engines dt-bindings: mfd: syscon: add qcom,msm8960-sps-sic firmware: qcom: scm: Hide QCOM_SCM instead of depending on ARCH_QCOM soc: qcom: llcc: Add LLCC configuration for Nord ... Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-10-13Merge tag 'qcom-drivers-for-7.4-2' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into soc/drivers Qualcomm driver updates for v7.4 (second attempt) Add UBWC 7.0 configuration for Hawi and Maili, and reuse Glymur's UBWC configuration for Nord. Parse Glymur's DDR information from SMEM, including its frequency plan and highest bank bit. Correct DDR frequency overflow and byte order, and handle unrecognized DDR layouts correctly. Configure dedicated LLCC slices for the IPQ5424 PPE and Wi-Fi datapaths, adjust the CPU slice, and propagate errors from optional IRQ lookup. Allow the GENI serial-engine driver to be selected on 32-bit Qualcomm SoCs such as Kuno. Fix firmware loading bounds, endianness, and writes to read-only firmware. Allow QSEECOM on the Glymur-based HP EliteBook X G2q 14 AI, Lenovo Yoga Slim 7x Gen11, and Asus Zenbook A14 (UX3407NA), enabling EFI variable access on the HP and Asus laptops. Release SCM reserved memory on probe failure or unbind, and limit Qualcomm firmware Kconfig options to Qualcomm platforms. Defer PMIC GLINK altmode work until devices resume to avoid accessing suspended I2C controllers. Fix cleanup of failed APR service registrations to prevent stale lookups, and remove unused APR device-ID matching. Add the SM7250 SoC ID, correct SMSM and SMP2P I/O annotations, and clean up RPMh kernel-doc and redundant IRQ error messages. Document the Kuno SCM interface, Shikra CTCU fallback, and Milos CPU bandwidth monitor. Add Abel Vesa as a Qualcomm SoC reviewer. * tag 'qcom-drivers-for-7.4-2' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (34 commits) firmware: qcom: scm: Allow QSEECOM on Asus Zenbook A14 (UX3407NA) firmware: qcom: scm: Allow QSEECOM on Yoga Slim 7x Gen11 MAINTAINERS: add Abel as reviewer for linux-arm-msm soc: qcom: ubwcg: Add Nord UBWC config firmware: QCOM interfaces should depend on ARCH_QCOM firmware: qcom: scm: Use devm_of_reserved_mem_device_init() soc: qcom: smp2p: fix __iomem annotation on entry->value pointer soc: qcom: apr: clean up failed service registrations soc: qcom: smem: Fix signedness bug in smem_dram_parse() soc: qcom: ubwc: Add configuration for Maili soc: qcom: ubwc: Add configuration for Hawi soc: qcom: rpmh-rsc: fix kernel-doc issues in rpmh-rsc.c soc: qcom: rpmh: fix kernel-doc issues in rpmh.c soc: qcom: rpmh-internal: fix kernel-doc issues in rpmh-internal.h soc: qcom: pmic_glink: Fix device access from worker during suspend soc: qcom: llcc-qcom: Handle errors from optional IRQ lookup soc: qcom: geni-se: Fix write to read-only firmware buffer soc: qcom: geni-se: Fix fw_end computed before round-up; propagate size to caller soc: qcom: geni-se: Widen fw_size to u32 to prevent wrap-around soc: qcom: geni-se: Fix endian conversion for serial_protocol comparison ... Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-10-13Merge tag 'coresight-next-v7.4' of ↵Greg Kroah-Hartman
ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/coresight/linux into char-misc-next Suzuki writes: coresight: updates for Linux v7.4 CoreSight selfhosted tracing subsystem updates for Linux v7.4, includes: - Separating the ETM configurations for sysfs and perf to avoid corrupting each other while in use - Hide sysfs control for TRBE as it is not supported - Constify Amba device table for tnoc Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com> * tag 'coresight-next-v7.4' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/coresight/linux: coresight: tnoc: Constify amba_id table coresight: etm3x: rename drvdata->config to sysfs_config coresight: etm3x: rename local config as curr_config referring drvdata->curr_config coresight: etm3x: introduce struct etm_caps coresight: etm4x: rename drvdata->config to sysfs_config coresight: etm4x: rename local config as curr_config referring drvdata->curr_config coresight: etm4x: remove s_ex_level from config coresight: etm4x: exclude ss_status from drvdata->config coresight: etm4x: introduce struct etm4_caps coresight: etm3x: remove redundant cpu online check on etm_enable_sysfs() coresight: etm3x: fix inconsistencies with sysfs configuration coresight: etm4x: fix inconsistencies with sysfs configuration coresight: etm3x: Prohibit modifying cntr_val while session is enabled coresight: etm4x: prohibit modifying cntr_val while session is enabled coresight: etm4x: Prohibit TRCSEQSTR modifications while tracing enabled coresight: trbe: Hide enable_sink sysfs file
2026-10-13Merge tag 'icc-7.4-rc1' of ↵Greg Kroah-Hartman
ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/djakov/icc into char-misc-next Georgi writes: interconnect changes for 7.4 This pull request contains the following interconnect updates for the 7.4-rc1 merge window: - New driver for Kuno SoC - Make important drivers default - Add multi-port QoS programming support - Add support for Milos OSM L3 - Misc cleanups and fixes Signed-off-by: Georgi Djakov <djakov@kernel.org> * tag 'icc-7.4-rc1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/djakov/icc: (21 commits) interconnect: mediatek: fix Makefile typo for mt8196 interconnect: qcom: fix endian annotations of BCM aux data interconnect: qcom: Skip get_bw on QoS programming providers interconnect: qcom: use 64-bit SMD RPM bus votes interconnect: qcom: msm8976: Configure auxiliary GPU QoS port interconnect: qcom: msm8996: Configure auxiliary Venus QoS port interconnect: qcom: icc-rpm: Program SMD RPM auxiliary QoS ports interconnect: qcom: icc-rpm: Handle icc_link_create() failures interconnect: qcom: implement get_bw with rpmh_read interconnect: exynos: Remove the PM QoS request on unbind interconnect: Add kernel-doc for devm_of_icc_get(), icc_enable() and icc_disable() interconnect: qcom: icc-rpm: Don't skip small votes interconnect: qcom: Move bcm_div() to common code interconnect: fix typo "commited" in comments interconnect: qcom: Constify struct qcom_icc_qosbox interconnect: qcom: Add Kuno interconnect provider driver dt-bindings: interconnect: Add Qualcomm Kuno NoC dt-bindings: interconnect: OSM L3: Document Milos OSM L3 compatible interconnect: qcom: Add missing depends to Hawi, Maili, Nord and Shikra interconnect: qcom: Make important drivers default ...
2026-10-13Merge tag 'mhi-for-v7.4' of ↵Greg Kroah-Hartman
ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/mani/mhi into char-misc-next Manivannan writes: MHI Host -------- - Add a host-side loopback client driver that binds to the standard MHI LOOPBACK channel and exposes a sysfs interface for data path testing. The interface lets users configure the TRE buffer size and count, trigger a loopback test, and read back the result to validate the MHI data path between host and endpoint. - Add the IP_CTRL channel (18/19) to the Sierra EM919x/EM929x channel configuration. IP_CTRL is a standard Qualcomm MHI control channel that carries the host serial control lines (DTR/RTS) to the modem, which the host previously had no way to drive for these devices. - Add the DUN uplink (32) and downlink (33) channels to the Qualcomm modem channel configuration. These channels transport AT commands over MHI and let userspace reach the modem AT interface through the MHI WWAN client driver. - Add support for the Quectel RM500Q-AE (SDX55) module. It provides MBIM control on channels 12/13, not the QMI setup that the generic SDX55 entry assumes, so QMI requests over the control channel were timing out. Add an entry matched by its subsystem ID that reuses the Quectel MBIM channel configuration, so no out-of-tree driver is needed. - Fix a runtime PM usage count imbalance for no_m3 devices in the pci_generic driver. Probe only dropped the reference taken by the PCI core when the device supported both PME from D3hot and M3, while remove re-took it based on PME capability alone. The count therefore crept up on every bind/unbind cycle and could end up preventing runtime suspend. QDU100 is the only affected device today. - Convert the %pK pointer format specifier to %p. Pointers are hashed by default now, so %pK is no longer needed to prevent address leaks, and %p keeps the value available for debugging. - Fix a spelling typo ("intented") in a comment. MHI Endpoint ------------ - Add the mhi_ep_queue_buf() API for queuing raw buffers on downlink transfers, for endpoint clients that do not use socket buffers. The existing mhi_ep_queue_skb() is refactored to share a common internal helper with the new API. - Add an endpoint-side loopback client driver that binds to the LOOPBACK channel and echoes received data back to the host. On a Linux-based endpoint there is no modem firmware to provide the echo, so this driver acts as the software echo partner for the host loopback driver and completes the end-to-end MHI data path test. - Pass IRQF_NO_AUTOEN to request_irq() for the doorbell IRQ instead of setting IRQ_NOAUTOEN on the descriptor by hand. The manual flag was never cleared on the error paths or at unregister, so it leaked onto the descriptor after the IRQ was freed. * tag 'mhi-for-v7.4' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/mani/mhi: bus: mhi: ep: clients: Add loopback driver for data path testing bus: mhi: ep: Add mhi_ep_queue_buf() API for raw buffer queuing bus: mhi: host: clients: Add loopback driver with sysfs interface bus: mhi: host: pci_generic: Add Quectel RM500Q-AE support bus: mhi: host: pci_generic: Add DUN channel configuration bus: mhi: ep: Use IRQF_NO_AUTOEN flag in request_irq() bus: mhi: host: Use %p for pointer formatting bus: mhi: host: Fix typo "intented" in comment bus: mhi: host: pci_generic: Fix runtime PM imbalance for no_m3 devices bus: mhi: host: pci_generic: Add IP_CTRL channel for Sierra EM919x/EM929x
2026-10-13gpio: legacy: Kill gpio_set_value_cansleep()Andy Shevchenko
No more users. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by: Linus Walleij <linusw@kernel.org> Link: https://patch.msgid.link/20260715192415.1326037-1-andriy.shevchenko@linux.intel.com Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
2026-10-13greybus: Discard pm_runtime_put_autosuspend() return valueBrian Norris
Returning an error code from pm_runtime_put_autosuspend() merely means that it has not queued up a timer or work item to check whether or not the device can be suspended and there are many perfectly valid situations in which that can happen, like after writing "on" to the device's runtime PM "control" attribute in sysfs for one example. Modify gb_pm_runtime_put_autosuspend() to discard the pm_runtime_put_autosuspend() return value, change its return type to void, and update its caller in the Greybus power supply driver accordingly. Also drop the redundant pm_runtime_mark_last_busy() call from gb_pm_runtime_put_autosuspend() while we're here, as this is already part of pm_runtime_put_autosuspend(). Note that this resolves a bug in the power_supply driver: in tracking 'gbpsy->pm_acquired', it erroneously assumed that pm_runtime_put_autosuspend() would not release a refcount when it returned a non-zero value. That's a false assumption. This will facilitate a planned change of the pm_runtime_put_autosuspend() return type to void in the future, similar to commit 3afd8df02433 ("PM: runtime: Change pm_runtime_put() return type to void"). Signed-off-by: Brian Norris <briannorris@chromium.org> Reviewed-by: Alex Elder <elder@riscstar.com> Link: https://patch.msgid.link/20261006161337.7.Ib0925681ca623093ddf812cc4de848e10ec07c73@changeid Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-10-13net: gso: support re-segmentation of TCP GSO skbsWang Zhan
A caller which re-segments an oversized TCP GSO skb needs the engine to group several MSS into one output skb, so let it pass how many MSS segments each output skb may carry through __skb_gso_segment(). max_segs is a per-call u8 in the skb_gso_cb scratch context, and only an unencapsulated TCP skb without a frag_list sets it; every other caller passes zero. Without max_segs, skb_segment() groups several MSS into one output skb only for a device which advertises NETIF_F_GSO_PARTIAL, or for a frag_list which splits into uniform pieces. max_segs skips that test. The output stays a GSO skb: gso_size keeps the original MSS and gso_segs the number of MSS it holds, so a downstream device can still perform TSO. The caller keeps the output within the 64 KiB its L3 length field can express. Reviewed-by: Willem de Bruijn <willemb@google.com> Assisted-by: LLM Signed-off-by: Wang Zhan <wang.zhan@smartx.com> Link: https://patch.msgid.link/20261008100651.2534957-4-wang.zhan@smartx.com Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2026-10-13net: core: factor out the GSO device limit checkWang Zhan
gso_features_check() decides whether an egress device can offload a GSO skb as a single TSO frame by comparing the segment count and the frame length against the device limits. The resegmentation path added by a later patch caps the MSS segments per output skb and needs the same features computed without those limits, so put the two tests in a helper and gate them with one flag. __netif_skb_features() takes that flag and takes the place of netif_skb_features(), which becomes an inline wrapper in netdevice.h and passes the flag set. Existing callers keep their call, and the resegmentation path asks for the features without the limit checks. No functional changes. Reviewed-by: Willem de Bruijn <willemb@google.com> Assisted-by: LLM Signed-off-by: Wang Zhan <wang.zhan@smartx.com> Link: https://patch.msgid.link/20261008100651.2534957-3-wang.zhan@smartx.com Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2026-10-13net: core: use the packet's L3 protocol for the GSO size limitWang Zhan
gso_features_check() compares the frame length against netif_get_gso_max_size(), which picks the IPv4 or the IPv6 limit from skb->protocol. A tag which is already inside the frame replaces that field with the VLAN ethertype, as skb_vlan_push() does, and an IPv6 packet is then measured against the IPv4 limit and segmented although the device could send it as one TSO frame. The lookup moves from netdevice.h into dev.c: vlan_get_protocol() reads the L3 protocol from behind an in-frame tag, while if_vlan.h includes netdevice.h, so an inline in that header cannot call it. dev.c is the only file which calls the lookup, so it becomes a static helper there. Reviewed-by: Willem de Bruijn <willemb@google.com> Assisted-by: LLM Signed-off-by: Wang Zhan <wang.zhan@smartx.com> Link: https://patch.msgid.link/20261008100651.2534957-2-wang.zhan@smartx.com Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2026-10-13Merge tag 'qcom-drivers-fixes-for-7.3' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into soc/drivers Qualcomm driver fixes for v7.3 All clients was migrated from the Qualcomm SCM PAS API to the Qualcomm PAS API in v7.3, remove the now unused direct API. * tag 'qcom-drivers-fixes-for-7.3' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: firmware: qcom_scm: Remove SCM PAS wrappers Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-10-13wifi: mac80211: implement unlocked STA statisticsJohannes Berg
Implement the new cfg80211 unlocked STA statistics. If the driver has an operation, then we need to always do the locked again, so return -EAGAIN unconditionally if it has a locked but not atomic operation, but drivers can implement the new atomic methods to provide needed data atomically (and can also return -EAGAIN). This should, given a driver without any ops or adding the atomic ops, reduce wiphy mutex contention. Link: https://patch.msgid.link/20261009201417.706683ff9d81.Ieb92e4c6599a198a116fa6a4f7944219c6d32932@changeid Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2026-10-13wifi: cfg80211: support unlocked station get/dumpJohannes Berg
Qualcomm reported that there can be a lot of lock contention on the wiphy mutex due to background processes dumping the station statistics. In many drivers (e.g. all mac80211 drivers without their own station statistics) it doesn't need to be locked, the data is never guaranteed to be fully consistent anyway given it's collected by concurrent TX/RX. Support unlocked get/dump station methods so that drivers can reduce lock contention by implementing these methods. As in the other cases, it's allowed to return -EAGAIN if a locked call is needed. Link: https://patch.msgid.link/20261009201417.e1d8a7d5f513.I9f6c2aff55861332c15069b9189bbf1e653648d5@changeid Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2026-10-13wifi: nl80211: transmit control port frames without wiphy mutexJohannes Berg
Only mac80211 currently implements tx_control_port, and it no longer needs the wiphy mutex, so don't take it here. Link: https://patch.msgid.link/20261009201417.d89a3bc2b1ec.I30d12968a0d4ab7a4ac8d0995a9ab7583b0ce2ef@changeid Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2026-10-13wifi: nl80211: probe peers without wiphy mutexJohannes Berg
None of the drivers implementing probe_peer (mac80211, wil6210, nxpwifi) need the wiphy mutex for it, so we can just not take it. Document that as well. Link: https://patch.msgid.link/20261009201417.75233ff945c8.I2f462bfffa96feb8dcc4386bc35ebc25d877a92f@changeid Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2026-10-13wifi: nl80211: allow mgmt frame TX without wiphy mutexJohannes Berg
Management frame transmissions need the wiphy mutex, but the normal transmit path doesn't, so most cases shouldn't need it here either. Due to checks, limit it to AP/GO for now. To support it, drivers must implement the new method mgmt_tx_unlocked(), and return -EAGAIN from that for requests that cannot be done without the wiphy mutex (e.g. off-channel in mac80211), then the operation will be retried with the wiphy mutex held. Link: https://patch.msgid.link/20261009201417.d376c87d429b.I4acfe051ab48ea9b012aa3bb26a62ab412a6eb9b@changeid Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2026-10-13wifi: nl80211: prepare for unlocked wdev-only opsJohannes Berg
The update-beacon operation currently can fairly easily work without extra care and without the wiphy mutex as it holds the netdev. However, we can't do the same now for wdevs, they could be unregistered (and destroyed) while the operation is running. Allow for such operations as well by giving the wdevs a refcount as well, and waiting for that refcount to drop to zero during wdev unregistration. This requires some special care in nl80211, especially for a "re-do the operation locked" implementation, but that's contained here so drivers need not worry about it (except if they request the operation to be retried under lock, that might never happen). Link: https://patch.msgid.link/20261009201417.0eaf10071df8.If2812b7c82df39cc9ed51746f55789fc4f51d4b1@changeid Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2026-10-13wifi: mac80211: implement lockless beacon updatesJohannes Berg
Implement the new update_beacon() method to update beacon and related templates without the wiphy mutex. If anything else were to change return -EAGAIN, same if there are any active countdowns, and during HW restart. Eventually, the idea is to replace countdowns by beacon update requests so hostapd can handle everything instead. This doesn't enable it for any drivers since it depends on the driver behaviour, if it fetches each beacon and doesn't use the other templates it can just set the feature flag (NL80211_EXT_FEATURE_UPDATE_BEACON), otherwise it must implement the new update_beacon() mac80211 method. The regular beacon update may need to take head, tail and MBSSID/RNR elements from the old beacon, so while that's going on mark "bss_update_in_progress" and make lockless updates return -EAGAIN during that time, so that the old data remains valid/identical. For MBSSID, the lockless path also can't copy old data, so that also has to return -EAGAIN. All those -EAGAIN cases fall back to cfg80211 and do the update with the lock held, where it can then be handled. Userspace should ideally ensure it doesn't hit that path. Assisted-by: LLM Link: https://patch.msgid.link/20261009201417.a9433ea65d8e.Icfbcd157ac2bdeccfcc74a9f4c3997d3010ec0a9@changeid Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2026-10-13wifi: nl80211: add NL80211_CMD_UPDATE_BEACONJohannes Berg
Updating beacon and related templates with NL80211_CMD_SET_BEACON requires the wiphy mutex, which can get contended, delaying the updates. Add a NL80211_CMD_UPDATE_BEACON operation that can only do beacon template updates, not other configuration changes, but is called without the wiphy mutex. If something requires the mutex then the driver can return -EAGAIN, to go through the normal change_beacon with wiphy mutex held. Also with this support updating multiple beacons for an MLD at the same time, just to further reduce round-trips if desired. Link: https://patch.msgid.link/20261009201417.fc5c148060cd.I174b47b65aca1bbaaf6a74d64fa0e264f84028b4@changeid Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2026-10-13rbtree: Update augmented data on the way down in rb_add_augmented_cached()Yiwei Lin
rb_add_augmented_cached() links the new node and then calls ->propagate() from the parent up to the root to bring the augmented data of the ancestors up to date. It marks that as "suboptimal": every augmented user that open-codes its insertion (interval trees, vmalloc, drm_mm, gpu buddy, ...) instead folds the new node's value into each ancestor while walking down, which touches no sibling and needs no second pass. ->propagate() has to read both children of every ancestor until it finds one whose value did not change. Add a ->merge() callback to struct rb_augment_callbacks that folds the augmented data of a node being inserted into one of its future ancestors, and use it on the descent. RB_DECLARE_CALLBACKS() derives it from the RB_AUG() list, so every user of the template gets it for free, and sched/eevdf, the only caller of the helper, needs no change. The new node's augmented data must describe the node alone before the call. That was already required, since ->propagate() read it, and sched/eevdf sets it up that way. Measured with rbtree_test's cached augmented test switched to rb_add_augmented_cached() (next patch), nnodes cached insert+delete, median of 5 runs, for reference also the open-coded descent used by augmented test 1. Raspberry Pi 4 Model B (Cortex-A72, 1.8 GHz), arch timer ticks (54 MHz): nnodes open-coded before after 100 459 500 442 (-11.6%) 10000 182046 186144 180208 (-3.2%) 100000 5533679 5711647 5579444 (-2.3%) x86-64 KVM guest (Intel i7-13800H), cycles: nnodes open-coded before after 100 7657 7622 7059 (-7.4%) 10000 4738075 5075847 4627462 (-8.8%) 100000 75618429 79840335 71324700 (-10.7%) The other rbtree_test numbers are unchanged and the augmented invariant checks still pass on both. Signed-off-by: Yiwei Lin <s921975628@gmail.com> Assisted-by: LLM Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Link: https://patch.msgid.link/20261005093236.62702-4-s921975628@gmail.com
2026-10-13rbtree: Declare augmented callbacks per field with RB_AUG()Peter Zijlstra (Intel)
RB_DECLARE_CALLBACKS_MULTI() asks its user for a function that copies the augmented fields and one that recomputes them from the children, with the early-exit protocol of ->propagate() hand-coded in the latter. sched/eevdf, its only user, needs five helpers for three fields. Describe each augmented field instead: RB_AUG(val, aug, fold) names the per-node value, the member holding the subtree aggregate and how two aggregates combine (min, max, a sum, ...). RB_AUG_FUNC() takes a function for the per-node value. The template then generates, per field, a recompute that works on a local and stores once, and a copy, and combines them into the callbacks; the early exit is the AND of the per-field results. RB_DECLARE_CALLBACKS() is the only template left. RB_DECLARE_CALLBACKS_MAX() becomes RB_AUG_FUNC(RBVALUE, RBAUGMENTED, max) in a wrapper, with its RBCOMPUTE argument renamed to RBVALUE, since it returns the per-node scalar and is a different thing from the RBCOMPUTE of the generic template it used to build on. RB_DECLARE_CALLBACKS_MULTI() goes away. sched/eevdf shrinks to a wrapping-safe min() for min_vruntime and three RB_AUG() lines. No functional change intended. [yiwei: take a fold(a, b) instead of a "replace?" compare so that sums and counts can be expressed too, which also lets min()/max() replace RB_MIN()/RB_MAX(); wrapped the lines over 100 columns] Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Signed-off-by: Yiwei Lin <s921975628@gmail.com> Assisted-by: LLM Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Link: https://lore.kernel.org/r/20260928213736.GA2947991@noisy.programming.kicks-ass.net Link: https://patch.msgid.link/20261005093236.62702-3-s921975628@gmail.com
2026-10-13Merge branch 'tip/sched/urgent'Peter Zijlstra
Pickup dependencies; notably the RB-tree fix. Signed-off-by: Peter Zijlstra <peterz@infradead.org>
2026-10-13firewire: core: add kerneldoc for inbound transaction-related symbolsTakashi Sakamoto
The core provides helper functions and structures for handling transaction requests to local address regions. Add kerneldoc comments for these symbols. Link: https://lore.kernel.org/r/20261013111509.612518-3-o-takashi@sakamocchi.jp Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
2026-10-13firewire: core: add kerneldoc for outbound transaction-related symbolsTakashi Sakamoto
The core provides helper functions and structures for initiating asynchronous transactions. Add kerneldoc comments for these symbols. Link: https://lore.kernel.org/r/20261013111509.612518-2-o-takashi@sakamocchi.jp Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
2026-10-13ipv4: Report netns cookie in fib_table_lookup tracepointIdo Schimmel
The fib_table_lookup tracepoint does not report the network namespace in which the lookup was performed, making it impossible to tell apart lookups performed in different namespaces. Report the network namespace cookie now that the namespace is passed to the tracepoint. Assisted-by: LLM Reviewed-by: Petr Machata <petrm@nvidia.com> Reviewed-by: Ferenc Fejes <ferenc@fejes.dev> Signed-off-by: Ido Schimmel <idosch@nvidia.com> Reviewed-by: David Ahern <dsahern@kernel.org> Link: https://patch.msgid.link/20261008133158.1438907-4-idosch@nvidia.com Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2026-10-13ipv4: Pass netns to fib_table_lookup()Ido Schimmel
The next patch will report the network namespace cookie in the fib_table_lookup tracepoint. As a preparation, pass the namespace to fib_table_lookup() and from there to the tracepoint, like the fib6_table_lookup tracepoint. All the callers already have the namespace at hand. Add the namespace as the last tracepoint argument so that the positions of the existing arguments do not change and BPF programs that attach to the raw tracepoint are not affected. No functional changes intended. Assisted-by: LLM Reviewed-by: Petr Machata <petrm@nvidia.com> Reviewed-by: Ferenc Fejes <ferenc@fejes.dev> Signed-off-by: Ido Schimmel <idosch@nvidia.com> Reviewed-by: David Ahern <dsahern@kernel.org> Link: https://patch.msgid.link/20261008133158.1438907-3-idosch@nvidia.com Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2026-10-13ipv6: Report netns cookie in fib6_table_lookup tracepointIdo Schimmel
The first argument of the tracepoint is a pointer to the network namespace in which the FIB lookup was performed, but the tracepoint does not report information about it in the associated trace record, making it impossible to tell apart lookups performed in different namespaces. Report the network namespace cookie, as commit 27cb3de7f43a ("net: add net cookie for net device trace events") did for the net device tracepoints. Assisted-by: LLM Reviewed-by: Petr Machata <petrm@nvidia.com> Reviewed-by: Ferenc Fejes <ferenc@fejes.dev> Signed-off-by: Ido Schimmel <idosch@nvidia.com> Reviewed-by: David Ahern <dsahern@kernel.org> Link: https://patch.msgid.link/20261008133158.1438907-2-idosch@nvidia.com Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2026-10-13memblock: Remove unused memblock_alloc_exact_nid_raw()Kaitao Cheng
memmap_alloc() was the only in-kernel caller of memblock_alloc_exact_nid_raw(). After removing its unused exact_nid argument, the function no longer has any callers. Remove memblock_alloc_exact_nid_raw() and its declaration. The remaining callers of memblock_alloc_internal() always allow allocation to fall back to other NUMA nodes, so remove its exact_nid argument and pass false directly to memblock_alloc_range_nid(). Suggested-by: Lorenzo Stoakes <ljs@kernel.org> Signed-off-by: Kaitao Cheng <chengkaitao@kylinos.cn> Link: https://patch.msgid.link/20260919135327.74089-4-kaitao.cheng@linux.dev Signed-off-by: Mike Rapoport (Microsoft) <rppt@kernel.org>
2026-10-13fbdev: mmp: fix typos in commentsHemanth Selam
Assisted-by: Cursor:claude-opus-5 Signed-off-by: Hemanth Selam <hemanth.selam@gmail.com> Signed-off-by: Helge Deller <deller@gmx.de>
2026-10-13platform/x86: asus-armoury: add dGPU disable fallback DEVID for ProArt H7606 ↵Denis Benato
series Newer ASUS ProArt laptops (e.g. H7606 series) implement dGPU power control on WMI DEVID 0x00090120 instead of the usual 0x00090020. The default DEVID returns 0xFFFFFFE2 on these models, so the dgpu_disable firmware attribute is never created and the dGPU cannot be re-enabled from Linux at all. Add a fallback probe for device ID 0x00090120 following the same approach as the gpu_mux_dev_id probe. Details for 0x00090120 (confirmed on H7606W using direct WMNB calls and inspecting the DSDT DEVS handler): - Reading DSTS returns 0x00010001 when the dGPU is off (CUMA=1), or 0x00010000 when it's on. - Writing DEVS: 0 enables the dGPU (calls PG00._ON() + Notifies PEGP, Device Check), and 1 disables or ejects it. This behavior matches the dgpu_disable attribute (1 = disabled). Signed-off-by: Denis Benato <denis.benato@linux.dev> Link: https://patch.msgid.link/20260925144229.3693-4-denis.benato@linux.dev Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
2026-10-13Merge branch 'platform-drivers-x86-intel-pmt' into for-nextIlpo Järvinen
2026-10-13platform/x86/amd/pmf: fix compat ioctl handlingArnd Bergmann
Build testing with -Wpadded shows a structure that is incompatible between 32-bit and 64-bit x86 userspace: ./usr/include/linux/amd-pmf.h:202:1: error: padding struct size to alignment boundary with 4 bytes [-Werror=padded] Use the 64-bit padded on all architectures here to avoid both the warning and allow compat ioctl handling. Fixes: 98432eec3180 ("platform/x86/amd/pmf: Add util layer and userspace character device interface") Signed-off-by: Arnd Bergmann <arnd@arndb.de> Link: https://patch.msgid.link/20260915202535.3689880-1-arnd@kernel.org Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
2026-10-13platform/x86: asus-wmi: Add mute LED supportPatryk Dańków
Add support for WMI device 0x0004001c and register it as the platform::mute LED using the audio-mute trigger. The device ID is present in the PM3406CKA DSDT and is also used by GHelper for controlling the same LED. Tested on ASUS ExpertBook PM3406CKA. Signed-off-by: Patryk Dańków <patryk.dankow@protonmail.com> Reviewed-by: Denis Benato <denis.benato@linux.dev> Link: https://patch.msgid.link/20260915174110.67871-2-patryk.dankow@protonmail.com Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
2026-10-13lib/string_choices: Add str_supported_unsupported() helperThorsten Blum
Add str_supported_unsupported() to return "supported" or "unsupported" depending on the boolean argument. Also add the inverse str_unsupported_supported(). Suggested-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Signed-off-by: Thorsten Blum <blum@kernel.org> Reviewed-by: Andy Shevchenko <andy@kernel.org> Link: https://patch.msgid.link/20260907084319.351688-5-blum@kernel.org Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
2026-10-13Merge tag 'drm-rust-next-2026-10-11' of ↵Dave Airlie
https://gitlab.freedesktop.org/drm/rust/kernel into drm-next DRM Rust changes for v7.4-rc1 - Cross-subsystem: - I/O (shared from driver-core tree via signed tag rust-io-7.4-rc1): - Reimplement register!() as a procedural macro, require matching base types for register access, and replace relative registers with typed I/O projections. Convert Nova, Tyr and the PCI sample - Add AsRepr/AsReprMut conversions for I/O on compatible wrapper types and transmute helpers with deferred size checks - DMA (shared from driver-core tree via signed tag rust-dma-7.4-rc1): - Tie Coherent, CoherentBox and CoherentHandle to the device's bound lifetime, and allow scoped debugfs files backed by non-'static data - Allow auxiliary registration-data closures to return covariant sub-fields and add UserSliceWriter::write_truncated() - Implement Send and Sync for MapleTree - Add PCI resource_flags() and IORESOURCE_MEM_64, and convert PCI IRQ flags to impl_flags!() - Add I/O view cast() with compile-time size and alignment checks - DRM: - Add Rust dma_fence abstractions with separate producer (DriverFence) and consumer (Fence) types, per-context sequencing, signal callbacks and preallocation. Additional backend operations remain follow-up work. - Initialize DRM registrations and their data in place, removing a separate allocation - Drop the unused flags argument from drm::Registration::new() - Nova: - UAPI and Cross Module API: - Add NovaCoreApi and a lifetime-bound handle for auxiliary child drivers, carried in nova-drm registration data - Expose a render node and extensible INFO ioctl reporting GPU architecture, opaque chip ID, usable VRAM and VRAM BAR sizes, full and short GPU names, and GID, with size discovery and truncation to the userspace buffer size - Move BAR-size queries into GPU info, removing GETPARAM and changing the UAPI - PRAMIN access: - Add typed CPU access to VRAM through the movable 1 MiB BAR0 PRAMIN window, with per-architecture support from Turing through Blackwell - Add GpuMm centralized memory manager, VramAddress type, aperture documentation and optional probe-time self-tests under CONFIG_NOVA_CORE_SELFTESTS - GPU virtual memory and BAR1: - Add VRAM buddy allocation, TLB flushing, MMU v2/v3 page-table types with trait-based generics (PteOps, PdeOps, DualPdeOps, MmuConfig) and a generic walker - Add maple-tree virtual address tracking and multi-page mapping, separating allocation from mapping execution - Add CPU access to mapped VRAM through BAR1 and memory-management self-tests; handle 64-bit BAR0 when locating BAR1 - GPU interrupts and GSP events: - Add GIN (GPU Interrupt and Notification) interrupt-tree support with MSI-X, MSI fallback and per-architecture rearming - Drain GSP events between commands via a threaded SWGEN0 handler - Report OS errors, robust-channel notifications and unknown messages without aborting command waits; hold the queue lock and use one deadline per wait - Disable GSP event interrupts on persistent falcon faults or drain errors - Add a delivery/rearm self-test, interrupt-tree KUnit coverage and interrupt-controller documentation - GSP messaging fixes: - Queue setup RPCs before GSP-RM boot - Correct DMA barriers in both queue directions - Firmware and transport: - Extract a reusable radix3 buffer mapper; zero-pad page-table levels to whole pages to prevent booter reads of stale padding - Correct GSP-FMC naming and boot-flow documentation - Set MCTP header version 1 for FSP messages and retain the command queue's BAR0 reference - Resource handling: - Replace unnecessary BarUser reference counting with in-place ownership and borrowed access; consolidate probe initialization - Declare an unlimited DMA maximum segment size - Tyr: - Use bitfield!() for firmware section flags and memory attributes that do not describe registers - Zero unsupported and newly added GPU-info fields, and limit the doorbell array to 17 entries to fit the mapped register region Signed-off-by: Dave Airlie <airlied@redhat.com> From: "Danilo Krummrich" <dakr@kernel.org> Link: https://patch.msgid.link/DM371PN4TBJT.3LY1B0EYWSI4@kernel.org
2026-10-12mm/damon: document that a zero sample_interval is acceptedKarthikeyan KS
damon_set_attrs() accepts sample_interval == 0. This was reported as a bug in v1 of this patch (rejecting it in damon_set_attrs()). A similar patch was already declined for the same reason: a zero interval is intentionally supported [1]. Document the behavior instead of changing it. Link: https://lore.kernel.org/20260921151547.78472-5-sj@kernel.org Link: https://lore.kernel.org/all/20260722094304.3132750-1-dayou5941@163.com/ [1] Signed-off-by: Karthikeyan KS <karthiproffesional@gmail.com> Signed-off-by: SJ Park <sj@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Reviewed-by: SJ Park <sj@kernel.org> Cc: Adrian Huang <adrianhuang0701@gmail.com> Cc: Liew Rui Yan <aethernet65535@gmail.com> Cc: Xuewen Wang <wangxuewen@kylinos.cn> Cc: Zenghui Yu (Huawei) <zenghui.yu@linux.dev>
2026-10-12docs/mm: describe set_memory() and set_direct_map() APIsMike Rapoport (Microsoft)
The set_memory() and set_direct_map() APIs change permissions of existing kernel mappings, but their semantics are only described by the code, and that code differs from architecture to architecture. Add Documentation/mm/kernel-page-tables.rst that briefly describes what the kernel page tables consist of, defines the semantics both APIs have in common, including the parts that are easy to get wrong, and lists the differences between the architecture implementations. Add kernel-doc comments for the generic set_memory() and set_direct_map() stubs and link them into Documentation/core-api/mm-api.rst. [rppt@kernel.org: fix phrasing, per Kevin] Link: https://lore.kernel.org/arJNn2QD_pY6e14R@kernel.org Link: https://lore.kernel.org/20260919-set-memory-docs-v2-1-a2a4b3657690@kernel.org Signed-off-by: Mike Rapoport (Microsoft) <rppt@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Reviewed-by: Kevin Brodsky <kevin.brodsky@arm.com> Assisted-by: copilot:claude-opus Cc: "David Hildenbrand (arm)" <david@kernel.org> Cc: Jonathan Corbet <corbet@lwn.net> Cc: Liam Howlett <liam@infradead.org> Cc: Lorenzo Stoakes (ARM) <ljs@kernel.org> Cc: Michal Hocko <mhocko@suse.com> Cc: Randy Dunlap <rdunlap@infradead.org> Cc: Shuah khan <skhan@linuxfoundation.org> Cc: Suren Baghdasaryan <surenb@google.com> Cc: "Vlastimil Babka (SUSE)" <vbabka@kernel.org>
2026-10-12mm: constify arguments in default pxdp_get()Anshuman Khandual
Generic MM default pxdp_get() helpers fetch the values contained in pgtable entries via READ_ONCE() without modifying them. Just make their arguments explicitly 'const' for some additional protection. Link: https://lore.kernel.org/20260918064928.793742-1-anshuman.khandual@arm.com Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Suggested-by: David Hildenbrand <david@kernel.org> Acked-by: David Hildenbrand (Arm) <david@kernel.org> Acked-by: Lorenzo Stoakes (ARM) <ljs@kernel.org> Reviewed-by: SJ Park <sj@kernel.org> Cc: Pedro Falcato <pfalcato@suse.de>
2026-10-12mm/swapops: remove unused is_hwpoison_entry()Sang-Heon Jeon
Since commit 93976a20345b ("mm: eliminate further swapops predicates"), is_hwpoison_entry() has no callers. So remove it. No functional change. Link: https://lore.kernel.org/20260918165642.1014988-1-ekffu200098@gmail.com Signed-off-by: Sang-Heon Jeon <ekffu200098@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Reviewed-by: SJ Park <sj@kernel.org> Reviewed-by: Zenghui Yu (Huawei) <zenghui.yu@linux.dev> Reviewed-by: Barry Song <baohua@kernel.org> Acked-by: Chris Li <chrisl@kernel.org> Cc: Baoquan He <baoquan.he@linux.dev> Cc: Kairui Song <kasong@tencent.com> Cc: Kemeng Shi <shikemeng@huaweicloud.com> Cc: Nhat Pham <nphamcs@gmail.com> Cc: Youngjun Park <youngjun.park@lge.com>
2026-10-12mm/damon/api: remove NR_DAMOS_FILTER_TYPESSJ Park
Patch series "mm/damon: improve readability, clarity and test coverage". Yet another batch of miscellaneous DAMON minor improvements. Mostly focused on readability and clarity of code and document, and unit/self test coverage. No user-visible behavioral change is intended. This patch (of 10): Nobody uses NR_DAMOS_FILTER_TYPES. Remove it. Link: https://lore.kernel.org/20260917142210.90829-1-sj@kernel.org Link: https://lore.kernel.org/20260917142210.90829-2-sj@kernel.org Signed-off-by: SJ Park <sj@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Reviewed-by: Asier Gutierrez <gutierrez.asier@huawei-partners.com> Cc: Brendan Higgins <brendan.higgins@linux.dev> Cc: David Gow <davidgow@davidgow.net> Cc: David Hildenbrand <david@kernel.org> Cc: Jonathan Corbet <corbet@lwn.net> Cc: Liam R. Howlett <liam@infradead.org> Cc: Lorenzo Stoakes <ljs@kernel.org> Cc: Michal Hocko <mhocko@suse.com> Cc: Mike Rapoport <rppt@kernel.org> Cc: Randy Dunlap <rdunlap@infradead.org> Cc: Shuah Khan <shuah@kernel.org> Cc: Suren Baghdasaryan <surenb@google.com> Cc: Vlastimil Babka <vbabka@kernel.org>