Subject: [GIT PULL] power-supply changes for 6.17 MIME-Version: 1.0 Hi Linus, Some more power-supply core changes flow through the platform tree, which needed some improvements in the power-supply extension API. No merge conflicts have been found in linux-next and everything from my tree has been in there for at least 3 weeks. power supply and reset changes for the 6.17 series * power-supply core - battery-info: replace any DT specific bits with fwnode usage - replace any device-tree code with generic fwnode based handling * power-supply drivers - ug3105_battery: use battery-info API - qcom_battmgr: report capacity - qcom_battmgr: support LiPo battery reporting - add missing missing power-supply ref to a bunch of DT bindings - update drivers regarding pm_runtime_autosuspend() usage - misc. minor fixes and cleanups * reset drivers - misc. minor cleanups
once you have time in between birthday party drinks, please pull from nus-2025073101 to receive HID subsystem queue for 6.17 merge window, namely: =3D=3D=3D=3D=3D - hardening of HID core parser against conversion to 0 bits in=20 s32ton() by buggy/malicious devices (Alan Stern) - fix for potential NULL pointer dereference in hid-apple that could=20 be caused by malicious device with APPLE_MAGIC_BACKLIGHT quirk present=20 triggering overflow in data field (Qasim Ijaz) - support for Wake-on-touch in intel-thc (Even Xu) - support for "Input max input size control" and "Input interrupt delay" I2C features in order to improve compatibility of THC devices with legacy HIDI2C touch devices (Even Xu) - support for Touch Bars on x86 MacBook Pros (Kerem Karabay) - support for XP-PEN Artist 22R Pro (Joshua Goins) - third party trackpart support for MacBookPro15,1 (Aditya Garg) =20 - Apple Magic Keyboard A311[89] USB-C support (Aditya Garg, Grigorii =20 Sokoli - support for operating modes in amd-sfh (Basavaraj Natikar) - avoid setting up battery timer for Apple and Magicmouse devices=20 without battery (Aditya Garg) - fix for behavior of the hid-mcp2221 driver for !CONFIG_IIO cases (Heiko Schocher) - other assorted fixups and device ID additions =3D=3D=3D=3D=3D Thanks.
Thanks, Guenter ------ hwmon updates for v6.17 * Updated chip support in existing drivers - ina238: Support for INA228 - pmbus/tps53679: Support for TPS53685 - pmbus/adp1050: Support for adp1051, adp1055 and ltp8800 - corsair-psu: Support for HX1200i Series 2025 - pmbus/isl68137: Support for RAA229621 - asus-ec-sensors: Support for ProArt X870E-CREATOR WIFI and * Other notable changes - adt7475: Support for #pwm-cells = <3> - amc6821: Cooling device support - emc2305: Support for PWM frequency, polarity and output - Add missing compatible entries to various devicetree bindings * Various other minor fixes and improvements
a/v6.17-1 For: - v4l2 core: sub-device framework routing improvements; - v4l2 core: NV12M tiled variants added to v4l2_format_info; - v4l2 core: some fixes at control handler freeing logic; - v4l2 core: fixed H264 SEPARATE_COLOUR_PLANE check; - new staging driver: Intel IPU7 PCI; - Rockchip video decoder driver got promoted from staging; - iris: added HEVC/VP9 encoder/decoder support; - vsp1: driver has gained Renesas VSPX support; - uvc: switched to vb2 ioctl helpers; - uvc: added MSXU 1.5 metadata support; - atomisp: GC0310 sensor driver cleanups in preparation for moving it out of staging; - Lots of cleanup, fixes and improvements. Regards, Mauro --- --- [GIT PULL for v6.17] media updates
tracing tools changes for 6.17: - Introduce enum timerlat_tracing_mode Now that BPF based sampling has been added to timerlat, add an enum to represent which mode timerlat is running in. - Add action on timelat threshold feature A new option, --on-threshold, is added, taking an argument that further specifies the action. Actions added in this patch are: - trace[,file=<filename>]: Saves tracefs buffer, optionally taking a filename. - signal,num=<sig>,pid=<pid>: Sends signal to process. "parent" might be specified instead of number to send signal to parent process. - shell,command=<command>: Execute shell command. - Allow resuming tracing in timerlat bpf rtla-timerlat BPF program uses a global variable stored in a .bss section to store whether tracing has been stopped. Map it to allow it to resume tracing after it has been stopped. - Add continue action to timerlat Introduce option to resume tracing after a latency threshold overflow. The option is implemented as an action named "continue". - Add action on end feature to timerlat Implement actions on end next to actions on threshold. A new option, --on-end is added, parallel to --on-threshold. Instead of being executed whenever a latency threshold is reached, it is executed at the end of the measurement. - Have rtla tests check output with grep Add argument to the check command in the test suite that takes a regular expression that the output of rtla command is checked against. This allows testing for specific information in rtla output in addition to checking the return value. - Add tests for timerlat actions - Update the documentation for the new features trace-tools-v6.17
Deferred unwind changes for 6.17 This is the core infrastructure for the deferred unwinder that is required for sframes[1]. Several other patch series is based on this work although those patch series are not dependent on each other. In order to simplify the development, having this core series upstream will allow the other series to be worked on in parallel. The other series are: - The two patches to implement x86: https://lore.kernel.org/linux-trace-kernel/[email protected]/ https://lore.kernel.org/linux-trace-kernel/[email protected]/ - The s390 work: https://lore.kernel.org/linux-trace-kernel/[email protected]/ - The perf work: https://lore.kernel.org/linux-trace-kernel/[email protected]/ - The ftrace work: https://lore.kernel.org/linux-trace-kernel/[email protected]/ - The sframe work: https://lore.kernel.org/linux-trace-kernel/[email protected]/ And more is on the way. The core infrastructure adds the following in kernel APIs: - int unwind_user_faultable(struct unwind_stacktrace *trace); Performs a user space stack trace that may fault user pages in. - int unwind_deferred_init(struct unwind_work *work, unwind_callback_t func); Allows a tracer to register with the unwind deferred infrastructure. - int unwind_deferred_request(struct unwind_work *work, u64 *cookie); Used when a tracer request a deferred trace. Can be called from interrupt or NMI context. - void unwind_deferred_cancel(struct unwind_work *work); Called by a tracer to unregister from the deferred unwind infrastructure. - void unwind_deferred_task_exit(struct task_struct *task); Called by task exit code to flush any pending unwind requests. - void unwind_task_init(struct task_struct *task); Called by do_fork() to initialize the task struct for the deferred unwinder. - void unwind_task_free(struct task_struct *task); Called by do_exit() to free up any resources used by the deferred unwinder. None of the above is actually compiled unless an architecture enables it, which none currently do. [1] https://sourceware.org/binutils/wiki/sframe trace-deferred-unwind-v6.17
tracing changes for 6.17 - Deprecate auto-mounting tracefs to /sys/kernel/debug/tracing When tracefs was first introduced back in 2014, the directory /sys/kernel/tracing was added and is the designated location to mount tracefs. To keep backward compatibility, tracefs was auto-mounted in /sys/kernel/debug/tracing as well. All distros now mount tracefs on /sys/kernel/tracing. Having it seen in two different locations has lead to various issues and inconsistencies. The VFS folks have to also maintain debugfs_create_automount() for this single user. It's been over 10 years. Tooling and scripts should start replacing the debugfs location with the tracefs one. The reason tracefs was created in the first place was to allow access to the tracing facilities without the need to configure debugfs into the kernel. Using tracefs should now be more robust. A new config is created: CONFIG_TRACEFS_AUTOMOUNT_DEPRECATED which is default y, so that the kernel is still built with the automount. This config allows those that want to remove the automount from debugfs to do so. When tracefs is accessed from /sys/kernel/debug/tracing, the following printk is triggerd: pr_warn("NOTICE: Automounting of tracing to debugfs is deprecated and will be removed in 2030\n"); This gives users another 5 years to fix their scripts. - Use queue_rcu_work() instead of call_rcu() for freeing event filters The number of filters to be free can be many depending on the number of events within an event system. Freeing them from softirq context can potentially cause undesired latency. Use the RCU workqueue to free them instead. - Remove pointless memory barriers in latency code Memory barriers were added to some of the latency code a long time ago with the idea of "making them visible", but that's not what memory barriers are for. They are to synchronize access between different variables. There was no synchronization here making them pointless. - Remove "__attribute__()" from the type field of event format When LLVM is used to compile the kernel with CONFIG_DEBUG_INFO_BTF=y and PAHOLE_HAS_BTF_TAG=y, some of the format fields get expanded with the following: field:const char * filename; offset:24; size:8; signed:0; Turns into: field:const char __attribute__((btf_type_tag("user"))) * filename; offset:24; size:8; signed:0; This confuses parsers. Add code to strip these tags from the strings. - Add eprobe config option CONFIG_EPROBE_EVENTS Eprobes were added back in 5.15 but were only enabled when another probe was enabled (kprobe, fprobe, uprobe, etc). The eprobes had no config option of their own. Add one as they should be a separate entity. It's default y to keep with the old kernels but still has dependencies on TRACING and HAVE_REGS_AND_STACK_ACCESS_API. - Add eprobe documentation When eprobes were added back in 5.15 no documentation was added to describe them. This needs to be rectified. - Replace open coded cpumask_next_wrap() in move_to_next_cpu() - Have preemptirq_delay_run() use off-stack CPU mask - Remove obsolete comment about pelt_cfs event DECLARE_TRACE() appends "_tp" to trace events now, but the comment above pelt_cfs still mentioned appending it manually. - Remove EVENT_FILE_FL_SOFT_MODE flag The SOFT_MODE flag was required when the soft enabling and disabling of trace events was first introduced. But there was a bug with this approach as it only worked for a single instance. When multiple users required soft disabling and disabling the code was changed to have a ref count. The SOFT_MODE flag is now set iff the ref count is non zero. This is redundant and just reading the ref count is good enough. - Fix typo in comment trace-v6.17
sched_ext: Changes for v6.17 - Add support for cgroup "cpu.max" interface. - Code organization cleanup so that ext_idle.c doesn't depend on the source-file-inclusion build method of sched/. - Drop UP paths in accordance with sched core changes. - Documentation and other misc changes.
cgroup: Changes for v6.17 - Allow css_rstat_updated() in NMI context to enable memory accounting for allocations in NMI context. - /proc/cgroups doesn't contain useful information for cgroup2 and was updated to only show v1 controllers. This unfortunately broke something in the wild. Add an option to bring back the old behavior to ease transition. - selftest updates and other cleanups.
workqueue: Changes for v6.17 - Prepare for defaulting to unbound workqueue. A separate branch was created to ease pulling in from other trees but none of the conversions have landed yet. - Memory allocation profiling support added. - Misc changes.
window. I'm planning a second (significantly smaller) batch for next week. For somewhat late-arriving material which might benefit from a little more test and review time. As usual, many cleanups. The below blurbiage describes 42 patchsets. 21 of those are partially or fully cleanup work. "cleans up", "cleanup", "maintainability", "rationalizes", etc. I never knew the MM code was so dirty. Thanks! Conflicts which I'm presently seeing, along with their linux-next resolutions: include/linux/proc_fs.h, vs fs-next tree: https://lkml.kernel.org/r/[email protected] Forthcoming conflicts of which I am aware are: .mailmap, vs riscv-fixes tree: https://lkml.kernel.org/r/[email protected] kernel/panic.c, vs sysctl tree: https://lkml.kernel.org/r/[email protected] fs/proc/page.c, vs slab tree: https://lkml.kernel.org/r/[email protected] lib/Kconfig.debug, vs paulmck tree: https://lkml.kernel.org/r/[email protected] Summary of significant series in this pull request: - The 4 patch series "mm: ksm: prevent KSM from breaking merging of new VMAs" from Lorenzo Stoakes addresses an issue with KSM's PR_SET_MEMORY_MERGE mode: newly mapped VMAs were not eligible for merging with existing adjacent VMAs. - The 4 patch series "mm/damon: introduce DAMON_STAT for simple and practical access monitoring" from SeongJae Park adds a new kernel module which simplifies the setup and usage of DAMON in production environments. - The 6 patch series "stop passing a writeback_control to swap/shmem writeout" from Christoph Hellwig is a cleanup to the writeback code which removes a couple of pointers from struct writeback_control. - The 7 patch series "drivers/base/node.c: optimization and cleanups" from Donet Tom contains largely uncorrelated cleanups to the NUMA node setup and management code. - The 4 patch series "mm: userfaultfd: assorted fixes and cleanups" from Tal Zussman does some maintenance work on the userfaultfd code. - The 5 patch series "Readahead tweaks for larger folios" from Ryan Roberts implements some tuneups for pagecache readahead when it is reading into order>0 folios. - The 4 patch series "selftests/mm: Tweaks to the cow test" from Mark Brown provides some cleanups and consistency improvements to the selftests code. - The 4 patch series "Optimize mremap() for large folios" from Dev Jain does that. A 37% reduction in execution time was measured in a memset+mremap+munmap microbenchmark. - The 5 patch series "Remove zero_user()" from Matthew Wilcox expunges zero_user() in favor of the more modern memzero_page(). - The 3 patch series "mm/huge_memory: vmf_insert_folio_*() and vmf_insert_pfn_pud() fixes" from David Hildenbrand addresses some warts which David noticed in the huge page code. These were not known to be causing any issues at this time. - The 3 patch series "mm/damon: use alloc_migrate_target() for DAMOS_MIGRATE_{HOT,COLD" from SeongJae Park provides some cleanup and consolidation work in DAMON. - The 3 patch series "use vm_flags_t consistently" from Lorenzo Stoakes uses vm_flags_t in places where we were inappropriately using other types. - The 3 patch series "mm/memfd: Reserve hugetlb folios before allocation" from Vivek Kasireddy increases the reliability of large page allocation in the memfd code. - The 14 patch series "mm: Remove pXX_devmap page table bit and pfn_t type" from Alistair Popple removes several now-unneeded PFN_* flags. - The 5 patch series "mm/damon: decouple sysfs from core" from SeongJae Park implememnts some cleanup and maintainability work in the DAMON sysfs layer. - The 5 patch series "madvise cleanup" from Lorenzo Stoakes does quite a lot of cleanup/maintenance work in the madvise() code. - The 4 patch series "madvise anon_name cleanups" from Vlastimil Babka provides additional cleanups on top or Lorenzo's effort. - The 11 patch series "Implement numa node notifier" from Oscar Salvador creates a standalone notifier for NUMA node memory state changes. Previously these were lumped under the more general memory on/offline notifier. - The 6 patch series "Make MIGRATE_ISOLATE a standalone bit" from Zi Yan cleans up the pageblock isolation code and fixes a potential issue which doesn't seem to cause any problems in practice. - The 5 patch series "selftests/damon: add python and drgn based DAMON sysfs functionality tests" from SeongJae Park adds additional drgn- and python-based DAMON selftests which are more comprehensive than the existing selftest suite. - The 5 patch series "Misc rework on hugetlb faulting path" from Oscar Salvador fixes a rather obscure deadlock in the hugetlb fault code and follows that fix with a series of cleanups. - The 3 patch series "cma: factor out allocation logic from __cma_declare_contiguous_nid" from Mike Rapoport rationalizes and cleans up the highmem-specific code in the CMA allocator. - The 28 patch series "mm/migration: rework movable_ops page migration (part 1)" from David Hildenbrand provides cleanups and future-preparedness to the migration code. - The 2 patch series "mm/damon: add trace events for auto-tuned monitoring intervals and DAMOS quota" from SeongJae Park adds some tracepoints to some DAMON auto-tuning code. - The 6 patch series "mm/damon: fix misc bugs in DAMON modules" from SeongJae Park does that. - The 6 patch series "mm/damon: misc cleanups" from SeongJae Park also does what it claims. - The 4 patch series "mm: folio_pte_batch() improvements" from David Hildenbrand cleans up the large folio PTE batching code. - The 13 patch series "mm/damon/vaddr: Allow interleaving in migrate_{hot,cold} actions" from SeongJae Park facilitates dynamic alteration of DAMON's inter-node allocation policy. - The 3 patch series "Remove unmap_and_put_page()" from Vishal Moola provides a couple of page->folio conversions. - The 4 patch series "mm: per-node proactive reclaim" from Davidlohr Bueso implements a per-node control of proactive reclaim - beyond the current memcg-based implementation. - The 14 patch series "mm/damon: remove damon_callback" from SeongJae Park replaces the damon_callback interface with a more general and powerful damon_call()+damos_walk() interface. - The 10 patch series "mm/mremap: permit mremap() move of multiple VMAs" from Lorenzo Stoakes implements a number of mremap cleanups (of course) in preparation for adding new mremap() functionality: newly permit the remapping of multiple VMAs when the user is specifying MREMAP_FIXED. It still excludes some specialized situations where this cannot be performed reliably. - The 3 patch series "drop hugetlb_free_pgd_range()" from Anthony Yznaga switches some sparc hugetlb code over to the generic version and removes the thus-unneeded hugetlb_free_pgd_range(). - The 4 patch series "mm/damon/sysfs: support periodic and automated stats update" from SeongJae Park augments the present userspace-requested update of DAMON sysfs monitoring files. Automatic update is now provided, along with a tunable to control the update interval. - The 4 patch series "Some randome fixes and cleanups to swapfile" from Kemeng Shi does what is claims. - The 4 patch series "mm: introduce snapshot_page" from Luiz Capitulino and David Hildenbrand provides (and uses) a means by which debug-style functions can grab a copy of a pageframe and inspect it locklessly without tripping over the races inherent in operating on the live pageframe directly. - The 6 patch series "use per-vma locks for /proc/pid/maps reads" from Suren Baghdasaryan addresses the large contention issues which can be triggered by reads from that procfs file. Latencies are reduced by more than half in some situations. The series also introduces several new selftests for the /proc/pid/maps interface. - The 6 patch series "__folio_split() clean up" from Zi Yan cleans up __folio_split()! - The 7 patch series "Optimize mprotect() for large folios" from Dev Jain provides some quite large (>3x) speedups to mprotect() when dealing with large folios. - The 2 patch series "selftests/mm: reuse FORCE_READ to replace "asm volatile("" : "+r" (XXX));" and some cleanup" from wang lian does some cleanup work in the selftests code. - The 3 patch series "tools/testing: expand mremap testing" from Lorenzo Stoakes extends the mremap() selftest in several ways, including adding more checking of Lorenzo's recently added "permit mremap() move of multiple VMAs" feature. - The 22 patch series "selftests/damon/sysfs.py: test all parameters" from SeongJae Park extends the DAMON sysfs interface selftest so that it tests all possible user-requested parameters. Rather than the present minimal subset.
... to get header file cleanups. Specifically use specific headers rather than just kernel.h in libnvdimm.h to reduce header file usage. The second patch is a fix to CXL but is going through my tree as the libnvdimm patch caused the issue. Thanks, Ira --- libnvdimm fixes for 6.17 - Remove kernel.h from libnvdimm.h - Fix build issue found later in next
ARM: - Host driver for GICv5, the next generation interrupt controller for arm64, including support for interrupt routing, MSIs, interrupt translation and wired interrupts. - Use FEAT_GCIE_LEGACY on GICv5 systems to virtualize GICv3 VMs on GICv5 hardware, leveraging the legacy VGIC interface. - Userspace control of the 'nASSGIcap' GICv3 feature, allowing userspace to disable support for SGIs w/o an active state on hardware that previously advertised it unconditionally. - Map supporting endpoints with cacheable memory attributes on systems with FEAT_S2FWB and DIC where KVM no longer needs to perform cache maintenance on the address range. - Nested support for FEAT_RAS and FEAT_DoubleFault2, allowing the guest hypervisor to inject external aborts into an L2 VM and take traps of masked external aborts to the hypervisor. - Convert more system register sanitization to the config-driven implementation. - Fixes to the visibility of EL2 registers, namely making VGICv3 system registers accessible through the VGIC device instead of the ONE_REG vCPU ioctls. - Various cleanups and minor fixes. LoongArch: - Add stat information for in-kernel irqchip - Add tracepoints for CPUCFG and CSR emulation exits - Enhance in-kernel irqchip emulation - Various cleanups. RISC-V: - Enable ring-based dirty memory tracking - Improve perf kvm stat to report interrupt events - Delegate illegal instruction trap to VS-mode - MMU improvements related to upcoming nested virtualization s390: - Fixes x86: - Add CONFIG_KVM_IOAPIC for x86 to allow disabling support for I/O APIC, PIC, and PIT emulation at compile time. - Share device posted IRQ code between SVM and VMX and harden it against bugs and runtime errors. - Use vcpu_idx, not vcpu_id, for GA log tag/metadata, to make lookups O(1) instead of O(n). - For MMIO stale data mitigation, track whether or not a vCPU has access to (host) MMIO based on whether the page tables have MMIO pfns mapped; using VFIO is prone to false negatives - Rework the MSR interception code so that the SVM and VMX APIs are more or less identical. - Recalculate all MSR intercepts from scratch on MSR filter changes, instead of maintaining shadow bitmaps. - Advertise support for LKGS (Load Kernel GS base), a new instruction that's loosely related to FRED, but is supported and enumerated independently. - Fix a user-triggerable WARN that syzkaller found by setting the vCPU in INIT_RECEIVED state (aka wait-for-SIPI), and then putting the vCPU into VMX Root Mode (post-VMXON). Trying to detect every possible path leading to architecturally forbidden states is hard and even risks breaking userspace (if it goes from valid to valid state but passes through invalid states), so just wait until KVM_RUN to detect that the vCPU state isn't allowed. - Add KVM_X86_DISABLE_EXITS_APERFMPERF to allow disabling interception of APERF/MPERF reads, so that a "properly" configured VM can access APERF/MPERF. This has many caveats (APERF/MPERF cannot be zeroed on vCPU creation or saved/restored on suspend and resume, or preserved over thread migration let alone VM migration) but can be useful whenever you're interested in letting Linux guests see the effective physical CPU frequency in /proc/cpuinfo. - Reject KVM_SET_TSC_KHZ for vm file descriptors if vCPUs have been created, as there's no known use case for changing the default frequency for other VM types and it goes counter to the very reason why the ioctl was added to the vm file descriptor. And also, there would be no way to make it work for confidential VMs with a "secure" TSC, so kill two birds with one stone. - Dynamically allocation the shadow MMU's hashed page list, and defer allocating the hashed list until it's actually needed (the TDP MMU doesn't use the list). - Extract many of KVM's helpers for accessing architectural local APIC state to common x86 so that they can be shared by guest-side code for Secure AVIC. - Various cleanups and fixes. x86 (Intel): - Preserve the host's DEBUGCTL.FREEZE_IN_SMM when running the guest. Failure to honor FREEZE_IN_SMM can leak host state into guests. - Explicitly check vmcs12.GUEST_DEBUGCTL on nested VM-Enter to prevent L1 from running L2 with features that KVM doesn't support, e.g. BTF. x86 (AMD): - WARN and reject loading kvm-amd.ko instead of panicking the kernel if the nested SVM MSRPM offsets tracker can't handle an MSR (which is pretty much a static condition and therefore should never happen, but still). - Fix a variety of flaws and bugs in the AVIC device posted IRQ code. - Inhibit AVIC if a vCPU's ID is too big (relative to what hardware supports) instead of rejecting vCPU creation. - Extend enable_ipiv module param support to SVM, by simply leaving IsRunning clear in the vCPU's physical ID table entry. - Disable IPI virtualization, via enable_ipiv, if the CPU is affected by erratum #1235, to allow (safely) enabling AVIC on such CPUs. - Request GA Log interrupts if and only if the target vCPU is blocking, i.e. only if KVM needs a notification in order to wake the vCPU. - Intercept SPEC_CTRL on AMD if the MSR shouldn't exist according to the vCPU's CPUID model. - Accept any SNP policy that is accepted by the firmware with respect to SMT and single-socket restrictions. An incompatible policy doesn't put the kernel at risk in any way, so there's no reason for KVM to care. - Drop a superfluous WBINVD (on all CPUs!) when destroying a VM and use WBNOINVD instead of WBINVD when possible for SEV cache maintenance. - When reclaiming memory from an SEV guest, only do cache flushes on CPUs that have ever run a vCPU for the guest, i.e. don't flush the caches for CPUs that can't possibly have cache lines with dirty, encrypted data. Generic: - Rework irqbypass to track/match producers and consumers via an xarray instead of a linked list. Using a linked list leads to O(n^2) insertion times, which is hugely problematic for use cases that create large numbers of VMs. Such use cases typically don't actually use irqbypass, but eliminating the pointless registration is a future problem to solve as it likely requires new uAPI. - Track irqbypass's "token" as "struct eventfd_ctx *" instead of a "void *", to avoid making a simple concept unnecessarily difficult to understand. - Decouple device posted IRQs from VFIO device assignment, as binding a VM to a VFIO group is not a requirement for enabling device posted IRQs. - Clean up and document/comment the irqfd assignment code. - Disallow binding multiple irqfds to an eventfd with a priority waiter, i.e. ensure an eventfd is bound to at most one irqfd through the entire host, and add a selftest to verify eventfd:irqfd bindings are globally unique. - Add a tracepoint for KVM_SET_MEMORY_ATTRIBUTES to help debug issues related to private <=> shared memory conversions. - Drop guest_memfd's .getattr() implementation as the VFS layer will call generic_fillattr() if inode_operations.getattr is NULL. - Fix issues with dirty ring harvesting where KVM doesn't bound the processing of entries in any way, which allows userspace to keep KVM in a tight loop indefinitely. - Kill off kvm_arch_{start,end}_assignment() and x86's associated tracking, now that KVM no longer uses assigned_device_count as a heuristic for either irqbypass usage or MDS mitigation. Selftests: - Fix a comment typo. - Verify KVM is loaded when getting any KVM module param so that attempting to run a selftest without kvm.ko loaded results in a SKIP message about KVM not being loaded/enabled (versus some random parameter not existing). - Skip tests that hit EACCES when attempting to access a file, and rpint a "Root required?" help message. In most cases, the test just needs to be run with elevated permissions.
LEDs for for v6.17 - Improvements & Fixes * A fix has been implemented in QCOM Flash to prevent incorrect register access when the driver is re-bound. This is solved by duplicating a static register array during the probe function, which prevents register addresses from being miscalculated after multiple binds. * The LP50xx driver now correctly handles the 'reg' property in device tree child nodes to ensure the multi_index is set correctly. This prevents issues where LEDs could be controlled incorrectly if the device tree nodes were processed in a different order. An error is returned if the reg property is missing or out of range. * A Kconfig dependency on between TPS6131x and V4L2_FLASH_LED_CLASS has been added to prevent a build failure when the driver is built-in and the V4L2 flash infrastructure is a loadable module. * A potential buffer overflow warning in PCA955x was reported by older GCC versions has been fixed by using a more precise format specifier when creating the default LED label. - Cleanups & Refactoring * The MAINTAINERS file entry for the TPS6131X flash LED driver has been corrected to point to the correct device tree binding file name. * A comment in the Flash Class for the flash_timeout setter has been corrected to "flash timeout" from "flash duration" for accuracy. * The of_led_get() function is no longer exported as it has no users outside of its own module. - Removals * The commit to configure LED blink intervals for hardware offload in the Netdev Trigger has been reverted. This change was found to break existing PHY drivers by putting their LEDs into a permanent, unconditional blinking state. - Device Tree Bindings Updates * The binding for LP50xx has been updated to document that the child reg property is the index within the LED bank. The example was also updated to use correct values. * The JNCP5623 binding has been updated to add 0x39 as a valid I2C address, as it is used by the NCP5623C variant.
MFD for v6.17 - New Support & Features * Add extensive support for the Analog Devices ADP5589 I/O expander, including core MFD, GPIO, PWM, and a new keypad matrix input driver. This also adds support for handling various events including GPI, keypad, reset and unlock ev ents. * Add support for the TI TPS652G1 PMIC, a stripped-down version of the TPS65224, including core MFD, PFSM, pinctrl, and GPIO support. * Add support for the Apple Silicon System Management Controller (SMC), including the core MFD driver which handles the RTKit-based protocol, a new GPIO driver for PMU GPIOs, and a new reboot/power-off driver. - Improvements & Fixes * Dynamically add ADP5585 sub-devices based on device tree properties. * Move ADP5585 oscillator control from the child PWM driver to the main MFD driver to better handle shared resources. * Add support for a hardware reset pin and VDD regulator to the ADP5585 driver. * Update the TPS65219 MFD cell's GPIO compatible string for the TPS65214 to reflect hardware capabilities correctly. * Separate the ChromeOS EC charge-control probing from the USB-PD subsystem, allowing it to probe independently based on the dedicated EC_FEATURE_CHARGER. * Fix an interrupt naming typo in the MT6370 driver. * Fix RK806 PMIC reset behavior by allowing the reset mode to be customized via a new device tree property. * Fix AXP20X regulator cell ID conflicts for secondary PMICs on boards without an IRQ line connected. * Fix MT6397 keypad sub-device creation to use specific names instead of a generic one, ensuring correct driver binding. * Fix a build warning in the stm32-timers driver by adding a missing include for export.h. - Cleanups & Refactoring * Refactor the ADP5585 driver to simplify how regmap defaults are handled, making it easier to add new chip variants. * Introduce per-chip register map structures for the ADP5585/ADP5589 family to handle differences between the devices. * Convert several drivers to use dev_fwnode() instead of of_fwnode_handle(). * Make various static structures const in the cs40l50, rohm-bd71828, tps65219, and twl6040 drivers. * Remove redundant pm_runtime_mark_last_busy() calls from several drivers. * Alphabetize Kconfig entries for Cirrus Logic and Maxim drivers. * Remove unused fields from the 'tps65219' struct. * Update several MFD-related headers to follow the 'Include What You Use' (IWYU) principle. - Removals * Remove the old, platform-data-based adp5589-keys input driver, which is now superseded by the new MFD-based adp5585-keys driver. * Remove the unused twl6030_mmc_card_detect() functions and associated header declarations. * Remove the now unused pcf50633/core.h header file. * Remove the fsl,imx8qxp-csr device tree binding, which was being used incorrectly. - Device Tree Bindings Updates * Add support for the Analog Devices ADP5589 I/O expander to the adi,adp5585.yaml binding. * Add new properties to the adi,adp5585.yaml binding for input events, including keypad pins, unlock events, and reset events. * Add a reset-gpios property to the adi,adp5585.yaml binding. * Add the TI TPS652G1 PMIC to the ti,tps6594.yaml binding. * Add new bindings for the Apple Mac System Management Controller (SMC) and its sub-devices: apple,smc.yaml, apple,smc-gpio.yaml, and apple,smc-reboot.yaml. * Convert the Freescale MXS LRADC binding (mxs-lradc) to YAML schema format. * Convert and combine the NXP LPC1850 CREG, DMAMUX, and USB OTG PHY bindings into a single YAML schema file. * Convert the TI TPS65910 binding to YAML schema format. * Add a comment to the samsung,s2mps11.yaml binding to clarify the use of 'oneOf' for interrupt properties. * Add the rockchip,reset-mode property to the rockchip,rk806.yaml binding to allow customization of the PMIC's reset behavior.
DT updates for ralink, mobileye and ralink Clean up of mc146818 usage Speed up delay calibration for CPS Other cleanups and fixes
GNSS update for 6.17-rc1 Here is a GNSS update for 6.17-rc1 adding a compatible string for a new u-blox receiver. This has been in linux-next for weeks with no reported issues.
Probes updates for v6.17: - Stack usage reduction for probe events: - Allocate string buffers from the heap for uprobe, eprobe, kprobe, and fprobe events to avoid stack overflow. - Allocate traceprobe_parse_context from the heap to prevent potential stack overflow. - Fix a typo in the above commit. - New features for eprobe and tprobe events: - Add support for arrays in eprobes. - Support multiple tprobes on the same tracepoint. - Improve efficiency: - Register fprobe-events only when it is enabled to reduce overhead. - Register tracepoints for tprobe events only when enabled to resolve a lock dependency. - Code Cleanup: - Add kerneldoc for traceprobe_parse_event_name() and __get_insn_slot(). - Sort #include alphabetically in the probes code. - Remove the unused 'mod' field from the tprobe-event. - Clean up the entry-arg storing code in probe-events. - Selftest update - Enable fprobe events before checking enable_functions in selftests. probes-v6.17
this is my pull request for v6.17 which contains just one patch. The patch Ben Hutchings replaces the hyphen in the exported variable ld-bfd with an underscore to avoid issues with certain shells such as dash which do not pass through environment variables whose name includes a hyphen. sh updates for v6.17 - sh: Do not use hyphen in exported variable name
Remove or hide unused tracepoints Tracepoints take up memory (around 5K per tracepoint) even when they are unused. Changes are being made to detect when a tracepoint is defined but unused and a warning is shown at build. But those changes are not yet ready for inclusion. - Fix some of the unused tracepoints that it detected Some tracepoints were removed and others were hidden by config settings to match the config settings of where they are instantiated. Some tracepoints were moved into architecture specific code as only one architecture used them. - Call the ftrace_test_filter tracepoint in an unreachable if statement The ftrace_test_filter tracepoint which is defined when ftrace selftests are configured and is used to test the filter logic, but the tracepoint is not actually called. It is put into an if statement to not have it get compiled out, but also not warn for not being used. trace-unused-v6.17
Runtime verification changes for 6.17 - Added Linear temporal logic monitors for RT application Real-time applications may have design flaws causing them to have unexpected latency. For example, the applications may raise page faults, or may be blocked trying to take a mutex without priority inheritance. However, while attempting to implement DA monitors for these real-time rules, deterministic automaton is found to be inappropriate as the specification language. The automaton is complicated, hard to understand, and error-prone. For these cases, linear temporal logic is found to be more suitable. The LTL is more concise and intuitive. - Make printk_deferred() public The new monitors needed access to printk_deferred(). Make them visible for the entire kernel. - Add a vpanic() to allow for va_list to be passed to panic. - Add rtapp container monitor. A collection of monitors that check for common problems with real-time applications that cause unexpected latency. - Add page fault tracepoints to risc-v These tracepoints are necessary to for the RV monitor to run on risc-v. - Fix the behaviour of the rv tool with -s and idle tasks. - Allow the rv tool to gracefully terminate with SIGTERM - Adjusts dot2c not to create lines over 100 columns - Properly order nested monitors in the RV Kconfig file - Return the registration error in all DA monitor instead of 0 - Update and add new sched collection monitors Replace tss and sncid monitors with more complete sts: Not only prove that switches occur in scheduling context and scheduling needs interrupt disabled but also that each call to the scheduler disables interrupts to (optionally) switch. New monitor: nrp Preemption requires need resched which is cleared by any switch (includes a non optimal workaround for /nested/ preemptions) New monitor: sssw suspension requires setting the task to sleepable and, after the switch occurs, the task requires a wakeup to come back to runnable New monitor: opid waking and need-resched operations occur with interrupts and preemption disabled or in IRQ without explicitly disabling preemption trace-rv-6.17
This is the main drm pull request for 6.17-rc1. Top of the list: Conflicts abound in this, amdgpu and xe are all about the conflicting. None of them are insanely complex, but there are a lot of them. There is also one silent conflict mentioned by Stephen: https://lore.kernel.org/dri-devel/[email protected]/ I've done a pass at merging mostly taking from drm-tip: https://github.com/airlied/linux/tree/drm-next-6.17-rc1-merged External things: Rust work that is needed for nova driver development. (mainly DMA coherent allocations) There is an mtd driver for intel xe non-volatile memory. There are some i2c bits for intel xe designware integration. Change to hibernate for better shmem/hibernate interaction Highlights: Intel xe enable Panthor Lake, started adding WildCat Lake. amdgpu has a bunch of reset improvments along with the usual IP updates msm got VM_BIND support which is important for vulkan sparse memory more drm_panic users gpusvm common code to handle a bunch of core SVM work outside drivers. Mostly it just seems like lots of stuff across the board as usual. Let me know if there are any issues or if I've forgotten something, Dave. drm-next-2025-07-30: drm for 6.17-rc1 non-drm: rust: - make ETIMEDOUT available - add size constants up to SZ_2G - add DMA coherent allocation bindings mtd: - driver for Intel GPU non-volatile storage i2c - designware quirk for Intel xe core: - atomic helpers: tune enable/disable sequences - add task info to wedge API - refactor EDID quirks - connector: move HDR sink to drm_display_info - fourcc: half-float and 32-bit float formats - mode_config: pass format info to simplify dma-buf: - heaps: Give CMA heap a stable name ci: - add device tree validation and kunit displayport: - change AUX DPCD access probe address - add quirk for DPCD probe - add panel replay definitions - backlight control helpers fbdev: - make CONFIG_FIRMWARE_EDID available on all arches fence: - fix UAF issues format-helper: - improve tests gpusvm: - introduce devmem only flag for allocation - add timeslicing support to GPU SVM ttm: - improve eviction sched: - tracing improvements - kunit improvements - memory leak fixes - reset handling improvements color mgmt: - add hardware gamma LUT handling helpers bridge: - add destroy hook - switch to reference counted drm_bridge allocations - tc358767: convert to devm_drm_bridge_alloc - improve CEC handling panel: - switch to reference counter drm_panel allocations - fwnode panel lookup - Huiling hl055fhv028c support - Raspberry Pi 7" 720x1280 support - edp: KDC KD116N3730A05, N160JCE-ELL CMN, N116BCJ-EAK - simple: AUO P238HAN01 - st7701: Winstar wf40eswaa6mnn0 - visionox: rm69299-shift - Renesas R61307, Renesas R69328 support - DJN HX83112B hdmi: - add CEC handling - YUV420 output support xe: - WildCat Lake support - Enable PanthorLake by default - mark BMG as SRIOV capable - update firmware recommendations - Expose media OA units - aux-bux support for non-volatile memory - MTD intel-dg driver for non-volatile memory - Expose fan control and voltage regulator in sysfs - restructure migration for multi-device - Restore GuC submit UAF fix - make GEM shrinker drm managed - SRIOV VF Post-migration recovery of GGTT nodes - W/A additions/reworks - Prefetch support for svm ranges - Don't allocate managed BO for each policy change - HWMON fixes for BMG - Create LRC BO without VM - PCI ID updates - make SLPC debugfs files optional - rework eviction rejection of bound external BOs - consolidate PAT programming logic for pre/post Xe2 - init changes for flicker-free boot - Enable GuC Dynamic Inhibit Context switch i915: - drm_panic support for i915/xe - initial flip queue off by default for LNL/PNL - Wildcat Lake Display support - Support for DSC fractional link bpp - Support for simultaneous Panel Replay and Adaptive sync - Support for PTL+ double buffer LUT - initial PIPEDMC event handling - drm_panel_follower support - DPLL interface renames - allocate struct intel_display dynamically - flip queue preperation - abstract DRAM detection better - avoid GuC scheduling stalls - remove DG1 force probe requirement - fix MEI interrupt handler on RT kernels - use backlight control helpers for eDP - more shared display code refactoring amdgpu: - add userq slot to INFO ioctl - SR-IOV hibernation support - Suspend improvements - Backlight improvements - Use scaling for non-native eDP modes - cleaner shader updates for GC 9.x - Remove fence slab - SDMA fw checks for userq support - RAS updates - DMCUB updates - DP tunneling fixes - Display idle D3 support - Per queue reset improvements - initial smartmux support amdkfd: - enable KFD on loongarch - mtype fix for ext coherent system memory radeon: - CS validation additional GL extensions - drop console lock during suspend/resume - bump driver version msm: - VM BIND support - CI: infrastructure updates - UBWC single source of truth - decouple GPU and KMS support - DP: rework I/O accessors - DPU: SM8750 support - DSI: SM8750 support - GPU: X1-45 support and speedbin support for X1-85 - MDSS: SM8750 support nova: - register! macro improvements - DMA object abstraction - VBIOS parser + fwsec lookup - sysmem flush page support - falcon: generic falcon boot code and HAL - FWSEC-FRTS: fb setup and load/execute ivpu: - Add Wildcat Lake support - Add turbo flag ast: - improve hardware generations implementation imx: - IMX8qxq Display Controller support lima: - Rockchip RK3528 GPU support nouveau: - fence handling cleanup panfrost: - MT8370 support - bo labeling - 64-bit register access qaic: - add RAS support rockchip: - convert inno_hdmi to a bridge rz-du: - add RZ/V2H(P) support - MIPI-DSI DCS support sitronix: - ST7567 support sun4i: - add H616 support tidss: - add TI AM62L support - AM65x OLDI bridge support bochs: - drm panic support vkms: - YUV and R* format support - use faux device vmwgfx: - fence improvements hyperv: - move out of simple - add drm_panic support drm for 6.17-rc1 non-drm: rust: - make ETIMEDOUT available - add size constants up to SZ_2G - add DMA coherent allocation bindings mtd: - driver for Intel GPU non-volatile storage i2c - designware quirk for Intel xe core: - atomic helpers: tune enable/disable sequences - add task info to wedge API - refactor EDID quirks - connector: move HDR sink to drm_display_info - fourcc: half-float and 32-bit float formats - mode_config: pass format info to simplify dma-buf: - heaps: Give CMA heap a stable name ci: - add device tree validation and kunit displayport: - change AUX DPCD access probe address - add quirk for DPCD probe - add panel replay definitions - backlight control helpers fbdev: - make CONFIG_FIRMWARE_EDID available on all arches fence: - fix UAF issues format-helper: - improve tests gpusvm: - introduce devmem only flag for allocation - add timeslicing support to GPU SVM ttm: - improve eviction sched: - tracing improvements - kunit improvements - memory leak fixes - reset handling improvements color mgmt: - add hardware gamma LUT handling helpers bridge: - add destroy hook - switch to reference counted drm_bridge allocations - tc358767: convert to devm_drm_bridge_alloc - improve CEC handling panel: - switch to reference counter drm_panel allocations - fwnode panel lookup - Huiling hl055fhv028c support - Raspberry Pi 7" 720x1280 support - edp: KDC KD116N3730A05, N160JCE-ELL CMN, N116BCJ-EAK - simple: AUO P238HAN01 - st7701: Winstar wf40eswaa6mnn0 - visionox: rm69299-shift - Renesas R61307, Renesas R69328 support - DJN HX83112B hdmi: - add CEC handling - YUV420 output support xe: - WildCat Lake support - Enable PanthorLake by default - mark BMG as SRIOV capable - update firmware recommendations - Expose media OA units - aux-bux support for non-volatile memory - MTD intel-dg driver for non-volatile memory - Expose fan control and voltage regulator in sysfs - restructure migration for multi-device - Restore GuC submit UAF fix - make GEM shrinker drm managed - SRIOV VF Post-migration recovery of GGTT nodes - W/A additions/reworks - Prefetch support for svm ranges - Don't allocate managed BO for each policy change - HWMON fixes for BMG - Create LRC BO without VM - PCI ID updates - make SLPC debugfs files optional - rework eviction rejection of bound external BOs - consolidate PAT programming logic for pre/post Xe2 - init changes for flicker-free boot - Enable GuC Dynamic Inhibit Context switch i915: - drm_panic support for i915/xe - initial flip queue off by default for LNL/PNL - Wildcat Lake Display support - Support for DSC fractional link bpp - Support for simultaneous Panel Replay and Adaptive sync - Support for PTL+ double buffer LUT - initial PIPEDMC event handling - drm_panel_follower support - DPLL interface renames - allocate struct intel_display dynamically - flip queue preperation - abstract DRAM detection better - avoid GuC scheduling stalls - remove DG1 force probe requirement - fix MEI interrupt handler on RT kernels - use backlight control helpers for eDP - more shared display code refactoring amdgpu: - add userq slot to INFO ioctl - SR-IOV hibernation support - Suspend improvements - Backlight improvements - Use scaling for non-native eDP modes - cleaner shader updates for GC 9.x - Remove fence slab - SDMA fw checks for userq support - RAS updates - DMCUB updates - DP tunneling fixes - Display idle D3 support - Per queue reset improvements - initial smartmux support amdkfd: - enable KFD on loongarch - mtype fix for ext coherent system memory radeon: - CS validation additional GL extensions - drop console lock during suspend/resume - bump driver version msm: - VM BIND support - CI: infrastructure updates - UBWC single source of truth - decouple GPU and KMS support - DP: rework I/O accessors - DPU: SM8750 support - DSI: SM8750 support - GPU: X1-45 support and speedbin support for X1-85 - MDSS: SM8750 support nova: - register! macro improvements - DMA object abstraction - VBIOS parser + fwsec lookup - sysmem flush page support - falcon: generic falcon boot code and HAL - FWSEC-FRTS: fb setup and load/execute ivpu: - Add Wildcat Lake support - Add turbo flag ast: - improve hardware generations implementation imx: - IMX8qxq Display Controller support lima: - Rockchip RK3528 GPU support nouveau: - fence handling cleanup panfrost: - MT8370 support - bo labeling - 64-bit register access qaic: - add RAS support rockchip: - convert inno_hdmi to a bridge rz-du: - add RZ/V2H(P) support - MIPI-DSI DCS support sitronix: - ST7567 support sun4i: - add H616 support tidss: - add TI AM62L support - AM65x OLDI bridge support bochs: - drm panic support vkms: - YUV and R* format support - use faux device vmwgfx: - fence improvements hyperv: - move out of simple - add drm_panic support
Enumeration: - Allow built-in drivers, not just modular drivers, to use async initial probing (Lukas Wunner) - Refactor capability search from __pci_find_next_cap_ttl() into PCI_FIND_NEXT_CAP() and pci_find_next_ext_capability() into PCI_FIND_NEXT_EXT_CAP(). Both accept function pointers to a config read function to make them more generic (Hans Zhang) - Support Immediate Readiness even on devices with no PM Capability (Sean Christopherson) - Consolidate definition of PCIE_RESET_CONFIG_WAIT_MS (100ms), the required delay between a reset and sending config requests to a device (Niklas Cassel) - Add pci_is_display() to check for "Display" base class and use it in ALSA hda, vfio, vga_switcheroo, vt-d (Mario Limonciello) - Allow 'isolated PCI functions' (multi-function devices without a function 0) for LoongArch, similar to s390 and jailhouse (Huacai Chen) Power control: - Add ability to enable optional slot clock for cases where the PCIe host controller and the slot are supplied by different clocks (Marek Vasut) PCIe native device hotplug: - Fix runtime PM ref imbalance on Hot-Plug Capable ports caused by misinterpreting a config read failure after a device has been removed (Lukas Wunner) - Avoid creating a useless PCIe port service device for pciehp if the slot is handled by the ACPI hotplug driver (Lukas Wunner) - Ignore ACPI hotplug slots when calculating depth of pciehp hotplug ports (Lukas Wunner) Virtualization: - Save VF resizable BAR state and restore it after reset (Michał Winiarski) - Allow IOV resources (VF BARs) to be resized (Michał Winiarski) - Add pci_iov_vf_bar_set_size() so drivers can control VF BAR size (Michał Winiarski) Endpoint framework: - Add RC-to-EP doorbell support using platform MSI controller, including a test case (Frank Li) - Allow BAR assignment via configfs so platforms have flexibility in determining BAR usage (Jerome Brunet) Native PCIe controller drivers: - Convert amazon,al-alpine-v[23]-pcie, apm,xgene-pcie, axis,artpec6-pcie, marvell,armada-3700-pcie, st,spear1340-pcie to DT schema format (Rob Herring) - Use dev_fwnode() instead of of_fwnode_handle() to remove OF dependency in altera (fixes an unused variable), designware-host, mediatek, mediatek-gen3, mobiveil, plda, xilinx, xilinx-dma, xilinx-nwl (Jiri Slaby, Arnd Bergmann) - Convert aardvark, altera, brcmstb, designware-host, iproc, mediatek, mediatek-gen3, mobiveil, plda, rcar-host, vmd, xilinx, xilinx-dma, xilinx-nwl from using pci_msi_create_irq_domain() to using msi_create_parent_irq_domain() instead; this makes the interrupt controller per-PCI device, allows dynamic allocation of vectors after initialization, and allows support of IMS (Nam Cao) APM X-Gene PCIe controller driver: - Rewrite MSI handling to MSI CPU affinity, drop useless CPU hotplug bits, use device-managed memory allocations, and clean things up (Marc Zyngier) - Probe xgene-msi as a standard platform driver rather than a subsys_initcall (Marc Zyngier) Broadcom STB PCIe controller driver: - Add optional DT 'num-lanes' property and if present, use it to override the Maximum Link Width advertised in Link Capabilities (Jim Quinlan) Cadence PCIe controller driver: - Use PCIe Message routing types from the PCI core rather than defining private ones (Hans Zhang) - Use PCI_FIND_NEXT_CAP() and PCI_FIND_NEXT_EXT_CAP() with the cdns_pcie_read_cfg() accessor to replace duplicated code (Hans Zhang) Freescale i.MX6 PCIe controller driver: - Add IMX8MQ_EP third 64-bit BAR in epc_features (Richard Zhu) - Add IMX8MM_EP and IMX8MP_EP fixed 256-byte BAR 4 in epc_features (Richard Zhu) - Configure LUT for MSI/IOMMU in Endpoint mode so Root Complex can trigger doorbel on Endpoint (Frank Li) - Remove apps_reset (LTSSM_EN) from imx_pcie_{assert,deassert}_core_reset(), which fixes a hotplug regression on i.MX8MM (Richard Zhu) - Delay Endpoint link start until configfs 'start' written (Richard Zhu) Intel VMD host bridge driver: - Add Intel Panther Lake (PTL)-H/P/U Vendor ID (George D Sworo) Qualcomm PCIe controller driver: - Add DT binding and driver support for SA8255p, which supports ECAM for Configuration Space access (Mayank Rana) - Update DT binding and driver to describe PHYs and per-Root Port resets in a Root Port stanza and deprecate describing them in the host bridge; this makes it possible to support multiple Root Ports in the future (Krishna Chaitanya Chundru) - Add Qualcomm QCS615 to SM8150 DT binding (Ziyue Zhang) - Add Qualcomm QCS8300 to SA8775p DT binding (Ziyue Zhang) - Drop TBU and ref clocks from Qualcomm SM8150 and SC8180x DT bindings (Konrad Dybcio) - Document 'link_down' reset in Qualcomm SA8775P DT binding (Ziyue Zhang) - Add required PCIE_RESET_CONFIG_WAIT_MS delay after Link up IRQ (Niklas Cassel) Rockchip PCIe controller driver: - Drop unused PCIe Message routing and code definitions (Hans Zhang) - Remove several unused header includes (Hans Zhang) - Use standard PCIe config register definitions instead of rockchip-specific redefinitions (Geraldo Nascimento) - Set Target Link Speed to 5.0 GT/s before retraining so we have a chance to train at a higher speed (Geraldo Nascimento) Rockchip DesignWare PCIe controller driver: - Prevent race between link training and register update via DBI by inhibiting link training after hot reset and link down (Wilfred Mallawa) - Add required PCIE_RESET_CONFIG_WAIT_MS delay after Link up IRQ (Niklas Cassel) Sophgo PCIe controller driver: - Add DT binding and driver for Sophgo SG2044 PCIe controller driver in Root Complex mode (Inochi Amaoto) Synopsys DesignWare PCIe controller driver: - Use PCI_FIND_NEXT_CAP() and PCI_FIND_NEXT_EXT_CAP() with the dw_pcie_read_cfg() accessor to replace duplicated code (Hans Zhang) - Add required PCIE_RESET_CONFIG_WAIT_MS after waiting for Link up on Ports that support > 5.0 GT/s. Slower Ports still rely on the not-quite-correct PCIE_LINK_WAIT_SLEEP_MS 90ms default delay while waiting for the Link (Niklas Cassel)
From: Richard Weinberger <[email protected]> To: Linus Torvalds <[email protected]> Subject: [GIT PULL] UBI and UBIFS changes for v6.17-rc1 Date: Tue, 29 Jul 2025 22:10:17 +0200 Message-ID: <7787490.DFzTOozpa1@nailgun> MIME-Version: 1.0 Linus, This time I'm sending from my business account because Google still hates my mail setup at nod.at. This pull request contains the following changes for UBI and UBIFS: UBIFS: - No longer use write_cache_pages() UBI: - Removal of an unused function
Capabilities update for 6.17 This branch contains two patches: cdd73b1666079a73d061396f361df55d59fe96e6 uapi: fix broken link in linux/capability.h This updates documentation in capability.h. 337490f0007f910968f828e46501db3091b1a4f8 exec: Correct the permission check for unsafe exec This is not a trivial patch, but fixes a real problem where during exec, different effective and real credentials were assumed to mean changed credentials, making it impossible in the no-new-privs case to keep different uid and euid. These are available at:
ftrace changes for v6.17: - Keep track of when fgraph_ops are registered or not Keep accounting of when fgraph_ops are registered as if a fgraph_ops is registered twice it can mess up the accounting and it will not work as expected later. Trigger a warning if something registers it twice as to catch bugs before they are found by things just not working as expected. - Make DYNAMIC_FTRACE always enabled for architectures that support it As static ftrace (where all functions are always traced) is very expensive and only exists to help architectures support ftrace, do not make it an option. As soon as an architecture supports DYNAMIC_FTRACE make it use it. This simplifies the code. - Remove redundant config HAVE_FTRACE_MCOUNT_RECORD The CONFIG_HAVE_FTRACE_MCOUNT was added to help simplify the DYNAMIC_FTRACE work, but now every architecture that implements DYNAMIC_FTRACE also has HAVE_FTRACE_MCOUNT set too, making it redundant with the HAVE_DYNAMIC_FTRACE. - Make pid_ptr string size match the comment In print_graph_proc() the pid_ptr string is of size 11, but the comment says /* sign + log10(MAX_INT) + '\0' */ which is actually 12. ftrace-v6.17
There are conflicts, since Christian rebased what should have been a stable branch: https://lore.kernel.org/all/20250623-rebel-verlust-8fcd4cdd9122@brauner/ and sent a pull request for 'vfs-6.17-rc1.bpf' instead: https://lore.kernel.org/all/20250725-vfs-bpf-a1ee4bf91435@brauner/ I explicitly warned against rebasing it: https://lore.kernel.org/all/CAADnVQ+iqMi2HEj_iH7hsx+XJAsqaMWqSDe4tzcGAnehFWA9Sw@mail.gmail.com/ since bpf/bpf-next trees are not rebased unlike vfs branches. The 'vfs-6.17.bpf' branch was created on June 23 in vfs.git and merged into bpf-next on June 26: There were conflicts back then that were resolved during the merge of vfs-6.17.bpf into bpf-next: https://lore.kernel.org/all/CAADnVQ+pPt7Zt8gS0aW75WGrwjmcUcn3s37Ahd9bnLyzOfB=3g@mail.gmail.com/ Then more fixes to selftests/bpf/*cgroup_xattr* were applied on top. Due to unnecessary rebase these conflicts have to be resolved again. Please apply all new hunks from this pull request to resolve conflicts in: both modified: kernel/bpf/helpers.c both added: tools/testing/selftests/bpf/prog_tests/cgroup_xattr.c both added: tools/testing/selftests/bpf/progs/read_cgroupfs_xattr.c Other than that the changes are: - Remove usermode driver (UMD) framework (Thomas Weißschuh) - Introduce Strongly Connected Component (SCC) in the verifier to detect loops and refine register liveness (Eduard Zingerman) - Allow 'void *' cast using bpf_rdonly_cast() and corresponding '__arg_untrusted' for global function parameters (Eduard Zingerman) - Improve precision for BPF_ADD and BPF_SUB operations in the verifier (Harishankar Vishwanathan) - Teach the verifier that constant pointer to a map cannot be NULL (Ihor Solodrai) - Introduce BPF streams for error reporting of various conditions detected by BPF runtime (Kumar Kartikeya Dwivedi) - Teach the verifier to insert runtime speculation barrier (lfence on x86) to mitigate speculative execution instead of rejecting the programs (Luis Gerhorst) - Various improvements for 'veristat' (Mykyta Yatsenko) - For CONFIG_DEBUG_KERNEL config warn on internal verifier errors to improve bug detection by syzbot (Paul Chaignon) - Support BPF private stack on arm64 (Puranjay Mohan) - Introduce bpf_cgroup_read_xattr() kfunc to read xattr of cgroup's node (Song Liu) - Introduce kfuncs for read-only string opreations (Viktor Malik) - Implement show_fdinfo() for bpf_links (Tao Chen) - Reduce verifier's stack consumption (Yonghong Song) - Implement mprog API for cgroup-bpf programs (Yonghong Song) Signed-off-by: Alexei Starovoitov <[email protected]>
There is one trivial conflict with your tree in rust/helpers/helpers.c. There are also some non-trivial conflicts with Miguel's Rust tree. Addition= al to the resolutions in linux-next, which should be correct, I also did a test m= erge with Miguel's tree: it driver-core-6.17-test-merge All commits have been in linux-next for over a week with no reported issues= . Independently, preparing this PR I noticed one minor issue with one of the debugfs changes. I already sent a fix [1] for this, which should reach you through a normal -fixes PR (unless you decide to pick it right away). - Danilo [1] https://lore.kernel.org/lkml/[email protected]/ Driver core changes for 6.17-rc1 - DEBUGFS - Remove unneeded debugfs_file_{get,put}() instances - Remove last remnants of debugfs_real_fops() - Allow storing non-const void * in struct debugfs_inode_info::aux - SYSFS - Switch back to attribute_group::bin_attrs (treewide) - Switch back to bin_attribute::read()/write() (treewide) - Constify internal references to 'struct bin_attribute' - Support cache-ids for device-tree systems - Add arch hook arch_compact_of_hwid() - Use arch_compact_of_hwid() to compact MPIDR values on arm64 - Rust - Device - Introduce CoreInternal device context (for bus internal methods) - Provide generic drvdata accessors for bus devices - Provide Driver::unbind() callbacks - Use the infrastructure above for auxiliary, PCI and platform - Implement Device::as_bound() - Rename Device::as_ref() to Device::from_raw() (treewide) - Implement fwnode and device property abstractions - Implement example usage in the Rust platform sample driver - Devres - Remove the inner reference count (Arc) and use pin-init instead - Replace Devres::new_foreign_owned() with devres::register() - Require T to be Send in Devres<T> - Initialize the data kept inside a Devres last - Provide an accessor for the Devres associated Device - Device ID - Add support for ACPI device IDs and driver match tables - Split up generic device ID infrastructure - Use generic device ID infrastructure in net::phy - DMA - Implement the dma::Device trait - Add DMA mask accessors to dma::Device - Implement dma::Device for PCI and platform devices - Use DMA masks from the DMA sample module - I/O - Implement abstraction for resource regions (struct resource) - Implement resource-based ioremap() abstractions - Provide platform device accessors for I/O (remap) requests - Misc - Support fallible PinInit types in Revocable - Implement Wrapper<T> for Opaque<T> - Merge pin-init blanket dependencies (for Devres) - Misc - Fix OF node leak in auxiliary_device_create() - Use util macros in device property iterators - Improve kobject sample code - Add device_link_test() for testing device link flags - Fix typo in Documentation/ABI/testing/sysfs-kernel-address_bits - Hint to prefer container_of_const() over container_of()
Sorry for the confusing, this is correct update tag for v6.17. Bootconfig updates for v6.17: - tools/bootconfig: - Fix unaligned access when building footer to avoid SIGBUS - Cleanup bootconfig footer size calculations - test scripts: - Fix to add shebang for a test script - Improve script portability using portable commands - Improve script portability using printf instead of echo - Enclose regex with quotes for syntax highlighter bootconfig-v6.17
ktest updates for v6.17 - Add new -D option that allows to override variables and options For example: ./ktest.pl -DPATCH_START:=HEAD~1 -DOUTPUT_DIR=/work/build/urgent config The above sets the variable "PATCH_START" to HEAD~1 and the OUTPUT_DIR option to "/work/build/urgent". This is useful because currently the only way to make a slight change to a config file is by modifying that config file. For one time changes, this can be annoying. Having a way to do a one time override from the command line simplifies the workflow. Temp variables (PATCH_START) will override every temp variable in the config file, whereas options will act like a normal OVERRIDE option and will only affect the session they define. -DBUILD_OUTPUT=/work/git/linux.git Replaces the default BUILD_OUTPUT option. '-DBUILD_OUTPUT[2]=/work/git/linux.git' Only replaces the BUILD_OUTPUT variable for test #2. - If an option contains itself, just drop it instead of going into an infinite loop and failing to parse (it doesn't crash, it detects the recursion after 100 iterations anyway). Some configs may define a variable with the same name as the option: ADD_CONFIG := $(ADD_CONFIG) But if the option doesn't exist, it the above will fail to parse. In these cases, just ignore evaluating the option inside the definition of another option if it has the same name. - Display the BUILD_DIR and OUTPUT_DIR options at the start of every test It is useful to know which kernel source and what destination a test is using when it starts, in case a mistake is made. This makes it easier to abort the test if the wrong source or destination is being used instead of waiting until the test completes. - Add new PATCHCHECK_SKIP option When testing a series of commits that also includes changes to the Linux tools directory, it is useless to test the changes in tools as they may not affect the kernel itself. Doing tests on the kernel for changes that do not affect the kernel is a waste of time. Add a PATCHCHECK_SKIP that takes a series of shas that will be skipped while doing the individual commit tests. ktest-v6.17
Here's the pull-request with updates for MMC for v6.17. Details about the highlights are as usual found in the signed tag. Kind regards Ulf Hansson MMC core: - Remove redundant pm_runtime_mark_last_busy() calls MMC host: - Convert drivers to use devm_mmc_alloc_host() - Remove redundant pm_runtime_mark_last_busy() calls - renesas_sdhi: Add support for the RZ/T2H and RZ/N2H variants - renesas_sdhi: Fix incorrect auto retuning for an SDIO card - rtsx_usb_sdmmc: Add 74 clocks in poweron flow - rtsx_usb_sdmmc: Re-work the code in sd_set_power_mode() - loongson2: Add driver for the Loongson-2K SD/SDIO controller - loongson2: Add support for the Loongson-2K2000 SD/SDIO/eMMC controller - sdhci: Drop sdhci_free_host()/sdhci_pltfm_free() interface - sdhci: Remove the sdhci_free_host() and sdhci_pltfm_free() helpers - sdhci-cadence: Add support for the Mobileye EyeQ controller - sdhci-esdhc-imx: Optimize clock loopback selection - sdhci-esdhc-imx: Don't change pinctrl in suspend if wakeup source - sdhci-msm: Add support for the Milos variant - sdhci-msm: Add support for the qcs8300 variant - sdhci-msm: Ensure SD card power isn't ON when card gets removed - sdhci-of-k1: Disable HW busy detection
Here's the pull-request with pmdomain and cpuidle-psci updates for v6.17. FYI, this time we have made quite some changes in the pmdomain provider core (aka genpd), which affects a couple of provider drivers that are sprinkled across a few more subsystems than usual. More details about the highlights are as usual found in the signed tag. Kind regards Ulf Hansson pmdomain core: - Leave powered-on genpds on until ->sync_state() or late_initcall_sync - Export a common ->sync_state() helper for genpd providers - Add generic ->sync_state() support - Add a bus/driver for genpd provider-devices - Introduce dev_pm_genpd_is_on() for consumers pmdomain providers: - cpuidle-psci: Drop redundant ->sync_state() support - cpuidle-riscv-sbi: Drop redundant ->sync_state() support - imx: Set ISI panic write for imx8m-blk-ctrl - qcom: Add support for Glymur and Milos RPMh power-domains - qcom: Use of_genpd_sync_state() for power-domains - rockchip: Add support for the RK3528 variant - samsung: Fix splash-screen handover by enforcing a ->sync_state() - sunxi: Add support for Allwinner A523's PCK600 power-controller - tegra: Opt-out from genpd's common ->sync_state() support for pmc - thead: Instantiate a GPU power sequencer via the auxiliary bus - renesas: Move init to postcore_initcalls - xilinx: Move ->sync_state() support to firmware driver - xilinx: Use of_genpd_sync_state() for power-domains pmdomain consumers: - remoteproc: imx_rproc: Fixup the detect/attach procedure for pre-booted cores
This update includes the following changes: API: - Allow hash drivers without fallbacks (e.g., hardware key). Algorithms: - Add hmac hardware key support (phmac) on s390. - Re-enable sha384 in FIPS mode. - Disable sha1 in FIPS mode. - Convert zstd to acomp. Drivers: - Lower priority of qat skcipher and aead. - Convert aspeed to partial block API. - Add iMX8QXP support in caam. - Add rate limiting support for GEN6 devices in qat. - Enable telemetry for GEN6 devices in qat. - Implement full backlog mode for hisilicon/sec2.
please pull the latest core/entry branch from: 07-29 Updates for the generic entry code: - Split the code into syscall and exception/interrupt parts to ease the conversion of ARM[64] to the generic entry infrastructure - Extend syscall user dispatching to support a single intercepted range instead of the default single non-intercepted range. That allows monitoring/analysis of a specific executable range, e.g. a library, and also provides flexibility for sandboxing scenarios. - Cleanup and extend the user dispatch selftest Note: This results in a trivial merge conflict against the tip sched/core pull request. The core/entry version needs to replace the sched/core one. Thanks, tglx
please pull the latest locking/futex branch from: 25-07-29 Successfully" Update for the futex subsystem: - Switch the reference counting to a RCU based per-CPU reference to address a performance bottleneck vs. the single instance rcuref variant. - Make the futex selftest build on 32-bit architectures which only support 64-bit time_t, e.g. RISCV-32. - Cleanups and improvements in selftests and futex bench Thanks, tglx
please pull the latest timers/vdso branch from: -07-29 ce file with symlink A set of updates for the VDSO selftests: - Skip the chacha test when the architecture does not provide the random infrastructure in the VDSO - Switch back to a symlink for vdso_standalone_test_x86 to avoid code duplication. - Improve code quality and TAP output compliance =20 Thanks, tglx
x86/platform changes for v6.17: This tree adds support for the AMD hardware feedback interface (HFI), by Perry Yuan. Thanks, Ingo
x86/kconfig changes for v6.17: - Emit standard build success messages in insn_sanity.c and insn_decoder_test.c. (Ingo Molnar) - Refresh the x86-[64|32] defconfigs mechanically (Ingo Molnar) Thanks, Ingo
x86 FPU changes for v6.17: - Most of the changes are related to the implementation of CET supervisor state support for guests, and its preparatory changes. (Chao Gao) - Improve/fix the debug output for unexpected FPU exceptions (Dave Hansen) Thanks, Ingo
x86/boot changes for v6.17: - Implement support for embedding EFI SBAT data (Secure Boot Advanced Targeting: a secure boot image revocation facility) on x86. (Vitaly Kuznetsov) - Move the efi_enter_virtual_mode() initialization call from the generic init code to x86 init code. (Alexander Shishkin) Thanks, Ingo
Locking updates for v6.16: Locking primitives: - Mark devm_mutex_init() as __must_check and fix drivers that didn't check the return code. (Thomas Weißschuh) - Reorganize <linux/local_lock.h> to better expose the internal APIs to local variables. (Sebastian Andrzej Siewior) - Remove OWNER_SPINNABLE in rwsem (Jinliang Zheng) - Remove redundant #ifdefs in the mutex code (Ran Xiaokai) Lockdep: - Avoid returning struct in lock_stats() (Arnd Bergmann) - Change `static const` into enum for LOCKF_*_IRQ_* (Arnd Bergmann) - Temporarily use synchronize_rcu_expedited() in lockdep_unregister_key() to speed things up. (Breno Leitao) Rust runtime: - Add #[must_use] to Lock::try_lock() (Jason Devers) Thanks, Ingo
Major ext4 changes for 6.17: - Better scalability for ext4 block allocation - Fix insufficient credits when writing back large folios Miscellaneous bug fixes, especially when handling exteded attriutes, inline data, and fast commit.
Please merge this PR for the IPE update for 6.17. This PR contains a single commit from Eric Biggers. It simplifies IPE policy audit with SHA-256 library API. This commit has been tested for several weeks in linux-next without any issues. Thanks, Fan -- ipe/stable-6.17 PR 20250728
with GPIO and MFD trees in trivial-devices.yaml and MAINTAINERS. Rob Devicetree updates for 6.17: - Add bindings for arm,armv7m-nvic, fsl,icoll, fsl,imx23-digctl, Xilinx INTC, Analog Devices ADT7411, and a bunch of trivial hwmon devices - Convert fsl,vf610-mscm-ir, fsl,dsu, via,vt8500-timer, nxp,isp1301, Marvell Armada NETA and BM, apm,xgene1-msi, fsl,mpic-msi, himax,hx8357d, and sitronix,st7586 bindings to DT schema format - Fixes for some display bindings - More indentation clean-ups in examples - Add more guidelines and clarifications on writing bindings
that stand out diffstat: there are many scattered changes across arch code to clean up __init vs KCOV instrumentation. Most are landing here via the hardening tree but 2 landed separately in their respective trees: loongarch in v6.16 already, and platform-drivers-x86 that is queued for merging: https://lore.kernel.org/all/[email protected]/ Also the stackleak feature has gained native Clang support, and got renamed as part of the refactoring work, which ends up touching all the arch Kconfig and Makefile files. Thanks! -Kees hardening updates for v6.17-rc1 - Introduce and start using TRAILING_OVERLAP() helper for fixing embedded flex array instances (Gustavo A. R. Silva) - mux: Convert mux_control_ops to a flex array member in mux_chip (Thorsten Blum) - string: Group str_has_prefix() and strstarts() (Andy Shevchenko) - Remove KCOV instrumentation from __init and __head (Ritesh Harjani, Kees Cook) - Refactor and rename stackleak feature to support Clang - Add KUnit test for seq_buf API - Fix KUnit fortify test under LTO
Hi Linus, Fixes - false failure of subsystem event test - glob filter test to use mutex_unlock() instead of mutex_trylock() - several spelling errors in tests - test_kexec_jump build errors - pidfd test duplicate-symbol warnings for SCHED_ CPP symbols Adds a reliable check for suspend to breakpoints suspend test Improvements to ipc test diff is attached. thanks, -- Shuah linux_kselftest-next-6.17-rc1 Fixes - false failure of subsystem event test - glob filter test to use mutex_unlock() instead of mutex_trylock() - several spelling errors in tests - test_kexec_jump build errors - pidfd test duplicate-symbol warnings for SCHED_ CPP symbols Adds a reliable check for suspend to breakpoints suspend test Improvements to ipc test
Hi Linus, Corrects MODULE_IMPORT_NS() syntax documentation, makes kunit_test timeout configurable via a module parameter and a Kconfig option, fixes longest symbol length test, adds a test for static stub, and adjusts kunit_test timeout based on test_{suite,case} speed. diff is attached. thanks, -- Shuah linux_kselftest-kunit-6.17-rc1 Corrects MODULE_IMPORT_NS() syntax documentation, makes kunit_test timeout configurable via a module parameter and a Kconfig option, fixes longest symbol length test, adds a test for static stub, and adjusts kunit_test timeout based on test_{suite,case} speed.
please pull the x86/sev lineup for v6.17-rc1. Thx. --- - Map the SNP calling area pages too so that OVMF EFI fw can issue SVSM calls properly with the goal of implementing EFI variable store in the SVSM - a component which is trusted by the guest, vs in the firmware, which is not - Allow the kernel to handle #VC exceptions from EFI runtime services properly when running as a SNP guest - Rework and cleanup the SNP guest request issue glue code a bit
please pull one x86/microcode change for v6.17-rc1. Thx. --- - Switch the microcode loader from using the fake platform device to the new simple faux bus
Currently, we have around 221 opened issues in HFS/HFS+ file system drivers. Mostly, xfstests reveal majority of the issues and multiple tests leave HFS/HFS+ volume in corrupted state. Johannes Thumshirn has made nice cleanup in hfsplus_submit_bio(). Tetsuo Handa has fixed the syzbot reported issue in hfsplus_create_attributes_file() for the case of corruption the Attributes File's metadata. Yangtao Li has fixed the syzbot reported issue by removing the uneccessary WARN_ON() in hfsplus_free_extents(). The rest patches contains fixes: (1) restoring generic/001 successful execution by erasing deleted b-tree nodes; (2) eliminating slab-out-of-bounds issue in hfs_bnode_read() and hfsplus_bnode_read() by checking correctness of offset and length by operation of accessing b-tree node's content; (3) eliminating slab-out-of-bounds read in hfsplus_uni2asc() for the case if b-tree node's record has corrupted length of a name that could be bigger than HFSPLUS_MAX_STRLEN; (4) eliminating general protection fault in hfs_find_init() for the case of initial b-tree object creation. hfs/hfsplus updates for v6.17 - hfs: fix general protection fault in hfs_find_init() - hfs: fix slab-out-of-bounds in hfs_bnode_read() - hfsplus: fix slab-out-of-bounds in hfsplus_bnode_read() - hfsplus: fix slab-out-of-bounds read in hfsplus_uni2asc() - hfsplus: don't use BUG_ON() in hfsplus_create_attributes_file() - hfsplus: don't set REQ_SYNC for hfsplus_submit_bio() - hfsplus: remove mutex_lock check in hfsplus_free_extents - hfs: make splice write available again - hfsplus: make splice write available again - hfs: fix not erasing deleted b-tree node issue
Linus: Sending the PR early as I'm on PTO next week. I can make adjustments (if needed) at the end of the merge window as I'll be back by then. Best Summary * Move sysctls out of the kern_table array This is the final move of ctl_tables into their respective subsystems. On= ly 5 (out of the original 50) will remain in kernel/sysctl.c file; these handle either sysctl or common arch variables. By decentralizing sysctl registrations, subsystem maintainers regain cont= rol over their sysctl interfaces, improving maintainability and reducing the likelihood of merge conflicts. * docs: Remove false positives from check-sysctl-docs Stopped falsely identifying sysctls as undocumented or unimplemented in t= he check-sysctl-docs script. This script can now be used to automatically identify if documentation is missing. * Testing All these have been in linux-next since rc3, giving them a solid 3 to 4 w= eeks worth of testing. Additionally, sysctl selftests and kunit were also run locally on my x86_64
Hi Paolo, Here's the first round of changes for 6.17. A very unusual inclusion that you should know about is the GICv5 host driver. Thomas was OK with the driver going through the kvmarm tree [*] as there aren't any conflicts and Sascha's series adds some KVM support on top. Otherwise, we've got the usual mix (details in the tag) with some reduction of the NV v. non-NV feature gap. Thanks, Oliver [*]: https://lore.kernel.org/all/87y0slur4t.ffs@tglx/ KVM/arm64 changes for 6.17, round #1 - Host driver for GICv5, the next generation interrupt controller for arm64, including support for interrupt routing, MSIs, interrupt translation and wired interrupts. - Use FEAT_GCIE_LEGACY on GICv5 systems to virtualize GICv3 VMs on GICv5 hardware, leveraging the legacy VGIC interface. - Userspace control of the 'nASSGIcap' GICv3 feature, allowing userspace to disable support for SGIs w/o an active state on hardware that previously advertised it unconditionally. - Map supporting endpoints with cacheable memory attributes on systems with FEAT_S2FWB and DIC where KVM no longer needs to perform cache maintenance on the address range. - Nested support for FEAT_RAS and FEAT_DoubleFault2, allowing the guest hypervisor to inject external aborts into an L2 VM and take traps of masked external aborts to the hypervisor. - Convert more system register sanitization to the config-driven implementation. - Fixes to the visibility of EL2 registers, namely making VGICv3 system registers accessible through the VGIC device instead of the ONE_REG vCPU ioctls. - Various cleanups and minor fixes.
please pull the x86/core lineup for v6.17-rc1. Thx. --- - Add helpers for WB{NO,}INVD with the purpose of using them in KVM and thus diminish the number of invalidations needed. With preceding cleanups, as always
please pull the latest slab updates from: We've hit a last-minute snag last week when lkp reported [1] the commit "mm, slab: use frozen pages for large kmalloc" exposed a pre-existing bug in siw_tcp_sendpages(). Pedro has been fixing it [2] so hopefully that will result in a PR soon, which you can pull before this one - or perhaps take the fix directly. If that gets stuck for some reason and taking the fix later would be unacceptable, I can do another PR with my commit taken out. [1] https://lore.kernel.org/all/[email protected]/ [2] https://lore.kernel.org/all/[email protected]/ Thanks, Vlastimil * Convert struct slab to its own flags instead of referencing page flags, which is another preparation step before separating it from struct page completely. Along with that, a bunch of documentation fixes and cleanups. (Matthew Wilcox) * Convert large kmalloc to use frozen pages in order to be consistent with non-large kmalloc slabs (Vlastimil Babka) * MAINTAINERS updates (Matthew Wilcox, Lorenzo Stoakes) * Restore NUMA policy support for large kmalloc, broken by mistake in v6.1 (Vlastimil Babka)
LICENSES update for 6.17-rc1 Here are some small changes to the LICENSES files, removing the physical address of the FSF as the old one was incorrect and they finally no longer have that listed in the license files. These updates come directly from the FSF copies of the files, so they mirror what they want the files to look like. Signed-off-by: Greg Kroah-Hartman <[email protected]>
USB / Thunderbolt changes for 6.17-rc1 Here is the big set of USB and Thunderbolt driver changes for 6.17-rc1. Lots of little things in here, mostly all small cleanups and updates, no major new features this development cycle. Stuff included in here is: - xhci minor tweaks for error handling - typec minor updates and a driver update - gadget driver api cleanups - unused function removals - unbind memory leak fixes - a few new device ids added - a few new devices supported for some drivers - other minor cleanups and changes All of these have been in linux-next with no reported issues, with the leak fixes being in the shortest amount of time, but they are "obviously correct" :) Signed-off-by: Greg Kroah-Hartman <[email protected]>
TTY / Serial driver update for 6.17-rc1 Here is the big set of TTY and Serial driver updates for 6.17-rc1. Included in here is the following types of changes: - another cleanup round from Jiri for the 8250 serial driver and some other tty drivers, things are slowly getting better with our apis thanks to this work. This touched many tty drivers all over the tree. - qcom_geni_serial driver update for new platforms and devices - 8250 quirk handling fixups - dt serial binding updates for different boards/platforms - other minor cleanups and fixes All of these have been in linux-next with no reported issues. Signed-off-by: Greg Kroah-Hartman <[email protected]>
Staging changes for 6.17-rc1 Here is the "big" set of staging driver changes for 6.17-rc1. That's in quotes as it really isn't all that big of a set of changes this development cycle at all. Major things that stand out are: - gpib cleanups and tweaks with the majority of the big issues now taken care of. Odds are it will move out of staging/ in the next merge window if all goes well. - more constant cleanups and layer removals from the rtl8723bs driver. It's amazing how many layers deep they really are, all cleanups here are great to see - axis-fifo sysfs api removed and debugfs api added. The sysfs api didn't work at all so obviously no one was using it. Add the same information into debugfs as that's the proper place for it, and make it actually work. - Remaining changes is lots of small checkpatch cleanups, most of which seem to have come from a Debconf session where people were encouraged to submit their first kernel patch, a nice thing to see happen again. All of these have been in linux-next with no reported issues. Signed-off-by: Greg Kroah-Hartman <[email protected]>
Char / Misc / IIO / other driver updates for 6.17-rc1 Here is the big set of char/misc/iio and other smaller driver subsystems for 6.17-rc1. It's a big set this time around, with the huge majority being in the iio subsystem with new drivers and dts files being added there. Highlights include: - IIO driver updates, additions, and changes making more code const and cleaning up some init logic - bus_type constant conversion changes - misc device test functions added - rust miscdevice minor fixup - unused function removals for some drivers - mei driver updates - mhi driver updates - interconnect driver updates - Android binder updates and test infrastructure added - small cdx driver updates - small comedi fixes - small nvmem driver updates - small pps driver updates - some acrn virt driver fixes for printk messages - other small driver updates All of these have been in linux-next with no reported issues. Signed-off-by: Greg Kroah-Hartman <[email protected]>
Schedule notes for users: I've been digging through the bug tracker and polling users to see what bugs are still outstanding, and - it's not much. So, the experimental label is coming off in 6.18. As always, if you do hit a bug, please report it. bcachefs changes for 6.17-rc1 No noteworthy feature work: we're in hard freeze. Lots of bugfixes. Assorted user visible changes and fixes: - Fix a major performance bug when deleting many files: this was caused by the key cache caching keys that had been deleted, causing certain lookups in the inode triggers to scan excessively. - The "io_read_nopromote" counter has been broken out into sub-counters; these can be seen with 'bcachefs fs top' on a recent bcachefs-tools. This helps when diagnosing why reads aren't coming from the cache. - Congestion tracking is now a bit less aggressive (this controls when we decide to do a promote); this area still needs more work. - Metadata writes are no longer throttled by writeback throttling - Nocow writes can now be rebalanced (e.g. background_target, background_compression options) - (Almost) all recovery passes now have progress indicators. - Repair improvements: we'll now reconstruct missing inodes if we find contents for that inode (more than one or two keys), not just if the inodes btree was damaged: similarly for 'dirent to missing inode'. - Btree node tracepoint improvements: they've been converted to more modern printbuf tracepoints, and include significantly more info. - Fix in-memory accounting going out of sync with the accounting btree when doing accounting updates before going RW. - BCH_MIN_NR_BUCKETS (minimum number of buckets per device) has been increased from 64 to 512. In the unlikely event that anyone anyone actually was using bcachefs on sub 128M filesystems and doesn't want to lose access (modern tools will format these small filesystems with a more appropriate bucket size), please file a report or contact me. (This was just a syzbot issue, so far as I know). - CLASS()/guard() conversion: a great deal of code has been converted to the new __cleanup based resource handling, and away from 'goto err' cleanup.
please pull the x86/bugs lineup for v6.17-rc1. Thx. --- - Untangle the Retbleed from the ITS mitigation on Intel. Allow for ITS to enable stuffing independently from Retbleed, do some cleanups to simplify and streamline the code - Simplify SRSO and make mitigation types selection more versatile depending on the Retbleed mitigation selection. Simplify code some - Add the second part of the attack vector controls which provide a lot friendlier user interface to the speculation mitigations than selecting each one by one as it is now. Instead, the selection of whole attack vectors which are relevant to the system in use can be done and protection against only those vectors is enabled, thus giving back some performance to the users
please consider pulling the following gfs2 changes for 6.17. Thanks, Andreas gfs2 changes - Prevent cluster nodes from trying to recover their own filesystems during a withdraw. - Add two missing migrate_folio aops and an additional exhash directory consistency check (both triggered by syzbot bug reports). - Sanitize how dlm results are processed and clean up a few quirks in the glock code. - Minor stuff: Get rid of the GIF_ALLOC_FAILED flag; use SECTOR_SIZE and SECTOR_SHIFT.
NFSD 6.17 Release Notes NFSD is finally able to offer write delegations to clients that open files with O_WRONLY, thanks to patches from Dai Ngo. We're expecting this to accelerate a few interesting corner cases. The cap on the number of operations per NFSv4 COMPOUND has been lifted. Now, clients that send COMPOUNDs containing dozens of operations (for example, a long stream of LOOKUP operations to walk a pathname in a single round trip) will no longer be rejected. This release re-enables the ability for NFSD to perform NFSv4.2 COPY operations asynchronously. This feature has been disabled to mitigate the risk of denial-of-service when too many such requests arrive. Many thanks to the contributors, reviewers, testers, and bug reporters who participated during the v6.17 development cycle.
please pull the EDAC updates for v6.17-rc1. There's a small merge conflict with upstream, I've added the resolution at the end of this mail if it helps. Thx. --- - i10nm: - switch to use scnprintf() - Add Granite Rapids-D support - synopsys: Make sure ECC error and counter registers are cleared during init/probing to avoid reporting stale errors - igen6: Add Wildcat Lake SoCs support - Make sure scrub features sysfs attributes are initialized properly - Allocate memory repair sysfs attributes statically to reduce stack usage - Fix DIMM module size computation for DIMMs with total capacity which is a non power-of-two number, in amd64_edac - Do not be too dramatic when reporting disabled memory controllers in igen6_edac - Add support to ie31200_edac for the following SoCs: - Core i5-14[67]00 - Bartless Lake-S SoCs - Raptor Lake-HX
Many thanks, -- Marco ------ >8 ------ Kernel Concurrency Sanitizer (KCSAN) updates for v6.17 - A single fix to silence an uninitialized variable warning This change has had a few days of linux-next exposure.
It has been a relatively busy cycle for docs, especially the build system: - The Perl kernel-doc script was added to 2.3.52pre1 just after the turn of the millennium. Over the following 25 years, it accumulated a vast amount of cruft, all in a language few people want to deal with anymore. Mauro's Python replacement in 6.16 faithfully reproduced all of the cruft in the hope of avoiding regressions. Now that we have a more reasonable code base, though, we can work on cleaning it up; many of the changes this time around are toward that end. - A reorganization of the ext4 docs into the usual TOC format. - Various Chinese translations and updates. - A new script from Mauro to help with docs-build testing. - A new document for linked lists - A sweep through MAINTAINERS fixing broken GitHub git:// repository links. ...and lots of fixes and updates. Expect trivial conflicts with the GPIO and block trees.
regmap: Updates for v6.17 A very quiet release for regmap this time, just two cleanup patches and one almost cleanup patch which saves individual MMIO regmaps flagging themselves as having fast I/O.
spi: Updates for v6.17 This release is almost entirely driver work, mostly new drivers with the usual smattering of per driver updates anf fixes, with only trivial changes in the core. Highlights include: - Quite a bit of maintainence work on the STM32 and Qualcomm drivers. - Usage of the newly added devm_dma_request_chan() in the ateml driver, pulling in the relevant dmaengine change. - Cleanups of our usage of the PM autosuspend functions, this pulls in some PM core changes on a shared tag. - Support for ADI sigma-delta triggers, Amlogic SPISG, Mediatek MT6991 and MT8196, Renesas RZ/V2H(P) and SOPHGO SG2042.
regulator: Updates for v6.17 The big change in this release is the addition of Rust bindings from Daniel Almeida, allowing fairly basic consumer use with support for enable and voltage setting operations. This should be good for the vast majority of consumers. Otherwise it's been quite quiet, a few new devices supported, plus some cleanups and fixes. - Basic Rust bindings. - A fix for making large voltage changes on regulators where we limit the size of voltage change we will do in one step, previously we just got as close as we could in one step. - Cleanups of our usage of the PM autosuspend functions, this pulls in some PM core changes on a shared tag. - Mode setting support for PCA9450. - Support for Mediatek MT6893 and MT8196 DVFSRC, Qualcomm PM7550 and PMR735B, Raspberry Pi displays and TI TPS652G1. The TI driver pulls in the MFD portion of the support for the device and the pinctrl driver which was in the same tag.
Here is the main PDx86 PR for v6.17. The changes are mostly contained within pdx86. Only a minor change to drivers/powercap/intel_rapl_tpmi.c due to struct renames & move from include to another, and to drm/xe to correct crashlog related information. Highlights - alienware: Add more precise labels to fans - amd/hsmp: Improve misleading probe errors (make the legacy driver aware when HSMP is supported through the ACPI driver) - amd/pmc: Add Lenovo Yoga 6 13ALCL6 to pmc quirk list - drm/xe: Correct (D)VSEC information to support PMT crashlog feature - fujitsu: Clamp charge threshold instead of returning an error - ideapad: Expore change types - intel/pmt: - Add PMT Discovery driver - Add API to retrieve telemetry regions by feature - Fix crashlog NULL access - Support Battlemage GPU (BMG) crashlog - intel/vsec: - Add Discovery feature - Add feature dependency support using device links - lenovo: - Move lenovo drivers under drivers/platform/x86/lenovo/ - Add WMI drivers for Lenovo Gaming series - Improve DMI handling - oxpec: - Add support for OneXPlayer X1 Mini Pro (Strix Point variant) - Fix EC registers for G1 AMD - samsung-laptop: Expose change types - wmi: Fix WMI device naming issue (same GUID corner cases) - x86-android-tables: Add ovc-capacity-table to generic battery nodes - Miscellaneous cleanups / refactoring / improvements Regards, i. platform-drivers-x86 for v6.17-1 Highlights - alienware: Add more precise labels to fans - amd/hsmp: Improve misleading probe errors (make the legacy driver aware when HSMP is supported through the ACPI driver) - amd/pmc: Add Lenovo Yoga 6 13ALCL6 to pmc quirk list - drm/xe: Correct (D)VSEC information to support PMT crashlog feature - fujitsu: Clamp charge threshold instead of returning an error - ideapad: Expore change types - intel/pmt: - Add PMT Discovery driver - Add API to retrieve telemetry regions by feature - Fix crashlog NULL access - Support Battlemage GPU (BMG) crashlog - intel/vsec: - Add Discovery feature - Add feature dependency support using device links - lenovo: - Move lenovo drivers under drivers/platform/x86/lenovo/ - Add WMI drivers for Lenovo Gaming series - Improve DMI handling - oxpec: - Add support for OneXPlayer X1 Mini Pro (Strix Point variant) - Fix EC registers for G1 AMD - samsung-laptop: Expose change types - wmi: Fix WMI device naming issue (same GUID corner cases) - x86-android-tables: Add ovc-capacity-table to generic battery nodes - Miscellaneous cleanups / refactoring / improvements The following is an automated shortlog grouped by driver: Add Lenovo Capability Data 01 WMI Driver: - Add Lenovo Capability Data 01 WMI Driver Add Lenovo Gamezone WMI Driver: - Add Lenovo Gamezone WMI Driver Add Lenovo Other Mode WMI Driver: - Add Lenovo Other Mode WMI Driver Add lenovo-wmi-* driver Documentation: - Add lenovo-wmi-* driver Documentation Add Lenovo WMI Events Driver: - Add Lenovo WMI Events Driver Add lenovo-wmi-helpers: - Add lenovo-wmi-helpers alienware-wmi-wmax: - Add appropriate labels to fans amd/hsmp: - Enhance the print messages to prevent confusion - Use IS_ENABLED() instead of IS_REACHABLE() amd: pmc: - Add Lenovo Yoga 6 13ALC6 to pmc quirk list arm64: lenovo-yoga-c630: - use the auxiliary device creation helper dell_rbu: - Remove unused struct dell-uart-backlight: - Use blacklight power constant docs: - Add ABI documentation for intel_pmt feature directories Documentation: ABI: - Update WMI device paths in ABI docs drm/xe: - Correct BMG VSEC header sizing - Correct the rev value for the DVSEC entries fujitsu: - clamp charge_control_end_threshold values to 50 - use unsigned int for kstrtounit ideapad: - Expose charge_types intel/pmt: - Add PMT Discovery driver - add register access helpers - correct types - decouple sysfs and namespace intel/pmt/discovery: - fix format string warning - Fix size_t specifiers for 32-bit - Get telemetry attributes intel/pmt: - fix a crashlog NULL pointer access - fix build dependency for kunit test - KUNIT test for PMT Enhanced Discovery API - mutex clean up - refactor base parameter - re-order trigger logic - support BMG crashlog intel/pmt/telemetry: - Add API to retrieve telemetry regions by feature intel/pmt: - use a version struct - use guard(mutex) - white space cleanup intel_telemetry: - Remove unused telemetry_*_events() - Remove unused telemetry_[gs]et_sampling_period() - Remove unused telemetry_raw_read_events() intel/tpmi: - Get OOBMSM CPU mapping from TPMI - Relocate platform info to intel_vsec.h intel/vsec: - Add device links to enforce dependencies - Add new Discovery feature - Add private data for per-device data - Create wrapper to walk PCI config space - Set OOBMSM to CPU mapping - Skip absent features during initialization - Skip driverless features lenovo: - gamezone needs "other mode" lenovo-yoga-tab2-pro-1380-fastcharger: - Use devm_pinctrl_register_mappings() MAINTAINERS: - Add link to documentation of Intel PMT ABI Move Lenovo files into lenovo subdir: - Move Lenovo files into lenovo subdir oxpec: - Add support for OneXPlayer X1 Mini Pro (Strix Point) - Fix turbo register for G1 AMD samsung-laptop: - Expose charge_types silicom: - remove unnecessary GPIO line direction check thinklmi: - improved DMI handling thinkpad_acpi: - Handle KCOV __init vs inline mismatches wmi: - Fix WMI device naming issue x86-android-tablets: - Add generic_lipo_4v2_battery info - Add ovc-capacity-table info Merges: - Merge branch 'fixes' into 'for-next' - Merge branch 'fixes' into for-next
Joerg (CC'd) has been away for a couple of weeks [1] so I've been handling the IOMMU tree recently and here is the pull request for IOMMU changes targetting v6.17. There is a summary in the tag but it's mainly driver updates for x86 and Arm-based systems. The only real core change is removal of the 'pgsize_bitmap' field from 'struct iommu_ops', along with the necessary driver updates to go with it. Cheers, Will [1] https://lore.kernel.org/linux-iommu/ojjm5wbqi44t5v2qo752u7q36uvbrda7au5coskjbnxgaom6t5@ebbfcm7zmwfa --->8 IOMMU Updates for Linux v6.17: - Core * Remove the 'pgsize_bitmap' member from 'struct iommu_ops' * Convert the x86 drivers over to msi_create_parent_irq_domain() - AMD-Vi * Add support for examining driver/device internals via debugfs * Add support for "HATDis" to disable host translation when it is not supported * Add support for limiting the maximum host translation level based on EFR[HATS] - Apple DART * Don't enable as built-in by default when ARCH_APPLE is selected - Arm SMMU * Devicetree bindings update for the Qualcomm SMMU in the "Milos" SoC * Support for Qualcomm SM6115 MDSS parts * Disable PRR on Qualcomm SM8250 as using these bits causes the hypervisor to explode - Intel VT-d * Reorganize Intel VT-d to be ready for iommupt * Optimize iotlb_sync_map for non-caching/non-RWBF modes * Fix missed PASID in dev TLB invalidation in cache_tag_flush_all() - Mediatek * Fix build warnings when W=1 - Samsung Exynos * Add support for reserved memory regions specified by the bootloader - TI OMAP * Use syscon_regmap_lookup_by_phandle_args() instead of parsing the node manually - Misc * Cleanups and minor fixes across the board
From: Bartosz Golaszewski <[email protected]> subsystem for v6.17-rc1. We have one new driver and a small set of improvements as well as a fix to power sequence unit naming. Thanks, Bartosz power sequencing updates for v6.17-rc1 New drivers: - add a power sequencing driver for the T-HEAD TH1520 GPU Power sequencing core improvements: - allow to compile the pwrseq drivers with COMPILE_TEST=y in order to improve the build-test coverage - add named defines for the possible return values of the .match() callback and use it in the existing drivers instead of magic values Fixes: - Fix the name of the bluetooth-enable unit for WCN6855
From: Bartosz Golaszewski <[email protected]> Here is the big pull-request for the GPIO subsystem for v6.17-rc1. There will be at least one more later into the merge window, I'll talk about it in a minute. There's one new driver (Apple SMC) and extensions to existing drivers for supporting new HW models. A lot of different impovements across drivers and in core GPIO code. Details on that are in the signed tag as usual. We managed to remove some of the legacy APIs. Arnd Bergmann started to work on making the legacy bits optional so that we may compile them only for older platforms that still really need them. Rob Herring has done a lot of work to convert legacy .txt dt-bindings for GPIO controllers to YAML. There are only a few left now in the GPIO tree. A big part of the commits in this PR concern the conversion of GPIO drivers to using the new line value setter callbacks. This conversion is now complete treewide (unless I've missed something) and once all the changes from different trees land in mainline, I'll send you another PR containing a commit dropping the legacy callbacks from the tree. On that note: the commit I mentioned above is already on the list[1]. I have a second one that also renames the new callbacks back to their original name[2]. This is a result of a simple sed over all source files and a skim over the changes to make sure everything looks ok and to adjust the formatting. I don't think it makes sense to send 4300+ lines of diff to the mailing list, Cc'ing 200+ maintainers if all it does is a simple treewide rename, so would you be willing to accept this commit too as part of my second PR in order to avoid hundreds of small renaming patches over the course of the next releases? FYI: it's not in next yet but it passed all the regular autobuilder tests in my devel branch. As the quest to pay back technical dept never really ends, we're starting another set of interface conversions, this time it's about moving fields specific to only a handful of drivers using the gpio-mmio helper out of the core gpio_chip structure that every controller implements and uses. This cycle we introduce a new set of APIs and convert a few drivers under drivers/gpio/, next cycle we'll convert remaining modules treewide (in gpio, pinctrl and mfd trees) and finally remove the old interfaces and move the gpio-mmio fields into their own structure wrapping gpio_chip. One last change I should mention here is the rework of the sysfs interface. In 2016, we introduced the GPIO character device as the preferred alternative to the sysfs class under /sys/class/gpio. While it has seen a wide adoption with the help of its user-space counterpart - libgpiod - there are still users who prefer the simplicity of sysfs. As far as the GPIO subsystem is concerned, the problem is not the existince of the GPIO class as such but rather the fact that it exposes the global GPIO numbers to the user-space, stopping us from ever being able to remove the numberspace from the kernel. To that end, this release we introduced a parallel, limited sysfs interface that doesn't expose these numbers and only implements a subset of features that are relevant to the existing users. This is a result of several discussions over the course of last year and should allow us to remove the legacy part some time in the future. Please consider pulling. Thanks, Bartosz [1] https://lore.kernel.org/all/[email protected]/ gpio updates for v6.17-rc1 GPIOLIB core: - introduce a parallel, limited sysfs user ABI that doesn't expose the global GPIO numbers to user-space while maintaining backward compatibility with the end goal of it completely replacing the existing interface, allowing us to remove it - remove the legacy devm_gpio_request() routine which has no more users - start the process of allowing to compile-out the legacy parts of the GPIO core for users who don't need it by introducing a new Kconfig option: GPIOLIB_LEGACY - don't use global GPIO numbers in debugfs output from the core code (drivers still do it, the work is ongoing) - start the process of moving the fields specific to the gpio-mmio helper out of the core struct gpio_chip into their own structure that wraps it: create a new header with modern interfaces and convert several drivers to using it - remove the platform data structure associated with the gpio-mmio helper from the kernel after having converted all remaining users to generic device properties - remove legacy struct gpio definition as it has no more users New drivers: - add the GPIO driver for the Apple System Management Controller Driver improvements: - add support for new models to gpio-adp5585, gpio-tps65219 and gpio-pca953x - extend the interrupt support in gpio-loongson-64bit - allow to mark the simulated GPIO lines as invalid in gpio-sim - convert all remaining GPIO drivers to using the new GPIO value setter callbacks - convert gpio-rcar to using simple device power management ops callbacks - don't check if current direction of a line is output before setting the value in gpio-pisosr and ti-fpc202: the GPIO core already handles that - also drop unneeded GPIO range checks in drivers, the core already makes sure we're within bounds when calling driver callbacks - use dev_fwnode() where applicable across GPIO drivers - set line value in gpio-zynqmp-modepin and gpio-twl6040 when the user wants to change direction of the pin to output even though these drivers don't need to do anything else to actually set the direction, otherwise a call like gpiod_direction_output(d, 1) will not result in the line driver high - remove the reduntant call to pm_runtime_mark_last_busy() from gpio-arizona - use lock guards in gpio-cadence and gpio-mxc - check the return values of regmap functions in gpio-wcd934x and gpio-tps65912 - use better regmap interfaces in gpio-wcove and gpio-pca953x - remove dummy GPIO chip callbacks from several drivers in cases where the GPIO core can already handle their absence - allow building gpio-palmas as a module Fixes: - use correct bit widths (according to the documentation) in gpio-virtio Device-tree bindings: - convert several of the legacy .txt documents for many different devices to YAML, improving automatic validation - create a "trivial" GPIO DT schema that covers a wide range of simple hardware that share a set of basic GPIO properties - document new HW: Apple MAC SMC GPIO block and adp5589 I/O expander - document a new model for pca95xx - add and/or remove properties in YAML documents for gpio-rockchip, fsl,qoriq-gpio, arm,pl061 and gpio-xilinx Misc: - some minor refactoring in several places, adding/removing forward declarations, moving defines to better places, constify the arguments in some functions, remove duplicate includes, etc. - documentation updates
Subject: [GIT PULL] pwm: Changes for v6.17-rc1 MIME-Version: 1.0 Hello Linus, the following changes since commit e04c78d86a9699d136910cfc0bdcf01087e3267e: Linux 6.16-rc2 (2025-06-15 13:49:41 -0700) are available in the Git repository at: wm/for-6.17-rc1 for you to fetch changes up to 68b9272ca7ac948b71aba482ef8244dee8032f46: pwm: raspberrypi-poe: Fix spelling mistake "Firwmware" -> "Firmware" (202= 5-07-24 23:04:16 +0200) pwm: Changes for v6.17-rc1 Apart from the usual mix of new drivers (pwm-argon-fan-hat), adding support for variants to existing drivers, minor improvements to both drivers and docs, device tree documenation updates, the noteworthy changes are: - A pull of pm-runtime-6.17-rc1 to make it possible to apply a582469541a3 ("pwm: img: Remove redundant pm_runtime_mark_last_busy() calls"). Note this updates the base for my tree to 6.16-rc2. - A hwmon companion driver to pwm-mc33xs2410 living in drivers/hwmon and acked by Guenter Roeck - chardev support for PWM devices This leverages atomic PWM updates to userspace and at the same time simplifies and accelerates PWM configuration changes. Lee provided another immutable branch containing patches by Nuno S=E1, including PWM changes at -pwm-v6.17 , but I didn't merge it as there is no conflict with my tree and so I don't see a benefit in polluting the diffstat of this PR. The pwm related changes in there of course have my blessing anyhow. The three topmost patches are in next only since next-20250725, the others are in next since next-20250710. Two of the three "new" patches are quite simple. The third is the hwmon change, that I didn't want to hold back to free both the hwmon guys and me from the need to coordinate this change for a whole development cycle. I considered waiting a bit with my PR to give these changes a bit more exposure in next, but giving your travel plans I decided to create it early as usual. Diffstat below and thanks too all contributors. Thanks Uwe
m68k updates for v6.17 - Ptdescs conversions, - Fix lost column on the graphical debug console, - Replace __ASSEMBLY__ with __ASSEMBLER__ in headers, - Miscellaneous fixes and improvements, - Defconfig updates. Thanks for pulling!
Scheduler updates for v6.17: Core scheduler changes: - Better tracking of maximum lag of tasks in presence of different slices duration, for better handling of lag in the fair scheduler. (Vincent Guittot) - Clean up and standardize #if/#else/#endif markers throughout the entire scheduler code base (Ingo Molnar) - Make SMP unconditional: build the SMP scheduler's data structures and logic on UP kernel too, even though they are not used, to simplify the scheduler and remove around 200 #ifdef/[#else]/#endif blocks from the scheduler. (Ingo Molnar) - Reorganize cgroup bandwidth control interface handling for better interfacing with sched_ext (Tejun Heo) Balancing: - Bump sd->max_newidle_lb_cost when newidle balance fails (Chris Mason) - Remove sched_domain_topology_level::flags to simplify the code (Prateek Nayak) - Simplify and clean up build_sched_topology() (Li Chen) - Optimize build_sched_topology() on large machines (Li Chen) Real-time scheduling: - Add initial version of proxy execution: a mechanism for mutex-owning tasks to inherit the scheduling context of higher priority waiters. Currently limited to a single runqueue and conditional on CONFIG_EXPERT, and other limitations. (John Stultz, Peter Zijlstra, Valentin Schneider) - Deadline scheduler (Juri Lelli): - Fix dl_servers initialization order (Juri Lelli) - Fix DL scheduler's root domain reinitialization logic (Juri Lelli) - Fix accounting bugs after global limits change (Juri Lelli) - Fix scalability regression by implementing less agressive dl_server handling (Peter Zijlstra) PSI: - Improve scalability by optimizing psi_group_change() cpu_clock() usage (Peter Zijlstra) Rust changes: - Make Task, CondVar and PollCondVar methods inline to avoid unnecessary function calls (Kunwu Chan, Panagiotis Foliadis) - Add might_sleep() support for Rust code: Rust's "#[track_caller]" mechanism is used so that Rust's might_sleep() doesn't need to be defined as a macro (Fujita Tomonori) - Introduce file_from_location() (Boqun Feng) Debugging & instrumentation: - Make clangd usable with scheduler source code files again (Peter Zijlstra) - tools: Add root_domains_dump.py which dumps root domains info (Juri Lelli) - tools: Add dl_bw_dump.py for printing bandwidth accounting info (Juri Lelli) Misc cleanups & fixes: - Remove play_idle() (Feng Lee) - Fix check_preemption_disabled() (Sebastian Andrzej Siewior) - Do not call __put_task_struct() on RT if pi_blocked_on is set (Luis Claudio R. Goncalves) - Correct the comment in place_entity() (wang wei) Thanks, Ingo
Thanks, Tzung-Bi ------ chrome-platform: Updates for v6.17 * New - Support ECC in chromeos_pstore. - Allow to control power and data role via sysfs in cros_ec_typec. * Improvements - Defer probe when the dependencies are not ready in cros_ec_typec. - Retry when a sensor is not ready in cros_ec_sensorhub. * Fixes - Unregister the blocking notifier as well when unregistering the struct cros_ec_device. * Cleanups - Remove redundant code and leverage more suitable helper macro in chromeos_laptop. - Fix typo.
Please git pull the following tag: xen: branch for v6.17-rc1 It contains the following patches: - A fix for a UAF in the xen gntdev-dmabuf driver - A fix in the xen netfront driver avoiding spurious interrupts - A fix in the gntdev driver avoiding a large stack allocation - A cleanup removing some dead code - A build warning fix - A cleanup of the sysfs code in the xen-pciback driver Thanks. Juergen drivers/net/xen-netfront.c | 5 ---
Performance events updates for v6.17: Intel uncore driver enhancements (Kan Liang): - Support MSR portal for discovery tables - Support customized MMIO map size - Add Panther Lake support - Add IMC freerunning support for Panther Lake Thanks, Ingo
Could you consider this pull request for 6.17-rc1? In this cycle, metadata compression is now supported due to user requests [1]. It can be useful for embedded use cases or archiving a large number of small files. Additionally, readdir performance has been improved by enabling readahead (note that it was already common practice for ext3/4 non-dx and f2fs directories). We may consider further improvements later to align with ext4's s_inode_readahead_blks behavior for slow devices too. The remaining commits are minor. All commits have been in -next and no potential merge conflict is observed. [1] https://issues.redhat.com/browse/RHEL-75783 Thanks, Gao Xiang Changes since last update: - Add support for metadata compression; - Enable readahead for directories to improve readdir performance; - Minor fixes and cleanups.
Simplify how fscrypt uses the crypto API, resulting in some significant performance improvements: - Drop the incomplete and problematic support for asynchronous algorithms. These drivers are bug-prone, and it turns out they are actually much slower than the CPU-based code as well. - Allocate crypto requests on the stack instead of the heap. This improves encryption and decryption performance, especially for filenames. It also eliminates a point of failure during I/O.
Note: this depends on the "Crypto library updates" pull request and should be merged after it. Add KUnit test suites for the Poly1305, SHA-1, SHA-224, SHA-256, SHA-384, and SHA-512 library functions. These are the first KUnit tests for lib/crypto/. So in addition to being useful tests for these specific algorithms, they also establish some conventions for lib/crypto/ testing going forwards. The new tests are fairly comprehensive: more comprehensive than the generic crypto infrastructure's tests. They use a variety of techniques to check for the types of implementation bugs that tend to occur in the real world, rather than just naively checking some test vectors. (Interestingly, poly1305_kunit found a bug in QEMU.) The core test logic is shared by all six algorithms, rather than being duplicated for each algorithm. Each algorithm's test suite also optionally includes a benchmark.
Note: there are conflicts with some files in arch/s390/: arch/s390/crypto/sha1_s390.c and arch/s390/crypto/sha512_s390.c from mainline, and arch/s390/lib/crypto/sha256.c from the s390 tree. Just take the version from this pull request, i.e. delete those files. This is the main crypto library pull request for 6.17. The main focus this cycle is on reorganizing the SHA-1 and SHA-2 code, providing high-quality library APIs for SHA-1 and SHA-2 including HMAC support, and establishing conventions for lib/crypto/ going forward: - Migrate the SHA-1 and SHA-512 code (and also SHA-384 which shares most of the SHA-512 code) into lib/crypto/. This includes both the generic and architecture-optimized code. Greatly simplify how the architecture-optimized code is integrated. Add an easy-to-use library API for each SHA variant, including HMAC support. Finally, reimplement the crypto_shash support on top of the library API. - Apply the same reorganization to the SHA-256 code (and also SHA-224 which shares most of the SHA-256 code). This is a somewhat smaller change, due to my earlier work on SHA-256. But this brings in all the same additional improvements that I made for SHA-1 and SHA-512. There are also some smaller changes: - Move the architecture-optimized ChaCha, Poly1305, and BLAKE2s code from arch/$(SRCARCH)/lib/crypto/ to lib/crypto/$(SRCARCH)/. For these algorithms it's just a move, not a full reorganization yet. - Fix the MIPS chacha-core.S to build with the clang assembler. - Fix the Poly1305 functions to work in all contexts. - Fix a performance regression in the x86_64 Poly1305 code. - Clean up the x86_64 SHA-NI optimized SHA-1 assembly code. Note that since the new organization of the SHA code is much simpler, the diffstat of this pull request is negative, despite the addition of new fully-documented library APIs for multiple SHA and HMAC-SHA variants. These APIs will allow further simplifications across the kernel as users start using them instead of the old-school crypto API. (I've already written a lot of such conversion patches, removing over 1000 more lines of code. But most of those will target 6.18 or later.)
Note: this depends on the "Crypto library updates" pull request and should be merged after it. Convert fsverity and apparmor to use the SHA-2 library functions instead of crypto_shash. This is simpler and also slightly faster.
Updates for the kernel's CRC (cyclic redundancy check) code: - Reorganize the architecture-optimized CRC code. It now lives in lib/crc/$(SRCARCH)/ rather than arch/$(SRCARCH)/lib/, and it is no longer artificially split into separate generic and arch modules. This allows better inlining and dead code elimination. The generic CRC code is also no longer exported, simplifying the API. (This mirrors the similar changes to SHA-1 and SHA-2 in lib/crypto/, which can be found in the "Crypto library updates" pull request.) - Improve crc32c() performance on newer x86_64 CPUs on long messages by enabling the VPCLMULQDQ optimized code. - Simplify the crypto_shash wrappers for crc32_le() and crc32c(). Register just one shash algorithm for each that uses the (fully optimized) library functions, instead of unnecessarily providing direct access to the generic CRC code. - Remove unused and obsolete drivers for hardware CRC engines. - Remove CRC-32 combination functions that are no longer used. - Add kerneldoc for crc32_le(), crc32_be(), and crc32c(). - Convert the crc32() macro to an inline function.
please pull the latest timers/ptp branch from: 07-27 Updates for the timekeeping and VDSO code: - Introduce support for auxiliary timekeepers PTP clocks can be disconnected from the universal CLOCK_TAI reality for various reasons including regularatory requirements for functional safety redundancy. The kernel so far only supports a single notion of time, which means that all clocks are correlated in frequency and only differ by offset to each other. Access to non-correlated PTP clocks has been available so far only through the file descriptor based "POSIX clock IDs", which are subject to locking and have to go all the way out to the hardware. The access is not only horribly slow, as it has to go all the way out to the NIC/PTP hardware, but that also prevents the kernel to read the time of such clocks e.g. from the network stack, where it is required for TSN networking both on the transmit and receive side unless the hardware provides offloading. The auxiliary clocks provide a mechanism to support arbitrary clocks which are not correlated to the system clock. This is not restricted to the PTP use case on purpose as there is no kernel side association of these clocks to a particular PTP device because that's a pure user space configuration decision. Having them independent allows to utilize them for other purposes and also enables them to be tested without hardware dependencies. To avoid pointless overhead these clocks have to be enabled individualy via a new sysfs interface to reduce the overhead to a single compare in the hotpath if they are enabled at the Kconfig level at all. These clocks utilize the existing timekeeping/NTP infrastructures, which has been made possible over the recent releases by incrementaly converting these infrastructures over from a single static instance to a multi-instance pointer based implementation without any performance regression reported. The auxiliary clocks provide the same "emulation" of a "correct" clock as the existing CLOCK_* variants do with an independent instance of data and provide the same steering mechanism through the existing sys_clock_adjtime() interface, which has been confirmed to work by the chronyd(8) maintainer. That allows to provide lockless kernel internal and VDSO support so that applications and kernel internal functionalities can access these clocks without restrictions and at the same performance as the existing system clocks. - Avoid double notifications in the adjtimex() syscall. Not a big issue, but a trivial to avoid latency source. Note: The commits, which provide the new interface ktime_get_clock_ts64() for the networking stack along with a temporary define have been provided to allow the network folks to proceed with the enablement on top of other large scale changes in the related PTP code. No merge conflicts expected, just some commits with the same SHA coming to you either way depending on merge order. Thanks, tglx
please pull the latest irq/drivers branch from: -07-27 PS() Updates for interrupt chip drivers: - Add support of forced affinity setting to yet offline CPUs for the MIPS-GIC to ensure that the affinity of per CPU interrupts can be set during the early bringup phase of a secondary CPU in the hotplug code before the CPU is set online and interrupts are enabled.\ - Add support for the MIPS (RISC-V !?!?) P8700 SoC in the ACLINT_SSWI interrupt chip - Make the interrupt routing to RISV-V harts specification compliant so it supports arbitrary hart indices - Add a command line parameter and related handling to disable the generic RISCV IMSIC mechanism on platforms which use a trap-emulated IMSIC. Unfortunatly this is required because there is no mechanism available to discover this programatically. - Enable wakeup sources on the Renesas RZV2H driver - Convert interrupt chip drivers, which use a open coded variant of msi_create_parent_irq_domain() to use the new functionality - Convert interrupt chip drivers, which use the old style two level implementation of MSI support over to the MSI parent mechanism to prepare for removing at least one of the three PCI/MSI backend variants. - The usual cleanups and improvements all over the place Thanks, tglx
please pull the latest timers/clocksource branch from: ce-2025-07-27 om the module conversion A set of clocksource/event driver updates: - Another set of changes to support modular drivers - The usual lump of device tree updates to support new variants and to cleanup the existing ones - The usual small fixes, improvement and cleanups all over the place Note: All of these commits have been exposed to next with a different SHA for quite some time, but had to be rebased due to some late noticed S-O-B chain hickups a few days ago. Thanks, tglx
please pull the latest timers/core branch from: -07-27 chdog() Updates for the timer core: - Simplify the logic in the timer migration code - Simplify the clocksource code by utilizing the more modern cpumask+*() interfaces Thanks, tglx
please pull the latest irq/core branch from: -27 Updates for the interrupt core subsystem: - Prevent a interrupt migration related live lock in handle_edge_irq() If the interrupt affinity is moved to a new target CPU and the interrupt is currently handled on the previous target CPU for edge type interrupts the handler might get stuck on the previous target for a long time, which causes both involved CPUs to waste cycles and eventually run into a soft-lockup situation. Solve this by checking whether the interrupt is redirected to a new target CPU and if the interrupt is handled on that new target CPU, busy wait for completion instead of masking it and sending the pending but which would cause the old CPU to re-run the handler and in the worst case repeating this excercise for a long time. This only works on architectures which use single CPU interrupt targets, but that's so far the only ones where this behaviour has been observed. - Add a kunit test for interrupt disable depth counts The nested interrupt disable depth has been an issue in the past especially vs. free_irq(), interrupt shutdown and CPU hotplug and their interactions. The test exercises the combinations of these scenarios and checks for correctness. Thanks, tglx
please pull the latest smp/core branch from: -27 A set of updates for SMP function calls: - Improve localitu of smp_call_function_any() by utilizing sched_numa_find_nth_cpu() instead of picking a random CPU - Wait for work completion in smp_call_function_many_cond() only when there was actually work enqueued - Simplify functions by unutlizing the appropriate cpumask_*() interfaces - Trivial cleanups Thanks, tglx
please pull the latest irq/msi branch from: 27 A trivial cleanup in the PCI/MSI code to remove a duplicated back and forth conversion. Thanks, tglx
please pull s390 updates for the 6.17 merge window. There are few merge conflicts with crc, bpf and libcrypto trees. The crc tree got a conflict in: lib/crc/s390/crc32.h between commit: 65c9a9f92502 ("s390: Explicitly include <linux/export.h>") from the s390 tree and commit: 2374bf238649 ("lib/crc: s390: Migrate optimized CRC code into lib/crc/") from the crc tree. Please, take the crc tree version: https://lore.kernel.org/linux-next/[email protected]/ The bpf-next tree got a conflict in: arch/s390/net/bpf_jit.h between commit: 42398caf16c9 ("s390: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers") from the s390 tree and commit: e26d523edf2a ("s390/bpf: Describe the frame using a struct instead of constants") from the bpf tree. Please, delete the file: https://lore.kernel.org/linux-next/[email protected]/ The libcrypto tree got a conflict in: arch/s390/lib/crypto/sha256.c between commit: 65c9a9f92502 ("s390: Explicitly include <linux/export.h>") from the s390 tree and commits: e96cb9507f2d ("lib/crypto: sha256: Consolidate into single module") b8456f7aaf35 ("lib/crypto: s390: Move arch/s390/lib/crypto/ into lib/crypto/") from the libcrypto tree. Please, delete the file: https://lore.kernel.org/linux-next/[email protected]/ Please note, along with arch/s390/lib/crypto/sha256.c above you may get the below conflicts if the libcrypto tree is merged after the s390 tree. The libcrypto tree conflict in: arch/s390/crypto/sha1_s390.c between commit: 68279380266a crypto: s390/sha - Fix uninitialized variable in SHA-1 and SHA-2 from the master tree and commit: 377982d5618a lib/crypto: s390/sha1: Migrate optimized code into library from the libcrypto tree. Please, delete the file: https://lore.kernel.org/linux-next/[email protected]/ The libcrypto tree conflict in: arch/s390/crypto/sha512_s390.c between commit: 68279380266a crypto: s390/sha - Fix uninitialized variable in SHA-1 and SHA-2 from the master tree and commits: b7b366087e0f lib/crypto: s390/sha512: Migrate optimized SHA-512 code to library e0fca177556c crypto: sha512 - Rename conflicting symbols from the libcrypto tree. Please, delete the file: https://lore.kernel.org/linux-next/[email protected]/ Thanks, Alexander s390 updates for 6.17 merge window - Standardize on the __ASSEMBLER__ macro that is provided by GCC and Clang compilers and replace __ASSEMBLY__ with __ASSEMBLER__ in both uapi and non-uapi headers - Explicitly include <linux/export.h> in architecture and driver files which contain an EXPORT_SYMBOL() and remove the include from the files which do not contain the EXPORT_SYMBOL() - Use the full title of "z/Architecture Principles of Operation" manual and the name of a section where facility bits are listed - Use -D__DISABLE_EXPORTS for files in arch/s390/boot to avoid unnecessary slowing down of the build and confusing external kABI tools that process symtypes data - Print additional unrecoverable machine check information to make the root cause analysis easier - Move cmpxchg_user_key() handling to uaccess library code, since the generated code is large anyway and there is no benefit if it is inlined - Fix a problem when cmpxchg_user_key() is executing a code with a non-default key: if a system is IPL-ed with "LOAD NORMAL", and the previous system used storage keys where the fetch-protection bit was set for some pages, and the cmpxchg_user_key() is located within such page, a protection exception happens - Either the external call or emergency signal order is used to send an IPI to a remote CPU. Use the external order only, since it is at least as good and sometimes even better, than the emergency signal - In case of an early crash the early program check handler prints more or less random value of the last breaking event address, since it is not initialized properly. Copy the last breaking event address from the lowcore to pt_regs to address this - During STP synchronization check udelay() can not be used, since the first CPU modifies tod_clock_base and get_tod_clock_monotonic() might return a non-monotonic time. Instead, busy-loop on other CPUs, while the the first CPU actually handles the synchronization operation - When debugging the early kernel boot using QEMU with the -S flag and GDB attached, skip the decompressor and start directly in kernel - Rename PAI Crypto event 4210 according to z16 and z17 "z/Architecture Principles of Operation" manual - Remove the in-kernel time steering support in favour of the new s390 PTP driver, which allows the kernel clock steered more precisely - Remove a possible false-positive warning in pte_free_defer(), which could be triggered in a valid case KVM guest process is initializing
macro changes touch all the architectures, they are fairly mechanical and have been in linux-next for almost the entire development window. Thanks! -Kees execve updates for v6.17 - Introduce regular REGSET note macros arch-wide (Dave Martin) - Remove arbitrary 4K limitation of program header size (Yin Fengwei) - Reorder function qualifiers for copy_clone_args_from_user() (Dishank Jogi)
This release is smaller than most of the recent ones, at 777 non-merge changesets, but it does include three newly SoC families, in the soc/newsoc branch: pxa1908 and sg200 are ported over from arm32 and riscv into arm64, AX3000 and P1 and new arm64 chip families, and QiLai is a new riscv chip. Raspberry Pi 5 support gets a boost with support for the RP1 I/O chip, and there is still a good chunk of new boards and added features for the usual chip families, mainly nxp, qualcomm, rockchips and renesas. There were 209 contributors this time, with the most patches coming from these developers: 31 Lad Prabhakar 23 Inochi Amaoto 21 Krzysztof Kozlowski 19 Thierry Reding 17 Chen-Yu Tsai 15 Frank Li 15 Dario Binacchi 15 Andrea della Porta 15 Alexander Stein 13 Manivannan Sadhasivam 13 Diederik de Haas 12 Potin Lai 12 Luca Weiss 12 Linus Walleij 11 Nicolas Frattaroli 10 Max Shevchenko 10 Harshit Shah 10 Bartosz Golaszewski The overall diffstat is 0.3% Documentation/devicetree/bindings/arm/ 0.8% Documentation/devicetree/bindings/memory-controllers/ 0.3% Documentation/devicetree/bindings/pinctrl/ 0.4% Documentation/devicetree/bindings/reset/ 1.8% Documentation/devicetree/bindings/ 4.6% arch/arm/boot/dts/aspeed/ 0.7% arch/arm/boot/dts/broadcom/ 0.6% arch/arm/boot/dts/microchip/ 8.4% arch/arm/boot/dts/nvidia/ 7.8% arch/arm/boot/dts/nxp/imx/ 0.4% arch/arm/boot/dts/nxp/mxs/ 1.3% arch/arm/boot/dts/nxp/vf/ 0.5% arch/arm/boot/dts/st/ 0.4% arch/arm/boot/dts/ti/omap/ 0.7% arch/arm/boot/dts/ 0.7% arch/arm64/boot/dts/allwinner/ 0.5% arch/arm64/boot/dts/amlogic/ 0.3% arch/arm64/boot/dts/apple/ 0.9% arch/arm64/boot/dts/axiado/ 0.7% arch/arm64/boot/dts/broadcom/bcmbca/ 0.4% arch/arm64/boot/dts/broadcom/ 0.5% arch/arm64/boot/dts/cix/ 4.9% arch/arm64/boot/dts/exynos/ 8.9% arch/arm64/boot/dts/freescale/ 1.5% arch/arm64/boot/dts/lg/ 0.9% arch/arm64/boot/dts/marvell/mmp/ 0.5% arch/arm64/boot/dts/mediatek/ 0.8% arch/arm64/boot/dts/nvidia/ 8.0% arch/arm64/boot/dts/qcom/ 5.5% arch/arm64/boot/dts/renesas/ 8.4% arch/arm64/boot/dts/rockchip/ 0.9% arch/arm64/boot/dts/st/ 1.9% arch/arm64/boot/dts/ti/ 0.3% arch/arm64/boot/dts/ 0.3% arch/riscv/boot/dts/andes/ 3.6% arch/riscv/boot/dts/sophgo/ 0.8% arch/riscv/boot/dts/spacemit/ 0.3% arch/ 2.8% drivers/clk/ 0.5% drivers/firmware/ 1.1% drivers/mailbox/ 0.7% drivers/memory/tegra/ 0.5% drivers/misc/rp1/ 3.2% drivers/pinctrl/ 0.9% drivers/reset/ 0.4% drivers/soc/aspeed/ 0.5% drivers/soc/qcom/ 0.3% drivers/soc/renesas/ 1.7% drivers/soc/tegra/cbb/ 0.5% drivers/soc/ 0.4% drivers/ 2.5% include/dt-bindings/clock/ 0.3% include/dt-bindings/memory/ 0.3% include/dt-bindings/reset/
When the merge window opens, please pull this RCU update. RCU pull request for v6.17 This pull request contains the following branches: rcu-exp.23.07.2025 - Protect against early RCU exp quiescent state reporting during exp grace period initialization. - Remove superfluous barrier in task unblock path. - Remove the CPU online quiescent state report optimization, which is error prone for certain scenarios. - Add warning for unexpected pending requested expedited quiescent state on dying CPU. rcu.22.07.2025 - Robustify rcu_is_cpu_rrupt_from_idle() by using more accurate indicators of the actual context tracking state of a CPU. - Handle ->defer_qs_iw_pending field data race. - Enable rcu_normal_wake_from_gp by default on systems with <= 16 CPUs. - Fix lockup in rcu_read_unlock() due to recursive irq_exit() calls. - Refactor expedited handling condition in rcu_read_unlock_special(). - Documentation updates for hotplug and GP init scan ordering, separation of rcu_state and rnp's gp_seq states, quiescent state reporting for offline CPUs. torture-scripts.16.07.2025 - Cleanup and improve scripts : remove superfluous warnings for disabled tests; better handling of kvm.sh --kconfig arg; suppress some confusing diagnostics; tolerate bad kvm.sh args; add new diagnostic for build output; fail allmodconfig testing on warnings. - Include RCU_TORTURE_TEST_CHK_RDR_STATE config for KCSAN kernels. - Disable default RCU-tasks and clocksource-wdog testing on arm64. - Add EXPERT Kconfig option for arm64 KCSAN runs. - Remove SRCU-lite testing. rcutorture.16.07.2025 - Start torture writer threads creation after reader threads to handle race in SRCU-P scenario. - Add SRCU down_read()/up_read() test. - Add diagnostics for delayed SRCU up_read(), unmatched up_read(), print number of up/down readers and the number of such readers which migrated to other CPU. - Ignore certain unsupported configurations for trivial RCU test. - Fix splats in RT kernels due to inaccurate checks for BH-disabled context. - Enable checks and logs to capture intentionally exercised unexpected scenarios (too short readers) for BUSTED test. - Remove SRCU-lite testing. srcu.19.07.2025 - Expedite SRCU-fast grace periods. - Remove SRCU-lite implementation. - Add guards for SRCU-fast readers. rcu.nocb.18.07.2025 - Dump NOCB group leader state on stall detection. - Robustify nocb_cb_kthread pointer accesses. - Fix delayed execution of hurry callbacks when LAZY_RCU is enabled. refscale.07.07.2025 - Fix multiplication overflow in "loops" and "nreaders" calculations.
Dear Greg, This is extcon-next pull request. I add detailed description of Best Regards, Chanwoo Choi Update extcon next for v6.17 Detailed description for this pull request: - Fix wakeup source leaks on device unbind for extcon drivers - Add new Maxim MAX14526 MUIC extcon driver and dt-binding document : The MAX14526 is designed to simplify interface requirements on portable devices by multiplexing common inputs (USB, UART, Microphone, Stereo Audio and Composite Video) on a single micro/mini USB connector. The USB input supports Hi-Speed USB and the audio/video inputs feature : This provides the following supported external connector detection - EXTCON_USB - EXTCON_USB_HOST - EXTCON_CHG_USB_FAST - EXTCON_DISP_MHL - Fix buffer overflow detected by linuxtesting.org SVACE on extcon-fsa9480.c
Once the v6.17 merge window opens, please pull this stop-machine update from: stop-machine: Improve documentation Changes ------- * Improve kernel-doc function-header comments * Document preemption and stop_machine() mutual exclusion (Joel Fernandes)
When the v6.16 merge window opens, please pull this LKMM update from: lkmm: Update documentation Changes ------- * Add wait_event_cmd() and wait_event_exclusive_cmd() to the list of wait primitives that provide the needed memory barriers (Håkon Bugge).
When the v6.17 merge window opens, please pull this rate-limit update from: lib/ratelimit: Add functional and stress tests Changes ------- * Add trivial kunit test for ratelimit * Make the ratelimit test more reliable (Petr Mladek) * Add stress test for ratelimit
Hi Wolfram, This is a rather short pull request, likely due to the holiday season and my own time off. I plan to send part 2 next week. Some patches depend on the fixes already sent and tagged as i2c-host-fixes-6.16-rc8[*]. Nevertheless, those patches are already in i2c/i2c-host-next. I am aware that a few patches are missing from this pull request. Some were skipped due to lack of time, but not many. Others are part of larger series that have not yet been properly reviewed by other subsystems. You pointed out a few of them yourself. It has happened before that such series were left hanging, and I prefer to wait rather than merge something that lacks full support for generic hardware. For part 2, I also planned to include the most trivial ones that were temporarily set aside. Thanks for reading through this longer message. I wish you a great weekend, Andi [*]https://lore.kernel.org/linux-i2c/ql4g7pi5fk2zedld3d4oq43iqk75pgqvshpmu7awj4et4tf6pg@q4z22o2icwip/T/#u i2c-host for v6.17, part 1 Cleanups and refactorings: - lpi2c, riic, st, stm32f7: general improvements - riic: support more flexible IRQ configurations - tegra: fix documentation Improvements: - lpi2c: improve register polling and add atomic transfer - imx: use guarded spinlocks New hardware support: - Samsung Exynos 2200 - Renesas RZ/T2H (R9A09G077), RZ/N2H (R9A09G087) DT binding: - rk3x: enable power domains - nxp: support clock property
please find below the nolibc pull request for 6.17. All changes have been in linux-next for at least two weeks. nolibc changes for v6.17 Highlights: * New supported architectures: SuperH, x32, MIPS n32/n64 * Adopt general kernel architectures names * Integrate the nolibc selftests into the kselftests framework * Various fixes and new syscall wrappers Two non-nolibc changes: * New arm64 selftest which depends on nolibc changes * General tools/ cross-compilation bugfix for s390 clang
As promised, the storm has arrived :-) There are a two anomalies this time around, but thankfully only one conflict, and a trivial one at that (details on that in the MMIO Stale Data pull request). 1. The "no assignment" pull request depends on the IRQs and MMIO Stale Data pull requests. I created the topic branch based on the IRQs branch (minus one commit that came in later), and then merged in the MMIO branch to create a common base. All the commits came out as I wanted, but the diff stats generated by `git request-pull` are funky, so I doctored them up, a lot. 2. The "SEV cache maintenance" pull request is based on a tag/branch from the tip tree. I don't think you need to do anything special here? Except possibly mention it to Linus if the KVM pull request happens to get sent before the associated tip pull request (which seems unlikely given how they send a bunch of small pulls).
From: Catalin Marinas <[email protected]> Branch Record Buffer Extensions (BRBE), typical PMU hardware updates, small additions to MTE for store-only tag checking and exposing non-address bits to signal handlers, HAVE_LIVEPATCH enabled on arm64, VMAP_STACK forced on. There is also a TLBI optimisation on hardware that does not require break-before-make when changing the user PTEs between contiguous and non-contiguous. These patches touch the iommu/SMMU code. More details in the tag. Thanks. arm64 updates for 6.17: Perf and PMU updates: - Add support for new (v3) Hisilicon SLLC and DDRC PMUs - Add support for Arm-NI PMU integrations that share interrupts between clock domains within a given instance - Allow SPE to be configured with a lower sample period than the minimum recommendation advertised by PMSIDR_EL1.Interval - Add suppport for Arm's "Branch Record Buffer Extension" (BRBE) - Adjust the perf watchdog period according to cpu frequency changes - Minor driver fixes and cleanups Hardware features: - Support for MTE store-only checking (FEAT_MTE_STORE_ONLY) - Support for reporting the non-address bits during a synchronous MTE tag check fault (FEAT_MTE_TAGGED_FAR) - Optimise the TLBI when folding/unfolding contiguous PTEs on hardware with FEAT_BBM (break-before-make) level 2 and no TLB conflict aborts Software features: - Enable HAVE_LIVEPATCH after implementing arch_stack_walk_reliable() and using the text-poke API for late module relocations - Force VMAP_STACK always on and change arm64_efi_rt_init() to use arch_alloc_vmap_stack() in order to avoid KASAN false positives ACPI: - Improve SPCR handling and messaging on systems lacking an SPCR table Debug: - Simplify the debug exception entry path - Drop redundant DBG_MDSCR_* macros Kselftests: - Cleanups and improvements for SME, SVE and FPSIMD tests Miscellaneous: - Optimise loop to reduce redundant operations in contpte_ptep_get() - Remove ISB when resetting POR_EL0 during signal handling - Mark the kernel as tainted on SEA and SError panic - Remove redundant gcs_free() call
please pull sound updates for v6.17-rc1 from: The topmost commit is bca53a176f3d46fdab67f9e2fb1a185e0233d98d sound updates for 6.17-rc1 This includes lots of file shuffling due to HD-audio code reorganization and many trivial changes, but otherwise there shouldn't be much surprise from the functionality POV. The PR includes the PM changes as prerequisite, too. Some highlights below: Core: - Performance optimizations in PCM core code - Refactoring of ASoC Kconfig menus to be hopefully more consistant and easier to navigate. - Refactoring of ASoC DAPM code, mainly hiding functionality that doesn't need to be exposed to drivers HD-audio reorganization: - All code are moved under sound/hda with a bit more understandable tree structure, as well as file renames - The huge Realtek driver code is split to several parts, a common helper module with driver modules per probe entry - HDMI and Cirrus codec drivers also split ASoC: - Further work on the generic handling for SoundWire SDCA devices - Support for AMD ACP7.2 and SoundWire on ACP 7.1, Fairphone 4 & 5, various Intel systems, Qualcomm QCS8275, Richtek RTQ9124 and TI TAS5753 HD-audio and USB-audio: - TAS2781 driver cleanup and TAS2770 support - EQ enablement in CA0132 driver - USB audio quirk code cleanups Others: - Cleanups of PM autosuspend call patterns with the update from the PM tree - Lots of strcpy() -> strscpy() conversions for fixed size arrays
This is the batch of pull requests for the v6.17 merge window! I'm trying something new where I'm attaching a cover letter with a short summary of all the various pull requests flowing to you during this cycle. Lucky for me the v6.17 merge window coincides with me moving. IOW, I'm currently getting squashed by moving boxes and disassembled furniture. I'm just happy that I did find my laptop in this mess and I hope there's no notable effects due to the last couple of weeks. In any case, this cycle was pretty usual for us given the past years. We have two new system call additions in core vfs file_getattr() and file_setattr() which are exensible successors to the legacy ioctl()s. There's further work in the form of preparatory changes to the directory locking scheme we currently have; both on the vfs level and for overlayfs specificall. I want to stress that no actual locking changes have happened yet and that there's not yet any commitment by us to actually land any of this. We have a new bpf kfunc extension for reading extended attributes from cgroups. This is the first time we're routing bpf patches but I will do this for all future vfs bpf extensions so we know exactly how and when something is happening. There's another round of extensive coredump work. Not just an extension to the coredump socket but also a rework of the coredump code to just be more readable and maintainable. I'm somewhat afraid of what I've gotten myself into by touching that code but hey, that's part of the deal. We have some work at the intersection of the block and vfs layer in the form of the new FS_IOC_GETLBMD_CAP ioctl() which returns information about the files integrity profile for userspace applications that need to understand a files end-to-end data protection support and configure the I/O accordingly. Iomap has been quite active as well with some refactoring and changes to the infrastucture to extend the abilities of fuse and support large folios. Hell, if this keeps going on every filesystem will move to fuse and we'll all be out of a job soon. There's the usual pile of miscellaneous changes to the vfs layer and filesystems. No need to cover this in detail here. We also have some work at the intersection of mm and the vfs by porting a good chunk of filesystems from f_op->mmap() to the new and better f_op->mmap_prepare(). I'm going to haunt the relevant developers to finish this conversion asap because I have no appetite of running around with yet more duplicated methods than we already have. I mean, we've just gotten rid of f_op->readdir() last year or so - actually you did. I'm also routing the usual namespace work. This time in the form of some minor nsfs extensions by exposing a bunch of uapi symbols that a lot of userspace already relies on and so we can't change those constants anyway. That's the root inode number of procfs and the inode numbers of the initial set of namespaces. We've also been very active in pidfs which gains a bunch of new features such as persisent exit and coredump information, extended attributes, autonomous file handles, and pidfd for reaped task from SCM_PDIFD messages. A few minor Rust updates are also in there but they're really not that interesting at all. And at last a new struct super_operations method that allows multi-device filesystems such as btrfs to be informed when a block device is removed. Since btrfs can survive surprise device removal this complements the usual ->shutdown() call nicely. That's all! Expect some slight delay in responses as I'm going to be preoccupied with the move over the weekend. Thanks! Christian
This PR fixes test issues, improves build compatibility, and adds new tests. with your master branch. They have been been tested in the latest linux-next releases. Test coverage for security/landlock is unchanged (with Kselftest). Regards, Mickaël -- Landlock update for v6.17-rc1
Hi Stephen, I'm sending this followup PR in case there is still time to include it for your 6.17 PR. Yao Zi refactored mux clk registration which fixes an orphan mux clk issue which would occur when booting with mainline uboot. Thanks, Drew T-HEAD clock changes for v6.17, part 2 One more improvement for the T-HEAD TH1520 clock controller this cycle: Yao Zi has fixed an issue where the c910 mux clk could end up as an orphan in CCF when the bootloader reparents it to the c910-i0 mux clk. The solution is to refactor the handling of mux clocks by embedding a clk_mux structure directly in ccu_mux. This allows the mux clocks to be registered with devm_clk_hw_register() without allocating any new clk_hw pointer which solves the orphan issue. This change has been tested in linux-next. The LPi4a still boots okay without clk_ignore_unused and peripherals like serial, emmc and ethernet are functional. The file /sys/kernel/debug/clk/c910/clk_possible_parents now correctly outputs: "c910-i0 cpu-pll1" Link: https://lore.kernel.org/linux-riscv/[email protected]/ Signed-off-by: Drew Fustini <[email protected]>
I'm sending this early because I will be mostly offline next week and I'm not planning to add anything to it. thermal-6.17-rc1 Merge back earlier thermal control updates for 6.17 Linux 6.16-rc5 to receive thermal control updates for 6.17-rc1. These update the thermal control sysfs interface and multiple thermal control drivers: - Convert EAGAIN into ENODATA in temp_show() to prevent user space from polling the sysfs file in vain after a failing O_NONBLOCK read under the assumption that the read would have blocked (Hsin-Te Yuan) - Add Wildcat Lake PCI ID to the int340x Intel processor thermal driver (Srinivas Pandruvada) - Add debugfs interface to override the temperature set by the firmware in the Intel platform temperature control (PTC) interface and add a new sysfs control attribute called thermal_tolerance to it (Srinivas Pandruvada) - Enable the stage 2 shutdown in the qcom-spmi-temp-alarm thermal driver and add support for more SPMI variants to it (Anjelique Melendez) - Constify the thermal_zone_device_ops structure where possible in several assorted thermal drivers (Christophe Jaillet) - Use the dev_fwnode() helper instead of of_fwnode_handle(), as it is more adequate, wherever possible in thermal drivers (Jiri Slaby) - Implement and document One-Time Programmable fuse support in the Rockchip thermal driver in order to increase the precision of the measurements (Nicolas Frattaroli) - Change the way the Mediatek LTVS thermal driver stores the initialization data sequence to support different sequences matching different platforms. Introduce mt7988 support with a new initialization sequence (Mason Chang) - Document the QCom TSens Milos Temperature Sensor DT bindings (Luca Weiss) - Add the fallback compatible string for MT7981 and MT8516 DT bindings (Aleksander Jan Bajkowski) - Add the compatible string for the Tegra210B01 SOC_THERM driver (Aaron Kling) Thanks!
I'm sending this early because I will be mostly offline next week and I'm not planning to add anything to it. acpi-6.17-rc1 Merge branch 'acpi-misc' Linux 6.16-rc7 to receive ACPI updates for 6.17-rc1. These update APEI (new EINJv2 error injection, assorted fixes), fix the ACPI processor driver, update the legacy ACPI /proc interface (multiple assorted fixes of minor issues) and several assorted ACPI drivers (minor fixes and cleanups): - Printing the address in acpi_ex_trace_point() is either incorrect during early kernel boot or not really useful later when pathnames resolve properly, so stop doing it (Mario Limonciello) - Address several minor issues in the legacy ACPI proc interface (Andy Shevchenko) - Fix acpi_object union initialization in the ACPI processor driver to avoid using memory that contains leftover data (Sebastian Ott) - Make the ACPI processor perflib driver take the initial _PPC limit into account as appropriate (Jiayi Li) - Fix message formatting in the ACPI processor throttling driver and in the ACPI PCI link driver (Colin Ian King) - Clean up general ACPI PM domain handling (Rafael Wysocki) - Fix iomem-related sparse warnings in the APEI EINJ driver (Zaid Alali, Tony Luck) - Add EINJv2 error injection support to the APEI EINJ driver (Zaid Alali) - Fix memory corruption in error_type_set() in the APEI EINJ driver (Dan Carpenter) - Fix less than zero comparison on a size_t variable in the APEI EINJ driver (Colin Ian King) - Fix check and iounmap of an uninitialized pointer in the APEI EINJ driver (Colin Ian King) - Add TAINT_MACHINE_CHECK to the GHES panic path in APEI to improve diagnostics and post-mortem analysis (Breno Leitao) - Update APEI reviewer records and other ACPI-related information in MAINTAINERS as well as the contact information in the ACPI ABI documentation (Rafael Wysocki) - Fix the handling of synchronous uncorrected memory errors in APEI (Shuai Xue) - Remove an AudioDSP-related ID from the ACPI LPSS driver (Andy Shevchenko) - Replace sprintf()/scnprintf() with sysfs_emit() in the ACPI fan driver and update a debug message in fan_get_state_acpi4() (Eslam Khafagy, Abdelrahman Fekry, Sumeet Pawnikar) - Add Intel Wildcat Lake support to the ACPI DPTF driver (Srinivas Pandruvada) - Add more debug information regarding failing firmware updates to the ACPI pfr_update driver (Chen Yu) - Reduce the verbosity of the ACPI PRM (platform runtime mechanism) driver to avoid user confusion (Zhu Qiyu) - Replace sprintf() with sysfs_emit() in the ACPI TAD (time and alarm device) driver (Sukrut Heroorkar) - Enable CONFIG_ACPI_DEBUG by default to make it easier to get ACPI debug messages from OEM platforms (Mario Limonciello) - Fix parent device references in ASL examples in the ACPI documentation and fix spelling and style in the gpio-properties documentation in firmware-guide (Andy Shevchenko) - Fix typos in ACPI documentation and comments (Bjorn Helgaas) Thanks!
I'm sending this early because I will be mostly offline next week and I'm not planning to add anything to it. pm-6.17-rc1 PM: sleep: Update power.completion for all devices on errors to receive power management updates for 6.17-rc1. Traditionally, cpufreq is the part with the largest number of updates that include core fixes and cleanups as well as updates of several assorted drivers, but there are also quite a few updates related to system sleep, mostly focused on asynchronous suspend and resume of devices and on making the integration of system suspend and resume with runtime PM easier. Runtime PM is also updated to allow some code duplication in drivers to be eliminated going forward and to work more consistently overall in some cases. Apart from that, there are some driver core updates related to PM domains that should help to address ordering issues with devm_ cleanup routines relying on PM domains, some assorted devfreq updates including core fixes and cleanups, tooling updates, and documentation and MAINTAINERS updates. Specifics: - Fix two initialization ordering issues in the cpufreq core and a governor initialization error path in it, and clean it up (Lifeng Zheng) - Add Granite Rapids support in no-HWP mode to the intel_pstate cpufreq driver (Li RongQing) - Make intel_pstate always use HWP_DESIRED_PERF when operating in the passive mode (Rafael Wysocki) - Allow building the tegra124 cpufreq driver as a module (Aaron Kling) - Do minor cleanups for Rust cpufreq and cpumask APIs and fix MAINTAINERS entry for cpu.rs (Abhinav Ananthu, Ritvik Gupta, Lukas Bulwahn) - Clean up assorted cpufreq drivers (Arnd Bergmann, Dan Carpenter, Krzysztof Kozlowski, Sven Peter, Svyatoslav Ryhel, Lifeng Zheng) - Add the NEED_UPDATE_LIMITS flag to the CPPC cpufreq driver (Prashant Malani) - Fix minimum performance state label error in the amd-pstate driver documentation (Shouye Liu) - Add the CPUFREQ_GOV_STRICT_TARGET flag to the userspace cpufreq governor and explain HW coordination influence on it in the documentation (Shashank Balaji) - Fix opencoded for_each_cpu() in idle_state_valid() in the DT cpuidle driver (Yury Norov) - Remove info about non-existing QoS interfaces from the PM QoS documentation (Ulf Hansson) - Use c_* types via kernel prelude in Rust for OPP (Abhinav Ananthu) - Add HiSilicon uncore frequency scaling driver to devfreq (Jie Zhan) - Allow devfreq drivers to add custom sysfs ABIs (Jie Zhan) - Simplify the sun8i-a33-mbus devfreq driver by using more devm functions (Uwe Kleine-K=C3=B6nig) - Fix an index typo in trans_stat() in devfreq (Chanwoo Choi) - Check devfreq governor before using governor->name (Lifeng Zheng) - Remove a redundant devfreq_get_freq_range() call from devfreq_add_device() (Lifeng Zheng) - Limit max_freq with scaling_min_freq in devfreq (Lifeng Zheng) - Replace sscanf() with kstrtoul() in set_freq_store() (Lifeng Zheng) - Extend the asynchronous suspend and resume of devices to handle suppliers like parents and consumers like children (Rafael Wysocki) - Make pm_runtime_force_resume() work for drivers that set the DPM_FLAG_SMART_SUSPEND flag and allow PCI drivers and drivers that collaborate with the general ACPI PM domain to set it (Rafael Wysocki) - Add kernel parameter to disable asynchronous suspend/resume of devices (Tudor Ambarus) - Drop redundant might_sleep() calls from some functions in the device suspend/resume core code (Zhongqiu Han) - Fix the handling of monitors connected right before waking up the system from sleep (tuhaowen) - Clean up MAINTAINERS entries for suspend and hibernation (Rafael Wysocki) - Fix error code path in the KEXEC_JUMP flow and drop a redundant pm_restore_gfp_mask() call from it (Rafael Wysocki) - Rearrange suspend/resume error handling in the core device suspend and resume code (Rafael Wysocki) - Fix up white space that does not follow coding style in the hibernation core code (Darshan Rathod) - Document return values of suspend-related API functions in the runtime PM framework (Sakari Ailus) - Mark last busy stamp in multiple autosuspend-related functions in the runtime PM framework and update its documentation (Sakari Ailus) - Take active children into account in pm_runtime_get_if_in_use() for consistency (Rafael Wysocki) - Fix NULL pointer dereference in get_pd_power_uw() in the dtpm_cpu power capping driver (Sivan Zohar-Kotzer) - Add support for the Bartlett Lake platform to the Intel RAPL power capping driver (Qiao Wei) - Add PL4 support for Panther Lake to the intel_rapl_msr power capping driver (Zhang Rui) - Update contact information in the PM ABI docs and maintainer information in the power domains DT binding (Rafael Wysocki) - Update PM header inclusions to follow the IWYU (Include What You Use) principle (Andy Shevchenko) - Add flags to specify power on attach/detach for PM domains, make the driver core detach PM domains in device_unbind_cleanup(), and drop the dev_pm_domain_detach() call from the platform bus type (Claudiu Beznea) - Improve Python binding's Makefile for cpupower (John B. Wyatt IV) - Fix printing of CORE, CPU fields in cpupower-monitor (Gautham Shenoy) Thanks!
USB serial device id for 6.17-rc1 Here's a new modem device id. This has been in linux-next with no reported issues.
USB serial updates for 6.17-rc1 Here are the USB serial updates for 6.17-rc1, including - switch to new gpiolib interface that can return errors All have been in linux-next with no reported issues.
This is the pull request with interconnect changes for the v6.17-rc1 merge window. This time it contains only driver changes. As always, the summary is in the signed tag. All patches have been in linux-next during the last few days. There are Thanks, Georgi interconnect changes for 6.17 This pull request contains the interconnect changes for the 6.17-rc1 merge window. It contains only driver changes. Driver changes: - SC8180X and SC8280XP driver fixes - Add new driver for the Qualcomm Milos SoC - Add Support for EPSS L3 hardware in QCS8300 SoC - DT bindings fixes and other cleanups Signed-off-by: Georgi Djakov <[email protected]>
i.MX clock changes for 6.17 - Document bindings for i.MX94 LVDS/Display CSR - Fix synchronous abort in i.MX95 BLK CTL driver - Rename LVDS and displaymix CSR BLK needed for supporting i.MX943 - Add i.MX94 LVDS/Display CSR clock to the i.MX95 BLK CTL - Update MAINTAINERS entry to include both nxp,imx* and fsl,imx*
Hi, Late pull with minor things. Best regards, Krzysztof Samsung SoC drivers for v6.17 1. Google GS101: Minor improvement PMU binding. 2. ExynosAutov920: Add HSI2 system registers binding.
Hi, there's are number of usability and feature updates, scattered performance improvements and fixes. Highlight of the core changes is getting closer to enabling large folios (now behind a config option). User visible changes: - update defrag ioctl, add new flag to request no compression on existing extents - restrict writes to block devices after mount - in experimental config, enable large folios for data, almost complete but not widely tested - add stats tracking duration of critical section in transaction commit to /sys/fs/btrfs/FSID/commit_stats Performance improvements: - caching of lookup results of free space bitmap (20% runtime improvement on an empty file creation benchmark) - accessors to metadata (b-tree items) simplified and optimized, minor improvement in metadata-heavy workloads - readahead on compressed data improves sequential read - the xarray for extent buffers is indexed by denser keys, leading to better packing of the nodes (50-70% reduction of leaf nodes) Notable fixes: - stricter compression mount option parsing - send properly emits fallocate command for file holes when protocol v2 is used - fix overallocation of chunks with mount option 'ssd_spread', due to interaction with size classes not finding the right chunk (workaround: manual reclaim by 'usage' balance filter) - various quota enable/disable races with rescan, more verbose notifications about inconsistent state - populate otime in tree-log during log replay - handle ENOSPC when NOCOW file is used with mmap() Core: - large data folios enabled in experimental config - improved error handling, transaction abort call sites - in zoned mode, allocate reloc block group on mount to make sure there's always one available for zone reclaim under heavy load - rework device opening, they're always open as read-only and delayed until the super block is created, allowing the restricted writes after mount - preparatory work for adding blk_holder_ops, allowing device freeze/thaw in the future Cleanups, refactoring: - type and naming unifications (int/bool, return variables) - rb-tree helper refactoring and simplifications - reorder memory allocations to less critical places - RCU string (used for device name) refactoring and API removal - replace all remaining use of strcpy()
- Add the module owner to all the drivers which can be converted into modules in order to have the core time framework to take the refcount and prevent wild module removal. In addition export the symbols for the sched_clock_register() function to allow the drivers to be converted into modules (Daniel Lezcano) - Convert the faraday,fttmr010 DT bindings to yaml schema (Rob Herring) - Add the DT bindings compatible string for the MT6572 (Max Shevchenko) - Fix the fsl,ftm-timer bindings by using the items to describe a register (Frank Li) Chen Ni <[email protected]> - Add the DT binding documentation for Andes machine timer (Ben Zong-You Xie) - Fix the exynos mct driver to allow the module support. The changes include fixing the empty IRQ name, changing to percpu interrupts and preventing to use the clocksource as a sched clock source on ARM64 (Will McVicker) - Avoid 64-bit divide operation which fails on xtensa and simplify the timeleft computation with 32 bits operations on Tegra186 (Guenter Roeck) - Add the fsl,timrot.yaml DT bindings for i.MX23/i.MX28 timer (Frank Li) - Replace comma by semicolon which were introduced when moving the static structure initialization (Chen Ni) - Add a new compatible for the MediaTek MT8196 SoC, fully compatible with MT6765 (AngeloGioacchino Del Regno) - Fix section mismatch from the module Exynos MCT conversion (Daniel Lezcano)
Hi Arnd, Sorry for the very late pull requests this time, last weeks at work have been very busy and I wasn't able to find time earlier. This time we have two PRs for 6.17, the details are also in the signed tags: - Driver updates which include making a rtkit memory management callback optional and dropping default ARCH_APPLE from our drivers in Kconfig. I wanted to instead select these in defconfig but that change isn't ready for this cycle. - Device tree updates which include the bindings and nodes for our GPU driver. The driver itself isn't ready yet mainly due to rust dependencies but we're confident about the bindings and want to commit to keeping them stable. Otherwise there are a two smaller changes: removing another W=1 warning (which required a change to the binding itelf that'll also land in 6.17 through the NVMEM tree) and adding a missing touchbar framebuffer node to the Apple T2 SoC device tree. Best, Sven Apple SoC driver changes for v6.17 - Dropped default ARCH_APPLE from Kconfig - Made shmem_destroy for coprocessor-managed buffers in the rtkit library optional since it's not required for e.g. SMC Signed-off-by: Sven Peter <[email protected]>
Hi Rafael, please consider the following changes since commit d7b8f8e20813f0179d8ef519541a3527e7661d3a: Linux 6.16-rc5 (2025-07-06 14:10:26 -0700) are available in the Git repository at: ssh://[email protected]/pub/scm/linux/kernel/git/thermal/linux.git tags/thermal-v6.17-rc1 for you to fetch changes up to 1d264d3a198839c7483580acdce17e1015d0ef91: dt-bindings: thermal: tegra: Document Tegra210B01 (2025-07-21 22:23:39 +0200) - Enable the stage 2 shutdown and support to more SPMI variants (Anjelique Melendez) - Constify thermal_zone_device_ops structure when possible in the different thermal drivers (Christophe Jaillet) - Use the dev_fwnode() helper instead of of_fwnode_handle() which is more adequate wherever is possible in the thermal drivers (Jiri Slaby) - Implement and document One-Time Programmable fuse support for the Rockchip driver in order to increase the precision of the measurements (Nicolas Frattaroli) - Change the way the Mediatek LTVS driver stores the initialization data sequence to support different sequences regarding the current platform. Introduce the mt7988 support with a new initialization sequence (Mason Chang) - Document the QCom TSens Milos Temperature Sensor DT bindings (Luca Weiss) - Add the fallback compatible string for MT7981 and MT8516 DT bindings (Aleksander Jan Bajkowski) - Add the compatible string for Tegra210B01 SOC_THERM driver (Aaron Kling)
LoongArch KVM changes for v6.17 1. Simplify some KVM routines. 2. Enhance in-kernel irqchip emulation. 3. Add stat information with kernel irqchip. 4. Add tracepoints for CPUCFG and CSR emulation exits.
T-HEAD clock changes for v6.17 Updates for the T-HEAD TH1520 clock controller: - Fix the parent data for osc_12m by referencing osc_24m by index. - Mark essential bus clocks as CLK_IGNORE_UNUSED to fix boot hang associated with the PVT sensor. All changes have tested in linux-next. Signed-off-by: Drew Fustini <[email protected]>
Hi Arnd, have been tested in linux-next. Thanks, Drew T-HEAD Devicetrees for v6.17 There are several additions for the T-Head TH1520 SoC: - Add PVT node for thermal sensor which works with the existing Moortec MR75203 driver. - Add "gpu-clkgen" reset property to the AON node which allows the power domain driver to detect the capability to power sequence the GPU. All of these patches have been tested in linux-next. Signed-off-by: Drew Fustini <[email protected]>
Dear Rafael, This is devfreq-next pull request for v6.17. I add detailed description of following updates. Best Regards, Chanwoo Choi Update devfreq next for v6.17 Detailed description for this pull request: - Clean devfreq core and fix bugs : Replace sscanf with kstrtoul : Remove redundant devfreq_get_freq_range() on adding devfreq driver : Check missing NULL pointer check on removing devfreq driver : Limit max_freq and min_freq to avoid unreachable value : Fix wrong index on trans_stat sysfs node - Use devm_* managed function for clock control on sun81-a33-mbus driver - Add HiSilicon uncore frequencye scaling driver for for HiSilicon Kunpeng SoCs : The uncore domain includes shared system resources such as interconnects and L3 cache, and its frequency has a significant impact on system performance and power consumption. The driver provides the following functions: - Support to scale frequency scaling with governor and user setting - Support to query CPUs whose performance is closely related to the uncore domain - Communication with the platform controller via an ACPI PCC mailbox to perform actual frequency changes
Hi Ingo & Peter, is that I would like to add Breno Leitao's workaround in lockdep_unregister_key(), since the alternative requires hazptr and I'm not near to get it done. I added comments explaining this and left a TODO there, and I will replace it once the shazptr patch is in a good shape. Peter, if you have any concern about it, either we can drop the patch #9 or I can create another tag. Thanks! Locking changes for v6.17: - General - Mark devm_mutex_init() as __must_check - Add #[must_use] to Lock::try_lock() - Remove OWNER_SPINNABLE in rwsem - Remove redundant #ifdefs in mutex - Lockdep - Avoid returning struct in lock_stats() - Change `static const` into enum for LOCKF_*_IRQ_* - Temporarily use synchronize_rcu_expedited() in lockdep_unregister_key() to speed things up.
protected-headers="v1" From: Vignesh Raghavendra <[email protected]> To: Olof Johansson <[email protected]>, Arnd Bergmann <[email protected]>, arm-soc <[email protected]>, SoC <[email protected]> Cc: Tero Kristo <[email protected]>, [email protected], [email protected], Nishanth Menon <[email protected]>, Vignesh Raghavendra <[email protected]> Message-ID: <[email protected]> Subject: [GIT PULL 1/2] arm64: dts: ti: K3 devicetree updates for v6.17 --------------KA7pmDFiVxYyypQPm8tZdgv5 Hi ARM SoC Maintainers, TI K3 device tree updates for v6.17 Generic fixes and cleanups: * Enable overlays for all DTB files * Enable Schmitt Trigger by default in K3 pinctrl SoC specific changes: AM62D * Add new SoC support and pinctrl entries AM62 * Remove eMMC High Speed DDR support * Move eMMC pinmux to top level board file J784S4/J742S2 * Add Power on BIST (PBSIT) nodes * Add ACSPCIE1 node J721S2 * Add McASP support J722S * Add alernate audio-refclk0 node Board changes: Multiple boards * Bootphase tags for Ethernet boot support AM62D2-EVM * Add new board support AM62A7-SK * Fix pinmux for main_uart1 * Add SPI NAND support AM62P * Fix PWM_3_DSI GPIO direction, SD pull up, I2C ups on AM62P-Verdin * Add bootph-all property for Ethernet boot AM62-Verdin * Enable pull-ups on I2C buses AM654-base-board * Add boot phase tags for various bootmodes AM64 * Add boot phase tag PCIe EP boot * Fix PRU-ICSSG Ethernet ports on AM642-PhyBoard-Electra AM69-SK * Add idle-states for remaining SERDES instances J722S-EVM * Fix USB gpio-hog level for Type-C
Hi Miguel, All commits have been in linux-next for a couple of weeks. I did a test mer= ge without any conflicts. - Danilo Alloc & DMA changes for v6.17 Box: - Implement Borrow / BorrowMut for Box<T, A>. Vec: - Implement Default for Vec<T, A>. - Implement Borrow / BorrowMut for Vec<T, A>. DMA: - Clarify wording and be consistent in 'coherent' nomenclature. - Convert the read!() / write!() macros to return a Result. - Add as_slice() / write() methods in CoherentAllocation. - Fix doc-comment of dma_handle(). - Expose count() and size() in CoherentAllocation and add the corresponding type invariants. - Implement CoherentAllocation::dma_handle_with_offset(). - Require mutable reference for as_slice_mut() and write(). - Add Vlastimil Babka, Liam R. Howlett, Uladzislau Rezki and Lorenzo Stoake= s as reviewers (thanks everyone).
Samsung pinctrl drivers changes for v6.17 Add support for programming wake up for Google GS101 SoC pin controllers, so the SoC can be properly woken up from low power states.
Memory controller drivers for v6.17 1. Several cleanups: Use dev_fwnode() in OMAP GPMX, convert arm,pl172.txt DT bindings to DT schema, use syscon_regmap_lookup_by_phandle_args() wrapper, correct kerneldoc. 2. Mediatek MT8186 SMI: Extend hardware bandwidth limits to fix VENC hardware during stress testing. 3. Broadcom brcmstb_memc: Add additional fallback compatible and simplify device driver matching. The change comes from Broadcom SoC maintainer (Florian Fainelli), thus its ABI impact is acknowledged.
Hi Arnd, The tegra change is outside soc/fsl tree but it is acked by maintainer of DRM DRIVERS FOR NVIDIA TEGRA. Thanks Christophe FSL SOC Changes for 6.17: - Use dev_fwnode() instead of of_fwnode_handle() - Use new GPIO line value setter callbacks
I've done further rework to the ASPEED LPC snoop driver in addition to the immediate fixes found in the PR at [1]. The commits in the tag for this PR build directly on top, so those from [1] are also listed in the shortlog relative to v6.16-rc1. [1]: https://lore.kernel.org/all/d119a7b44b25a1e55a710adec7fce3e9a9fc898e.c= [email protected]/ Let me know if I should arrange the changes (or the PR description) in some other way. Cheers, Andrew ASPEED SoC driver updates for 6.17 The ASPEED LPC snoop driver was recently the cause of some concern. In addi= tion to the initial fixes, the channel configuration paths are refactored to imp= rove robustness against errors.
ASPEED devicetree updates for 6.17 Removed platforms: - IBM's Swift BMC New platforms: - Meta's Santabarbara Santabarbara is a compute node with an accelerator module - NVIDIA's GB200NVL BMC NVIDIA GB200 NVL72 connects 36 Grace CPUs and 72 Blackwell GPUs in an NVI= DIA NVLink-connected, liquid-cooled, rack-scale design. Updated BMC platforms: - Bletchley (Meta): GPIO hog names, remove ethernet-phy node, USB PD negoti= ation - Catalina (Meta): Various sensors added, MCTP support for NIC management - Harma (Meta): Various sensors added - System1 (IBM): IPMB and various GPIO-related updates - Yosemite4 (Meta): GPIO names for UART mux select lines The System1 series includes a devicetree binding patch for IPMI IPMB device= s.
Samsung SoC defconfig changes for v6.17 1. Multiple SoCs (including Samsung, Apple): switch sound to module from a built-in, because it is not necessary for booting. Also drop redundant sound codec options. 2. Enable PMIC drivers for Google GS101 Pixel 6 phones: MAX77759 and Samsung PMIC over ACPM protocol.
Hi, Clock drivers. The bindings were kept on separate branch, just in case, but eventually they were not shared outside. Best regards, Krzysztof Samsung SoC clock drivers changes for 6.17 1. Fixes for clock topology on Google GS101. 2. Add HSI2 controller on ExynosAutov920. 3. Minor comment fix for Exynos850.
VT8500 DTS ARM changes for v6.17 1. Several dtbs_check cleanups. 2. Add missing cache topology - L2 cache controller on WM8850/WM895.
Hi Rafael, Fixes - snapshot-order of tsc ,mperf, clock in mperf_stop() - printing of CORE, CPU fields in cpupower-monitor Improves Python binding's Makefile diff is attached. thanks, -- Shuah linux-cpupower-6.17-rc1-fixed Fixes - snapshot-order of tsc,mperf, clock in mperf_stop() - printing of CORE, CPU fields in cpupower-monitor Improves Python binding's Makefile
Hi Miguel, This time there are a couple of interesting changes, see below. Most importantly, we can now use `Result` as an initializer. And implement `Zeroable` via the `MaybeZeroable` derive macro. When the second part of [1] is merged, this will make all types in bindings that can be zeroed implement `Zeroable`. There is one small mistake in the second commit e832374ccadf ("rust: pin-init: change blanket impls for `[Pin]Init` and add one for `Result<T, E>`") I forgot to ping Andreas about the changes in Rust block and thus don't have his Acked-by. We discussed this privately and he his okay with the changes. I didn't rebase due to the fact that the commit already is pretty old and that Danilo already merged that commit into driver-core-next, see below. Sorry about this! All commits have been in linux-next for over three weeks. No conflicts expected. Note that driver-core-next is also merging the tag `pin-init-v6.17-result-blanket` that includes the first two commits. [1]: https://lore.kernel.org/all/[email protected] --- Cheers, Benno pin-init changes for v6.17 Added: - 'impl<T, E> [Pin]Init<T, E> for Result<T, E>', so results are now (pin-)initializers. - 'Zeroable::init_zeroed()' delegating to 'init_zeroed()'. - New 'zeroed()', a safe version of 'mem::zeroed()' and also provide it via 'Zeroable::zeroed()'. - Implement 'Zeroable' for 'Option<&T>' and 'Option<&mut T>'. - Implement 'Zeroable' for 'Option<[unsafe] [extern "abi"] fn(...args...) -> ret>' for '"Rust"' and '"C"' ABIs and up to 20 arguments. Changed: - Blanket impls of 'Init' and 'PinInit' from 'impl<T, E> [Pin]Init<T, E> for T' to 'impl<T> [Pin]Init<T> for T'. - Renamed 'zeroed()' to 'init_zeroed()'. Upstream dev news: - More CI improvements to deny warnings, use '--all-targets'. Also check the synchronization status of the two '-next' branches in upstream and the kernel.
From: Bartosz Golaszewski <[email protected]> Hi! Thanks, Bartosz Immutable branch between GPIO, MFD and ARM-SoC for v6.17-rc1 Remove struct bgpio_pdata after converting its users to generic device properties.
Hi Ingo & Peter, This is the updated version from my pull request last cycle: v1: https://lore.kernel.org/rust-for-linux/[email protected]/ Please take a look, thanks! Changes since v1: - `Location::file_with_nul()` is used to avoid the C changes of __might_sleep() Regards, Boqun Rust task & schedule changes for v6.17: - Make Task, CondVar and PollCondVar methods inline to avoid unnecessary function calls - Add might_sleep() support for Rust code: Rust's "#[track_caller]" mechanism is used so that Rust's might_sleep() doesn't need to be defined as a macro
From: Bartosz Golaszewski <[email protected]> Here's an immutable tag containing the thead 1520 power sequencing driver for the drm and pmdomain trees to pull from. Best Regards, Bartosz Golaszewski Immutable tag between the pwrseq, drm and pmdomain trees Add the T-HEAD TH1520 GPU power sequencer driver