Latest Linux kernel releases

  17.11 6.12 (merge, pull), 6.11.9, 6.6.62, 6.1.118, 5.15.173, 5.10.230, 5.4.286, 4.19.324

Significant pull requests for mainline kernel

 
20 Nov 2024: tracing: Updates for v6.13 [+ + +]

tracing updates for v6.13:

- Addition of faultable tracepoints

  There's a tracepoint attached to both a system call entry and exit. This
  location is known to allow page faults. The tracepoints are called under
  an rcu_read_lock() which does not allow faults that can sleep. This limits
  the ability of tracepoint handlers to page fault in user space system call
  parameters. Now these tracepoints have been made "faultable", allowing the
  callbacks to fault in user space parameters and record them.

  Note, only the infrastructure has been implemented. The consumers (perf,
  ftrace, BPF) now need to have their code modified to allow faults.

- Fix up of BPF code for the tracepoint faultable logic

- Update tracepoints to use the new static branch API

- Remove trace_*_rcuidle() variants and the SRCU protection they used

- Remove unused TRACE_EVENT_FL_FILTERED logic

- Replace strncpy() with strscpy() and memcpy()

- Use replace per_cpu_ptr(smp_processor_id()) with this_cpu_ptr()

- Fix perf events to not duplicate samples when tracing is enabled

- Replace atomic64_add_return(1, counter) with atomic64_inc_return(counter)

- Make stack trace buffer 4K instead of PAGE_SIZE

- Remove TRACE_FLAG_IRQS_NOSUPPORT flag as it was never used

- Get the true return address for function tracer when function graph tracer
  is also running.

  When function_graph trace is running along with function tracer,
  the parent function of the function tracer sometimes is
  "return_to_handler", which is the function graph trampoline to record
  the exit of the function. Use existing logic that calls into the
  fgraph infrastructure to find the real return address.

- Remove (un)regfunc pointers out of tracepoint structure

- Added last minute bug fix for setting pending modules in stack function
  filter.

  echo "write*:mod:ext3" > /sys/kernel/tracing/stack_trace_filter

  Would cause a kernel NULL dereference.

- Minor clean ups




trace-v6.13

 
21 Nov 2024: drm for 6.13-rc1 [+ + +]
This is the main drm pull request for 6.13.

I've done a test merge into your tree, there were two conflicts both
of which seem easy enough to resolve for you.

There's a lot of rework, the panic helper support is being added to
more drivers, v3d gets support for HW superpages, scheduler
documentation, drm client and video aperture reworks, some new
MAINTAINERS added, amdgpu has the usual lots of IP refactors, Intel
has some Pantherlake enablement and xe is getting some SRIOV bits, but
just lots of stuff everywhere.

Let me know if there are any issues,
Thanks,
Dave.

drm-next-2024-11-21:
drm for 6.13-rc1

core:
- split DSC helpers from DP helpers
- clang build fixes for drm/mm test
- drop simple pipeline support for gem vram
- document submission error signaling
- move drm_rect to drm core module from kms helper
- add default client setup to most drivers
- move to video aperture helpers instead of drm ones

tests:
- new framebuffer tests

ttm:
- remove swapped and pinned BOs from TTM lru

panic:
- fix uninit spinlock
- add ABGR2101010 support

bridge:
- add TI TDP158 support
- use standard PM OPS

dma-fence:
- use read_trylock instead of read_lock to help lockdep

scheduler:
- add errno to sched start to report different errors
- add locking to drm_sched_entity_modify_sched
- improve documentation

xe:
- add drm_line_printer
- lots of refactoring
- Enable Xe2 + PES disaggregation
- add new ARL PCI ID
- SRIOV development work
- fix exec unnecessary implicit fence
- define and parse OA sync props
- forcewake refactoring

i915:
- Enable BMG/LNL ultra joiner
- Enable 10bpx + CCS scanout on ICL+, fp16/CCS on TGL+
- use DSB for plane/color mgmt
- Arrow lake PCI IDs
- lots of i915/xe display refactoring
- enable PXP GuC autoteardown
- Pantherlake (PTL) Xe3 LPD display enablement
- Allow fastset HDR infoframe changes
- write DP source OUI for non-eDP sinks
- share PCI IDs between i915 and xe

amdgpu:
- SDMA queue reset support
- SMU 13.0.6, JPEG 4.0.3 updates
- Initial runtime repartitioning support
- rework IP structs for multiple IP instances
- Fetch EDID from _DDC if available
- SMU13 zero rpm user control
- lots of fixes/cleanups

amdkfd:
- Increase event FIFO size
- add topology cap flag for per queue reset

msm:
- DPU:
- SA8775P support
- (disabled by default) MSM8917, MSM8937, MSM8953 and MSM8996 support
- Enable large framebuffer support
- Drop MSM8998 and SDM845
- DP:
- SA8775P support
- GPU:
- a7xx preemption support
- Adreno A663 support

ast:
- warn about unsupported TX chips

ivpu:
- add coredump
- add pantherlake support

rockchip:
- 4K@60Hz display enablement
- generate pll programming tables

panthor:
- add timestamp query API
- add realtime group priority
- add fdinfo support

etnaviv:
- improve handling of DMA address limits
- improve GPU hangcheck

exynos:
- Decon Exynos7870 support

mediatek:
- add OF graph support

omap:
- locking fixes

bochs:
- convert to gem/shmem from simpledrm

v3d:
- support big/super pages
- add gemfs

vc4:
- BCM2712 support refactoring
- add YUV444 format support

udmabuf:
- folio related fixes

nouveau:
- add panic support on nv50+
drm for 6.13-rc1

core:
- split DSC helpers from DP helpers
- clang build fixes for drm/mm test
- drop simple pipeline support for gem vram
- document submission error signaling
- move drm_rect to drm core module from kms helper
- add default client setup to most drivers
- move to video aperture helpers instead of drm ones

tests:
- new framebuffer tests

ttm:
- remove swapped and pinned BOs from TTM lru

panic:
- fix uninit spinlock
- add ABGR2101010 support

bridge:
- add TI TDP158 support
- use standard PM OPS

dma-fence:
- use read_trylock instead of read_lock to help lockdep

scheduler:
- add errno to sched start to report different errors
- add locking to drm_sched_entity_modify_sched
- improve documentation

xe:
- add drm_line_printer
- lots of refactoring
- Enable Xe2 + PES disaggregation
- add new ARL PCI ID
- SRIOV development work
- fix exec unnecessary implicit fence
- define and parse OA sync props
- forcewake refactoring

i915:
- Enable BMG/LNL ultra joiner
- Enable 10bpx + CCS scanout on ICL+, fp16/CCS on TGL+
- use DSB for plane/color mgmt
- Arrow lake PCI IDs
- lots of i915/xe display refactoring
- enable PXP GuC autoteardown
- Pantherlake (PTL) Xe3 LPD display enablement
- Allow fastset HDR infoframe changes
- write DP source OUI for non-eDP sinks
- share PCI IDs between i915 and xe

amdgpu:
- SDMA queue reset support
- SMU 13.0.6, JPEG 4.0.3 updates
- Initial runtime repartitioning support
- rework IP structs for multiple IP instances
- Fetch EDID from _DDC if available
- SMU13 zero rpm user control
- lots of fixes/cleanups

amdkfd:
- Increase event FIFO size
- add topology cap flag for per queue reset

msm:
- DPU:
- SA8775P support
- (disabled by default) MSM8917, MSM8937, MSM8953 and MSM8996 support
- Enable large framebuffer support
- Drop MSM8998 and SDM845
- DP:
- SA8775P support
- GPU:
- a7xx preemption support
- Adreno A663 support

ast:
- warn about unsupported TX chips

ivpu:
- add coredump
- add pantherlake support

rockchip:
- 4K@60Hz display enablement
- generate pll programming tables

panthor:
- add timestamp query API
- add realtime group priority
- add fdinfo support

etnaviv:
- improve handling of DMA address limits
- improve GPU hangcheck

exynos:
- Decon Exynos7870 support

mediatek:
- add OF graph support

omap:
- locking fixes

bochs:
- convert to gem/shmem from simpledrm

v3d:
- support big/super pages
- add gemfs

vc4:
- BCM2712 support refactoring
- add YUV444 format support

udmabuf:
- folio related fixes

nouveau:
- add panic support on nv50+

 
20 Nov 2024: asm-generic updates for 6.13 [+ + +]
asm-generic updates for 6.13

These are a number of unrelated cleanups, generally simplifying the
architecture specific header files:

 - A series from Al Viro simplifies asm/vga.h, after it turns out that
   most of it can be generalized.

 - A series from Julian Vetter adds a common version of
   memcpy_{to,from}io() and memset_io() and changes most architectures
   to use that instead of their own implementation

 - A series from Niklas Schnelle concludes his work to make PC
   style inb()/outb() optional

 - Nicolas Pitre contributes improvements for the generic do_div()
   helper

 - Christoph Hellwig adds a generic version of page_to_phys()
   and phys_to_page(), replacing the slightly different architecture
   specific definitions.

 - Uwe Kleine-Koenig has a minor cleanup for ioctl definitions

20 Nov 2024: soc updates for 6.13 [+ + +]
The SoC tree this time has a moderate 840 patches from 203
contributors. There is not much remarkable in there, overall
we have a lot of new SoCs and board files in the devicetree
updates, but not as many changes to the Snapdragon platform
as we've had most of last year.

The most active contributors by number of patches this
time were:

     32 Geert Uytterhoeven
     29 Krzysztof Kozlowski
     26 Marek Vasut
     26 Konrad Dybcio
     23 Frank Li
     22 Dmitry Baryshkov
     21 Fei Shao
     18 Wolfram Sang
     18 Fabio Estevam
     17 Manorit Chawdhry
     14 Andreas Kemnade
     12 Nick Chan
     12 Neil Armstrong
     12 Jo=EF=BF=BD=EF=BF=BDo Paulo Gon=EF=BF=BD=EF=BF=BDalves
     12 Ivaylo Ivanov

and the overall dirstat shows nxp, qualcomm, rockchip
and ti as the largest changes, with only NXP i.MX6
still seeing a lot of work on 32-bit boards.

   0.4% Documentation/devicetree/bindings/arm/
   0.5% Documentation/devicetree/bindings/clock/
   0.1% Documentation/devicetree/bindings/soc/mediatek/
   0.2% Documentation/devicetree/bindings/
   0.2% arch/arm/boot/dts/allwinner/
   0.1% arch/arm/boot/dts/amlogic/
   1.9% arch/arm/boot/dts/microchip/
  17.7% arch/arm/boot/dts/nxp/imx/
   0.5% arch/arm/boot/dts/qcom/
   0.4% arch/arm/boot/dts/renesas/
   0.7% arch/arm/boot/dts/rockchip/
   0.2% arch/arm/boot/dts/st/
   0.3% arch/arm/boot/dts/ti/omap/
   0.3% arch/arm/
   0.2% arch/arm64/boot/dts/allwinner/
   0.4% arch/arm64/boot/dts/amlogic/
   3.0% arch/arm64/boot/dts/apple/
   4.5% arch/arm64/boot/dts/exynos/
   8.2% arch/arm64/boot/dts/freescale/
   2.1% arch/arm64/boot/dts/mediatek/
   1.0% arch/arm64/boot/dts/nvidia/
  12.6% arch/arm64/boot/dts/qcom/
   0.7% arch/arm64/boot/dts/renesas/
  19.6% arch/arm64/boot/dts/rockchip/
   0.1% arch/arm64/boot/dts/st/
  11.4% arch/arm64/boot/dts/ti/
   0.1% arch/arm64/boot/dts/xilinx/
   0.2% arch/riscv/boot/dts/sophgo/
   0.4% arch/riscv/boot/dts/thead/
   0.1% arch/
   0.1% drivers/firmware/arm_scmi/transports/
   0.2% drivers/firmware/arm_scmi/
   0.4% drivers/firmware/xilinx/
   0.8% drivers/firmware/
   0.4% drivers/misc/
   0.4% drivers/reset/amlogic/
   0.4% drivers/reset/
   0.5% drivers/soc/hisilicon/
   0.1% drivers/soc/imx/
   0.8% drivers/soc/mediatek/
   3.4% drivers/soc/qcom/
   0.1% drivers/soc/
   0.1% drivers/
   1.1% include/dt-bindings/clock/
   0.1% include/linux/soc/
   0.6% include/linux/
20 Nov 2024: tracing/tools: Updates for v6.13 [+ + +]

tracing/tools: Updates for 6.13

- Add ':' to getopt option 'trace-buffer-size' in timerlat_hist for
  consistency

- Remove unused sched_getattr define

- Rename sched_setattr() helper to syscall_sched_setattr() to avoid
  conflicts

- Update counters to long from int to avoid overflow

- Add libcpupower dependency detection

- Add --deepest-idle-state to timerlat to limit deep idle sleeps

- Other minor clean ups and documentation changes




trace-tools-v6.13

20 Nov 2024: ring-buffer: Updates for 6.13 [+ + +]

trace ring-buffer updates for v6.13

- Limit the time interrupts are disabled in rb_check_pages()

  The rb_check_pages() is called after the ring buffer size is updated to
  make sure that the ring buffer has not been corrupted. Commit
  c2274b908db05 ("ring-buffer: Fix a race between readers and resize
  checks") fixed a race with the check pages and simultaneous resizes to the
  ring buffer by adding a raw_spin_lock_irqsave() around the check
  operation. Although this was a simple fix, it would hold interrupts
  disabled for non determinative amount of time. This could harm PREEMPT_RT
  operations.

  Instead, modify the logic by adding a counter when the buffer is modified
  and to release the raw_spin_lock() at each iteration. It checks the
  counter under the lock to see if a modification happened during the loop,
  and if it did, it would restart the loop up to 3 times. After 3 times, it
  will simply exit the check, as it is unlikely that would ever happen as
  buffer resizes are rare occurrences.

- Replace some open coded str_low_high() with the helper

- Fix some documentation/comments




trace-ring-buffer-v6.13

20 Nov 2024: First batch of KVM changes for Linux 6.13 merge window [+ + +]
The biggest change here is eliminating the awful idea that KVM had, of
essentially guessing which pfns are refcounted pages.  The reason to
do so was that KVM needs to map both non-refcounted pages (for example
BARs of VFIO devices) and VM_PFNMAP/VM_MIXMEDMAP VMAs that contain
refcounted pages.  However, the result was security issues in the past,
and more recently the inability to map VM_IO and VM_PFNMAP memory
that _is_ backed by struct page but is not refcounted.  In particular
this broke virtio-gpu blob resources (which directly map host graphics
buffers into the guest as "vram" for the virtio-gpu device) with the
amdgpu driver, because amdgpu allocates non-compound higher order pages
and the tail pages could not be mapped into KVM.

This requires adjusting all uses of struct page in the per-architecture
code, to always work on the pfn whenever possible.  The large series that
did this, from David Stevens and Sean Christopherson, also cleaned up
substantially the set of functions that provided arch code with the
pfn for a host virtual addresses.  The previous maze of twisty little
passages, all different, is replaced by five functions (__gfn_to_page,
__kvm_faultin_pfn, the non-__ versions of these two, and kvm_prefetch_pages)
saving almost 200 lines of code.

ARM:

* Support for stage-1 permission indirection (FEAT_S1PIE) and
  permission overlays (FEAT_S1POE), including nested virt + the
  emulated page table walker

* Introduce PSCI SYSTEM_OFF2 support to KVM + client driver. This call
  was introduced in PSCIv1.3 as a mechanism to request hibernation,
  similar to the S4 state in ACPI

* Explicitly trap + hide FEAT_MPAM (QoS controls) from KVM guests. As
  part of it, introduce trivial initialization of the host's MPAM
  context so KVM can use the corresponding traps

* PMU support under nested virtualization, honoring the guest
  hypervisor's trap configuration and event filtering when running a
  nested guest

* Fixes to vgic ITS serialization where stale device/interrupt table
  entries are not zeroed when the mapping is invalidated by the VM

* Avoid emulated MMIO completion if userspace has requested synchronous
  external abort injection

* Various fixes and cleanups affecting pKVM, vCPU initialization, and
  selftests

LoongArch:

* Add iocsr and mmio bus simulation in kernel.

* Add in-kernel interrupt controller emulation.

* Add support for virtualization extensions to the eiointc irqchip.

PPC:

* Drop lingering and utterly obsolete references to PPC970 KVM, which was
  removed 10 years ago.

* Fix incorrect documentation references to non-existing ioctls

RISC-V:

* Accelerate KVM RISC-V when running as a guest

* Perf support to collect KVM guest statistics from host side

s390:

* New selftests: more ucontrol selftests and CPU model sanity checks

* Support for the gen17 CPU model

* List registers supported by KVM_GET/SET_ONE_REG in the documentation

x86:

* Cleanup KVM's handling of Accessed and Dirty bits to dedup code, improve
  documentation, harden against unexpected changes.  Even if the hardware
  A/D tracking is disabled, it is possible to use the hardware-defined A/D
  bits to track if a PFN is Accessed and/or Dirty, and that removes a lot
  of special cases.

* Elide TLB flushes when aging secondary PTEs, as has been done in x86's
  primary MMU for over 10 years.

* Recover huge pages in-place in the TDP MMU when dirty page logging is
  toggled off, instead of zapping them and waiting until the page is
  re-accessed to create a huge mapping.  This reduces vCPU jitter.

* Batch TLB flushes when dirty page logging is toggled off.  This reduces
  the time it takes to disable dirty logging by ~3x.

* Remove the shrinker that was (poorly) attempting to reclaim shadow page
  tables in low-memory situations.

* Clean up and optimize KVM's handling of writes to MSR_IA32_APICBASE.

* Advertise CPUIDs for new instructions in Clearwater Forest

* Quirk KVM's misguided behavior of initialized certain feature MSRs to
  their maximum supported feature set, which can result in KVM creating
  invalid vCPU state.  E.g. initializing PERF_CAPABILITIES to a non-zero
  value results in the vCPU having invalid state if userspace hides PDCM
  from the guest, which in turn can lead to save/restore failures.

* Fix KVM's handling of non-canonical checks for vCPUs that support LA57
  to better follow the "architecture", in quotes because the actual
  behavior is poorly documented.  E.g. most MSR writes and descriptor
  table loads ignore CR4.LA57 and operate purely on whether the CPU
  supports LA57.

* Bypass the register cache when querying CPL from kvm_sched_out(), as
  filling the cache from IRQ context is generally unsafe; harden the
  cache accessors to try to prevent similar issues from occuring in the
  future.  The issue that triggered this change was already fixed in 6.12,
  but was still kinda latent.

* Advertise AMD_IBPB_RET to userspace, and fix a related bug where KVM
  over-advertises SPEC_CTRL when trying to support cross-vendor VMs.

* Minor cleanups

* Switch hugepage recovery thread to use vhost_task.  These kthreads can
  consume significant amounts of CPU time on behalf of a VM or in response
  to how the VM behaves (for example how it accesses its memory); therefore
  KVM tried to place the thread in the VM's cgroups and charge the CPU
  time consumed by that work to the VM's container.  However the kthreads
  did not process SIGSTOP/SIGCONT, and therefore cgroups which had KVM
  instances inside could not complete freezing.  Fix this by replacing the
  kthread with a PF_USER_WORKER thread, via the vhost_task abstraction.
  Another 100+ lines removed, with generally better behavior too like
  having these threads properly parented in the process tree.

* Revert a workaround for an old CPU erratum (Nehalem/Westmere) that didn't
  really work; there was really nothing to work around anyway: the broken
  patch was meant to fix nested virtualization, but the PERF_GLOBAL_CTRL
  MSR is virtualized and therefore unaffected by the erratum.

* Fix 6.12 regression where CONFIG_KVM will be built as a module even
  if asked to be builtin, as long as neither KVM_INTEL nor KVM_AMD is 'y'.

x86 selftests:

* x86 selftests can now use AVX.

Documentation:

* Use rST internal links

* Reorganize the introduction to the API document

Generic:

* Protect vcpu->pid accesses outside of vcpu->mutex with a rwlock instead
  of RCU, so that running a vCPU on a different task doesn't encounter long
  due to having to wait for all CPUs become quiescent.  In general both reads
  and writes are rare, but userspace that supports confidential computing is
  introducing the use of "helper" vCPUs that may jump from one host processor
  to another.  Those will be very happy to trigger a synchronize_rcu(), and
  the effect on performance is quite the disaster.

20 Nov 2024: platform-drivers-x86 for v6.13-1 [+ + +]
Here is the main PDx86 PR for v6.13.

Note there's an expected conflict in this merge window for amd/hsmp.
Given what's merged so far into your tree, it might not trigger yet but
when merging the other change from driver-core.

Highlights:
 - alienware-wmi:WMAX thermal interface support
 - amd/hsmp:Split ACPI and platform device based drivers
 - amd/x3d_vcache:X3D frequency/cache mode switching support
 - asus-wmi:Thermal policy fixes
 - intel/pmt:Disable C1 auto-demotion in suspend to allow
entering the deepest C-states
 - intel-hid:Fix volume buttons on Thinkpad X12 Detachable
Tablet Gen 1
 - intel_scu_ipc:Replace "workaround" with 32-bit IO
 - panasonic-laptop:Correct *_show() function error handling
 - p2sb:Gemini Lake P2SB devfn correction
 - think-lmi:Admin/System certificate authentication support
 - wmi:Disable WMI devices for shutdown, refactoring
continues
 - x86-android-tablets:Vexia EDU ATLA 10 tablet support
 - platform/surface:Surface Pro 9 5G (Arm/QCOM) support
 - Miscellaneous cleanups / refactoring / improvements

Expected conflicts:
 - hsmp driver split into two vs constifying bin_attribute [1]

[1] https://lore.kernel.org/all/20241107212645.41252436@canb.auug.org.au/

Regards, i.


platform-drivers-x86 for v6.13-1

Highlights:
 - alienware-wmi:WMAX thermal interface support
 - amd/hsmp:Split ACPI and platform device based drivers
 - amd/x3d_vcache:X3D frequency/cache mode switching support
 - asus-wmi:Thermal policy fixes
 - intel/pmt:Disable C1 auto-demotion in suspend to allow
entering the deepest C-states
 - intel-hid:Fix volume buttons on Thinkpad X12 Detachable
Tablet Gen 1
 - intel_scu_ipc:Replace "workaround" with 32-bit IO
 - panasonic-laptop:Correct *_show() function error handling
 - p2sb:Gemini Lake P2SB devfn correction
 - think-lmi:Admin/System certificate authentication support
 - wmi:Disable WMI devices for shutdown, refactoring
continues
 - x86-android-tablets:Vexia EDU ATLA 10 tablet support
 - platform/surface:Surface Pro 9 5G (Arm/QCOM) support
 - Miscellaneous cleanups / refactoring / improvements

Expected conflicts:
 - hsmp driver split into two vs constifying bin_attribute [1]

[1] https://lore.kernel.org/all/20241107212645.41252436@canb.auug.org.au/

The following is an automated shortlog grouped by driver:

alienware-wmi:
 -  added force module parameters
 -  added platform profile support
 -  Adds support to Alienware x17 R2
 -  alienware_wmax_command() is now input size agnostic
 -  create_thermal_profile() no longer brute-forces IDs
 -  extends the list of supported models
 -  fixed indentation and clean up
 -  Fix spelling mistake "requieres" -> "requires"
 -  order alienware_quirks[] alphabetically
 -  WMAX interface documentation

amd: amd_3d_vcache:
 -  Add AMD 3D V-Cache optimizer driver
 -  Add sysfs ABI documentation

amd/hsmp:
 -  Add new error code and error logs
 -  Change generic plat_dev name to hsmp_pdev
 -  Change the error type
 -  Convert amd_hsmp_rdwr() to a function pointer
 -  Create hsmp/ directory
 -  Create separate ACPI, plat and common drivers
 -  Create wrapper function init_acpi()
 -  Make hsmp_pdev static instead of global
 -  mark hsmp_msg_desc_table[] as maybe_unused
 -  Move ACPI code to acpi.c
 -  Move platform device specific code to plat.c
 -  Move structure and macros to header file
 -  Use dev_groups in the driver structure
 -  Use name space while exporting module symbols

amd/pmf:
 -  Switch to platform_get_resource() and devm_ioremap_resource()
 -  Use dev_err_probe() to simplify error handling

asus-laptop:
 -  prefer strscpy() over strcpy()

asus-wmi:
 -  Fix inconsistent use of thermal policies
 -  Use platform_profile_cycle()

classmate-laptop:
 -  Replace snprintf in show functions with sysfs_emit

compal-laptop:
 -  use sysfs_emit() instead of sprintf()

dell-dcdbase:
 -  Replace snprintf in show functions with sysfs_emit

Documentation: alienware-wmi:
 -  Describe THERMAL_INFORMATION operation 0x02

eeepc-laptop:
 -  use sysfs_emit() instead of sprintf()

hp: hp-bioscfg:
 -  remove redundant if statement

intel:
 -  Add 'intel' prefix to the modules automatically

intel-hid:
 -  fix volume buttons on Thinkpad X12 Detachable Tablet Gen 1

intel/pmc:
 -  Disable C1 auto-demotion during suspend
 -  Refactor platform resume functions to use cnl_resume()

intel/pmt:
 -  allow user offset for PMT callbacks
 -  Correct the typo 'ACCCESS_LOCAL'

intel_scu_ipc:
 -  Convert to check for errors first
 -  Don't use "proxy" headers
 -  Replace workaround by 32-bit IO
 -  Save a copy of the entire struct intel_scu_ipc_data
 -  Simplify code with cleanup helpers
 -  Unify the flow in pwr_reg_rdwr()

intel/vsec:
 -  Remove a useless mutex

MAINTAINERS:
 -  adjust file entry in INTEL TPMI DRIVER
 -  Change AMD PMF driver status to "Supported"
 -  Update ISHTP ECLITE maintainer entry

p2sb:
 -  Cache correct PCI bar for P2SB on Gemini Lake

panasonic-laptop:
 -  Return errno correctly in show callback

surface: aggregator_registry:
 -  Add Surface Pro 9 5G

Switch back to struct platform_driver::
 - remove()

think-lmi:
 -  Add certificate as mechanism
 -  Allow empty admin password
 -  improve check if BIOS account security enabled
 -  Multi-certificate support

wmi:
 -  Implement proper shutdown handling
 -  Introduce to_wmi_driver()
 -  Remove wmi_block_list
 -  Replace dev_to_wdev() with to_wmi_device()

x86: acer-wmi:
 -  remove unused macros

x86-android-tablets:
 -  Add get_i2c_adap_by_handle() helper
 -  Add support for getting i2c_adapter by PCI parent devname()
 -  Add support for Vexia EDU ATLA 10 tablet

 
19 Nov 2024: x86/tdx for 6.13-rc1 [+ + +]
refine some interactions between TDX guests and VMMs.

The first leverages a new TDX module feature to runtime disable the
ability for a VM to inject #VE exceptions. Before this feature, there
was only a static on/off switch and the guest had to panic if it was
configured in a bad state.

The second lets the guest opt in to be able to access the topology
CPUID leaves. Before this, accesses to those leaves would #VE.

For both of these, it would have been nicest to just change the
default behavior, but some pesky "other" OSes evidently need to retain
the legacy behavior.

--

 - Add new infrastructure for reading TDX metadata
 - Use the newly-available metadata to:
  - Disable potentially nasty #VE exceptions
  - Get more complete CPU topology information from the VMM

19 Nov 2024: x86/misc for 6.13-rc1 [+ + +]
branch, these are super random: a compile fix for some newish LLVM
checks and making sure a Kconfig text reference to "RSB" matches the
normal definition.

--

 - Rework some CPU setup code to keep LLVM happy on 32-bit
 - Correct RSB terminology in Kconfig text

19 Nov 2024: x86/sgx for 6.13-rc1 [+ + +]
one this round.

--

 - Use vmalloc_array() instead of vmalloc()

19 Nov 2024: dma-mapping updates for Linux 6.13 [+ + +]
dma-mapping updates for Linux 6.13

 - improve the DMA API tracing code (Sean Anderson)
 - misc cleanups (Christoph Hellwig, Sui Jingfeng)
 - fix pointer abuse when finding the shared DMA pool (Geert Uytterhoeven)
 - fix a deadlock in dma-debug (Levi Yun)

19 Nov 2024: OpenRISC updates for 6.13 [+ + +]

OpenRISC updates for 6.13

A single fixup from me:

 - Fix bug with earlycon being broken due to removal of early_ioremap.

19 Nov 2024: seccomp update for v6.13-rc1 [+ + +]

to port arm32 to the generic entry code.

Thanks!

-Kees

seccomp update for v6.13-rc1

- Provide stub for !HAVE_ARCH_SECCOMP_FILTER (Linus Walleij)

19 Nov 2024: execve updates for v6.13-rc1 [+ + +]

Thanks!

-Kees

execve updates for v6.13-rc1

- binfmt: Fix comment typos (Christophe JAILLET)

- exec: Use argv[0] for "comm" with AT_EMPTY_PATH (Tycho Andersen,
  Dan Carpenter, Nir Lichtman)

- exec: remove legacy custom binfmt modules autoloading (Nir Lichtman)

- coredump: Do not lock when copying "comm"

- MAINTAINERS: add auxvec.h and set myself as maintainer

19 Nov 2024: configfs updates for Linux 6.13 [+ + +]
configfs updates for Linux 6.13

 - remove unused code (Dr. David Alan Gilbert)
 - improve item creation performance (Seamus Connor)

19 Nov 2024: Networking for v6.13 [+ + +]
Stephen reported a trivial conflict in the MAINTAINERS file:
https://lore.kernel.org/linux-next/20241107214351.59b251f1@canb.auug.org.au/

and another one in tools/testing/selftests/bpf/Makefile:
https://lore.kernel.org/linux-next/20241104115924.2615858f@canb.auug.org.au/

Networking changes for 6.13.

The most significant set of changes is the per netns RTNL. The new
behavior is disabled by default, regression risk should be contained.

Notably the new config knob PTP_1588_CLOCK_VMCLOCK will inherit its
default value from PTP_1588_CLOCK_KVM, as the first is intended to be
a more reliable replacement for the latter.

Core
----

 - Started a very large, in-progress, effort to make the RTNL lock
   scope per network-namespace, thus reducing the lock contention
   significantly in the containerized use-case, comprising:
   - RCU-ified some relevant slices of the FIB control path
   - introduce basic per netns locking helpers
   - namespacified the IPv4 address hash table
   - remove rtnl_register{,_module}() in favour of rtnl_register_many()
   - refactor rtnl_{new,del,set}link() moving as much validation as
     possible out of RTNL lock
   - convert all phonet doit() and dumpit() handlers to RCU
   - convert IPv4 addresses manipulation to per-netns RTNL
   - convert virtual interface creation to per-netns RTNL
   the per-netns lock infra is guarded by the CONFIG_DEBUG_NET_SMALL_RTNL
   knob, disabled by default ad interim.

 - Introduce NAPI suspension, to efficiently switching between busy
   polling (NAPI processing suspended) and normal processing.

 - Migrate the IPv4 routing input, output and control path from direct
   ToS usage to DSCP macros. This is a work in progress to make ECN
   handling consistent and reliable.

 - Add drop reasons support to the IPv4 rotue input path, allowing
   better introspection in case of packets drop.

 - Make FIB seqnum lockless, dropping RTNL protection for read
   access.

 - Make inet{,v6} addresses hashing less predicable.

 - Allow providing timestamp OPT_ID via cmsg, to correlate TX packets
   and timestamps

Things we sprinkled into general kernel code
19 Nov 2024: erofs updates for 6.13-rc1 [+ + +]
Could you consider this pull request for 6.13-rc1?

There is no outstanding feature for this cycle.  The most useful changes
are SEEK_{DATA,HOLE} support and some decompression micro-optimization.
Other than those, there are some bugfixes and cleanups as usual.

All commits have been in -next for a while and no potential merge
conflict is observed.

Thanks,
Gao Xiang

Changes since last update:

 - Add SEEK_{DATA,HOLE} support;

 - Free redundant pclusters if no cached compressed data is valid;

 - Add sysfs entry to drop internal caches;

 - Several bugfixes & cleanups.

19 Nov 2024: media updates [+ + +]

dia/v6.13-1


For:

- removal of the old omap4iss media driver;
- mantis: remove orphan mantis_core.h;
- add support for Raspberypi CFE;
- uvc driver got a co-maintainer;
- main media tree moved to git://linuxtv.org/media.git;
- lots of driver cleanups, updates and fixes.

Regards,
Mauro

media updates for v6.13-rc1

19 Nov 2024: arch/microblaze patches for 6.13-rc1 [+ + +]
please pull these 3 simple patches to your tree.

Thanks,
Michal


Microblaze patches for 6.13-rc1

- Export xmb_manager functions
- Remove empty #ifndef __ASSEMBLY__ statement
- Use str_yes_no() helper in show_cpuinfo()

 
18 Nov 2024: MM updates for 6.13-rc1 [+ + +]
thanks.


I'm not seeing any conflicts at this time.  Upcoming merge issues along
with their linux-next resolutions are as follows:

kernel/auditsc.c, vs security tree:
https://lkml.kernel.org/r/20241014144648.1923104a@canb.auug.org.au

security/lsm_audit.c, vs security tree:
https://lkml.kernel.org/r/20241023123139.127ad800@canb.auug.org.au

arch/arm64/mm/pageattr.c, vs arm tree:
https://lkml.kernel.org/r/20241024103709.082a6950@canb.auug.org.au

include/linux/mm.h, vs arm tree:
https://lkml.kernel.org/r/20241028111058.4419a9ed@canb.auug.org.au

arch/s390/include/asm/set_memory.h and arch/s390/mm/pageattr.c, vs s390
tree:
https://lkml.kernel.org/r/20241028111606.5c009055@canb.auug.org.au

lib/Makefile, vs asm-generic tree:
https://lkml.kernel.org/r/20241029095525.0fba9d23@canb.auug.org.au

arch/arm64/include/asm/mman.h, vs arm64 tree:
https://lkml.kernel.org/r/20241031104247.65c76c00@canb.auug.org.au

drivers/block/zram/zram_drv.c, vs block tree:
https://lkml.kernel.org/r/20241111135241.1640f547@canb.auug.org.au

arch/s390/mm/pageattr.c, vs s390 tree:
https://lkml.kernel.org/r/20241114101639.282d82a8@canb.auug.org.au



- The series "zram: optimal post-processing target selection" from
  Sergey Senozhatsky improves zram's post-processing selection algorithm.
  This leads to improved memory savings.

- Wei Yang has gone to town on the mapletree code, contributing several
  series which clean up the implementation:

- "refine mas_mab_cp()"
- "Reduce the space to be cleared for maple_big_node"
- "maple_tree: simplify mas_push_node()"
- "Following cleanup after introduce mas_wr_store_type()"
- "refine storing null"

- The series "selftests/mm: hugetlb_fault_after_madv improvements" from
  David Hildenbrand fixes this selftest for s390.

- The series "introduce pte_offset_map_{ro|rw}_nolock()" from Qi Zheng
  implements some rationaizations and cleanups in the page mapping code.

- The series "mm: optimize shadow entries removal" from Shakeel Butt
  optimizes the file truncation code by speeding up the handling of shadow
  entries.

- The series "Remove PageKsm()" from Matthew Wilcox completes the
  migration of this flag over to being a folio-based flag.

- The series "Unify hugetlb into arch_get_unmapped_area functions" from
  Oscar Salvador implements a bunch of consolidations and cleanups in the
  hugetlb code.

- The series "Do not shatter hugezeropage on wp-fault" from Dev Jain
  takes away the wp-fault time practice of turning a huge zero page into
  small pages.  Instead we replace the whole thing with a THP.  More
  consistent cleaner and potentiall saves a large number of pagefaults.

- The series "percpu: Add a test case and fix for clang" from Andy
  Shevchenko enhances and fixes the kernel's built in percpu test code.

- The series "mm/mremap: Remove extra vma tree walk" from Liam Howlett
  optimizes mremap() by avoiding doing things which we didn't need to do.

- The series "Improve the tmpfs large folio read performance" from
  Baolin Wang teaches tmpfs to copy data into userspace at the folio size
  rather than as individual pages.  A 20% speedup was observed.

- The series "mm/damon/vaddr: Fix issue in
  damon_va_evenly_split_region()" fro Zheng Yejian fixes DAMON splitting.

- The series "memcg-v1: fully deprecate charge moving" from Shakeel Butt
  removes the long-deprecated memcgv2 charge moving feature.

- The series "fix error handling in mmap_region() and refactor" from
  Lorenzo Stoakes cleanup up some of the mmap() error handling and
  addresses some potential performance issues.

- The series "x86/module: use large ROX pages for text allocations" from
  Mike Rapoport teaches x86 to use large pages for read-only-execute
  module text.

- The series "page allocation tag compression" from Suren Baghdasaryan
  is followon maintenance work for the new page allocation profiling
  feature.

- The series "page->index removals in mm" from Matthew Wilcox remove
  most references to page->index in mm/.  A slow march towards shrinking
  struct page.

- The series "damon/{self,kunit}tests: minor fixups for DAMON debugfs
  interface tests" from Andrew Paniakin performs maintenance work for
  DAMON's self testing code.

- The series "mm: zswap swap-out of large folios" from Kanchana Sridhar
  improves zswap's batching of compression and decompression.  It is a
  step along the way towards using Intel IAA hardware acceleration for
  this zswap operation.

- The series "kasan: migrate the last module test to kunit" from
  Sabyrzhan Tasbolatov completes the migration of the KASAN built-in tests
  over to the KUnit framework.

- The series "implement lightweight guard pages" from Lorenzo Stoakes
  permits userapace to place fault-generating guard pages within a single
  VMA, rather than requiring that multiple VMAs be created for this.
  Improved efficiencies for userspace memory allocators are expected.

- The series "memcg: tracepoint for flushing stats" from JP Kobryn uses
  tracepoints to provide increased visibility into memcg stats flushing
  activity.

- The series "zram: IDLE flag handling fixes" from Sergey Senozhatsky
  fixes a zram buglet which potentially affected performance.

- The series "mm: add more kernel parameters to control mTHP" from
  Ma=EDra Canal enhances our ability to control/configuremultisize THP from
  the kernel boot command line.

- The series "kasan: few improvements on kunit tests" from Sabyrzhan
  Tasbolatov has a couple of fixups for the KASAN KUnit tests.

- The series "mm/list_lru: Split list_lru lock into per-cgroup scope"
  from Kairui Song optimizes list_lru memory utilization when lockdep is
  enabled.

18 Nov 2024: HID for 6.13 [+ + +]
please pull from

nus-2024111801

to receive HID subsystem queue for 6.13 merge window.

Please note: there is one SHA that you might notice was not present in=20
linux-next, and that's e8a0581914bd ("HID: multitouch: make mt_set_mode()=
=20
less cryptic").

The reason for this is that there was a hiccup when merging this patch=20
originally, and the topic branch was based on some random state of the=20
for-next branch, so it contained a lot of unrelated churn. And I've=20
noticed that only now, when preparing the pull request. The end result is=
=20
identical on a code level, but I didn't want to send you the branch with=20
git merge history that makes no sense [1], so I've created [2] instead,=20
and that's the one present in this pull request.

r-6.13/multitouch

Highlights:

=3D=3D=3D=3D=3D
- improvement of the way hid-bpf coexists with specific drivers=20
  (others than hid-generic) that are already bound to devices (Benjamin=20
  Tissoires)
- removal of three way-too-aggressive BUG_ON()s from HID drivers (He=20
  Lugang)
- assorted cleanups and small code fixes to HID core (Dmitry Torokhov, Yan=
=20
  Zhen, Nathan Chancellor, Andy Shevchenko)
- support for Corsair Void headset family (Stuart Hayhurst)
- Support for Goodix GT7986U SPI (Charles Wang)
- initial vendor-specific driver for Kysona, currently adding support for
  Kysona M600 (Lode Willems)
- other assorted code cleanups and small bugfixes all over the place
=3D=3D=3D=3D=3D

Thanks!

18 Nov 2024: Devicetree updates for v6.13 [+ + +]
normal spots in arch/ and sound/ which are some updates to callers of DT 
functions.

Rob


Devicetree updates for v6.13:

Bindings:

- Enable dtc "interrupt_provider" warnings for binding examples.
  Fix the warnings in fsl,mu-msi and ti,sci-inta due to this.

- Convert zii,rave-sp-wdt, zii,rave-sp-pwrbutton,  and
  altr,fpga-passive-serial to DT schema format

- Add some documentation on the different forms of YAML text blocks
  which are a constant source of review comments

- Fix some schema errors in constraints for arrays

- Add compatibles for qcom,sar2130p-pdc and onnn,adt7462

DT core:

- Allow overlay kunit tests to run CONFIG_OF_OVERLAY=n

- Add some warnings on deprecated address handling

- Rework early_init_dt_scan() so the arch can pass in the phys address
  of the DTB as __pa() is not always valid to use. This fixes a warning
  for arm64 with kexec.

- Add and use some new DT graph iterators for iterating over ports and
  endpoints

- Rework reserved-memory handling to be sized dynamically for fixed
  regions

- Optimize of_modalias() to avoid a strlen() call

- Constify struct device_node and property pointers where ever possible

18 Nov 2024: x86/cpu for v6.13 [+ + +]
please pull the x86/cpu lineup for v6.13.

Thx.

---

- Add a feature flag which denotes AMD CPUs supporting workload classification
  with the purpose of using such hints when making scheduling decisions

- Determine the boost enumerator for each AMD core based on its type: efficiency
  or performance, in the cppc driver

- Add the type of a CPU to the topology CPU descriptor with the goal of
  supporting and making decisions based on the type of the respective core

- Add a feature flag to denote AMD cores which have heterogeneous topology and
  enable SD_ASYM_PACKING for those

- Check microcode revisions before disabling PCID on Intel

- Cleanups and fixlets

18 Nov 2024: Kselftest update for Linux 6.13-rc1 [+ + +]
Hi Linus,


kselftest update for Linux 6.13-rc1

-- timers test - removes duplicates defines
-- timers test - fixes to improve error reporting
-- rtc test - adds check rtc alarm status to alarm test
-- resctrl test - adds array overrun checks during iMC config parsing code
-- resctrl test - adds array overflow checks when reading strings
-- resctrl test - fixes and reorganizing code

Looks like I forgot to mention signal test changes in my tag
message. :(

diff is attached.

Tests passed on my kselftest next branch:

- Individual test runs of signal, timers, rtc, and resctrl

thanks,
-- Shuah

linux_kselftest-next-6.13-rc1

kselftest update for Linux 6.13-rc1

-- timers test - removes duplicates defines
-- timers test - fixes to improve error reporting
-- rtc test - adds check rtc alarm status to alarm test
-- resctrl test - adds array overrun checks during iMC config parsing code
-- resctrl test - adds array overflow checks when reading strings
-- resctrl test - fixes and reorganizing code

18 Nov 2024: timers/core for v6.13-rc1 [+ + +]
please pull the latest timers/core branch from:

-11-18

rsus do_exit()


A rather large update for timekeeping and timers:

  - The final step to get rid of auto-rearming posix-timers

    posix-timers are currently auto-rearmed by the kernel when the signal
    of the timer is ignored so that the timer signal can be delivered once
    the corresponding signal is unignored.

    This requires to throttle the timer to prevent a DoS by small intervals
    and keeps the system pointlessly out of low power states for no value.
    This is a long standing non-trivial problem due to the lock order of
    posix-timer lock and the sighand lock along with life time issues as
    the timer and the sigqueue have different life time rules.

    Cure this by:

     * Embedding the sigqueue into the timer struct to have the same life
       time rules. Aside of that this also avoids the lookup of the timer
       in the signal delivery and rearm path as it's just a always valid
       container_of() now.

     * Queuing ignored timer signals onto a seperate ignored list.

     * Moving queued timer signals onto the ignored list when the signal is
       switched to SIG_IGN before it could be delivered.

     * Walking the ignored list when SIG_IGN is lifted and requeue the
       signals to the actual signal lists. This allows the signal delivery
       code to rearm the timer.

    This also required to consolidate the signal delivery rules so they are
    consistent across all situations. With that all self test scenarios
    finally succeed.


  - Core infrastructure for VFS multigrain timestamping

    This is required to allow the kernel to use coarse grained time stamps
    by default and switch to fine grained time stamps when inode attributes
    are actively observed via getattr().

    These changes have been provided to the VFS tree as well, so that the
    VFS specific infrastructure could be built on top.


  - Cleanup and consolidation of the sleep() infrastructure

    * Move all sleep and timeout functions into one file

    * Rework udelay() and ndelay() into proper documented inline functions
      and replace the hardcoded magic numbers by proper defines.

    * Rework the fsleep() implementation to take the reality of the timer
      wheel granularity on different HZ values into account. Right now the
      boundaries are hard coded time ranges which fail to provide the
      requested accuracy on different HZ settings.

    * Update documentation for all sleep/timeout related functions and fix
      up stale documentation links all over the place

    * Fixup a few usage sites


  - Rework of timekeeping and adjtimex(2) to prepare for multiple PTP clocks

    A system can have multiple PTP clocks which are participating in
    seperate and independent PTP clock domains. So far the kernel only
    considers the PTP clock which is based on CLOCK TAI relevant as that's
    the clock which drives the timekeeping adjustments via the various user
    space daemons through adjtimex(2).

    The non TAI based clock domains are accessible via the file descriptor
    based posix clocks, but their usability is very limited. They can't be
    accessed fast as they always go all the way out to the hardware and
    they cannot be utilized in the kernel itself.

    As Time Sensitive Networking (TSN) gains traction it is required to
    provide fast user and kernel space access to these clocks.

    The approach taken is to utilize the timekeeping and adjtimex(2)
    infrastructure to provide this access in a similar way how the kernel
    provides access to clock MONOTONIC, REALTIME etc.

    Instead of creating a duplicated infrastructure this rework converts
    timekeeping and adjtimex(2) into generic functionality which operates
    on pointers to data structures instead of using static variables.

    This allows to provide time accessors and adjtimex(2) functionality for
    the independent PTP clocks in a subsequent step.


  - Consolidate hrtimer initialization

    hrtimers are set up by initializing the data structure and then
    seperately setting the callback function for historical reasons.

    That's an extra unnecessary step and makes Rust support less straight
    forward than it should be.

    Provide a new set of hrtimer_setup*() functions and convert the core
    code and a few usage sites of the less frequently used interfaces over.

    The bulk of the htimer_init() to hrtimer_setup() conversion is already
    prepared and scheduled for the next merge window.


  - Drivers:

    * Ensure that the global timekeeping clocksource is utilizing the
      cluster 0 timer on MIPS multi-cluster systems.

      Otherwise CPUs on different clusters use their cluster specific
      clocksource which is not guaranteed to be synchronized with other
      clusters.

    * Mostly boring cleanups, fixes, improvements and code movement

Thanks,

tglx

18 Nov 2024: timers/vdso for v6.13-rc1 [+ + +]
please pull the latest timers/vdso branch from:

-11-18



First step of consolidating the VDSO data page handling:

  The VDSO data page handling is architecture specific for historical
  reasons, but there is no real technical reason to do so.

  Aside of that VDSO data has become a dump ground for various mechanisms
  and fail to provide a clear separation of the functionalities.

  Clean this up by:

    * consolidating the VDSO page data by getting rid of architecture
      specific warts especially in x86 and PowerPC.

    * removing the last includes of header files which are pulling in other
      headers outside of the VDSO namespace.

    * seperating timekeeping and other VDSO data accordingly.

  Further consolidation of the VDSO page handling is done in subsequent
  changes scheduled for the next merge window.

  This also lays the ground for expanding the VDSO time getters for
  independent PTP clocks in a generic way without making every architecture
  add support seperately.

Thanks,

tglx

18 Nov 2024: core/debugobjects for v6.13-rc1 [+ + +]
please pull the latest core/debugobjects branch from:

s-2024-11-18

eing of objects

A set of changes for debugobjects:

  - Prevent destroying the kmem_cache on early failure.

    Destroying a kmem_cache requires work queues to be set up, but in the
    early failure case they are not yet initializated. So rather leak the
    cache instead of triggering a BUG.

  - Reduce parallel pool fill attempts.

    Refilling the object pool requires to take the global pool lock, which
    causes a massive performance issue when a large number of CPUs attempt
    to refill concurrently. It turns out that it's sufficient to let one
    CPU handle the refill from the to free list and in case there are not
    enough objects on it to allocate new objects from the kmem cache.

    This also splits the free list handling from the actual allocation path
    as that yields better results on RT where allocation is restricted to
    preemptible code paths. The refill from free list has no such
    restrictions.

  - Consolidate the global and the per CPU pools to use the same data
    structure, so all helper functions can be shared.

  - Simplify the object allocation/free logic.

    The allocation/free logic is an incomprehensible maze, which tries to
    utilize the to free list and the global pool in the best way. This all
    can be simplified into a straight forward comprehensible code flow.

  - Convert the allocation/free mechanism to batch mode.

    Transferring objects from the global pool to the per CPU pools or vice
    versa is done by walking the hlist and moving object by object. That
    not only increases the pool lock held time, it also dirties up to 17
    cache lines.

    This can be avoided by storing the pointer to the first object in a
    batch of 16 objects in the objects themself and propagate it through
    the batch when an object is enqueued into a pool or to a temporary
    hlist head on allocation.

    This allows to move batches of objects with at max four cache lines
    dirtied and reduces the pool lock held time and therefore contention
    significantly.

  - Improve the object reusage

    The current implementation is too agressively freeing unused objects,
    which is counterproductive on bursty workloads like a kernel compile.

    Address this by:

    * increasing the per CPU pool size

* refilling the per CPU pool from the to be freed pool when the per
          CPU pool emptied a batch

* keeping track of object usage with a exponentially wheighted
          moving average which prevents the work queue callback to free
          objects prematuraly.

    This combined reduces the allocation/free rate for a full kernel
    compile significantly:

                kmem_cache_alloc()  kmem_cache_free()
    Baseline:   380k                330k
    Improved:   170k                117k

  - A few cleanups and a more cache line friendly layout of debug
    information on top.

Thanks,

tglx

18 Nov 2024: irq/core for v6.13-rc1 [+ + +]
please pull the latest irq/core branch from:

-18

issing

A set of updates for the interrupt subsystem:

  - Tree wide:

    * Make nr_irqs static to the core code and provide accessor functions
      to remove existing and prevent future aliasing problems with local
      variables or function arguments of the same name.

  - Core code:

    * Prevent freeing an interrupt in the devres code which is not managed
      by devres in the first place.

    * Use seq_put_decimal_ull_width() for decimal values output in
      /proc/interrupts which increases performance significantly as it
      avoids parsing the format strings over and over.

    * Optimize raising the timer and hrtimer soft interrupts by using the
      'set bit only' variants instead of the combined version which checks
      whether ksoftirqd should be woken up. The latter is a pointless
      exercise as both soft interrupts are raised in the context of the
      timer interrupt and therefore never wake up ksoftirqd.

    * Delegate timer/hrtimer soft interrupt processing to a dedicated thread
      on RT.

      Timer and hrtimer soft interrupts are always processed in ksoftirqd
      on RT enabled kernels. This can lead to high latencies when other
      soft interrupts are delegated to ksoftirqd as well.

      The separate thread allows to run them seperately under a RT
      scheduling policy to reduce the latency overhead.

  - Drivers:

    * New drivers or extensions of existing drivers to support Renesas
      RZ/V2H(P), Aspeed AST27XX, T-HEAD C900 and ATMEL sam9x7 interrupt
      chips

    * Support for multi-cluster GICs on MIPS.

      MIPS CPUs can come with multiple CPU clusters, where each CPU cluster
      has its own GIC (Generic Interrupt Controller). This requires to
      access the GIC of a remote cluster through a redirect register block.

      This is encapsulated into a set of helper functions to keep the
      complexity out of the actual code paths which handle the GIC details.

    * Support for encrypted guests in the ARM GICV3 ITS driver

      The ITS page needs to be shared with the hypervisor and therefore
      must be decrypted.

    * Small cleanups and fixes all over the place

Thanks,

tglx

18 Nov 2024: KUnit update for Linux 6.13-rc1 [+ + +]
Hi Linus,


kunit update for Linux 6.13-rc1

-- fixes user-after-free (UAF) bug in kunit_init_suite()

-- adds option to kunit tool to print just the summary of test results

-- adds option to kunit tool to print just the failed test results

-- fixes kunit_zalloc_skb() to use user passed in gfp value instead of
    hardcoding GFP_KERNEL

-- fixes kunit_zalloc_skb() kernel doc to include allocation flags variable

diff is attached.

Tests passed on my kunit repo:

- Build make allmodconfig

./tools/testing/kunit/kunit.py run
./tools/testing/kunit/kunit.py run --alltests

./tools/testing/kunit/kunit.py run --arch x86_64
./tools/testing/kunit/kunit.py run --alltests --arch x86_64

thanks,
-- Shuah

linux_kselftest-kunit-6.13-rc1

kunit update for Linux 6.13-rc1

-- fixes user-after-free (UAF) bug in kunit_init_suite()

-- adds option to kunit tool to print just the summary of test results

-- adds option to kunit tool to print just the failed test results

-- fixes kunit_zalloc_skb() to use user passed in gfp value instead of
    hardcoding GFP_KERNEL

-- fixes kunit_zalloc_skb() kernel doc to include allocation flags variable

18 Nov 2024: x86/mm changes for v6.13 [+ + +]



x86/mm changes for v6.13:

 - x86/mm/tlb: Put cpumask_test_cpu() check in switch_mm_irqs_off()
               under CONFIG_DEBUG_VM, to micro-optimize the context-switching
       code (Rik van Riel)

 - x86/mm/doc: Add missing details in virtual memory layout (Kirill A. Shutemov)

 Thanks,

Ingo

18 Nov 2024: x86/splitlock changes for v6.13 [+ + +]



x86/splitlock changes for v6.13:

 - Move Split and Bus lock code to a dedicated file (Ravi Bangoria)
 - Add split/bus lock support for AMD (Ravi Bangoria)

 Thanks,

Ingo

18 Nov 2024: Scheduler changes for v6.13 [+ + +]




Scheduler changes for v6.13:

 - Core facilities:

    - Add the "Lazy preemption" model (CONFIG_PREEMPT_LAZY=y), which optimizes
      fair-class preemption by delaying preemption requests to the
      tick boundary, while working as full preemption for RR/FIFO/DEADLINE
      classes. (Peter Zijlstra)

        - x86:   Enable Lazy preemption (Peter Zijlstra)
        - riscv: Enable Lazy preemption (Jisheng Zhang)

    - Initialize idle tasks only once (Thomas Gleixner)

    - sched/ext: Remove sched_fork() hack (Thomas Gleixner)

 - Fair scheduler:
    - Optimize the PLACE_LAG when se->vlag is zero (Huang Shijie)

 - Idle loop:
      Optimize the generic idle loop by removing unnecessary
      memory barrier (Zhongqiu Han)

 - RSEQ:
    - Improve cache locality of RSEQ concurrency IDs for
      intermittent workloads (Mathieu Desnoyers)

 - Waitqueues:
    - Make wake_up_{bit,var} less fragile (Neil Brown)

 - PSI:
    - Pass enqueue/dequeue flags to psi callbacks directly (Johannes Weiner)

 - Preparatory patches for proxy execution:
    - core: Add move_queued_task_locked helper (Connor O'Brien)
    - core: Consolidate pick_*_task to task_is_pushable helper (Connor O'Brien)
    - core: Split out __schedule() deactivate task logic into a helper (John Stultz)
    - core: Split scheduler and execution contexts (Peter Zijlstra)
    - locking/mutex: Make mutex::wait_lock irq safe (Juri Lelli)
    - locking/mutex: Expose __mutex_owner() (Juri Lelli)
    - locking/mutex: Remove wakeups from under mutex::wait_lock (Peter Zijlstra)

 - Misc fixes and cleanups:
    - core: Remove unused __HAVE_THREAD_FUNCTIONS hook support (David Disseldorp)
    - core: Update the comment for TIF_NEED_RESCHED_LAZY (Sebastian Andrzej Siewior)
    - wait: Remove unused bit_wait_io_timeout (Dr. David Alan Gilbert)
    - fair: remove the DOUBLE_TICK feature (Huang Shijie)
    - fair: fix the comment for PREEMPT_SHORT (Huang Shijie)
    - uclamp: Fix unnused variable warning (Christian Loehle)
    - rt: No PREEMPT_RT=y for all{yes,mod}config

 Thanks,

Ingo

18 Nov 2024: Performance events changes for v6.13 [+ + +]



Performance events changes for v6.13:

 - Uprobes:
    - Add BPF session support (Jiri Olsa)
    - Switch to RCU Tasks Trace flavor for better performance (Andrii Nakryiko)
    - Massively increase uretprobe SMP scalability by SRCU-protecting
      the uretprobe lifetime (Andrii Nakryiko)
    - Kill xol_area->slot_count (Oleg Nesterov)

 - Core facilities:
    - Implement targeted high-frequency profiling by adding the ability
      for an event to "pause" or "resume" AUX area tracing (Adrian Hunter)

 - VM profiling/sampling:
    - Correct perf sampling with guest VMs (Colton Lewis)

 - New hardware support:
    - x86/intel: Add PMU support for Intel ArrowLake-H CPUs (Dapeng Mi)

 - Misc fixes and enhancements:
    - x86/intel/pt: Fix buffer full but size is 0 case (Adrian Hunter)
    - x86/amd: Warn only on new bits set (Breno Leitao)
    - x86/amd/uncore: Avoid a false positive warning about snprintf
                      truncation in amd_uncore_umc_ctx_init (Jean Delvare)
    - uprobes: Re-order struct uprobe_task to save some space (Christophe JAILLET)
    - x86/rapl: Move the pmu allocation out of CPU hotplug (Kan Liang)
    - x86/rapl: Clean up cpumask and hotplug (Kan Liang)
    - uprobes: Deuglify xol_get_insn_slot/xol_free_insn_slot paths (Oleg Nesterov)

 Thanks,

Ingo

18 Nov 2024: Documentation for 6.13 [+ + +]
Another moderately busy cycle in docsland:

- Work on Chinese translations has picked up again.  Happily, they are
  maintaining the existing translations and not just adding new ones.

- Some maintenance of the Japanese and Italian translations as well.

- The removal of the venerable "dontdiff" file.  It has long outlived its
  usefulness and contained entries ("parse.*") that would actively mask
  actual source change.

- The addition of enforcement information to the code-of-conduct
  documentation.

Along with some build-system fixes and a lot of typo and language fixes.

18 Nov 2024: sched_ext: Changes for v6.13 [+ + +]
sched_ext: Change for v6.13

- Improve the default select_cpu() implementation making it topology aware
  and handle WAKE_SYNC better.

- set_arg_maybe_null() was used to inform the verifier which ops args could
  be NULL in a rather hackish way. Use the new __nullable CFI stub tags
  instead.

- On Sapphire Rapids multi-socket systems, a BPF scheduler, by hammering on
  the same queue across sockets, could live-lock the system to the point
  where the system couldn't make reasonable forward progress. This could
  lead to soft-lockup triggered resets or stalling out bypass mode switch
  and thus BPF scheduler ejection for tens of minutes if not hours. After
  trying a number of mitigations, the following set worked reliably:

  - Injecting artificial cpu_relax() loops in two places while sched_ext is
    trying to turn on the bypass mode.

  - Triggering scheduler ejection when soft-lockup detection is imminent (a
    quarter of threshold left).

  While not the prettiest, the impact both in terms of code complexity and
  overhead is minimal.

- A common complaint on the API is the overuse of the word "dispatch" and
  the confusion around "consume". This is due to how the dispatch queues
  became more generic over time. Rename the affected kfuncs for clarity.
  Thanks to BPF's compatibility features, this change can be made in a way
  that's both forward and backward compatible. The compatibility code will
  be dropped in a few releases.

- Pull sched_ext/for-6.12-fixes to receive a prerequisite change. Other misc
  changes.

18 Nov 2024: kgdb changes for v6.13 [+ + +]
kgdb patches for 6.13

A relatively modest collection of changes:

* Adopt kstrtoint() and kstrtol() instead of the simple_strtoXX family
  for better error checking of user input.
* Align the print behavour when breakpoints are enabled and disabled by
  adopting the current behaviour of breakpoint disable for both.
* Remove some of the (rather odd and user hostile) hex fallbacks and
  require kdb users to prefix with 0x instead.
* Tidy up (and fix) control code handling in kdb's keyboard code. This
  makes the control code handling at the keyboard behave the same way
  as it does via the UART.
* Switch my own entry in MAINTAINERS to my @kernel.org address.

Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>

18 Nov 2024: ftrace: Updates for v6.13 [+ + +]

ftrace updates for v6.13:

- Merged tag ftrace-v6.12-rc4

  There was a fix to locking in register_ftrace_graph() for shadow stacks
  that was sent upstream. But this code was also being rewritten, and the
  locking fix was needed. Merging this fix was required to continue the
  work.

- Restructure the function graph shadow stack to prepare it for use with
  kretprobes

  With the goal of merging the shadow stack logic of function graph and
  kretprobes, some more restructuring of the function shadow stack is
  required.

  Move out function graph specific fields from the fgraph infrastructure and
  store it on the new stack variables that can pass data from the entry
  callback to the exit callback.

  Hopefully, with this change, the merge of kretprobes to use fgraph shadow
  stacks will be ready by the next merge window.

- Make shadow stack 4k instead of using PAGE_SIZE.

  Some architectures have very large PAGE_SIZE values which make its use for
  shadow stacks waste a lot of memory.

- Give shadow stacks its own kmem cache.

  When function graph is started, every task on the system gets a shadow
  stack. In the future, shadow stacks may not be 4K in size. Have it have
  its own kmem cache so that whatever size it becomes will still be
  efficient in allocations.

- Initialize profiler graph ops as it will be needed for new updates to fgraph

- Convert to use guard(mutex) for several ftrace and fgraph functions

- Add more comments and documentation

- Show function return address in function graph tracer

  Add an option to show the caller of a function at each entry of the
  function graph tracer, similar to what the function tracer does.

- Abstract out ftrace_regs from being used directly like pt_regs

  ftrace_regs was created to store a partial pt_regs. It holds only the
  registers and stack information to get to the function arguments and
  return values. On several archs, it is simply a wrapper around pt_regs.
  But some users would access ftrace_regs directly to get the pt_regs which
  will not work on all archs. Make ftrace_regs an abstract structure that
  requires all access to its fields be through accessor functions.

- Show how long it takes to do function code modifications

  When code modification for function hooks happen, it always had the time
  recorded in how long it took to do the conversion. But this value was
  never exported. Recently the code was touched due to new ROX modification
  handling that caused a large slow down in doing the modifications and
  had a significant impact on boot times.

  Expose the timings in the dyn_ftrace_total_info file. This file was
  created a while ago to show information about memory usage and such to
  implement dynamic function tracing. It's also an appropriate file to store
  the timings of this modification as well. This will make it easier to see
  the impact of changes to code modification on boot up timings.

- Other clean ups and small fixes


[
  NOTE: Reminder that this has a conflict with the powerpc tree.
  https://lore.kernel.org/all/20241106140414.760b502c@canb.auug.org.au/
]



ftrace-v6.13

18 Nov 2024: cgroup: Changes for v6.13 [+ + +]
cgroup: Changes for v6.13

- cpu.stat now also shows niced CPU time.

- Freezer and cpuset optimizations.

- Other misc changes.

18 Nov 2024: pmdomain updates for v6.13 [+ + +]
Here's the pull-request with the pmdomain updates for v6.13. Details about
the highlights are as usual found in the signed tag.

Note that, this time there is also a signed-tag that I have pulled from Mark's
regulator tree.


Kind regards
Ulf Hansson


pmdomain core:
 - Set the required dev for a required OPP during genpd attach
 - Add support for required OPPs to dev_pm_domain_attach_list()

pmdomain providers:
 - ti: Enable GENPD_FLAG_ACTIVE_WAKEUP flag for ti_sci PM domains
 - mediatek: Add support for MT6735 PM domains
 - mediatek: Use OF-specific regulator API to get power domain supply
 - qcom: Add support for the SM8750/SAR2130P/qcs615/qcs8300 rpmhpds

pmdomain consumers:
 - Convert a couple of consumer drivers to *_pm_domain_attach|detach_list()

opp core:
 - Rework and cleanup some code that manages required OPPs
 - Remove *_opp_attach|detach_genpd()

18 Nov 2024: x86/sev for v6.13 [+ + +]
please pull the SEV lineup for v6.13.

Thx.

---

- Do the proper memory conversion of guest memory in order to be able to kexec
  kernels in SNP guests along with other adjustments and cleanups to that
  effect

- Start converting and moving functionality from the sev-guest driver into
  core code with the purpose of supporting the secure TSC SNP feature where
  the hypervisor cannot influence the TSC exposed to the guest anymore

- Add a "nosnp" cmdline option in order to be able to disable SNP support in
  the hypervisor and thus free-up resources which are not going to be used

- Cleanups

18 Nov 2024: workqueue: Changes for v6.13 [+ + +]
workqueue: Changes for v6.13

- Maximum concurrency limit of 512 which was set a long time ago is too low
  now. A legitimate use (BPF cgroup release) of system_wq could saturate it
  under stress test conditions leading to false dependencies and deadlocks.
  While the offending use was switched to a dedicated workqueue, use the
  opportunity to bump WQ_MAX_ACTIVE four fold and document that system
  workqueue shouldn't be saturated. Workqueue should add at least a warning
  mechanism for cases where system workqueues are saturated.

- Recent workqueue updates to support more flexible execution topology made
  unbound workqueues use per-cpu worker pool frontends which pushed up
  workqueue flush overhead. As consecutive CPUs are likely to be pointing to
  the same worker pool, reduce overhead by switching locks only when
  necessary.

18 Nov 2024: x86/platform for v6.13 [+ + +]
please a single x86/platform cleanup for v6.13.

Thx.

---

- Replace deprecated PCI functions used in intel-mid

18 Nov 2024: x86/microcode for v6.13 [+ + +]
please pull a single microcode loader optimization for v6.13.

Thx.

---

- Remove the unconditional cache writeback and invalidation after loading the
  microcode patch on Intel as this was addressing a microcode bug for which
  there is a concrete microcode revision check instead

18 Nov 2024: x86/cache for v6.13 [+ + +]
please pull the x86/cache lineup for v6.13.

Thx.

---

- Add support for 6-node sub-NUMA clustering on Intel

- Cleanup

18 Nov 2024: printk for 6.13 [+ + +]
please pull the latest printk changes from



- Print more precise information about the printk log buffer memory usage.

- Make sure that the sysrq title is shown on the console even
  when deferred.

- Do not enable earlycon by `console=` which is meant to disable
  the default console.

18 Nov 2024: SPI updates for v6.13 [+ + +]
spi: Updates for v6.13

The only real core work we've got this time around is the completion of
the transition to the new host/target naming for the core APIs, Kconfig
still needs doing but that's a lot less invasive.  Otherwise the big
changes are the new drivers that have been added:

 - Completion of the conversion to spi_alloc_host()/_target() and
   removal of the old naming.
 - Cleanups for Rockchip drivers, these brought in a new logging helper
   in the driver core for warnings during probe.
 - Support for configuration of the word delay via spidev_test.
 - Support for AMD HID2 controllers, Apple SPI controller and Realtek
   SPI-NAND controllers.

The Rockchip cleanups

18 Nov 2024: regmap updates for v6.13 [+ + +]
regmap: Updates for v6.13

The main thing for regmap this time around is some improvements of the
lockdep annotations which stop some false positives.  We also have one
new helper for setting a bitmask to the same value, and several test
improvements.

18 Nov 2024: regulator updates for v6.13 [+ + +]
regulator: Updates for v6.13

This was a quite quiet release for regulators on the drivers front, but
we do have two small but useful core improvements:

 - Improve handling of cases where DT platforms specify both DT and
   init_data based configuration for a single regulator.
 - A helper of_regulator_get_optional() to simplify writing generic
   bindings for regulator consumers in subsystems.

There's also some YAML conversions for the DT bindings which are a big
part of the diffstat.

18 Nov 2024: MMC and MEMSTICK updates for v6.13 [+ + +]
Here's the pull-request with updates for MMC and MEMSTICK for v6.13. Details
about the highlights are as usual found in the signed tag.


Kind regards
Ulf Hansson


MMC core:
 - Add support for Ultra Capacity SD cards (SDUC, 2TB to 128TB)
 - Add support for Ultra High-Speed II SD cards (UHS-II)
 - Use a reset control for pwrseq_simple
 - Add SD card quirk for broken poweroff notification
 - Use GFP_NOIO for SD ACMD22

MMC host:
 - bcm2835: Introduce proper clock handling
 - mtk-sd: Add support for the Host-Software-Queue interface
 - mtk-sd: Add support for the mt7988/mt8196 variants
 - mtk-sd: Fix a couple of error paths in ->probe()
 - sdhci: Add interface to support UHS-II SD cards
 - sdhci_am654: Fixup support for changing the signal voltage level
 - sdhci-cadence: Add support for the Microchip PIC64GX variant
 - sdhci-esdhc-imx: Add support for eMMC HW-reset
 - sdhci-msm: Add support for the X1E80100/IPQ5424/SAR2130P/QCS615 variants
 - sdhci-of-arasan: Add support for eMMC HW-reset
 - sdhci-pci-gli: Add UHS-II support for the GL9767/GL9755 variants

MEMSTICK:
 - A couple of minor updates

18 Nov 2024: power sequencing updates for v6.13-rc1 [+ + +]
From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>


The first commit makes the QCom WCN pwrseq driver depend on CONFIG_OF and
the second extends its support for the wcn6855 BT/WLAN chip.

Best Regards,
Bartosz Golaszewski

power sequencing updates for v6.13-rc1

- extend support for the wcn6855 model in the pwrseq-qcom-wcn driver
- make this driver depend on CONFIG_OF=y as it uses some very
  OF-specific interfaces and depends on phandle parsing

18 Nov 2024: livepatching for 6.13 [+ + +]
please pull the latest changes for the kernel livepatching from



- A new selftest for livepatching of a kprobed function.

18 Nov 2024: RAS updates for v6.13 [+ + +]
please pull the RAS updates for v6.13.

Thx.

---

- Log and handle twp new AMD-specific MCA registers: SYND1 and SYND2 and
  report the Field Replaceable Unit text info reported through them

- Add support for handling variable-sized SMCA BERT records

- Add the capability for reporting vendor-specific RAS error info without
  adding vendor-specific fields to struct mce

- Cleanups

18 Nov 2024: gpio updates for v6.13-rc1 [+ + +]
From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>


Here's the majority of changes for this merge window from the GPIO subsystem.

We have three new drivers, support for some new models in existing ones and
lots of various tweaks and improvements across the board (switching to using
recommended APIs, code shrink and simplification, etc.).

We also have a new feature in the character device uAPI where we now notify
the user-space about changes triggered by in-kernel users as well, not only
when they were done by other user-space agents.

Details are in the signed tag as usual.

The merge commits you'll see here were done to pull Intel changes from Andy,
MFD dependencies from Lee and to pull back upstream fixes to avoid conflicts.

The non-gpio commits in this PR are either pulled from the MFD tree or were
acked by relevant maintainers and concern the removal of a deprecated GPIO
symbol from various drivers across the kernel tree.

I will be picking up some more fixes over the course of this week so there'll
be another small PR in the second week.


Best Regards,
Bartosz Golaszewski

gpio updates for v6.13-rc1

GPIOLIB core:
- use the new mem_is_zero() instead of memchr_inv(s, 0, n)
- don't store debounce period twice needlessly
- clean-up debugfs handling
- remove leftover comments referring to no longer used spinlocks
- unduplicate some operations like SRCU locks and initializing GPIO descriptors
- constify the sysfs class struct
- use lock guards in GPIO sysfs code
- update GPIO uAPI internal flags all at once atomically for consistency with
  other places
- modify the behavior of the sysfs interface by no longer exporting lines that
  are named inside the driver code or board files with the sysfs links bearing
  the line names as this has for many years been largely unused due to the
  prevalence of DT, ACPI and firmware nodes over board files and made the API
  inconsistent
- for GPIO interrupt providers: free irqs that are still requested by users
  when removing the chip

GPIO uAPI:
- notify user-space about changes to GPIO lines' state (requested, released,
  reconfigured) triggered from the kernel as well (until now we'd only do
  this for changes triggered from user-space)
- to that end: modify the internal workings of the notification mechanism by
  switching to an atomic notifier which allows us to send events from atomic
  context
- also to that end store the debounce period in the GPIO descriptor struct
  and not in the character device context struct
- while at it, also cover the corner-case of users introducing changes over
  sysfs while others watch them via the character device
- don't report GPIO lines requested as interrupts as "used" to user-space as it
  can still request them as GPIOs

New drivers:
- add a driver for the GPIO functionality of the MFD Congatec Board Controller
- add a driver for the PolarFire GPIO controller
- add a driver supporting the GPIOs on FTDI FT2232H

Driver improvements:
- use generic device property accessors instead of OF-specific ones across
  many GPIO drivers (mpc8xxx, vf610, eic-sprd, davinci, ts4900, xilinx, mvebu)
- use devres helpers to simplify error paths and either shrink or entirely
  remove the driver's remove() callback (grgpio, amdpt, menz127, max730x,
  ftgpio010, 74x164, ljca)
- use helper variables to store the address of pdev->dev and avoid some
  line-breaks
- use device_for_each_child_node_scoped() to avoid having to put the fwnode
  on breaks or errors (gpio-sim, gpio-dwapb, gpiolib-acpi)
- use a scoped bitmap to simplify the code and drop goto labels in
  gpio-aggregator
- drop unneeded Kconfig dependencies on OF_GPIO (grgpio, mveby, xilinx)
- add support for new models to gpio-aspeed, gpio-rockchip and gpio-dwapb
- clean-up ACPI handling and some other bits in gpio-xgene-sb
- replace deprecated PCI functions in pcie-idio-24 and pci-idio-16
- allow to build davinci and mvebu drivers with COMPILE_TEST=y
- remove dead code in gpio-mb86s7x
- switch back to using platform_driver::remove() (after the conversion to
  remove_new()) across the GPIO drivers
- remove remaining uses of GPIOF_ACTIVE_LOW across the tree and drop this
  deprecated symbol
- convert the gpio-altera driver to no longer pull in the deprecated
  legacy-of-mm-gpiochip.h header
- use of_property_present() instead of of_property_read_bool() in gpiolib-of
  and gpio-rockchip
- allow to build the tegra186 driver on Tegra234 platforms in Kconfig

Late fixes:
- add a missing return value check after devm_kasprintf() to gpio-grgpio

DT bindings:
- document the ngpios property of gpio-mmio
- add support for a new aspeed model
- fix the example for st,nomadik-gpio

Other:
- kernel doc and comments tweaks
- fix typos in TODO
- reorder headers alphabetically in some drivers
- fix incorrect format specifiers in gpio tools

18 Nov 2024: m68k updates for v6.13 [+ + +]
m68k updates for v6.13

  - Revive SCSI and early console support on MVME147,
  - Fix early kernel parameters using static keys,
  - Prevent and improve handling of kernel configurations that lack
    specific platform, CPU, or MMU support, to avoid build failures,
  - Miscellaneous fixes and improvements,
  - Defconfig updates.

Thanks for pulling!

18 Nov 2024: ext4 updates for v6.13-rc1 [+ + +]
A lot of miscellaneous ext4 bug fixes and cleanups this cycle, most
notably in the journaling code, bufered I/O, and compiler warning
cleanups.

18 Nov 2024: EDAC updates for v6.13 [+ + +]
please pull the EDAC pile for v6.13.

Thx.

---

- Add support for Bluefield-2 SOCs to bluefield_edac

- Add support for Intel Panther Lake-H to igen6_edac

- Add polling support to igen6_edac as some Intel M100 chips have trouble with
  error interrupts

- Add Kaby Lake-S support to ie31200_edac

- Fix memory source detection in the SKX common module which is used by
  a couple of Intel EDAC drivers

- Add support for the NXP i.MX9 memory controller to fsl_edac

- The usual fixes and cleanups all over the place

18 Nov 2024: thermal drivers for v6.13-rc1 [+ + +]
Hi Rafael,

please consider the following changes since commit 
c285b11e289dbe8973735ab8dc84210bde417673:

   Merge back thermal control material for 6.13 (2024-11-11 15:20:44 +0100)

are available in the Git repository at:

  
ssh://git@gitolite.kernel.org/pub/scm/linux/kernel/git/thermal/linux.git 
tags/thermal-v6.13-rc1

for you to fetch changes up to d303e3dd8d4648f2a1bb19944d4fb1c4a5030354:

   tools/thermal: Fix common realloc mistake (2024-11-15 14:29:03 +0100)

- Add the SAR2130P compatible in the DT bindings for the QCom Tsens
   driver (Dmitry Baryshkov)

- Add the static annotation to the arrays describing the platform
   sensors on the LVTS Mediatek driver (Colin Ian King)

- Switch back to the struct platform_driver::remove() from the
   previous callbacks prototype rework (Uwe Kleine-König)

- Add the MSM8937 compatible in the DT bindings and its support in the
   QCom Tsens driver (Barnabás Czémán)

- Remove a pointless sign test on an unsigned value in
   k3_bgp_read_temp() function on the k3_j72xx_bandgap driver (Rex Nie)

- Fix a pointer reference lost when the call to realloc() fails in the
   thermal library (Zhang Jiao)

18 Nov 2024: ACPI updates for v6.13-rc1 [+ + +]

 acpi-6.13-rc1


 Merge branch 'acpi-misc'


 Linux 6.12-rc7

to receive ACPI updates for 6.13-rc1.

These include a couple of fixes, a new ACPI backlight quirk for Apple
MacbookPro11,2 and Air7,2 and a bunch of cleanups:

 - Fix _CPC register setting issue for registers located in memory in
   the ACPI CPPC library code (Lifeng Zheng).

 - Use DEFINE_SIMPLE_DEV_PM_OPS in the ACPI battery driver, make it use
   devm_ for initializing mutexes and allocating driver data, and make
   it check the register_pm_notifier() return value (Thomas Wei=C3=9Fschuh,
   Andy Shevchenko).

 - Make the ACPI EC driver support compile-time conditional and allow
   ACPI to be built without CONFIG_HAS_IOPORT (Arnd Bergmann).

 - Remove a redundant error check from the pfr_telemetry driver (Colin
   Ian King).

 - Rearrange the processor_perflib code in the ACPI processor driver
   to avoid compiling x86-specific code on other architectures (Arnd
   Bergmann).

 - Add adev NULL check to acpi_quirk_skip_serdev_enumeration() and
   make UART skip quirks work on PCI UARTs without an UID (Hans de
   Goede).

 - Force native backlight handling Apple MacbookPro11,2 and Air7,2 in
   the ACPI video driver (Jonathan Denose).

 - Switch several ACPI platform drivers back to using struct
   platform_driver::remove() (Uwe Kleine-K=C3=B6nig).

 - Replace strcpy() with strscpy() in multiple places in the ACPI
   subsystem (Muhammad Qasim Abdul Majeed, Abdul Rahim).

Thanks!



18 Nov 2024: Thermal control updates for v6.13-rc1 [+ + +]

 thermal-6.13-rc1


 thermal: testing: Initialize some variables annoteded with _free()


 Merge tag 'thermal-v6.12-rc7' of
ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/thermal/linux

to receive thermal control updates for 6.13-rc1.

These are thermal core changes, including the addition of support for
temperature thresholds that can be set from user space, fixes related
to thermal zone initialization, suspend/resume and exit, locking rework
and rearrangement of the code handling thermal zone temperature updates.

Specifics:

 - Add support for thermal thresholds that can be added and removed from
   user space via netlink along with a related library update (Daniel
   Lezcano).

 - Fix thermal zone initialization, suspend/resume and exit
   synchronization issues (Rafael Wysocki).

 - Rearrange locking in the thermal core to use guards (Rafael Wysocki).

 - Make the code handling thermal zone temperature updates use sorted
   lists of trip points to reduce the number of trip points table walks
   in the thermal core (Rafael Wysocki).

 - Fix and clean up the thermal testing facility code (Rafael Wysocki).

 - Fix a Power Allocator thermal governor issue (ZhengShaobo).

Thanks!



18 Nov 2024: objtool changes for v6.13 [+ + +]




Objtool changes for v6.13:

 - Detect non-relocated text references for more robust
   IBT sealing (Josh Poimboeuf)

 - Fix build error when building stripped down
   UAPI headers (HONG Yifan)

 - Exclude __tracepoints data from ENDBR checks to fix
   false positives on clang builds (Peter Zijlstra)

 - Fix ORC unwind for newly forked tasks (Zheng Yejian)

 - Fix readelf related faddr2line regression (Carlos Llamas)

 Thanks,

Ingo

18 Nov 2024: Power management updates for v6.13-rc1 [+ + +]

 pm-6.13-rc1


 Merge branch 'pm-tools'


 cpufreq: intel_pstate: Rearrange locking in hybrid_init_cpu_capacity_scali=
ng()

to receive power management updates for 6.13-rc1.

The amd-pstate cpufreq driver gets the majority of changes this time.
They are mostly fixes and cleanups, but one of them causes it to become
the default cpufreq driver on some AMD server platforms.

Apart from that, the menu cpuidle governor is modified to not use iowait
any more, the intel_idle gets a custom C-states table for Granite Rapids
Xeon D, and the intel_pstate driver will use a more aggressive Balance-
performance default EPP value on Granite Rapids now.

There are also some fixes, cleanups and tooling updates.

Specifics:

 - Update the amd-pstate driver to set the initial scaling frequency
   policy lower bound to be the lowest non-linear frequency (Dhananjay
   Ugwekar).

 - Enable amd-pstate by default on servers starting with newer AMD Epyc
   processors (Swapnil Sapkal).

 - Align more codepaths between shared memory and MSR designs in
   amd-pstate (Dhananjay Ugwekar).

 - Clean up amd-pstate code to rename functions and remove redundant
   calls (Dhananjay Ugwekar, Mario Limonciello).

 - Do other assorted fixes and cleanups in amd-pstate (Dhananjay Ugwekar
   and Mario Limonciello).

 - Change the Balance-performance EPP value for Granite Rapids in the
   intel_pstate driver to a more performance-biased one (Srinivas
   Pandruvada).

 - Simplify MSR read on the boot CPU in the ACPI cpufreq driver (Chang
   S. Bae).

 - Ensure sugov_eas_rebuild_sd() is always called when sugov_init()
   succeeds to always enforce sched domains rebuild in case EAS needs
   to be enabled (Christian Loehle).

 - Switch cpufreq back to platform_driver::remove() (Uwe Kleine-K=C3=B6nig)=
.

 - Use proper frequency unit names in cpufreq (Marcin Juszkiewicz).

 - Add a built-in idle states table for Granite Rapids Xeon D to the
   intel_idle driver (Artem Bityutskiy).

 - Fix some typos in comments in the cpuidle core and drivers (Shen
   Lichuan).

 - Remove iowait influence from the menu cpuidle governor (Christian
   Loehle).

 - Add min/max available performance state limits to the Energy Model
   management code (Lukasz Luba).

 - Update pm-graph to v5.13 (Todd Brandt).

 - Add documentation for some recently introduced cpupower utility
   options (Tor Vic).

 - Make cpupower inform users where cpufreq-bench.conf should be located
   when opening it fails (Peng Fan).

 - Allow overriding cross-compiling env params in cpupower (Peng Fan).

 - Add compile_commands.json to .gitignore in cpupower (John B. Wyatt
   IV).

 - Improve disable c_state block in cpupower bindings and add a test to
   confirm that CPU state is disabled to it (John B. Wyatt IV).

 - Add Chinese Simplified translation to cpupower (Kieran Moy).

 - Add checks for xgettext and msgfmt to cpupower (Siddharth Menon).

Thanks!



18 Nov 2024: arm64 updates for 6.13-rc1 [+ + +]
Here are the arm64 updates for 6.13. The major features are support to
run Linux in a protected VM (a.k.a. realm) under the Arm CCA and the
user Guarded Control Stack (GCS). There are a few smaller scale
additions for in-kernel memcpy instructions, MTE hugetlbfs support,
optimised CRC32, non-leaf pmd_young(), the usual perf/PMU updates and
various fixes and cleanups. We are also introducing HWCAP3 as we'll
likely run out of HWCAP2 bits in a year or so.

There's a trivial conflict with mainline due to a recent upstream fix:
commit 5baf8b037deb ("mm: refactor arch_calc_vm_flag_bits() and arm64
MTE handling") and the MTE hugetlbfs support. My fixup:

arm64 updates for 6.13:

* Support for running Linux in a protected VM under the Arm Confidential
  Compute Architecture (CCA)

* Guarded Control Stack user-space support. Current patches follow the
  x86 ABI of implicitly creating a shadow stack on clone(). Subsequent
  patches (already on the list) will add support for clone3() allowing
  finer-grained control of the shadow stack size and placement from libc

* AT_HWCAP3 support (not running out of HWCAP2 bits yet but we are
  getting close with the upcoming dpISA support)

* Other arch features:

  - In-kernel use of the memcpy instructions, FEAT_MOPS (previously only
    exposed to user; uaccess support not merged yet)

  - MTE: hugetlbfs support and the corresponding kselftests

  - Optimise CRC32 using the PMULL instructions

  - Support for FEAT_HAFT enabling ARCH_HAS_NONLEAF_PMD_YOUNG

  - Optimise the kernel TLB flushing to use the range operations

  - POE/pkey (permission overlays): further cleanups after bringing the
    signal handler in line with the x86 behaviour for 6.12

* arm64 perf updates:

  - Support for the NXP i.MX91 PMU in the existing IMX driver

  - Support for Ampere SoCs in the Designware PCIe PMU driver

  - Support for Marvell's 'PEM' PCIe PMU present in the 'Odyssey' SoC

  - Support for Samsung's 'Mongoose' CPU PMU

  - Support for PMUv3.9 finer-grained userspace counter access control

  - Switch back to platform_driver::remove() now that it returns 'void'

  - Add some missing events for the CXL PMU driver

* Miscellaneous arm64 fixes/cleanups:

  - Page table accessors cleanup: type updates, drop unused macros,
    reorganise arch_make_huge_pte() and clean up pte_mkcont(), sanity
    check addresses before runtime P4D/PUD folding

  - Command line override for ID_AA64MMFR0_EL1.ECV (advertising the
    FEAT_ECV for the generic timers) allowing Linux to boot with
    firmware deployments that don't set SCTLR_EL3.ECVEn

  - ACPI/arm64: tighten the check for the array of platform timer
    structures and adjust the error handling procedure in
    gtdt_parse_timer_block()

  - Optimise the cache flush for the uprobes xol slot (skip if no
    change) and other uprobes/kprobes cleanups

  - Fix the context switching of tpidrro_el0 when kpti is enabled

  - Dynamic shadow call stack fixes

  - Sysreg updates

  - Various arm64 kselftest improvements

18 Nov 2024: pwm: Changes for 6.13-rc1 [+ + +]
Subject: [GIT PULL] pwm: Changes for 6.13-rc1
MIME-Version: 1.0

Hello Linus,

pwm: Changes for v6.13-rc1

This pull request prominently contains a new abstraction for PWM
waveforms that is more expressive that the legacy one. Compared to the
old abstraction it contains a duty_offset member instead of polarity.
This new abstraction is already used in an ADC driver merged into the
iio tree. So I expect you will get a part of this tree also via the iio
pull request for 6.13-rc1 (tag pwm/duty_offset-for-6.13-rc1).

Otherwise it's the usual collection of fixes, cleanups and dt doc
updates.

This time around thanks go to Andy Shevchenko, Clark Wang, Conor Dooley,
David Lechner, Dimitri Fedrau, Frank Li, Jun Li, Kelvin Zhang, Krzysztof
Kozlowski, Nuno Sa, Shen Lichuan and Trevor Gamblin for code
contributions, testing and review.

18 Nov 2024: RCU changes for v6.13 [+ + +]
RCU pull request for v6.13

SRCU:

- Introduction of the new SRCU-lite flavour with a new pair of
  srcu_read_[un]lock_lite() APIs. In practice the read side using
  this flavour becomes lighter by removing a full memory barrier on
  LOCK and a full memory barrier on UNLOCK. This comes at the
  expense of a higher latency write side with two (in the best case
  of a snaphot of unused read-sides) or more RCU grace periods on
  the update side which now assumes by itself the whole full
  ordering guarantee against the LOCK/UNLOCK counters on both
  indexes, along with the accesses performed inside.

  Uretprobes is a known potential user.

  Note this doesn't replace the default normal flavour of SRCU which
  still behaves the same as usual.

- Add testing of SRCU-lite through rcutorture and rcuscale

- Various cleanups on the way.

FIXES:

- Allow short-circuiting RCU-TASKS-RUDE grace periods on architectures
  that have sane noinstr boundaries forbidding tracing on low-level
  idle and kernel entry code. RCU-TASKS is enough on such configurations
  because it involves an RCU grace period that waits for all idle
  tasks to either schedule out voluntarily or enter into RCU
  unwatched noinstr code.

- Allow and test start_poll_synchronize_rcu() with IRQs disabled.

- Mention rcuog kthreads in relevant documentation and Kconfig help

- Various fixes and consolidations

RCUTORTURE:

- Add --no-affinity on tools to leave the affinity setting of guests
  up to the user.

- Add guest_os_delay parameter to rcuscale for better warm-up
  control.

- Fix and improve some rcuscale error handling.

- Various cleanups and fixes

STALL:

- Remove dead code

- Stop dumping tasks if a stalled grace period eventually ended
  midway as that only produces confusing output.

- Optimize detection of stalling CPUs and avoid useless node
  locking otherwise.

NOCB:

- Fix rcu_barrier() hang due to a race against callbacks
  deoffloading. This is not yet used, except by rcutorture, and
  waits for its promised cpusets interface.

- Remove leftover function declaration

18 Nov 2024: KCSAN updates for v6.13 [+ + +]

Many thanks,
-- Marco

------ >8 ------

Kernel Concurrency Sanitizer (KCSAN) updates for v6.13

- Fixes to make KCSAN compatible with PREEMPT_RT

- Minor cleanups

All changes have been in linux-next for the past 4 weeks.

18 Nov 2024: locking changes for v6.13 [+ + +]



Locking changes for v6.13 are:

 - lockdep:
    - Enable PROVE_RAW_LOCK_NESTING with PROVE_LOCKING (Sebastian Andrzej Siewior)
    - Add lockdep_cleanup_dead_cpu() (David Woodhouse)

 - futexes:
    - Use atomic64_inc_return() in get_inode_sequence_number() (Uros Bizjak)
    - Use atomic64_try_cmpxchg_relaxed() in get_inode_sequence_number() (Uros Bizjak)

 - RT locking:
    - Add sparse annotation PREEMPT_RT's locking (Sebastian Andrzej Siewior)

 - spinlocks:
    - Use atomic_try_cmpxchg_release() in osq_unlock() (Uros Bizjak)

 - atomics:
    - x86: Use ALT_OUTPUT_SP() for __alternative_atomic64() (Uros Bizjak)
    - x86: Use ALT_OUTPUT_SP() for __arch_{,try_}cmpxchg64_emu() (Uros Bizjak)

 - KCSAN, seqlocks:
    - Support seqcount_latch_t (Marco Elver)

 - <linux/cleanup.h>:
    - Add if_not_cond_guard() conditional guard helper (David Lechner)
    - Adjust scoped_guard() macros to avoid potential warning (Przemek Kitszel)
    - Remove address space of returned pointer (Uros Bizjak)

 - WW mutexes:
    - locking/ww_mutex: Adjust to lockdep nest_lock requirements (Thomas Hellström)

 - Rust integration:
    - Fix raw_spin_lock initialization on PREEMPT_RT (Eder Zulian)

 - miscellaneous cleanups & fixes:
    - lockdep: Fix wait-type check related warnings (Ahmed Ehab)
    - lockdep: Use info level for initial info messages (Jiri Slaby)
    - spinlocks: Make __raw_* lock ops static (Geert Uytterhoeven)
    - pvqspinlock: Convert fields of 'enum vcpu_state' to uppercase (Qiuxu Zhuo)
    - iio: magnetometer: Fix if () scoped_guard() formatting (Stephen Rothwell)
    - rtmutex: Fix misleading comment (Peter Zijlstra)
    - percpu-rw-semaphores: Fix grammar in percpu-rw-semaphore.rst (Xiu Jianfeng)

 Thanks,

Ingo

18 Nov 2024: MIPS changes for v6.13 [+ + +]
just cleanups and fixes

18 Nov 2024: probes: Updates for v6.13 [+ + +]
Probes update for v6.13:

Kprobes cleanups. Functionality does not change.
- kprobes: Cleanup the config comment
  Adjust #endif comments.
- kprobes: Cleanup collect_one_slot() and __disable_kprobe()
  Make fail fast to reduce code nested level.
- kprobes: Use struct_size() in __get_insn_slot()
  Use struct_size() to avoid special macro.
- x86/kprobes: Cleanup kprobes on ftrace code
  Use macro instead of direct field access/magic number, and avoid
  redundant instruction pointer setting.




probes-v6.13

 
17 Nov 2024: hwmon updates for v6.13-rc1 [+ + +]


Thanks,
Guenter
------

hmon updates for v6.13-rc1

* New drivers

  - ISL28022 power monitor

  - Nuvoton NCT7363Y

* Added support for new chips to existing drivers

  - The tmp180 driver now supports NXP p3t1085, including its I3C mode

  - The ina2xx driver now supports SY24655 and INA260

  - The amc6821 driver now supports tsd,mule

* Other notable improvements

  - The sht4x driver now supports the chip heater

  - The pmbus/isl68137 driver now supports a voltage divider on Vout

  - The cros_ec driver registers with the thermal framework

  - The pmbus/ltc2978 driver now supports LTC7841

  - The PMBus core now allow drivers to override WRITE_PROTECT

* Various other minor improvements and cleanups

 
18 Nov 2024: random number generator updates for 6.13-rc1 [+ + +]
This pull request contains a single series from Uros to replace uses of
#include <linux/random.h> with prandom.h or other more specific headers, as
needed, in order to avoid a circular header issue. Uros' goal is to be able to
use percpu.h from prandom.h, which will then allow him to define __percpu in
percpu.h rather than in compiler_types.h.

This has been sitting in next for most of the 6.12 cycle.


Thanks,
Jason

Random number generator updates for Linux 6.13-rc1.
18 Nov 2024: chrome-platform-firmware changes for v6.13 [+ + +]

chrome platform firmware changes for 6.13

* Fixes

  - Do not double register "simple-framebuffer" platform device if
    Generic System Framebuffers (sysfb) already did that.
  - Fix a missing of unregistering platform driver in error handling
    path.

18 Nov 2024: chrome-platform changes for v6.13 [+ + +]

chrome platform changes for 6.13

* Fixes

  - Fix a leak of fwnode refcount.

* Cleanups

  - Drop unused I2C driver data.
  - Move back from platform_driver::remove_new() to
    platform_driver::remove().

 
17 Nov 2024: scftorture changes for v6.13 [+ + +]
Once the v6.13 merge window opens, please pull these scftorture changes
from:


scftorture changes for v6.13

oAvoid divide operation.

oFix cleanup code waiting for IPI handlers.

oMove memory allocations out of preempt-disable region of code
for PREEMPT_RT compatibility.

oUse a lockless list to avoid freeing memory while interrupts
are disabled, again for PREEMPT_RT compatibility.

oMake lockless list scf_add_to_free_list() correctly handle
freeing a NULL pointer.

17 Nov 2024: nolibc changes for v6.13 [+ + +]
Once the v6.13 merge window opens, please pull the latest nolibc
changes from:


nolibc changes for 6.13

Changes
-------

* Fix potential error due to missing #include on s390
* Compatibility with -Wmissing-fallthrough
* Run qemu with more memory during tests

17 Nov 2024: CSD-lock changes for v6.13 [+ + +]
When the v6.13 merge window opens, please pull this CSD-lock update from:


CSD-lock diagnostic updates for v6.13

This commit switches from sched_clock() to ktime_get_mono_fast_ns(), which
on x86 switches from the rdtsc instruction to the rdtscp instruction,
thus avoiding instruction reorderings that cause false-positive reports
of CSD-lock stalls of almost 2^46 nanoseconds.  These false positives
are rare, but really are seen in the wild.

17 Nov 2024: i2c-host for v6.13, part 1 [+ + +]
Hi Wolfram,

I'm a bit late with this pull request as I've been extremely
busy over the last couple of weeks.

I've checked the tag description multiple times to ensure it
won't upset our big boss :-) I hope I've struck the right
balance — descriptive but not overly so. Please feel free to
suggest or recommend any changes.

As I mentioned earlier, I'm slightly behind on reviews and
merges. Thank you for allowing a pull request in the middle of
the merge window (likely next Saturday or Sunday).

In the meantime, if anyone needs me to take a closer look at
anything I've missed, don't hesitate to ping me on those or
reach out privately.

Thank you,
Andi

i2c-host updates for v6.13, part 1

Improvements and Refactoring:

 - All controllers using the 'remove_new' callback have been
   reverted to use the 'remove' callback.

 - Makefile improvements (switched from '*-objs' to '*-y')

 - Intel SCH controller underwent significant refactoring:
   - Improved usage of private data references.
   - Transitioned to memory-mapped I/O functions.
   - Adopted 'devm' functions for resource management.
   - Added kernel-doc compatible comments.
   - Used 'const' where applicable.
   - Numerous smaller refinements.
   This brings love and a modern look to the driver.

 - Additional cleanups in the DesignWare driver.

 - PIIX4 driver updates:
   - Exposed functions and definitions in the header file to
     enable usage by other drivers (e.g., AMD ASF).

 - Nuvoton NPCM I2C controller:
   - Enhanced read/write operations and bus error (BER) flag
     management to address corner cases that could lead to
     timeouts.

 - Qualcomm CCI driver received several cleanups.

 - iMX/MXC:
   - Improved message handling to reduce I2C protocol overhead.
   - Refactored DMA/non-DMA read/write and bus polling mechanisms
     to achieve this.

New Features:

 - i2c-cadence:
   - Added support for atomic transfers.
   - Refactored to group generic code into separate functions.

 - Qualcomm CCI:
   - Added support for a 32MHz serial engine clock.

 - Added support for:
   - HJMC01 DesignWare ACPI HID.
   - ACPI documentation for PIIX4.

Deprecated Features:

 - Dropped support for AMD756 S4882 and NFORCE2 S4985.

New Hardware Support:

 - Added support for:
   - Intel Panther Lake.
   - AMD ASF.
   - S32G2/S32G3 SoCs.
   - Realtek RTL I2C Controller.

 - New drivers:
   - 'i2c-amd-asf-plat.c' for AMD ASF.
   - 'i2c-rtl9300.c' for Realtek RTL.

Fixes:

 - AMD ASF driver:
   - Fixed an uninitialised 'len' variable.

Devicetree Updates:

 - Documented Qualcomm SDM670.
 - Added 'PIC64GX' compatibility to Microchip Core I2C binding.
 - Added support for S32G.

 
15 Nov 2024: xen: branch for v6.13-rc1 [+ + +]
Please git pull the following tag:


xen: branch for v6.13-rc1

It contains:

- a series for booting as a PVH guest, doing some cleanups after the
  previous work to make PVH boot code position independent

- a fix of the xenbus driver avoiding a leak in an error case

Thanks.

Juergen

15 Nov 2024: s390 updates for 6.13 merge window [+ + +]
please pull s390 updates for the 6.13 merge window.

Thanks,
Heiko

s390 updates for 6.13 merge window

- Add firmware sysfs interface which allows user space to retrieve the dump
  area size of the machine

- Add 'measurement_chars_full' CHPID sysfs attribute to make the complete
  associated Channel-Measurements Characteristics Block available

- Add virtio-mem support

- Move gmap aka KVM page fault handling from the main fault handler to KVM
  code. This is the first step to make s390 KVM page fault handling similar
  to other architectures. With this first step the main fault handler does
  not have any special handling anymore, and therefore convert it to
  support LOCK_MM_AND_FIND_VMA

- With gcc 14 s390 support for flag output operand support for inline
  assemblies was added. This allows for several optimizations

  - Provide a cmpxchg inline assembly which makes use of this, and provide
    all variants of arch_try_cmpxchg() so that the compiler can generate
    slightly better code

  - Convert a few cmpxchg() loops to try_cmpxchg() loops

  - Similar to x86 add a CC_OUT() helper macro (and other macros), and
    convert all inline assemblies to make use of them, so that depending on
    compiler version better code can be generated

- List installed host-key hashes in sysfs if the machine supports the Query
  Ultravisor Keys UVC

- Add 'Retrieve Secret' ioctl which allows user space in protected
  execution guests to retrieve previously stored secrets from the
  Ultravisor

- Add pkey-uv module which supports the conversion of Ultravisor
  retrievable secrets to protected keys

- Extend the existing paes cipher to exploit the full AES-XTS hardware
  acceleration introduced with message-security assist extension 10

- Convert hopefully all sysfs show functions to use sysfs_emit() so that
  the constant flow of such patches stop

- For PCI devices make use of the newly added Topology ID attribute to
  enable whole card multi-function support despite the change to PCHID per
  port. Additionally improve the overall robustness and usability of
  the multifunction support

- Various other small improvements, fixes, and cleanups

15 Nov 2024: slab updates for 6.13 [+ + +]
please pull the latest slab updates from:


One new feature and non-critical fixes (mostly related to debugging).
No conflicts to be expected, AFAIK.

Thanks,
Vlastimil


- Add new slab_strict_numa boot parameter to enforce per-object memory policies
  on top of slab folio policies, for systems where saving cost of remote
  accesses is more important than minimizing slab allocation overhead
  (Christoph Lameter)

- krealloc() fixes for not violating __GFP_ZERO guarantees on krealloc() when
  slub_debug (redzone and object tracking) is enabled (Feng Tang)

- Fix a memory leak in case sysfs registration fails for a slab cache, and also
  no longer fail to create the cache in that case (Hyeonggon Yoo)

- Fix handling of detected consistency problems (due to buggy slab user) with
  slub_debug enabled, so that it does not cause further list corruption bugs
  (yuan.gao)

- Code cleanup and kerneldocs polishing (Zhen Lei, Vlastimil Babka)

15 Nov 2024: USB-serial updates for 6.13-rc1 [+ + +]
USB-serial updates for 6.13-rc1

Here are the USB-serial updates for 6.13-rc1, including:

 - improved support for quirky pl2303 hxd devices
 - make sure ftdi_sio TIOCGSERIAL returns consistent data

Everything has been in linux-next with no reported issues.

 
14 Nov 2024: iommu/arm-smmu: Updates for 6.13 [+ + +]
Hi Joerg,


The summary is in the tag, but the highlight is definitely the removal
of the complicated block-splitting code from the Arm page-table
implementations. It even means that we have a negative diffstat!

As with 6.12, I've already pushed this lot to the arm/smmu branch in
the iommu tree. Please can you merge that into 'next'?

Cheers,

Will

--->8

Arm SMMU updates for 6.13

- SMMUv2:
  * Return -EPROBE_DEFER for client devices probing before their SMMU.
  * Devicetree binding updates for Qualcomm MMU-500 implementations.

- SMMUv3:
  * Minor fixes and cleanup for NVIDIA's virtual command queue driver.

- IO-PGTable:
  * Fix indexing of concatenated PGDs and extend selftest coverage.
  * Remove unused block-splitting support.

14 Nov 2024: SOC FSL for 6.13 [+ + +]
Hi Arnd,


Thanks
Christophe

FSL SOC changes for 6.13:

- Fix a missing of_node_put() in RCPM
- Fix a missing error code on failure in CPM1 QMC
- Switch to using for_each_available_child_of_node_scoped() in CPM1 TSA

14 Nov 2024: LoongArch KVM changes for v6.13 [+ + +]
LoongArch KVM changes for v6.13

1. Add iocsr and mmio bus simulation in kernel.
2. Add in-kernel interrupt controller emulation.
3. Add virt extension support for eiointc irqchip.

 
13 Nov 2024: Btrfs updates for 6.13 [+ + +]
Hi,

please pull the following updates for btrfs.

Changes outside of btrfs: add io_uring command flag to track a dying
task (the rest will go via the block git tree).

User visible changes:

- wire encoded read (ioctl) to io_uring commands, this can be used on
  itself, in the future this will allow 'send' to be asynchronous
  - as a consequence, the encoded read ioctl can also work in
    non-blocking mode

- new ioctl to wait for cleaned subvolumes, no need to use the generic
  and root-only SEARCH_TREE ioctl, will be used by "btrfs subvol sync"

- recognize different paths/symlinks for the same devices and don't
  report them during rescanning, this can be observed with LVM or DM

- seeding device use case change, the sprout device (the one capturing
  new writes) will not clear the read-only status of the super block;
  this prevents accumulating space from deleted snapshots

Performance improvements:

- reduce lock contention when traversing extent buffers

- reduce extent tree lock contention when searching for inline backref

- switch from rb-trees to xarray for delayed ref tracking, improvements
  due to better cache locality, branching factors and more compact data
  structures

- enable extent map shrinker again (prevent memory exhaustion under
  some types of IO load), reworked to run in a single worker thread
  (there used to be problems causing long stalls under memory pressure)

Core changes:

- raid-stripe-tree feature updates
  - make device replace and scrub work
  - implement partial deletion of stripe extents
  - new selftests

- split the config option BTRFS_DEBUG and add EXPERIMENTAL for features
  that are experimental or with known problems so we don't misuse
  debugging config for that

- subpage mode updates (sector < page)
  - update compression implementations
  - update writepage, writeback

- continued folio API conversions
  - buffered writes

- make buffered write copy one page at a time, preparatory work for
  future integration with large folios, may cause performance drop

- proper locking of root item regarding starting send

- error handling improvements

- code cleanups and refactoring
  - dead code removal
  - unused parameter reduction
  - lockdep assertions

13 Nov 2024: timer drivers for v6.13-rc1 [+ + +]
Hi Thomas,

please consider the following changes for the timer drivers v6.13-rc1

- Remove unused dw_apb_clockevent_[pause|resume|stop] functions as
   they are unused since 2021 (David Alan Gilbert)

- Make the sp804 driver user selectable as they may be unused on some
   platforms (Mark Brown)

- Don't fail if the ti-dm does not describe an interrupt in the DT as
   this could be a normal situation if the PWM is used (Judith Mendez)

- Always use cluster 0 counter as a clocksource on a multi-cluster
   system to prevent problems related to the time shifting between
   clusters if multiple per cluster clocksource is used (Paul Burton)

- Move the RaLink system tick counter from the arch directory to the
   clocksource directory (Sergio Paracuellos)

- Convert the owl-timer bindings into yaml schema (Ivaylo Ivanov)

- Fix child node refcount handling on the TI DM by relying on the
   __free annotation to automatically release the refcount on the node
   (Javier Carrasco)

- Remove pointless cast in the GPX driver as PTR_ERR already does that
   (Tang Bin)

- Use of_property_present() for non-boolean properties where it is
   possible in the different drivers (Rob Herring)

 
12 Nov 2024: KVM: x86 changes for 6.13 [+ + +]
AFAIK, there are no conflicts or dependencies with other architectures or
trees.
 
11 Nov 2024: Apple SoC DT updates for v6.13 [+ + +]
Hi SoC folks,

Please merge these DT changes for v6.13.

This batch adds a bunch of pre-M1 Apple iDevice SoC and board device
trees. These are bare-bones right now, just basic bring-up.

-Hector

Apple SoC DT updates for 6.13:

- Added base DTs for a bunch of non-Mac Apple iDevices (pre-M1)

11 Nov 2024: interconnect changes for 6.13 [+ + +]
This is the pull request with interconnect changes for the v6.13-rc1 merge
window. It contains new drivers and clean-ups. As always, the summary is
in the signed tag.

All patches have been in linux-next for at least a week. There are no

Thanks,
Georgi


interconnect changes for 6.13

This pull request contains the interconnect changes for the 6.13-rc1 merge
window. It contains new drivers and clean-ups with the following highlights:

Core changes:
- Remove a useless kfree_const() usage
- Switch back to struct platform_driver::remove()
- Use of_property_present() for non-boolean properties

Driver changes:
- New driver for QCS615 platforms
- New driver for SAR2130P platforms
- New driver for QCS8300 platforms
- Probe defer incase of missing QoS clock dependency in rpmh driver
- Rename qos_clks_required flag to qos_requires_clocks in rpmh driver
- Constify pointers to qcom_icc_node in msm8937 driver

Signed-off-by: Georgi Djakov <djakov@kernel.org>

 
8 Nov 2024: [PULL REQUEST] Intel IOMMU updates for v6.13 (2nd [+ + +]
Hi Joerg,

I apologize, I should have put all patches in a single pull request.
However, the feature introduced in this pull request needed extra rounds
of review and is now ready for merge.  I'm trying to merge this series
in this merge window because it's self-contained and other series, for
vfio and iommufd, depend on it. Merging this series in time will
simplify the upstream process for those series.

With above explained, the following changes have been queued for
v6.13-rc1, including:

 - Add domain replacement support for pasid

These patches are based on the vtd branch of the iommu tree. The complete
patches are also available at:

https://github.com/LuBaolu/intel-iommu/commits/vtd-update-for-v6.13

Please consider them for iommu next.

Best regards,
baolu

 
6 Nov 2024: clk: imx: Updates for v6.13 [+ + +]
i.MX clocks changes for 6.13

- Document the compatible for i.MX95 HSIO BLK CTRL
- Add the HSIO BLK CTRL provider to the i.MX95 driver
- Moved the CLK_END macro from bindings to driver for i.MX93
- Add support for i.MX91 CCM to the i.MX93 driver
- Add workaround as a fix for errata e10858 to the lpcg-scu driver
- Fix PLL initialization and power up for i.MX93 in fracn-gppll clock type
- Fix clock enable state save/restore in clk-scu clock implementation
- Skip HDMI LPCG clocks save/restore in lpcg-scu clock implementation
- Fix return value check on PM domains attach in imx8-acm driver

6 Nov 2024: arm64: dts: ti: K3 devicetree updates for v6.13 [+ + +]
 protected-headers="v1"
From: Vignesh Raghavendra <vigneshr@ti.com>
To: Olof Johansson <olof@lixom.net>, Arnd Bergmann <arnd@arndb.de>,
 arm-soc <arm@kernel.org>, SoC <soc@kernel.org>
Cc: Tero Kristo <kristo@kernel.org>, linux-arm-kernel@lists.infradead.org,
 linux-kernel@vger.kernel.org, Nishanth Menon <nm@ti.com>
Message-ID: <3ded4795-2186-4e06-bda6-9c9a65a3fdb9@ti.com>
Subject: [GIT PULL 1/2] arm64: dts: ti: K3 devicetree updates for v6.13

--------------sUPnlalQ0bVwG0NLg6o4u8wc

Hi ARM SoC Maintainers,

TI K3 device tree updates for v6.13

Generic Fixups/Cleanups:
- Cleanup bootph-* tags to limit to leaf nodes only
- clock IDs for MCSPI instances fixed up across J7xx family
- Misc indentation and whitespace cleanup across dts

New SoC
- J742s2 which is a cutdown of existing J784s4 and uses same EVM

SoC Specific features and Fixes:
- eQEP (counter) support across AM64/AM62/AM62A

AM64
- M4F Remoteproc support
- stats collection support for ICSSGs via ti,pa-stats
- Add PCIe EP overlays

AM65
- stats collection support for ICSSGs via ti,pa-stats

AM62:
- M4F Remoteproc support
- eMMC/SD TAP value updates
- dtbs_check fixes for opp_efuse_table

AM62A
- 1.4GHz opp entry

AM62P
- 1.4GHz opp entry

J7200
- Add PCIe EP overlays
- Pinmux node reg range fixes

Board Specific

AM62
- am62 verdin ivy carrier board support
- am625-verdin TPM device support
- am62 verdin ivy board support
- Beagleplay Mikrobus PWM header support
- am62-verdin increase SD regulator startup delay

AM64
- am642-phyboard-electra-rdk trickle charger support
- am64-phy* drop buswidth from sdhci nodes

6 Nov 2024: soc: ti: Driver updates for v6.13 [+ + +]
Hi,


TI SoC driver updates for v6.13

- knav_qmss_queue: Cleanups around request_irq params and redundant code.
- ti_sci: Power management ops in preperation for suspend/resume capability.
  Also includes dependency patch to export dev_pm_qos_read_value
  (acked by Rafael).

6 Nov 2024: auxdisplay for 6.13-1 [+ + +]
New cycle new tiny update to auxdisplay subsystem. The changes were
a few weeks in Linux Next without reported problems. Please, apply
to v6.13-rc1 (or to current cycle if you want, there shouldn't be
any dependencies or conflicts),

Thanks,

With Best Regards,
Andy Shevchenko

auxdisplay for v6.13-1

 * Move Holtek 16k33 driver to use agnostic i2c_get_match_data()
 * Miscellaneuous cleanups

The following is an automated git shortlog grouped by driver:

cfag12864b:
 - Remove unused functions

ht16k33:
 - Make use of i2c_get_match_data()
 - Drop explicit initialization of struct i2c_device_id::driver_data to 0

lcd2s:
 - Drop explicit initialization of struct i2c_device_id::driver_data to 0

 
4 Nov 2024: clk: samsung: drivers for v6.13 [+ + +]
Samsung SoC clock drivers changes for 6.13

1. Tesla FSD: Move number of clocks from DT binding headers to driver,
   because these are not an ABI and might change while finishing support
   for the hardware.

2. ExynosAutov920: Add clock controller drivers for PERIC1, MISC, HSI0
   and HSI1.  Context of patch depends on a fix from fixes branch, thus
   pull in my earlier pull request with fixes.

3. Google GS101: Do not disable UFS host controller clocks, ever,
   because gating them does not work well with UFS sleep/power savings.
   Downstream does not gate them via OS, but uses hardware feature -
   Automatic Clock Gating - which is not yet supported in upstream.

4. Exynos8895: New SoC with initial support for clock controllers:
   FSYS0/1, PERIC0/1, PERIS and TOP.

5. Few code style improvements.

4 Nov 2024: [PULL REQUEST] Intel IOMMU updates for v6.13 [+ + +]
Hi Joerg,

 
1 Nov 2024: cpupower second update for Linux 6.13-rc1 [+ + +]
Hi Rafael,


cpupower second update for Linux 6.13-rc1

- add Chinese Simplified translation for cpufrequtils package
- add checks for dependencies, xgettext and msgfmt before
   attempting to generate GNU gettext Language Translations.

diff is attached.

thanks,
-- Shuah

linux-cpupower-6.13-rc1-update2

cpupower second update for Linux 6.13-rc1

- add Chinese Simplified translation for cpufrequtils package
- add checks for dependencies, xgettext and msgfmt before
   attempting to generate GNU gettext Language Translations.

 
29 Oct 2024: samsung: drivers for v6.13 [+ + +]
Samsung SoC drivers for v6.13

Add Samsung ChipID driver support for new SoCs: Exynos8895, Exynos990
and Exynos9810.

29 Oct 2024: memory: drivers for v6.13 [+ + +]
Memory controller drivers for v6.13

1. Freescale IFC: Split handling of child nodes in the bindings to
   fix dtbs_check warning.
2. ARM64 defconfig: Nothing selects CONFIG_FSL_IFC anymore since
   commit 9ba0cae3cac0 ("memory: fsl_ifc: Make FSL_IFC config visible
   and selectable") and actually CONFIG_MTD_NAND_FSL_IFC depends on it
   now.  Enable CONFIG_FSL_IFC in ARM64 defconfig, so users of it won't
   lose these two drivers.

29 Oct 2024: pinctrl: samsung: drivers for v6.13 [+ + +]
Samsung pinctrl drivers changes for v6.13

1. Add new pin controller drivers for new Samsung SoCs: Exynos8895,
   Exynos9810, Exynos990.

2. Correct the condition when applying further interrupt constraints on
   certain Samsung pin controllers.  The condition was simply not
   effective.

 
25 Oct 2024: PECI changes for v6.13-rc1 [+ + +]
SGkgR3JlZyENCg0KUGxlYXNlIHB1bGwgUEVDSSB1cGRhdGUgZm9yIExpbnV4IHY2LjEzLg0KDQpU
aGFua3MNCi1Jd29uYQ0KDQpUaGUgZm9sbG93aW5nIGNoYW5nZXMgc2luY2UgY29tbWl0IDQyZjc2
NTJkM2ViNTI3ZDAzNjY1YjA5ZWRhYzQ3Zjg1ZmI2MDA5MjQ6DQoNCiAgTGludXggNi4xMi1yYzQg
KDIwMjQtMTAtMjAgMTU6MTk6MzggLTA3MDApDQoNCmFyZSBhdmFpbGFibGUgaW4gdGhlIEdpdCBy
ZXBvc2l0b3J5IGF0Og0KDQogIGdpdDovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vbGludXgva2Vy
bmVsL2dpdC9pd2kvbGludXguZ2l0IHRhZ3MvcGVjaS1uZXh0LTYuMTMtcmMxDQoNCmZvciB5b3Ug
dG8gZmV0Y2ggY2hhbmdlcyB1cCB0byA3MzNkYzk3OGZhYjY1OWRlZTk5Mzg3MzllMmI5ZTg4Y2U3
MmYwNDA4Og0KDQogIHBlY2k6IG5wY206IENvbnN0aWZ5IHN0cnVjdCBwZWNpX2NvbnRyb2xsZXJf
b3Bz4oCLICgyMDI0LTEwLTI1IDEwOjU4OjA3ICswMjAwKQ0KDQotLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpVcGRhdGUgcGVj
aS1uZXh0IGZvciB2Ni4xMy1yYzENCg0KQSBzbWFsbCBjaGFuZ2UgaW4gcGVjaS1ucGNtIGRyaXZl
ciB0byBtYXJrIHBlY2lfY29udHJvbGxlcl9vcHMgYXMgY29uc3QuDQoNCi0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCkNocmlz
dG9waGUgSkFJTExFVCAoMSk6DQogICAgICBwZWNpOiBucGNtOiBDb25zdGlmeSBzdHJ1Y3QgcGVj
aV9jb250cm9sbGVyX29wc+KAiw0KDQogZHJpdmVycy9wZWNpL2NvbnRyb2xsZXIvcGVjaS1ucGNt
LmMgfCAyICstDQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0p
DQo=
 
20 Oct 2024: RISC-V T-HEAD Devicetrees for v6.13 [+ + +]
Hi Arnd,

have been in linux-next since October 15th.

Thanks,
Drew

T-HEAD Devicetrees for v6.13

Add nodes for pin controllers on the T-Head TH1520 RISC-V SoC. The
yaml binding and pinctrl-th1520 driver has been merged into next by
Linus W and will be included in the 6.13 pinctrl PR.

The TH1520 GPIO controllers are already supported by the gpio-dwapb
driver. This PR improves GPIO support by adding GPIO ranges and GPIO
line names for the BeagleV Ahead and LicheePi 4A boards. Support is
added for the built-in LEDs on the Ahead board.

Signed-off-by: Drew Fustini <drew@pdp7.com>

 
17 Oct 2024: LOCKDEP changes for v6.13 [+ + +]
Hi Peter & Ingo,


Lockdep changes for v6.13:

- Add a cpu-offline callback for lockdep to reset hardirq tracing status, this provides
  more information to locate issues other than a triple fault on x86.
- Fix an issue that lockdep_set_subclass() can set the lockdep_map::name into a newly
  created one instead of the existing, this can end up with a WARN triggered in
  look_up_lock_class(), because class->name != lock->name while the key is the same.
  A test case is also added to prevent this from happening in the future.
- Use pr_info() to print lockdep initial information instead of printk().
- Enable PROVE_RAW_LOCK_NESTING with PROVE_LOCKING.
- (non lockdep) Convert fields of 'enum vcpu_state' to uppercase.

 
11 Oct 2024: cpupower update for Linux 6.13-rc1 [+ + +]
Hi Rafael,


This cpupower update for Linux 6.13-rc1 consists of changes to:

-- bindings:
    - add generated files to gitignore
    - improve disable c_state block
    - new test to confirm cpu state is disabled

-- bench:
    - print config file path when open cpufreq-bench.conf fails

-- Makefile
    - override cross-compiling env params to make it easier for builds
      in Yocto environment.

-- add documentation for new EPP value change, amd_pstate mode change,
    and turbo-boost features.

diff is attached.

Sending it early to get the Yacto build available in next.

thanks,
-- Shuah

linux-cpupower-6.13-rc1

This cpupower update for Linux 6.13-rc1 consists of changes to:

-- bindings:
    - add generated files to gitignore
    - improve disable c_state block
    - new test to confirm cpu state is disabled

-- bench:
    - print config file path when open cpufreq-bench.conf fails

-- Makefile
    - override cross-compiling env params to make it easier for builds
      in Yocto environment.

-- add documentation for new EPP value change, amd_pstate mode change,
    and turbo-boost features.

 
4 Oct 2024: spi-mem/swap16 changes for v6.13 [+ + +]
Hi, Mark,

I've made an immutable tag for the spi-mem swap16 changes. I let the
0day bot run on them, I got no complains. Pull if you need them.

Thanks,
ta

This allows specifying the byte order in Octal DTR mode.

There are NOR flashes (Macronix) that swap the bytes on a 16-bit
boundary when configured in Octal DTR mode. The byte order of
16-bit words is swapped when read or written in Octal Double
Transfer Rate (DTR) mode compared to Single Transfer Rate (STR)
modes. If one writes D0 D1 D2 D3 bytes using 1-1-1 mode, and uses
8D-8D-8D SPI mode for reading, it will read back D1 D0 D3 D2.
Swapping the bytes may introduce some endianness problems. It can
affect the boot sequence if the entire boot sequence is not handled
in either 8D-8D-8D mode or 1-1-1 mode. Therefore, it is necessary
to swap the bytes back to ensure the same byte order as in STR modes.
Fortunately there are controllers that could swap the bytes back at
runtime, addressing the flash's endianness requirements. Provide a
way for the upper layers to specify the byte order in Octal DTR mode.