Latest Linux kernel releases

  25.07 6.9.11, 6.6.42, 6.1.101
  24.07 6.10.1
  18.07 5.15.163, 5.10.222, 5.4.280, 4.19.318
  14.07 6.10 (merge, pull)

Significant pull requests for mainline kernel

 
26 Jul 2024: more s390 updates for 6.11 merge window [+ + +]
please pull more s390 updates for 6.11 merge window.

Thank you,
Vasily

more s390 updates for 6.11 merge window

- Fix KMSAN build breakage caused by the conflict between s390 and
  mm-stable trees

- Add KMSAN page markers for ptdump

- Add runtime constant support

- Fix __pa/__va for modules under non-GPL licenses by exporting necessary
  vm_layout struct with EXPORT_SYMBOL to prevent linkage problems

- Fix an endless loop in the CF_DIAG event stop in the CPU Measurement
  Counter Facility code when the counter set size is zero

- Remove the PROTECTED_VIRTUALIZATION_GUEST config option and enable
  its functionality by default

- Support allocation of multiple MSI interrupts per device and improve
  logging of architecture-specific limitations

- Add support for lowcore relocation as a debugging feature to catch
  all null ptr dereferences in the kernel address space, improving
  detection beyond the current implementation's limited write access
  protection

- Clean up and rework CPU alternatives to allow for callbacks and early
  patching for the lowcore relocation

26 Jul 2024: erofs more updates for 6.11-rc1 [+ + +]
Could you consider these extra patches for 6.11-rc1?

Two patches add STATX_DIOALIGN and FS_IOC_GETFSSYSFSPATH support and
another one gets rid of the remaining page->index in the codebase
according to [1].  I tend to resolve them in this cycle since those
improvements are actually straight-forward.

The remaining fix addresses a LZ4 decompression race introduced in
v6.10 found by regular stress tests.

All commits have been in -next except for Chao's new reviewed-bys,
so I re-pushed them again.  No potential merge conflict is observed.

[1] https://lore.kernel.org/r/Zp8fgUSIBGQ1TN0D@casper.infradead.org

Thanks,
Gao Xiang

Changes since last update:

 - Support STATX_DIOALIGN and FS_IOC_GETFSSYSFSPATH;

 - Fix a race of LZ4 decompression due to recent refactoring;

 - Another multi-page folio adaption in erofs_bread().

26 Jul 2024: I3C changes for 6.11 [+ + +]
Here is the i3c subsystem pull request for 6.11. This cycle, there are
new features for the Designware controller and fixes for the other IPs.

I3C for 6.11

Drivers:
 - dw: optional apb clock and power management support, IBI handling fixes
 - mipi-i3c-hci: IBI handling fixes
 - svc: few fixes

26 Jul 2024: xen: branch for v6.11-rc1 take 2 [+ + +]
Please git pull the following tag:


xen: branch for v6.11-rc1 take 2

It contains 2 fixes for issues introduced in this merge window:

- one for enhanced debugging in the Xen multicall handling

- a series with 2 patches fixing a boot failure when running as dom0 in
  PVH mode

Thanks.

Juergen

 arch/x86/include/asm/xen/hypervisor.h |   5 --
 arch/x86/platform/pvh/enlighten.c     |   3 -
 
25 Jul 2024: AppArmor updates for 6.11-rc1 [+ + +]
I know this is running extremely late so I have only included bug fixes
and a few small cleanups.

In particular the cleanup
   optimization: try to avoid refing the label in apparmor_file_open
is nice to have for scaling on large systems, as it avoids take a ref count when
it isn't necessary. For the file open test resulting in

   kernel test robot noticed a 93.1% improvement of will-it-scale.per_process_ops on:


These patches have all been merge tested against your tree as of
this morning and regression tested against your tree as of yesterday.

thanks
- john




apparmor-pr-2024-07-24 PR 2024-07-25

+ Cleanups
       - optimization: try to avoid refing the label in apparmor_file_open
       - remove useless static inline function is_deleted
       - use kvfree_sensitive to free data->data
       - fix typo in kernel doc

+ Bug fixes
       - unpack transition table if dfa is not present
       - test: add MODULE_DESCRIPTION()
       - take nosymfollow flag into account
       - fix possible NULL pointer dereference
       - fix null pointer deref when receiving skb during sock creation

25 Jul 2024: MIPS changes part 2 for v6.11 [+ + +]
- Use improved timer sync for Loongson64
- Fix address of GCR_ACCESS register
- Add missing MODULE_DESCRIPTION

25 Jul 2024: Networking for v6.11-rc1 [+ + +]
A lot of networking people were at a conference last week, busy
catching COVID, so relatively short PR. Including fixes from bpf
and netfilter.

Current release - regressions:

 - tcp: process the 3rd ACK with sk_socket for TFO and MPTCP

Current release - new code bugs:

 - l2tp: protect session IDR and tunnel session list with one lock,
   make sure the state is coherent to avoid a warning

 - eth: bnxt_en: update xdp_rxq_info in queue restart logic

 - eth: airoha: fix location of the MBI_RX_AGE_SEL_MASK field

Previous releases - regressions:

 - xsk: require XDP_UMEM_TX_METADATA_LEN to actuate tx_metadata_len,
   the field reuses previously un-validated pad

Previous releases - always broken:

 - tap/tun: drop short frames to prevent crashes later in the stack

 - eth: ice: add a per-VF limit on number of FDIR filters

 - af_unix: disable MSG_OOB handling for sockets in sockmap/sockhash

Signed-off-by: Jakub Kicinski <kuba@kernel.org>

25 Jul 2024: trivial printk changes for 6.11 [+ + +]
please pull the two trivial changes for 6.11 from



- Misc clean up.

25 Jul 2024: kgdb changes for v6.11 [+ + +]
Sorry this is so late in the window. It's not even a good reason... I
just lost track of which week it was. Happily this is only three small
changes and all have been soaking in linux-next for a month or so.

kgdb patches for 6.11

Three small changes this cycle:

1. Cleaning up an architecture abstraction that is no longer needed
   because all the architectures have converged.
2. Actually use the prompt argument to kdb_position_cursor() instead of
   ignoring it (functionally this fix is a nop but that was due to luck
   rather than good judgement)
3. Fix a -Wformat-security warning.

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

25 Jul 2024: auxdisplay updates for v6.11 [+ + +]
auxdisplay updates for v6.11

  - Add support for configuring the boot message on line displays,
  - Miscellaneous fixes and improvements.

As Andy is on holidays[1], and after checking with him earlier today,
I imported his branch, tagged it, and am sending a PR.

All of this has been in linux-next for a while, through Andy's
auxdisplay repo.

Thanks for pulling!

[1] https://lore.kernel.org/CAHp75VehHDikSSPJhc4c8t7jp81bQ_Z+pkqYnM_F87xdJP4Xew@mail.gmail.com/

25 Jul 2024: Driver core changes for 6.11-rc1 [+ + +]
***************
This merge request is coming late in the -rc1 cycle on purpose.  I
wanted to make sure that the merge issues and other problems were all
resoved due to some core api changes (platform and bus structures)
happening in this tree.

You will have merge conflicts with your tree when you pull from here in
the following two files:
drivers/fsi/fsi-occ.c
drivers/reset/reset-meson-audio-arb.c
the resolution for them should be "obvious", and has been in linux-next
for a while now.

You will also get build errors for the following two platform drivers:
drivers/net/ethernet/renesas/rtsn.c
drivers/gpu/drm/stm/lvds.c
due to these new files coming in during the merge window and them not
being in my branch.  They too have fixups that have been in linux-next
for a while.

I have all of the above problems resolved in the following branch:
if you want to compare things, OR you can just pull from that point as
well, I can make a signed tag for you there if that makes it simpler.

Sorry for the conflicts,

greg k-h
***************


Driver core changes for 6.11-rc1

Here is the big set of driver core changes for 6.11-rc1.

Lots of stuff in here, with not a huge diffstat, but apis are evolving
which required lots of files to be touched.  Highlights of the changes
in here are:
  - platform remove callback api final fixups (Uwe took many releases to
    get here, finally!)
  - Rust bindings for basic firmware apis and initial driver-core
    interactions.  It's not all that useful for a "write a whole driver
    in rust" type of thing, but the firmware bindings do help out the
    phy rust drivers, and the driver core bindings give a solid base on
    which others can start their work.  There is still a long way to go
    here before we have a multitude of rust drivers being added, but
    it's a great first step.
  - driver core const api changes.  This reached across all bus types,
    and there are some fix-ups for some not-common bus types that
    linux-next and 0-day testing shook out.  This work is being done to
    help make the rust bindings more safe, as well as the C code, moving
    toward the end-goal of allowing us to put driver structures into
    read-only memory.  We aren't there yet, but are getting closer.
  - minor devres cleanups and fixes found by code inspection
  - arch_topology minor changes
  - other minor driver core cleanups

All of these have been in linux-next for a very long time with no
reported problems.

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

25 Jul 2024: Rust for 6.11 [+ + +]
This is the next round of the Rust support.

Later than usual, but all the commits have been in linux-next for about
2 weeks.

A trivial conflict with the block pull you already merged expected
(resolved in linux -next). In addition, there is a small change to the
C side from Arnd that akpm ack'ed.


Cheers,
Miguel

Rust changes for v6.11

The highlight is the establishment of a minimum version for the Rust
toolchain, including 'rustc' (and bundled tools) and 'bindgen'.

The initial minimum will be the pinned version we currently have, i.e.
we are just widening the allowed versions. That covers 3 stable Rust
releases: 1.78.0, 1.79.0, 1.80.0 (getting released tomorrow), plus beta,
plus nightly.

This should already be enough for kernel developers in distributions
that provide recent Rust compiler versions routinely, such as Arch
Linux, Debian Unstable (outside the freeze period), Fedora Linux,
Gentoo Linux (especially the testing channel), Nix (unstable) and
openSUSE Slowroll and Tumbleweed.

In addition, the kernel is now being built-tested by Rust's pre-merge
CI. That is, every change that is attempting to land into the Rust
compiler is tested against the kernel, and it is merged only if it
passes. Similarly, the bindgen tool has agreed to build the kernel in
their CI too.

Thus, with the pre-merge CI in place, both projects hope to avoid
unintentional changes to Rust that break the kernel. This means that,
in general, apart from intentional changes on their side (that we
will need to workaround conditionally on our side), the upcoming Rust
compiler versions should generally work.

In addition, the Rust project has proposed getting the kernel into
stable Rust (at least solving the main blockers) as one of its three
flagship goals for 2024H2 [1].

I would like to thank Niko, Sid, Emilio et al. for their help promoting
the collaboration between Rust and the kernel.

[1] https://rust-lang.github.io/rust-project-goals/2024h2/index.html#flagship-goals

Toolchain and infrastructure:

 - Support several Rust toolchain versions.

 - Support several bindgen versions.

 - Remove 'cargo' requirement and simplify 'rusttest', thanks to 'alloc'
   having been dropped last cycle.

 - Provide proper error reporting for the 'rust-analyzer' target.

'kernel' crate:

 - Add 'uaccess' module with a safe userspace pointers abstraction.

 - Add 'page' module with a 'struct page' abstraction.

 - Support more complex generics in workqueue's 'impl_has_work!' macro.

'macros' crate:

 - Add 'firmware' field support to the 'module!' macro.

 - Improve 'module!' macro documentation.

Documentation:

 - Provide instructions on what packages should be installed to build
   the kernel in some popular Linux distributions.

 - Introduce the new kernel.org LLVM+Rust toolchains.

 - Explain '#[no_std]'.

And a few other small bits.

 
24 Jul 2024: sysctl constification changes for v6.11-rc1 [+ + +]
Constifying ctl_table structs will prevent the modification of
proc_handler function pointers as they would reside in .rodata. To get
there, the proc_handler arguments must first be const qualified which
requires this (fairly large) treewide PR. Sending it in the tail end of
of the merge window after a suggestion from Kees to avoid unneeded merge
conflicts. It has been rebased on top of 7a3fad30fd8b4b5e370906b3c554f64026f56c2f.
I can send it later if it makes more sense on your side; please tell me
what you prefer.

This PR applies on top of what I see as your latest master, but if you
need to generate it, you can do so by executing two commands:
1. Semantic patch: The coccinelle script is here [1]
  `make coccicheck MODE=patch SPFLAGS="--in-place --include-headers --smpl-spacing" COCCI=COCCI_SCRIPT`
2. Sed command: The sed script is here [2]
  `sed --in-place -f SED_SCRIPT fs/xfs/xfs_sysctl.c kernel/watchdog.c`
This is my first time sending out a semantic patch, so get back to me if
you have issues or prefer some other way of receiving it.

Testing was done in sysctl-testing (0-day) to avoid generating
unnecessary merge conflicts in linux-next. I do not expect any
error/regression given that all changes contained in this PR are
non-functional.

[1]
```
virtual patch

@r1@
identifier ctl, write, buffer, lenp, ppos;
identifier func !~ "appldata_(timer|interval)_handler|sched_(rt|rr)_handler|rds_tcp_skbuf_handler|proc_sctp_do_(hmac_alg|rto_min|rto_max|udp_port|alpha_beta|auth|probe_interval)";
@@

int func(
- struct ctl_table *ctl
+ const struct ctl_table *ctl
  ,int write, void *buffer, size_t *lenp, loff_t *ppos);

@r2@
identifier func, ctl, write, buffer, lenp, ppos;
@@

int func(
- struct ctl_table *ctl
+ const struct ctl_table *ctl
  ,int write, void *buffer, size_t *lenp, loff_t *ppos)
{ ... }

@r3@
identifier func;
@@

int func(
- struct ctl_table *
+ const struct ctl_table *
  ,int , void *, size_t *, loff_t *);

@r4@
identifier func, ctl;
@@

int func(
- struct ctl_table *ctl
+ const struct ctl_table *ctl
  ,int , void *, size_t *, loff_t *);

@r5@
identifier func, write, buffer, lenp, ppos;
@@

int func(
- struct ctl_table *
+ const struct ctl_table *
  ,int write, void *buffer, size_t *lenp, loff_t *ppos);
```

[2]
```
s/^xfs_stats_clear_proc_handler(const struct ctl_table \*ctl,$/xfs_stats_clear_proc_handler(\
\tconst struct ctl_table\t*ctl,/
s/^xfs_panic_mask_proc_handler(const struct ctl_table \*ctl,$/xfs_panic_mask_proc_handler(\
\tconst struct ctl_table\t*ctl,/
s/^xfs_deprecated_dointvec_minmax(const struct ctl_table \*ctl,$/xfs_deprecated_dointvec_minmax(\
\tconst struct ctl_table\t*ctl,/
s/proc_watchdog_common(int which, struct ctl_table \*table/proc_watchdog_common(int which, const struct ctl_table *table/
```

sysctl: treewide: constify the ctl_table argument of proc_handlers

Summary
- const qualify struct ctl_table args in proc_handlers:
  This is a prerequisite to moving the static ctl_table structs into .rodata
  data which will ensure that proc_handler function pointers cannot be
  modified.

24 Jul 2024: UML Changes for v6.11-rc1 [+ + +]
This pull request contains the following changes for UML:

- Support for preemption
- i386 Rust support
- Huge cleanup by Benjamin Berg
- UBSAN support
- Removal of dead code

24 Jul 2024: : Soundwire updates for v6.11 [+ + +]

Hello Linus,

Last one in the lot for the soundwire subsystem updates. Fairly small
one with a cleanup pile, debugfs command support and typical updates
to drivers

soundwire updates for 6.11

 - Simplification across subsystem using cleanup.h
 - Support for debugfs to read/write commands
 - Few Intel and Qualcomm driver updates

24 Jul 2024: : Generic phy updates for v6.11 [+ + +]

Hello again,

Second request for generic phy subsystem feature bunch of new driver and
device support and updates to few of the drivers

phy-for-6.11

- New Support
  - Samsung Exynos gs101 drd combo phy
  - Qualcomm SC8180x USB uniphy, IPQ9574 QMP PCIe phy
  - Airoha EN7581 PCIe phy
  - Freescale i.MX8Q HSIO SerDes phy
  - Starfive jh7110 dphy tx

- Updates
  - Resume support for j721e-wiz driver
  - Updates to Exynos usbdrd driver
  - Support for optional power domains in g12a usb2-phy driver
  - Debugfs support and updates to zynqmp driver

24 Jul 2024: : dmaengine updates for v6.11 [+ + +]

Hello Linus,

API with its user is the key feature of this request along with yaml
conversion and updates to bunch of drivers.

Please note that the tag dmaengine_topic_dma_vec was pulled into the iio
tree so you might have recieved that or might receive it from iio
people.

dmaengine updates for v6.11

 New support:
  - New dmaengine_prep_peripheral_dma_vec() to support transfers using dma
    vectors and documentation and user in AXI dma
  - STMicro STM32 DMA3 support and new capabilities of cyclic dma

 Updates:
  - Yaml conversion for Freescale imx dma and qdma bindings, sprd sc9860 dma
    binding
  - Altera msgdma updates for descriptor management

 
23 Jul 2024: trivial unicode patches for 6.11 [+ + +]
Two small fixes to silent the compiler and static analyzers tools from
Ben Dooks and Jeff Johnson.

23 Jul 2024: f2fs update for 6.11-rc1 [+ + +]
Could you please consider this pull request?

Thanks,

f2fs update for 6.11-rc1

It's a pretty small update including mostly minor bug fixes in zoned storage
along with the large section support.

Enhancement:
 - add support for FS_IOC_GETFSSYSFSPATH
 - enable atgc dynamically if conditions are met
 - use new ioprio Macro to get ckpt thread ioprio level
 - remove unreachable lazytime mount option parsing

Bug fix:
 - fix null reference error when checking end of zone
 - fix start segno of large section
 - fix to cover read extent cache access with lock
 - don't dirty inode for readonly filesystem
 - allocate a new section if curseg is not the first seg in its zone
 - only fragment segment in the same section
 - truncate preallocated blocks in f2fs_file_open()
 - fix to avoid use SSR allocate when do defragment
 - fix to force buffered IO on inline_data inode

And, it includes some minor code clean-ups, and sanity checks.

23 Jul 2024: execve update for v6.11-rc1-fix1 [+ + +]
binfmt_elf tests out of your way and into the tests/ subdirectory,
following the newly ratified KUnit naming conventions. :)

Thanks!

-Kees

execve fix for v6.11-rc1

- Move KUnit tests to tests/ subdirectory

 
24 Jul 2024: Kbuild updates for v6.11-rc1 [+ + +]




You will get a merge conflict in scripts/Makefile.lib

It is a conflict between the following two commits:
 49636c5680b977d8a39263c6c8db6061c427346e
 712aba5543b88996bc4682086471076fbf048927

The resolution exists in linux-next.


Thank you.





Kbuild updates for v6.11

 - Remove tristate choice support from Kconfig

 - Stop using the PROVIDE() directive in the linker script

 - Reduce the number of links for the combination of CONFIG_DEBUG_INFO_BTF
   and CONFIG_KALLSYMS

 - Enable the warning for symbol reference to .exit.* sections by default

 - Fix warnings in RPM package builds

 - Improve scripts/make_fit.py to generate a FIT image with separate base
   DTB and overlays

 - Improve choice value calculation in Kconfig

 - Fix conditional prompt behavior in choice in Kconfig

 - Remove support for the uncommon EMAIL environment variable in Debian
   package builds

 - Remove support for the uncommon "name <email>" form for the DEBEMAIL
   environment variable

 - Raise the minimum supported GNU Make version to 4.0

 - Remove stale code for the absolute kallsyms

 - Move header files commonly used for host programs to scripts/include/

 - Introduce the pacman-pkg target to generate a pacman package used in
   Arch Linux

 - Clean up Kconfig

 
23 Jul 2024: rpmsg updates for v6.11 [+ + +]
rpmsg updates for v6.11

This corrects interrupt handling in the stm32 remoteproc driver when
being attached to an already running remote processor.
It fixes invalid kernel-doc and adds missing MODULE_DESCRIPTION() in the
rpmsg char driver.

23 Jul 2024: remoteproc updates for v6.11 [+ + +]
remoteproc updates for v6.11

The maximum amount of DDR memory used by the Mediatek MT8188/MT8195 SCP
is increased, to handle new use cases. Handling of optional L1TCM memory
is made actually optional.
An optimization is introduced to only clear the unused portion of IPI
shared buffers, rather than the entire buffer before writing the
message.

Detection for IPC-only mode in the TI K3 DSP remoteproc driver is
corrected. The loglevel of a debug print in the same is lowered from
error.

Support for attaching to an running remote processor is added to the
Xilinx R5F.

An in-kernel implementation of the Qualcomm "protected domain mapper"
(aka service registry) service is introduced, to remove the dependency
on a userspace implementation to detect when the battery monitor and USB
Type-C port manager becomes available. This is then integrated with the
Qualcomm remoteproc driver.

The Qualcomm PAS remoteproc driver gains support for attempting to bust
hwspinlocks held by the remote processor when it crashed/stopped.

The TI OMAP remoteproc driver is transitioned to use devres helpers for
various forms of allocations.

Parsing of memory-regions in the i.MX remoteproc driver is improved to
avoid a NULL pointer dereference if the phandle reference is empty.
of_node reference counting is corrected in the same.

23 Jul 2024: hwspinlock updates for v6.11 [+ + +]
hwspinlock updates for v6.11

This introduces a mechanism in the hardware spinlock framework, and the
Qualcomm TCSR mutex driver, for allowing clients to bust locks held by a
remote processor in the event that this enters a faulty state while
holding the shared lock.

23 Jul 2024: Modules changes for v6.11-rc1 [+ + +]
Modules changes for v6.11-rc1

This is a super boring development cycle this time around for modules,
there is only one patch in this pull request. The patch deals with a
corner case set of dependencies which is not resolved today to ensure
users get the modules they need on initramfs. Currently only one modules
is known to exist which needs this, however this can grow to capture
other corner cases likely escaped and not reported before. The kernel
change is just a section update, the real work is done and merged
already on upstream kmod.

This has been on linux-next for 3 weeks now.

23 Jul 2024: livepatching for 6.11 [+ + +]
please pull the latest changes for the kernel livepatching from



- Show also patch->replace flag in sysfs.
- Add or improve few selftests.

23 Jul 2024: printk for 6.11 [+ + +]
please pull the latest printk changes from



Next preparation step for introducing printk kthreads. This part
wires up flushing consoles via con->write_atomic() callback.

The write_atomic() callback can be used for flushing nbcon consoles
in any context. It is needed when the console could not be reliably
flushed using the printk kthread. Namely, it is used:

  - During the early boot, from the legacy loop in console_unlock().
    It allows to see the messages before processes (kthreads) could
    get started.

    Note that it must be used as long as there is a boot console
    registered. The console_lock() serializes accesses to the same
    HW port between the early and normal console driver.

  - In an emergency section, directly from nbcon_cpu_emergency_exit()
    or nbcon_cpu_emergency_flush(). It allows to see the messages
    when the system is in an unexpected state and might not be
    able to continue properly.

    The messages are flushed at the end of the emergency section
    to allow storing the full log (backtrace) first. It helps to
    see it even when other CPUs add messages in parallel. The flush()
    API is used to explicitly flush parts of longer logs which might
    not fit into the buffer or might cause a softlockup.

    The emergency section is used for WARN(), Oops, RCU stall,
    and lockdep reports.

  - In panic(), directly from printk() on the panic-CPU. Note that
    other CPUs are not allowed to add new messages at this point.

There is also a new uart_port_lock() API in serial_core.h. It allows to
take port->lock and also acquire the nbcon console context when
the particular port gets registered as a console.

The port->lock serializes code for non-printing activities, for example,
for writing or setting the port speed. The nbcon context allows to
serialize the access in emergency or panic situations where the classic
spin lock (port->lock) could cause a deadlock. Note that the nbcon
context allows a safe takeover in the middle of a printed message.

IMPORTANT: The changes do not affect the behavior of legacy consoles,
    except for two situations:

  - Legacy consoles are not longer flushed directly from printk()
    in emergency sections. The flush is done on exit from
    the emergency section or by nbcon_cpu_emergency_flush().
    The motivation is the same as for nbcon consoles.

  - Legacy consoles are not longer flushed directly from printk()
    in panic() when crash dump is created and a nbcon console
    is registered. They could create a deadlock in compare with
    nbcon consoles.

23 Jul 2024: Mailbox changes for v6.11 [+ + +]
broadcom: remove unused pdc_dma_map
imx: fix TXDB_V2 channel race condition
mediatek: cleanup and refactor driver
      add bindings for gce-props
omap: fix mailbox interrupt sharing
qcom: add bindings for SA8775p
      add CPUCP driver
zynqmp: make polling period configurable

23 Jul 2024: PCMCIA improvements for 6.11-rc1 [+ + +]
a few PCMCIA changes since commit f2661062f16b2de5d7b6a5c42a9a5c96326b8454


are available in the Git repository at:


for you to fetch changes up to 0630e3bc0e91b57288921df2927859b23184ca45:

  pcmcia: add missing MODULE_DESCRIPTION() macros (2024-06-30 15:51:34 +0200)

PCMCIA: improvements for v6.11-rc1

A number of tiny cleanups of the PCMCIA subsystem by Jeff Johnson,
Jules Irenge, and Krzysztof Kozlowski.

 
22 Jul 2024: power-supply changes for 6.11 [+ + +]

Hi Linus,

This time Stephen Rothwell noticed one merge conflict
with the LED tree. The discussion around that can be
found here:

https://lore.kernel.org/all/20240709133420.55645c59@canb.auug.org.au/

All changes have been in -next for 3 weeks and are
well-hung by now.

Greetings,

-- Sebastian

power supply and reset changes for the 6.11 series

 * power-supply core
   - new charging_orange_full_green RGB LED trigger
   - simplify and cleanup power-supply LED trigger code
   - expose power information via hwmon compatibility layer
 * new hardware support
   - enable battery support for Qualcomm Snapdragon X Elite
   - new battery driver for Maxim MAX17201/MAX17205
   - new battery driver for Lenovo Yoga C630 laptop (custom EC)
 * cleanup 'struct i2c_device_id' initializations
 * misc. small battery driver cleanups and fixes

22 Jul 2024: jfs updates for v6.11 [+ + +]
Folio conversion from Matthew Wilcox and a few various fixes

22 Jul 2024: irq/core for v6.11-rc1 [+ + +]
please pull the latest irq/core branch from:

-15

ation

[ Same as V1 minus the MSI conversion ]

Updates for the interrupt subsystem:

  - Core:

    - Provide a new mechanism to create interrupt domains. The existing
      interfaces have already too many parameters and it's a pain to expand
      any of this for new required functionality.

      The new function takes a pointer to a data structure as argument. The
      data structure combines all existing parameters and allows for easy
      extension.

      The first extension for this is to handle the instantiation of
      generic interrupt chips at the core level and to allow drivers to
      provide extra init/exit callbacks.

      This is necessary to do the full interrupt chip initialization before
      the new domain is published, so that concurrent usage sites won't see
      a half initialized interrupt domain. Similar problems exist on
      teardown.

      This has turned out to be a real problem due to the deferred and
      parallel probing which was added in recent years.

      Handling this at the core level allows to remove quite some accrued
      boilerplate code in existing drivers and avoids horrible workarounds
      at the driver level.

    - The usual small improvements all over the place

  - Drivers

    - Add support for LAN966x OIC and RZ/Five SoC

    - Split the STM ExtI driver into a microcontroller and a SMP version to
      allow building the latter as a module for multi-platform kernels.

    - Enable MSI support for Armada 370XP on platforms which do not support
      IPIs.

    - The usual small fixes and enhancements all over the place.


Thanks,

tglx

22 Jul 2024: irq/msi for v6.11-rc1 [+ + +]
please pull the latest irq/msi branch from:

22

form MSI

Switch ARM/ARM64 over to the modern per device MSI domains:

  This simplifies the handling of platform MSI and wire to MSI controllers
  and removes about 500 lines of legacy code.

  Aside of that it paves the way for ARM/ARM64 to utilize the dynamic
  allocation of PCI/MSI interrupts and to support the upcoming non
  standard IMS (Interrupt Message Store) mechanism on PCIe devices

This has been split out from the original pull request and the two fixlets
from Marc which cure the issues observed by Johan have been added on top.

Thanks,

tglx

22 Jul 2024: LoongArch changes for v6.11 [+ + +]
LoongArch changes for v6.11

1, Define __ARCH_WANT_NEW_STAT in unistd.h;
2, Always enumerate MADT and setup logical-physical CPU mapping;
3, Add irq_work support via self IPIs;
4, Add RANDOMIZE_KSTACK_OFFSET support;
5, Add ARCH_HAS_PTE_DEVMAP support;
6, Add ARCH_HAS_DEBUG_VM_PGTABLE support;
7, Add writecombine support for DMW-based ioremap();
8, Add architectural preparation for CPUFreq;
9, Add ACPI standard hardware register based S3 support;
10, Add support for relocating the kernel with RELR relocation;
11, Some bug fixes and other small changes.

 
21 Jul 2024: non-MM updates for 6.11-rc1 [+ + +]
development cycle, thanks.


I'm seeing three conflicts during a test merge.  I'd incorrectly
attributed these to the mm-stble branch but these are actually issues
in this mm-nonmm-stable pull.  Those, along with their linux-next
resolutions are:

include/linux/interrupt.h, vs input tree:
https://lkml.kernel.org/r/20240612103235.5ef64950@canb.auug.org.au

include/linux/cacheinfo.h, vs tip tree:
https://lkml.kernel.org/r/20240612112746.3130d68b@canb.auug.org.au

fs/bcachefs/clock.c, vs bcachefs tree:
https://lkml.kernel.org/r/20240712105711.6dc900a2@canb.auug.org.au





- In the series "treewide: Refactor heap related implementation",
  Kuan-Wei Chiu has significantly reworked the min_heap library code and
  has taught bcachefs to use the new more generic implementation.

- Yury Norov's series "Cleanup cpumask.h inclusion in core headers"
  reworks the cpumask and nodemask headers to make things generally more
  rational.

- Kuan-Wei Chiu has sent along some maintenance work against our sorting
  library code in the series "lib/sort: Optimizations and cleanups".

- More library maintainance work from Christophe Jaillet in the series
  "Remove usage of the deprecated ida_simple_xx() API".

- Ryusuke Konishi continues with the nilfs2 fixes and clanups in the
  series "nilfs2: eliminate the call to inode_attach_wb()".

- Kuan-Ying Lee has some fixes to the gdb scripts in the series "Fix GDB
  command error".

- Plus the usual shower of singleton patches all over the place.  Please
  see the relevant changelogs for details.

21 Jul 2024: RTC for 6.11 [+ + +]
Here is the RTC subsystem pull request for 6.11. There are mstly small
fixes this cycle. The alarm offset that is getting fixed doesn't affect
many RTCs as most of them have a complete set of datetime registers.

RTC for 6.11

Subsystem:
 - add missing MODULE_DESCRIPTION() macro
 - fix offset addition for alarms

Drivers:
 - isl1208: alarm clearing fixes
 - mcp794xx: oscillator failure detection
 - stm32: stm32mp25 support
 - tps6594: power management support

21 Jul 2024: MM updates for 6.11-rc1 [+ + +]


Conflicts which I saw during a test merge, along with their linux-next
resolutions are:

arch/powerpc/mm/nohash/Makefile, vs powerpc tree:
https://lkml.kernel.org/r/20240703094857.3f489d4f@canb.auug.org.au

fs/nfs/write.c, fs/nfs/nfstrace.h, vs fs-next tree:
https://lkml.kernel.org/r/20240715105836.6d6e6e50@canb.auug.org.au

include/linux/hid_bpf.h, vs hid tree:
https://lkml.kernel.org/r/20240709112544.190ffda4@canb.auug.org.au


Upcoming conflicts include:

include/linux/interrupt.h, vs input tree:
https://lkml.kernel.org/r/20240612103235.5ef64950@canb.auug.org.au

include/linux/cacheinfo.h, vs tip tree:
https://lkml.kernel.org/r/20240612112746.3130d68b@canb.auug.org.au

drivers/fsi/fsi-occ.c, vs driver-core tree:
https://lkml.kernel.org/r/20240612123640.68ae0310@canb.auug.org.au

This one is a bit vague, but might help:
arch/s390/include/asm/kmsan.h, arch/s390/include/asm/lowcore.h, vs s390
tree:
https://lkml.kernel.org/r/20240627150405.27663-1-iii@linux.ibm.com

mm/rmap.c, vs random tree:
https://lkml.kernel.org/r/20240702164041.60a19dfb@canb.auug.org.au
https://lkml.kernel.org/r/20240709174053.051a46a4@canb.auug.org.au

tools/testing/selftests/mm/Makefile, vs random tree:
https://lkml.kernel.org/r/20240709174340.5c03c2b9@canb.auug.org.au

fs/bcachefs/clock.c, vs bcachefs tree:
https://lkml.kernel.org/r/20240712105711.6dc900a2@canb.auug.org.au


- 875fa64577da ("mm/hugetlb_vmemmap: fix race with speculative PFN
  walkers") is known to cause a performance regression
  (https://lore.kernel.org/all/3acefad9-96e5-4681-8014-827d6be71c7a@linux.i=
bm.com/T/#mfa809800a7862fb5bdf834c6f71a3a5113eb83ff).
  Yu has a fix which I'll send along later via the hotfixes branch.

- In the series "mm: Avoid possible overflows in dirty throttling" Jan
  Kara addresses a couple of issues in the writeback throttling code.
  These fixes are also targetted at -stable kernels.

- Ryusuke Konishi's series "nilfs2: fix potential issues related to
  reserved inodes" does that.  This should actually be in the
  mm-nonmm-stable tree, along with the many other nilfs2 patches.  My bad.

- More folio conversions from Kefeng Wang in the series "mm: convert to
  folio_alloc_mpol()"

- Kemeng Shi has sent some cleanups to the writeback code in the series
  "Add helper functions to remove repeated code and improve readability of
  cgroup writeback"

- Kairui Song has made the swap code a little smaller and a little
  faster in the series "mm/swap: clean up and optimize swap cache index".

- In the series "mm/memory: cleanly support zeropage in
  vm_insert_page*(), vm_map_pages*() and vmf_insert_mixed()" David
  Hildenbrand has reworked the rather sketchy handling of the use of the
  zeropage in MAP_SHARED mappings.  I don't see any runtime effects here -
  more a cleanup/understandability/maintainablity thing.

- Dev Jain has improved selftests/mm/va_high_addr_switch.c's handling of
  higher addresses, for aarch64.  The (poorly named) series is
  "Restructure va_high_addr_switch".

- The core TLB handling code gets some cleanups and possible slight
  optimizations in Bang Li's series "Add update_mmu_tlb_range() to
  simplify code".

- Jane Chu has improved the handling of our
  fake-an-unrecoverable-memory-error testing feature MADV_HWPOISON in the
  series "Enhance soft hwpoison handling and injection".

- Jeff Johnson has sent a billion patches everywhere to add
  MODULE_DESCRIPTION() to everything.  Some landed in this pull.

- In the series "mm: cleanup MIGRATE_SYNC_NO_COPY mode", Kefeng Wang has
  simplified migration's use of hardware-offload memory copying.

- Yosry Ahmed performs more folio API conversions in his series "mm:
  zswap: trivial folio conversions".

- In the series "large folios swap-in: handle refault cases first",
  Chuanhua Han inches us forward in the handling of large pages in the
  swap code.  This is a cleanup and optimization, working toward the end
  objective of full support of large folio swapin/out.

- In the series "mm,swap: cleanup VMA based swap readahead window
  calculation", Huang Ying has contributed some cleanups and a possible
  fixlet to his VMA based swap readahead code.

- In the series "add mTHP support for anonymous shmem" Baolin Wang has
  taught anonymous shmem mappings to use multisize THP.  By default this
  is a no-op - users must opt in vis sysfs controls.  Dramatic
  improvements in pagefault latency are realized.

- David Hildenbrand has some cleanups to our remaining use of
  page_mapcount() in the series "fs/proc: move page_mapcount() to
  fs/proc/internal.h".

- David also has some highmem accounting cleanups in the series
  "mm/highmem: don't track highmem pages manually".

- Build-time fixes and cleanups from John Hubbard in the series
  "cleanups, fixes, and progress towards avoiding "make headers"".

- Cleanups and consolidation of the core pagemap handling from Barry
  Song in the series "mm: introduce pmd|pte_needs_soft_dirty_wp helpers
  and utilize them".

- Lance Yang's series "Reclaim lazyfree THP without splitting" has
  reduced the latency of the reclaim of pmd-mapped THPs under fairly
  common circumstances.  A 10x speedup is seen in a microbenchmark.

  It does this by punting to aother CPU but I guess that's a win unless
  all CPUs are pegged.

- hugetlb_cgroup cleanups from Xiu Jianfeng in the series
  "mm/hugetlb_cgroup: rework on cftypes".

- Miaohe Lin's series "Some cleanups for memory-failure" does just that
  thing.

- Is anyone reading this stuff?  If so, email me!

- Someone other than SeongJae has developed a DAMON feature in Honggyu
  Kim's series "DAMON based tiered memory management for CXL memory".
  This adds DAMON features which may be used to help determine the
  efficiency of our placement of CXL/PCIe attached DRAM.

- DAMON user API centralization and simplificatio work in SeongJae
  Park's series "mm/damon: introduce DAMON parameters online commit
  function".

- In the series "mm: page_type, zsmalloc and page_mapcount_reset()"
  David Hildenbrand does some maintenance work on zsmalloc - partially
  modernizing its use of pageframe fields.

- Kefeng Wang provides more folio conversions in the series "mm: remove
  page_maybe_dma_pinned() and page_mkclean()".

- More cleanup from David Hildenbrand, this time in the series
  "mm/memory_hotplug: use PageOffline() instead of PageReserved() for
  !ZONE_DEVICE".  It "enlightens memory hotplug more about PageOffline()
  pages" and permits the removal of some virtio-mem hacks.

- Barry Song's series "mm: clarify folio_add_new_anon_rmap() and
  __folio_add_anon_rmap()" is a cleanup to the anon folio handling in
  preparation for mTHP (multisize THP) swapin.

- Kefeng Wang's series "mm: improve clear and copy user folio"
  implements more folio conversions, this time in the area of large folio
  userspace copying.

- The series "Docs/mm/damon/maintaier-profile: document a mailing tool
  and community meetup series" tells people how to get better involved
  with other DAMON developers.  From SeongJae Park.

- A large series ("kmsan: Enable on s390") from Ilya Leoshkevich does
  that.

- David Hildenbrand sends along more cleanups, this time against the
  migration code.  The series is "mm/migrate: move NUMA hinting fault
  folio isolation + checks under PTL".

- Jan Kara has found quite a lot of strangenesses and minor errors in
  the readahead code.  He addresses this in the series "mm: Fix various
  readahead quirks".

- SeongJae Park's series "selftests/damon: test DAMOS tried regions and
  {min,max}_nr_regions" adds features and addresses errors in DAMON's self
  testing code.

- Gavin Shan has found a userspace-triggerable WARN in the pagecache
  code.  The series "mm/filemap: Limit page cache size to that supported
  by xarray" addresses this.  The series is marked cc:stable.

- Chengming Zhou's series "mm/ksm: cmp_and_merge_page() optimizations
  and cleanup" cleans up and slightly optimizes KSM.

- Roman Gushchin has separated the memcg-v1 and memcg-v2 code - lots of
  code motion.  The series (which also makes the memcg-v1 code
  Kconfigurable) are

  "mm: memcg: separate legacy cgroup v1 code and put under config
  option" and
  "mm: memcg: put cgroup v1-specific memcg data under CONFIG_MEMCG_V1"

- Dan Schatzberg's series "Add swappiness argument to memory.reclaim"
  adds an additional feature to this cgroup-v2 control file.

- The series "Userspace controls soft-offline pages" from Jiaqi Yan
  permits userspace to stop the kernel's automatic treatment of excessive
  correctable memory errors.  In order to permit userspace to monitor and
  handle this situation.

- Kefeng Wang's series "mm: migrate: support poison recover from migrate
  folio" teaches the kernel to appropriately handle migration from
  poisoned source folios rather than simply panicing.

- SeongJae Park's series "Docs/damon: minor fixups and improvements"
  does those things.

- In the series "mm/zsmalloc: change back to per-size_class lock"
  Chengming Zhou improves zsmalloc's scalability and memory utilization.

- Vivek Kasireddy's series "mm/gup: Introduce memfd_pin_folios() for
  pinning memfd folios" makes the GUP code use FOLL_PIN rather than bare
  refcount increments.  So these paes can first be moved aside if they
  reside in the movable zone or a CMA block.

- Andrii Nakryiko has added a binary ioctl()-based API to /proc/pid/maps
  for much faster reading of vma information.  The series is "query VMAs
  from /proc/<pid>/maps".

- In the series "mm: introduce per-order mTHP split counters" Lance Yang
  improves the kernel's presentation of developer information related to
  multisize THP splitting.

- Michael Ellerman has developed the series "Reimplement huge pages
  without hugepd on powerpc (8xx, e500, book3s/64)".  This permits
  userspace to use all available huge page sizes.

- In the series "revert unconditional slab and page allocator fault
  injection calls" Vlastimil Babka removes a performance-affecting and not
  very useful feature from slab fault injection.

21 Jul 2024: pin control changes for v6.11 [+ + +]
this is the bulk of pin control changes for the v6.11 kernel cycle.
Some new drivers is the main part, the rest is cleanups and
nonurgent fixes. New drivers listed in the signed tag.
Nothing much special about this, no core changes this time.


Yours,
Linus Walleij

Pin control bulk changes for the v6.11 kernel series:

Core changes: None.

New drivers:

- Renesas RZ/V2H(P) SoC

- NXP Freescale i.MX91 SoC

- Nuvoton MA35D1 SoC

- Qualcomm PMC8380, SM4250, SM4250 LPI

Enhancements:

- A slew of scoped-based simplifications of of_node_put().

 
20 Jul 2024: RISC-V Patches for the 6.11 Merge Window, Part 1 [+ + +]
RISC-V Patches for the 6.11 Merge Window, Part 1

* Support for various new ISA extensions:
    * The Zve32[xf] and Zve64[xfd] sub-extensios of the vector
      extension.
    * Zimop and Zcmop for may-be-operations.
    * The Zca, Zcf, Zcd and Zcb sub-extensions of the C extension.
    * Zawrs,
* riscv,cpu-intc is now dtschema.
* A handful of performance improvements and cleanups to text patching.
* Support for memory hot{,un}plug
* The highest user-allocatable virtual address is now visible in
  hwprobe.

20 Jul 2024: mtd: Changes for 6.11 [+ + +]
This is the MTD PR for 6.11.

Thanks,
Miqu=C3=A8l

MTD changes:

- Nothing stands out for this merge window, mostly minor fixes, such as
  module descriptions, the use of debug macros and Makefile improvements.

Raw NAND changes;

- The Freescale MXC driver has been converted to the newer ->exec_op()
  interface. The meson driver now supports handling the boot ROM area
  with very specific ECC needs. Support for the iMX8QXP has been added
  to the GPMI driver. The lpx32xx driver now can get the DMA channels
  using DT entries. The Qcom binding has been improved to be more future
  proof by Rob. And then there is the usual load of misc and minor
  changes.

SPI-NAND changes:

- The Macronix vendor driver has been improved to support an extended ID
  to avoid conflicting with older devices after an ID reuse issue.

SPI NOR changes:

- Drop support for Xilinx S3AN flashes. These flashes are for the very
  old Xilinx Spartan 3 FPGAs and they need some awkward code in the core
  to support. Drop support for these flashes, along with the special
  handling we needed for them in the core like non-power-of-2 page size
  handling and the .setup() callback.

- Fix regression for old w25q128 flashes without SFDP tables. Commit
  83e824a4a595 ("mtd: spi-nor: Correct flags for Winbond w25q128")
  dropped support for such devices under the assumption that they aren't
  being used anymore. Users have now surfaced [0] so fix the regression
  by supporting both kind of devices.

- Core cleanups including removal of SPI_NOR_NO_FR flag and
  simplification of spi_nor_get_flash_info().

[0] https://lore.kernel.org/r/CALxbwRo_-9CaJmt7r7ELgu+vOcgk=3DxZcGHobnKf=3D=
oT2=3Du4d4aA@mail.gmail.com/

20 Jul 2024: MIPS changes for v6.11 [+ + +]
- added support for Realtek RTL9302C
- added support for Mobileye EyeQ6H
- added support for Mobileye EyeQ OLB system controller
- improved r4k clocksource
- added mode for emulating ieee754 NAN2008
- rework for BMIPS CBR address handling
- fixes for Loongson 2K1000
- defconfig updates
- cleanups and fixes

20 Jul 2024: firewire updates for v6.11 [+ + +]

firewire updates for v6.11

There are many line changes for FireWire subsystem, while there is no
functional change for practical use. The most of changes are for code
refactoring, some KUnit tests to added helper functions, and new
tracepoints events for both the core functions and 1394 OHCI driver.

The tracepoints events now cover the verbose logging enabled by debug
parameter of firewire-ohci kernel module. The parameter would be removed
in any future timing, thus it is now deprecated.

20 Jul 2024: i2c-host for v6.11 - part 2 [+ + +]
Hi Wolfram,

here comes the second part of the merge window pull request. I
pull request on top of the mainline.

Until now I was on top of your i2c/for-mergewindow branch.

Thanks and have a great weekend,
Andi

Added descriptions in the DTS for the Qualcomm SM8650 and SM8550
Camera Control Interface (CCI).

Added support for the "settle-time-us" property, which allows the
gpio-mux device to switch from one bus to another with a
configurable delay. The time can be set in the DTS.

The latest change also includes file sorting.

Fixed slot numbering in the SMBus framework to prevent failures
when more than 8 slots are occupied. It now enforces a a maximum
of 8 slots to be used. This ensures that the Intel PIIX4 device
can register the SPDs correctly without failure, even if other
slots are populated but not used.

 
19 Jul 2024: PCI changes for v6.11 [+ + +]
Enumeration:

  - Define PCIE_RESET_CONFIG_DEVICE_WAIT_MS for the generic 100ms required
    after reset before config access (Kevin Xie)

  - Define PCIE_T_RRS_READY_MS for the generic 100ms required after reset
    before config access (probably should be unified with
    PCIE_RESET_CONFIG_DEVICE_WAIT_MS) (Damien Le Moal)

Resource management:

  - Rename find_resource() to find_resource_space() to be more descriptive
    (Ilpo Järvinen)

  - Export find_resource_space() for use by PCI core, which needs to learn
    whether there is available space for a bridge window (Ilpo Järvinen)

  - Prevent double counting of resources so window size doesn't grow on
    each remove/rescan cycle (Ilpo Järvinen)

  - Relax bridge window sizing algorithm so a device doesn't break simply
    because it was removed and rescanned (Ilpo Järvinen)

  - Evaluate the ACPI PRESERVE_BOOT_CONFIG _DSM in
    pci_register_host_bridge() (not acpi_pci_root_create()) so we can unify
    it with similar DT functionality (Vidya Sagar)

  - Extend use of DT "linux,pci-probe-only" property so it works per-host
    bridge as well as globally (Vidya Sagar)

  - Unify support for ACPI PRESERVE_BOOT_CONFIG _DSM and the DT
    "linux,pci-probe-only" property in pci_preserve_config() (Vidya Sagar)

Driver binding:

  - Add devres infrastructure for managed request and map of partial BAR
    resources (Philipp Stanner)

  - Deprecate pcim_iomap_table() because uses like "pcim_iomap_table()[0]"
    have no good way to return errors (Philipp Stanner)

  - Add an always-managed pcim_request_region() for use instead of
    pci_request_region() and similar, which are sometimes managed depending
    on whether pcim_enable_device() has been called previously (Philipp
    Stanner)

  - Reimplement pcim_set_mwi() so it doesn't need to keep store MWI state
    (Philipp Stanner)

  - Add pcim_intx() for use instead of pci_intx(), which is sometimes
    managed depending on whether pcim_enable_device() has been called
    previously (Philipp Stanner)

  - Add managed pcim_iomap_range() to allow mapping of a partial BAR
    (Philipp Stanner)

  - Fix a devres mapping leak in drm/vboxvideo (Philipp Stanner)

Error handling:

  - Add missing bridge locking in device reset path and add a warning for
    other possible lock issues (Dan Williams)

  - Fix use-after-free on concurrent DPC and hot-removal (Lukas Wunner)

Power management:

  - Disable AER and DPC during suspend to avoid spurious wakeups if they
    share an interrupt with PME (Kai-Heng Feng)

PCIe native device hotplug:

  - Detect if a device was removed or replaced during system sleep so we
    don't assume a new device is the one that used to be there (Lukas
    Wunner)

Virtualization:

  - Add an ACS quirk for Broadcom BCM5760X multi-function NIC; it prevents
    transactions between functions even though it doesn't advertise ACS, so
    the functions can be attached individually via VFIO (Ajit Khaparde)

Peer-to-peer DMA:

  - Add a "pci=config_acs=" kernel command-line parameter to relax default
    ACS settings to enable additional peer-to-peer configurations.
    Requires expert knowledge of topology and ACS operation (Vidya Sagar)

Endpoint framework:

  - Remove unused struct pci_epf_group.type_group (Christophe JAILLET)

  - Fix error handling in vpci_scan_bus() and epf_ntb_epc_cleanup() (Dan
    Carpenter)

  - Make struct pci_epc_class constant (Greg Kroah-Hartman)

  - Remove unused pci_endpoint_test_bar_{readl,writel} functions (Jiapeng
    Chong)

  - Rename "BME" to "Bus Master Enable" (Manivannan Sadhasivam)

  - Rename struct pci_epc_event_ops.core_init() callback to epc_init()
    (Manivannan Sadhasivam)

  - Move DMA init to MHI .epc_init() callback for uniformity (Manivannan
    Sadhasivam)

  - Cancel EPF test delayed work when link goes down (Manivannan
    Sadhasivam)

  - Add struct pci_epc_event_ops.epc_deinit() callback for cleanup needed
    on fundamental reset (Manivannan Sadhasivam)

  - Add 64KB alignment to endpoint test to support Rockchip rk3588 (Niklas
    Cassel)

  - Optimize endpoint test by using memcpy() instead of readl() (Niklas
    Cassel) 

Device tree bindings:

  - Add generic "ats-supported" property to advertise that a PCIe Root
    Complex supports ATS (Jean-Philippe Brucker)

Amazon Annapurna Labs PCIe controller driver:

  - Validate IORESOURCE_BUS presence to avoid NULL pointer dereference
    (Aleksandr Mishin)

Axis ARTPEC-6 PCIe controller driver:

  - Rename .cpu_addr_fixup() parameter to reflect that it is a PCI address,
    not a CPU address (Niklas Cassel)

Freescale i.MX6 PCIe controller driver:

  - Convert to agnostic GPIO API (Andy Shevchenko)

Freescale Layerscape PCIe controller driver:

  - Make struct mobiveil_rp_ops constant (Christophe JAILLET)

  - Use new generic dw_pcie_ep_linkdown() to handle link-down events
    (Manivannan Sadhasivam)

HiSilicon Kirin PCIe controller driver:

  - Convert to agnostic GPIO API (Andy Shevchenko)

  - Use _scoped() iterator for OF children to ensure refcounts are
    decremented at loop exit (Javier Carrasco)

Intel VMD host bridge driver:

  - Create sysfs "domain" symlink before downstream devices are exposed to
    userspace by pci_bus_add_devices() (Jiwei Sun)

Loongson PCIe controller driver:

  - Enable MSI when LS7A is used with new CPUs that have integrated PCIe
    Root Complex,  e.g., Loongson-3C6000, so downstream devices can use MSI
    (Huacai Chen)

Microchip AXI PolarFlare PCIe controller driver:

  - Move pcie-microchip-host.c to a new PLDA directory (Minda Chen)

  - Factor PLDA generic items out to a common
    plda,xpressrich3-axi-common.yaml binding (Minda Chen)

  - Factor PLDA generic data structures and code out to shared pcie-plda.h,
    pcie-plda-host.c (Minda Chen)

  - Add PLDA generic interrupt handling with a .request_event_irq()
    callback for vendor-specific events (Minda Chen)

  - Add PLDA generic host init/deinit and map bus functions for use by
    vendor-specific drivers (Minda Chen)

  - Rework to use PLDA core (Minda Chen)

Microsoft Hyper-V host bridge driver:

  - Return zero, not garbage, when reading PCI_INTERRUPT_PIN (Wei Liu)

NVIDIA Tegra194 PCIe controller driver:

  - Remove unused struct tegra_pcie_soc (Dr. David Alan Gilbert)

  - Set 64KB inbound ATU alignment restriction (Jon Hunter)

Qualcomm PCIe controller driver:

  - Make the MHI reg region mandatory for X1E80100, since all PCIe
    controllers have it (Abel Vesa)

  - Prevent use of uninitialized data and possible error pointer
    dereference (Dan Carpenter)

  - Return error, not success, if dev_pm_opp_find_freq_floor() fails (Dan
    Carpenter)

  - Add Operating Performance Points (OPP) support to scale performance
    state based on aggregate link bandwidth to improve SoC power efficiency
    (Krishna chaitanya chundru)

  - Vote for the CPU-PCIe ICC (interconnect) path to ensure it stays active
    even if other drivers don't vote for it (Krishna chaitanya chundru)

  - Use devm_clk_bulk_get_all() to get all the clocks from DT to avoid
    writing out all the clock names (Manivannan Sadhasivam)

  - Add DT binding and driver support for the SA8775P SoC (Mrinmay Sarkar)

  - Add HDMA support for the SA8775P SoC (Mrinmay Sarkar)

  - Override the SA8775P NO_SNOOP default to avoid possible memory
    corruption (Mrinmay Sarkar)

  - Make sure resources are disabled during PERST# assertion, even if the
    link is already disabled (Manivannan Sadhasivam)

  - Use new generic dw_pcie_ep_linkdown() to handle link-down events
    (Manivannan Sadhasivam)

  - Add DT and endpoint driver support for the SA8775P SoC (Mrinmay Sarkar)

  - Add Hyper DMA (HDMA) support for the SA8775P SoC and enable it in the
    EPF MHI driver (Mrinmay Sarkar)

  - Set PCIE_PARF_NO_SNOOP_OVERIDE to override the default NO_SNOOP
    attribute on the SA8775P SoC (both Root Complex and Endpoint mode) to
    avoid possible memory corruption (Mrinmay Sarkar)

Renesas R-Car PCIe controller driver:

  - Demote WARN() to dev_warn_ratelimited() in rcar_pcie_wakeup() to avoid
    unnecessary backtrace (Marek Vasut)

  - Add DT and driver support for R-Car V4H (R8A779G0) host and endpoint.
    This requires separate proprietary firmware (Yoshihiro Shimoda)

Rockchip PCIe controller driver:

  - Assert PERST# for 100ms after power is stable (Damien Le Moal)

  - Wait PCIE_T_RRS_READY_MS (100ms) after reset before starting
    configuration (Damien Le Moal)

  - Use GPIOD_OUT_LOW flag while requesting ep_gpio to fix a firmware crash
    on Qcom-based modems with Rockpro64 board (Manivannan Sadhasivam)

Rockchip DesignWare PCIe controller driver:

  - Factor common parts of rockchip-dw-pcie DT binding to be shared by Root
    Complex and Endpoint mode (Niklas Cassel)

  - Add missing INTx signals to common DT binding (Niklas Cassel)

  - Add eDMA items to DT binding for Endpoint controller (Niklas Cassel)

  - Fix initial dw-rockchip PERST# GPIO value to prevent unnecessary short
    assert/deassert that causes issues with some WLAN controllers (Niklas
    Cassel)

  - Refactor dw-rockchip and add support for Endpoint mode (Niklas Cassel)

  - Call pci_epc_init_notify() and drop dw_pcie_ep_init_notify() wrapper
    (Niklas Cassel)

  - Add error messages in .probe() error paths to improve user experience
    (Uwe Kleine-König)

Samsung Exynos PCIe controller driver:

  - Use bulk clock APIs to simplify clock setup (Shradha Todi)

StarFive PCIe controller driver:

  - Add DT binding and driver support for the StarFive JH7110 PLDA-based
    PCIe controller (Minda Chen)

Synopsys DesignWare PCIe controller driver:

  - Add generic support for sending PME_Turn_Off when system suspends
    (Frank Li)

  - Fix incorrect interpretation of iATU slot 0 after PERST#
    assert/deassert (Frank Li)

  - Use msleep() instead of usleep_range() while waiting for link (Konrad
    Dybcio)

  - Refactor dw_pcie_edma_find_chip() to enable adding support for Hyper
    DMA (HDMA) (Manivannan Sadhasivam)

  - Enable drivers to supply the eDMA channel count since some can't auto
    detect this (Manivannan Sadhasivam)

  - Call pci_epc_init_notify() and drop dw_pcie_ep_init_notify() wrapper
    (Manivannan Sadhasivam)

  - Pass the eDMA mapping format directly from drivers instead of
    maintaining a capability for it (Manivannan Sadhasivam)

  - Add generic dw_pcie_ep_linkdown() to notify EPF drivers about link-down
    events and restore non-sticky DWC registers lost on link down
    (Manivannan Sadhasivam)

  - Add vendor-specific "apb" reg name, interrupt names, INTx names to
    generic binding (Niklas Cassel)

  - Enforce DWC restriction that 64-bit BARs must start with an
    even-numbered BAR (Niklas Cassel)

  - Consolidate args of dw_pcie_prog_outbound_atu() into a structure
    (Yoshihiro Shimoda)

  - Add support for endpoints to send Message TLPs, e.g., for INTx
    emulation (Yoshihiro Shimoda)

TI DRA7xx PCIe controller driver:

  - Rename .cpu_addr_fixup() parameter to reflect that it is a PCI address,
    not a CPU address (Niklas Cassel)

TI Keystone PCIe controller driver:

  - Validate IORESOURCE_BUS presence to avoid NULL pointer dereference
    (Aleksandr Mishin)

  - Work around AM65x/DRA80xM Errata #i2037 that corrupts TLPs and causes
    processor hangs by limiting Max_Read_Request_Size (MRRS) and
    Max_Payload_Size (MPS) (Kishon Vijay Abraham I)

  - Leave BAR 0 disabled for AM654x to fix a regression caused by
    6ab15b5e7057 ("PCI: dwc: keystone: Convert .scan_bus() callback to use
    add_bus"), which caused a 45-second boot delay (Siddharth Vadapalli)

Xilinx Versal CPM PCIe controller driver:

  - Fix overlapping bridge registers and 32-bit BAR addresses in DT binding
    (Thippeswamy Havalige)

MicroSemi Switchtec management driver:

  - Make struct switchtec_class constant (Greg Kroah-Hartman)

Miscellaneous:

  - Remove unused struct acpi_handle_node (Dr. David Alan Gilbert)

  - Add missing MODULE_DESCRIPTION() macros (Jeff Johnson)

19 Jul 2024: Input updates for v6.11-rc0 [+ + +]


to receive updates for the input subsystem. You will get:

- streamlined logic in input core for handling normal input handlers vs
  input filters

- updates to input drivers to allocate memory with sizeof(*pointer)
  instead of sizeof(type)

- change to ads7846 touchscreen driver to use hsync GPIO instead of
  requiring platform data with special method (which is not compatible
  with boards using device tree)

- update to adc-joystick driver to handle inverted axes

- cleanups in various drivers switching them to use the new "guard"
  and "__free()" facilities

- changes to several drivers (adxl34x, atmel_mxt_ts, ati-remote2,
  omap-keypad, yealink) to stop creating driver-specific device
  attributes manually and use driver core facilities for this

- update to Cypress PS/2 protocol driver to properly handle errors
  from the PS/2 transport as well as other cleanups

- update to edt-ft5x06 driver to support ft5426 variant 

- update to ektf2127 driver to support ektf2232 variant

- update to exc3000 driver to support EXC81W32 variant

- update to imagis driver to support IST3038 variant

- other assorted driver cleanups.  


Changelog:
---------

19 Jul 2024: NVDIMM and DAX for 6.11 [+ + +]

... to get the 6.11 updates for the libnvdimm tree.  The bulk of the changes
are to clean up W=1 warnings with one small update with the use of sizeof().

These have been linux-next without issue since 6/18.

Thank you,
Ira

---

6.11 updates for libnvdimm

One small cleanup to use sizeof(*pointer)

A series of patches to add MODULE_DESCRIPTIONS() to eliminate make W=1
warnings.

19 Jul 2024: Networking for v6.11-rc0 [+ + +]
Small PR, mainly to unbreak the s390 build. We delayed it a little
bit to try to catch a last-minute fix, but it will have to wait a
bit more.

Notably this includes fixes for a s390 build breakage.

Including fixes from netfilter.

Current release - new code bugs:

  - eth: fbnic: fix s390 build.

  - eth: airoha: fix NULL pointer dereference in airoha_qdma_cleanup_rx_queue()

Previous releases - regressions:

  - flow_dissector: use DEBUG_NET_WARN_ON_ONCE

  - ipv4: fix incorrect TOS in route get reply

  - dsa: fix chip-wide frame size config in some drivers

Previous releases - always broken:

  - netfilter: nf_set_pipapo: fix initial map fill

  - eth: gve: fix XDP TX completion handling when counters overflow

Signed-off-by: Paolo Abeni <pabeni@redhat.com>

19 Jul 2024: KVM changes for 6.11 merge window [+ + +]
ARM:

* Initial infrastructure for shadow stage-2 MMUs, as part of nested
  virtualization enablement

* Support for userspace changes to the guest CTR_EL0 value, enabling
  (in part) migration of VMs between heterogenous hardware

* Fixes + improvements to pKVM's FF-A proxy, adding support for v1.1 of
  the protocol

* FPSIMD/SVE support for nested, including merged trap configuration
  and exception routing

* New command-line parameter to control the WFx trap behavior under KVM

* Introduce kCFI hardening in the EL2 hypervisor

* Fixes + cleanups for handling presence/absence of FEAT_TCRX

* Miscellaneous fixes + documentation updates

LoongArch:

* Add paravirt steal time support.

* Add support for KVM_DIRTY_LOG_INITIALLY_SET.

* Add perf kvm-stat support for loongarch.

RISC-V:

* Redirect AMO load/store access fault traps to guest

* perf kvm stat support

* Use guest files for IMSIC virtualization, when available

ONE_REG support for the Zimop, Zcmop, Zca, Zcf, Zcd, Zcb and Zawrs ISA
extensions is coming through the RISC-V tree.

s390:

* Assortment of tiny fixes which are not time critical

x86:

* Fixes for Xen emulation.

* Add a global struct to consolidate tracking of host values, e.g. EFER

* Add KVM_CAP_X86_APIC_BUS_CYCLES_NS to allow configuring the effective APIC
  bus frequency, because TDX.

* Print the name of the APICv/AVIC inhibits in the relevant tracepoint.

* Clean up KVM's handling of vendor specific emulation to consistently act on
  "compatible with Intel/AMD", versus checking for a specific vendor.

* Drop MTRR virtualization, and instead always honor guest PAT on CPUs
  that support self-snoop.

* Update to the newfangled Intel CPU FMS infrastructure.

* Don't advertise IA32_PERF_GLOBAL_OVF_CTRL as an MSR-to-be-saved, as it reads
  '0' and writes from userspace are ignored.

* Misc cleanups

x86 - MMU:

* Small cleanups, renames and refactoring extracted from the upcoming
  Intel TDX support.

* Don't allocate kvm_mmu_page.shadowed_translation for shadow pages that can't
  hold leafs SPTEs.

* Unconditionally drop mmu_lock when allocating TDP MMU page tables for eager
  page splitting, to avoid stalling vCPUs when splitting huge pages.

* Bug the VM instead of simply warning if KVM tries to split a SPTE that is
  non-present or not-huge.  KVM is guaranteed to end up in a broken state
  because the callers fully expect a valid SPTE, it's all but dangerous
  to let more MMU changes happen afterwards.

x86 - AMD:

* Make per-CPU save_area allocations NUMA-aware.

* Force sev_es_host_save_area() to be inlined to avoid calling into an
  instrumentable function from noinstr code.

* Base support for running SEV-SNP guests.  API-wise, this includes
  a new KVM_X86_SNP_VM type, encrypting/measure the initial image into
  guest memory, and finalizing it before launching it.  Internally,
  there are some gmem/mmu hooks needed to prepare gmem-allocated pages
  before mapping them into guest private memory ranges.

  This includes basic support for attestation guest requests, enough to
  say that KVM supports the GHCB 2.0 specification.

  There is no support yet for loading into the firmware those signing
  keys to be used for attestation requests, and therefore no need yet
  for the host to provide certificate data for those keys.  To support
  fetching certificate data from userspace, a new KVM exit type will be
  needed to handle fetching the certificate from userspace. An attempt to
  define a new KVM_EXIT_COCO/KVM_EXIT_COCO_REQ_CERTS exit type to handle
  this was introduced in v1 of this patchset, but is still being discussed
  by community, so for now this patchset only implements a stub version
  of SNP Extended Guest Requests that does not provide certificate data.

x86 - Intel:

* Remove an unnecessary EPT TLB flush when enabling hardware.

* Fix a series of bugs that cause KVM to fail to detect nested pending posted
  interrupts as valid wake eents for a vCPU executing HLT in L2 (with
  HLT-exiting disable by L1).

* KVM: x86: Suppress MMIO that is triggered during task switch emulation

  Explicitly suppress userspace emulated MMIO exits that are triggered when
  emulating a task switch as KVM doesn't support userspace MMIO during
  complex (multi-step) emulation.  Silently ignoring the exit request can
  result in the WARN_ON_ONCE(vcpu->mmio_needed) firing if KVM exits to
  userspace for some other reason prior to purging mmio_needed.

  See commit 0dc902267cb3 ("KVM: x86: Suppress pending MMIO write exits if
  emulator detects exception") for more details on KVM's limitations with
  respect to emulated MMIO during complex emulator flows.

Generic:

* Rename the AS_UNMOVABLE flag that was introduced for KVM to AS_INACCESSIBLE,
  because the special casing needed by these pages is not due to just
  unmovability (and in fact they are only unmovable because the CPU cannot
  access them).

* New ioctl to populate the KVM page tables in advance, which is useful to
  mitigate KVM page faults during guest boot or after live migration.
  The code will also be used by TDX, but (probably) not through the ioctl.

* Enable halt poll shrinking by default, as Intel found it to be a clear win.

* Setup empty IRQ routing when creating a VM to avoid having to synchronize
  SRCU when creating a split IRQCHIP on x86.

* Rework the sched_in/out() paths to replace kvm_arch_sched_in() with a flag
  that arch code can use for hooking both sched_in() and sched_out().

* Take the vCPU @id as an "unsigned long" instead of "u32" to avoid
  truncating a bogus value from userspace, e.g. to help userspace detect bugs.

* Mark a vCPU as preempted if and only if it's scheduled out while in the
  KVM_RUN loop, e.g. to avoid marking it preempted and thus writing guest
  memory when retrieving guest state during live migration blackout.

Selftests:

* Remove dead code in the memslot modification stress test.

* Treat "branch instructions retired" as supported on all AMD Family 17h+ CPUs.

* Print the guest pseudo-RNG seed only when it changes, to avoid spamming the
  log for tests that create lots of VMs.

* Make the PMU counters test less flaky when counting LLC cache misses by
  doing CLFLUSH{OPT} in every loop iteration.

19 Jul 2024: Staging driver changes for 6.11-rc1 [+ + +]
Staging driver updates for 6.11-rc1

This is the "big" staging driver update for 6.11-rc1.  Not really all
that much happened this release cycle, just lots of tiny cleanups,
overall about 3000 lines removed, so the cleanups were worth it.

Included in here are:
  - loads of rtl8723bs driver cleanups
  - lots of rtl8192e driver cleanups
  - vc04_services reworks and cleanups as that codebase gets slowly
    evolved into something that will make it into the "real" part of the
    kernel hopefully soon.
  - other tiny staging driver cleanups

All of these have been in linux-next for a while with no reported
issues.

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

19 Jul 2024: Char/Misc driver changes for 6.11-rc1 [+ + +]
Char/Misc and other driver changes for 6.11-rc1

Here is the "big" set of char/misc and other driver subsystem changes
for 6.11-rc1.  Nothing major in here, just loads of new drivers and
updates.  Included in here are:
  - IIO api updates and new drivers added
  - wait_interruptable_timeout() api cleanups for some drivers
  - MODULE_DESCRIPTION() additions for loads of drivers
  - parport out-of-bounds fix
  - interconnect driver updates and additions
  - mhi driver updates and additions
  - w1 driver fixes
  - binder speedups and fixes
  - eeprom driver updates
  - coresight driver updates
  - counter driver update
  - new misc driver additions
  - other minor api updates

All of these, EXCEPT for the final Kconfig build fix for 32bit systems,
have been in linux-next for a while with no reported issues.  The
Kconfig fixup went in 29 hours ago, so might have missed the latest
linux-next, but was acked by everyone involved.

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

19 Jul 2024: USB/Thunderbolt driver updates for 6.11-rc1 [+ + +]
USB/Thunderbolt updates for 6.11-rc1

Here is the big set of USB and Thunderbolt changes for 6.11-rc1.
Nothing earth-shattering in here, just constant forward progress in
adding support for new hardware and better debugging functionalities for
thunderbolt devices and the subsystem.  Included in here are:
  - thunderbolt debugging update and driver additions
  - xhci driver updates
  - typec driver updates
  - kselftest device driver changes (acked by the relevant maintainers,
    depended on other changes in this tree.)
  - cdns3 driver updates
  - gadget driver updates
  - MODULE_DESCRIPTION() additions
  - dwc3 driver updates and fixes

All of these have been in linux-next for a while with no reported
issues.

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

19 Jul 2024: TTY / Serial driver changes for 6.11-rc1 [+ + +]
TTY/Serial updates for 6.11-rc1

Here is a small set of tty and serial driver updates for 6.11-rc1.  Not
much happened this cycle, unlike the previous kernel release which had
lots of "excitement" in this part of the kernel.  Included in here are
the following changes:
  - dt binding updates for new platforms
  - 8250 driver updates
  - various small serial driver fixes and updates
  - printk/console naming and matching attempt #2 (was reverted for
    6.10-final, should be good to go this time around, acked by the
    relevant maintainers).

All of these have been in linux-next for a while with no reported
issues.

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

19 Jul 2024: IOMMU Updates for Linux v6.11 [+ + +]

I've been looking after the IOMMU tree in Joerg's absence [1] for the
past few weeks and I was expecting him back at the start of this week to
send the pull. However, I've not heard from him at all and figured that
I may as well send this now rather than wait until the second week of
the merge window.

A few minor fixes have started showing up too, so I may end up sending
you a follow-up next week anyway.

A summary of all the changes is included in the tag.

Cheers,

Will

[1] https://lore.kernel.org/r/Zn6xFZanlWhN5kw3@8bytes.org

--->8

IOMMU Updates for Linux v6.11

- Core:
  * Support for the "ats-supported" device-tree property.

  * Removal of the 'ops' field from 'struct iommu_fwspec'.

  * Introduction of iommu_paging_domain_alloc() and partial conversion
    of existing users.

  * Introduce 'struct iommu_attach_handle' and provide corresponding
    IOMMU interfaces which will be used by the IOMMUFD subsystem.

  * Remove stale documentation.

  * Add missing MODULE_DESCRIPTION() macro.

  * Misc cleanups.

- Allwinner Sun50i:
  * Ensure bypass mode is disabled on H616 SoCs.

  * Ensure page-tables are allocated below 4GiB for the 32-bit
    page-table walker.

  * Add new device-tree compatible strings.

- AMD Vi:
  * Use try_cmpxchg64() instead of cmpxchg64() when updating pte.

- Arm SMMUv2:
  * Print much more useful information on context faults.

  * Fix Qualcomm TBU probing when CONFIG_ARM_SMMU_QCOM_DEBUG=n.

  * Add new Qualcomm device-tree bindings.

- Arm SMMUv3:
  * Support for hardware update of access/dirty bits and reporting via
    IOMMUFD.

  * More driver rework from Jason, this time updating the PASID/SVA support
    to prepare for full IOMMUFD support.

  * Add missing MODULE_DESCRIPTION() macro.

  * Minor fixes and cleanups.

- NVIDIA Tegra:

  * Fix for benign fwspec initialisation issue exposed by rework on the
    core branch.

- Intel VT-d:

  * Use try_cmpxchg64() instead of cmpxchg64() when updating pte.

  * Use READ_ONCE() to read volatile descriptor status.

  * Remove support for handling Execute-Requested requests.

  * Avoid calling iommu_domain_alloc().

  * Minor fixes and refactoring.

- Qualcomm MSM:

  * Updates to the device-tree bindings.

19 Jul 2024: sound updates for 6.11-rc1 [+ + +]
please pull sound updates for v6.11-rc1 from:


The topmost commit is 4594d26fca91fab0e1621d2ab196f3f9bab96bc8


sound updates for 6.11-rc1

Lots of changes in this cycle, but mostly for cleanups and
refactoring.  Significant amount of changes are about DT schema
conversions for ASoC at this time while we see other usual
suspects, too.  Some highlights below:

Core:
- Re-introduction of PCM sync ID support API
- MIDI2 time-base extension in ALSA sequencer API

ASoC:
- Syncing of features between simple-audio-card and the two
  audio-graph cards
- Support for specifying the order of operations for components
  within cards to allow quirking for unusual systems
- Lots of DT schema conversions
- Continued SOF/Intel updates for topology, SoundWire, IPC3/4
- New support for Asahi Kasei AK4619, Cirrus Logic CS530x, Everest
  Semiconductors ES8311, NXP i.MX95 and LPC32xx, Qualcomm LPASS
  v2.5 and WCD937x, Realtek RT1318 and RT1320 and Texas
  Instruments PCM5242

HD-audio:
- More quirks, Intel PantherLake support, senarytech codec support
- Refactoring of Cirrus codec component-binding

Others:
- ALSA control kselftest improvements, and fixes for input value
  checks in various drivers


19 Jul 2024: dma-mapping updates for Linux 6.11 [+ + +]
dma-mapping updates for Linux 6.11

 - reduce duplicate swiotlb pool lookups (Michael Kelley)
 - minor small fixes (Yicong Yang, Yang Li)

 
18 Jul 2024: bcachefs changes for 6.11, v2 [+ + +]
Ok, version 2:

bcachefs changes for 6.11-rc1 (version 2)

Additional fixes on top of the original 6.11 pull request:
- undefined behaviour fixes, originally noted as breaking userspace LTO
  builds
- fix a spurious warning in fsck_err, reported by Marcin
- fix an integer overflow on trans->nr_updates, also reported by Marcin;
  this broke during deletion of highly fragmented indirect extents
- Add comments for lockdep functions

======

- Metadata version 1.8: Stripe sectors accounting, BCH_DATA_unstriped

This splits out the accounting of dirty sectors and stripe sectors in
alloc keys; this lets us see stripe buckets that still have unstriped
data in them.

This is needed for ensuring that erasure coding is working correctly, as
well as completing stripe creation after a crash.

- Metadata version 1.9: Disk accounting rewrite

The previous disk accounting scheme relied heavily on percpu counters
that were also sharded by outstanding journal buffer; it was fast but
not extensible or scalable, and meant that all accounting counters were
recorded in every journal entry.

The new disk accounting scheme stores accounting as normal btree keys;
updates are deltas until they are flushed by the btree write buffer.

This means we have no practical limit on the number of counters, and a
new tagged union format that's easy to extend.

We now have counters for compression type/ratio, per-snapshot-id usage,
per-btree-id usage, and pending rebalance work.

- Self healing on read IO/checksum error

data is now automatically rewritten if we get a read error and then a
successful retry

- Mount API conversion (thanks to Thomas Bertschinger)

- Better lockdep coverage

Previously, btree node locks were tracked individually by lockdep, like
any other lock. But we may take _many_ btree node locks simultaneously,
we easily blow through the limit of 48 locks that lockdep can track,
leading to lockdep turning itself off.

Tracking each btree node lock individually isn't really necessary since
we have our own cycle detector for deadlock avoidance and centralized
tracking of btree node locks, so we now have a single lockdep_map in
btree_trans for "any btree nodes are locked".

- some more small incremental work towards online check_allocations

- lots more debugging improvements, fixes

18 Jul 2024: Documentation for 6.11 [+ + +]
Nothing hugely exciting happening in the documentation tree this time
around, mostly more of the usual:

- More Spanish, Italian, and Chinese translations

- A new script, scripts/checktransupdate.py, can be used to see which
  commits have touched an (English) document since a given translation was
  last updated.

- A couple of "best practices" suggestions (on Link: tags and off-list
  discussions) that were not entirely at consensus level, but I concluded
  they were close enough to accept.

- Some nice cleanups removing documentation for kernel parameters that have
  not been recognized for ... a long time.

...along with the usual updates, typo fixes, and such.

18 Jul 2024: VFIO updates for v6.11-rc1 [+ + +]
Just a few commits this cycle.  Thanks

VFIO updates for v6.11

 - Add support for 8-byte accesses when using read/write through the
   device regions.  This fills a gap for userspace drivers that might
   not be able to use access through mmap to perform native register
   width accesses. (Gerd Bayer)

 - Add missing MODULE_DESCRIPTION to vfio-mdev sample drivers and
   replace a non-standard MODULE_INFO usage. (Jeff Johnson)

18 Jul 2024: sparc updates for v6.11 [+ + +]
This includes the following changes related to sparc for v6.11:

- Add MODULE_DESCRIPTION for a number of sbus drivers

- Fix linking error for large sparc32 kernels

- Fix incorrect functions signature and prototype warnings for sparc64

18 Jul 2024: drm next for 6.11-rc1 [+ + +]
This is the main drm next pull for 6.11. It has one minor conflict
when I test merged it with your tree.

The gitlab fdo git server seems to be running a bit slow, I think
pulls should be fine, but let me know if you have any issues.

There's a lot of stuff in here, amd, i915 and xe have new platform
work, lots of core rework around EDID handling, some new COMPILE_TEST
options, maintainer changes and a lots of other stuff, summary below.

Regards,
Dave.

drm-next-2024-07-18:
drm next for 6.11-rc1:

core:
- deprecate DRM data and return 0 date
- connector: Create a set of helpers to help with HDMI support
- Remove driver owner assignments
- Allow more drivers to compile with COMPILE_TEST
- Conversions to drm_edid
- Sprinkle MODULE_DESCRIPTIONS everywhere they are missing
- Remove drm_mm_replace_node
- print: Add a drm prefix to warn level messages too, remove
         ___drm_dbg, consolidate prefix handling
- New monochrome TV mode variant

ttm:
- improve number of page faults on some platforms
- fix test builds under PREEMPT_RT
- more test coverage

ci:
- Require a more recent version of mesa,
- improve farm setup and test generation

dma-buf:
- warn if reserving 0 fence slots
- internal API heap enhancements

fbdev:
- Create memory manager optimized fbdev emulation

panic:
- Allow to select fonts,
- improve drm_fb_dma_get_scanout_buffer
- Allow to dump kmsg to the screen

bridge:
- Remove redundant checks on bridge->encoder
- Remove drm_bridge_chain_mode_fixup
- bridge-connector: Plumb in the new HDMI helper
- analogix_dp: Various improvements, handle AUX transfers timeout
- samsung-dsim: Fix timings calculation
- tc358767: Plenty of small fixes, fix no connector attach, fix clocks
- sii902x: state validation improvements

panels:
- Switch panels from register table initialization to proper code
- Now that the panel code tracks the panel state, remove every
  ad-hoc implementation in the panel drivers
- More cleanup of prepare / enable state tracking in drivers
- edp: Drop legacy panel compatibles
- simple-bridge: Switch to devm_drm_bridge_add
- New panels: Lincoln Tech Sol LCD185-101CT, Microtips Technology
  13-101HIEBCAF0-C, Microtips Technology MF-103HIEB0GA0, BOE
  nv110wum-l60, IVO t109nw41, WL-355608-A8, PrimeView PM070WL4,
  Lincoln Technologies LCD197, Ortustech COM35H3P70ULC,
  AUO G104STN01, K&d kd101ne3-40ti

amdgpu:
- DCN 4.0.x support
- GC 12.0 support
- GMC 12.0 support
- SDMA 7.0 support
- MES12 support
- MMHUB 4.1 support
- GFX12 modifier and DCC support
- lots of IP fixes/updates

amdkfd:
- Contiguous VRAM allocations
- GC 12.0 support
- SDMA 7.0 support
- SR-IOV fixes
- KFD GFX ALU exceptions

i915:
- Battlemage Xe2 HPD display enablement
- Panel Replay enabling
- DP AUX-less ALPM/LOBF
- Enable link training failure fallback for DP MST links
- CMRR (Content Match Refresh Rate) enabling
- Increase ADL-S/ADL-P/DG2+ max TMDS bitrate to 6 Gbps
- Enable eDP AUX based HDR backlight
- Support replaying GPU hangs with captured context image
- Automate CCS Mode setting during engine resets
- lots of refactoring
- Support replaying GPU hangs with captured context image
- Increase FLR timeout from 3s to 9s
- Enable w/a 16021333562 for DG2, MTL and ARL [guc]

xe:
- update MAINATINERS
- New uapi adding OA functionality to Xe
- expose l3 bank mask
- fix display detect on ADL-N
- runtime PM Fixes
- Fix silent backmerge issues
- More prep for SR-IOV
- HWmon additions
- per client usage info
- Rework GPU page fault handling
- Drop EXEC_QUEUE_FLAG_BANNED
- Add BMG PCI IDs
- Scheduler fixes and improvements
- Rename xe_exec_queue::compute to xe_exec_queue::lr
- Use ttm_uncached for BO with NEEDS_UC flag
- Rename xe perf layer as xe observation layer
- lots of refactoring

radeon:
- Backlight workaround for iMac
- Silence UBSAN flex array warnings

msm:
- Validate registers XML description against schema in CI
- core/dpu: SM7150 support
- mdp5: Add support for MSM8937
- gpu: Add param for userspace to know if raytracing is supported
- gpu: X185 support (aka gpu in X1 laptop chips)
- gpu: a505 support

ivpu:
- hardware scheduler support
- profiling support
- improvements to the platform support layer
- firmware handling improvements
- clocks/power mgmt improvements
- scheduler/logging improvements

habanalabs:
- Gradual sleep in polling memory macro.
- Reduce Gaudi2 MSI-X interrupt count to 128.
- Add Gaudi2-D revision support.
- Add timestamp to CPLD info.
- Gaudi2: Assume hard-reset by firmware upon MC SEI severe error.
- Align Gaudi2 interrupt names.
- Check for errors after preboot is ready.
- Change habanalabs maintainer and git repo path.

mgag200:
- refactoring and improvements
- Add BMC output
- enable polling

nouveau:
- add registry command line

v3d:
- perf counters improvements

zynqmp:
- irq and debugfs improvements

atmel-hlcdc:
- Support XLCDC in sam9x7

mipi-dbi:
- Remove mipi_dbi_machine_little_endian
- make SPI bits per word configurable
- support RGB888
- allow pixel formats to be specified in the DT

sun4i:
- Rework the blender setup for DE2

panfrost:
- Enable MT8188 support

vc4:
- Monochrome TV support

exynos:
- fix fallback mode regression
- fix memory leak
- Use drm_edid_duplicate() instead of kmemdup()

etnaviv:
- fix i.MX8MP NPU clock gating
- workaround FE register cdc issues on some cores
- fix DMA sync handling for cached buffers
- fix job timeout handling
- keep TS enabled on MMUv2 cores for improved performance

mediatek:
- Convert to platform remove callback returning void-
- Drop chain_mode_fixup call in mode_valid()
- Fixes the errors of MediaTek display driver found by IGT.
- Add display support for the MT8365-EVK board
- Fix bit depth overwritten for mtk_ovl_set bit_depth()
- Fix possible_crtcs calculation
- Fix spurious kfree()

ast:
- refactor mode setting code

stm:
- Add LVDS support
- DSI PHY updates
drm next for 6.11-rc1:

core:
- deprecate DRM data and return 0 date
- connector: Create a set of helpers to help with HDMI support
- Remove driver owner assignments
- Allow more drivers to compile with COMPILE_TEST
- Conversions to drm_edid
- Sprinkle MODULE_DESCRIPTIONS everywhere they are missing
- Remove drm_mm_replace_node
- print: Add a drm prefix to warn level messages too, remove
         ___drm_dbg, consolidate prefix handling
- New monochrome TV mode variant

ttm:
- improve number of page faults on some platforms
- fix test builds under PREEMPT_RT
- more test coverage

ci:
- Require a more recent version of mesa,
- improve farm setup and test generation

dma-buf:
- warn if reserving 0 fence slots
- internal API heap enhancements

fbdev:
- Create memory manager optimized fbdev emulation

panic:
- Allow to select fonts,
- improve drm_fb_dma_get_scanout_buffer
- Allow to dump kmsg to the screen

bridge:
- Remove redundant checks on bridge->encoder
- Remove drm_bridge_chain_mode_fixup
- bridge-connector: Plumb in the new HDMI helper
- analogix_dp: Various improvements, handle AUX transfers timeout
- samsung-dsim: Fix timings calculation
- tc358767: Plenty of small fixes, fix no connector attach, fix clocks
- sii902x: state validation improvements

panels:
- Switch panels from register table initialization to proper code
- Now that the panel code tracks the panel state, remove every
  ad-hoc implementation in the panel drivers
- More cleanup of prepare / enable state tracking in drivers
- edp: Drop legacy panel compatibles
- simple-bridge: Switch to devm_drm_bridge_add
- New panels: Lincoln Tech Sol LCD185-101CT, Microtips Technology
  13-101HIEBCAF0-C, Microtips Technology MF-103HIEB0GA0, BOE
  nv110wum-l60, IVO t109nw41, WL-355608-A8, PrimeView PM070WL4,
  Lincoln Technologies LCD197, Ortustech COM35H3P70ULC,
  AUO G104STN01, K&d kd101ne3-40ti

amdgpu:
- DCN 4.0.x support
- GC 12.0 support
- GMC 12.0 support
- SDMA 7.0 support
- MES12 support
- MMHUB 4.1 support
- GFX12 modifier and DCC support
- lots of IP fixes/updates

amdkfd:
- Contiguous VRAM allocations
- GC 12.0 support
- SDMA 7.0 support
- SR-IOV fixes
- KFD GFX ALU exceptions

i915:
- Battlemage Xe2 HPD display enablement
- Panel Replay enabling
- DP AUX-less ALPM/LOBF
- Enable link training failure fallback for DP MST links
- CMRR (Content Match Refresh Rate) enabling
- Increase ADL-S/ADL-P/DG2+ max TMDS bitrate to 6 Gbps
- Enable eDP AUX based HDR backlight
- Support replaying GPU hangs with captured context image
- Automate CCS Mode setting during engine resets
- lots of refactoring
- Support replaying GPU hangs with captured context image
- Increase FLR timeout from 3s to 9s
- Enable w/a 16021333562 for DG2, MTL and ARL [guc]

xe:
- update MAINATINERS
- New uapi adding OA functionality to Xe
- expose l3 bank mask
- fix display detect on ADL-N
- runtime PM Fixes
- Fix silent backmerge issues
- More prep for SR-IOV
- HWmon additions
- per client usage info
- Rework GPU page fault handling
- Drop EXEC_QUEUE_FLAG_BANNED
- Add BMG PCI IDs
- Scheduler fixes and improvements
- Rename xe_exec_queue::compute to xe_exec_queue::lr
- Use ttm_uncached for BO with NEEDS_UC flag
- Rename xe perf layer as xe observation layer
- lots of refactoring

radeon:
- Backlight workaround for iMac
- Silence UBSAN flex array warnings

msm:
- Validate registers XML description against schema in CI
- core/dpu: SM7150 support
- mdp5: Add support for MSM8937
- gpu: Add param for userspace to know if raytracing is supported
- gpu: X185 support (aka gpu in X1 laptop chips)
- gpu: a505 support

ivpu:
- hardware scheduler support
- profiling support
- improvements to the platform support layer
- firmware handling improvements
- clocks/power mgmt improvements
- scheduler/logging improvements

habanalabs:
- Gradual sleep in polling memory macro.
- Reduce Gaudi2 MSI-X interrupt count to 128.
- Add Gaudi2-D revision support.
- Add timestamp to CPLD info.
- Gaudi2: Assume hard-reset by firmware upon MC SEI severe error.
- Align Gaudi2 interrupt names.
- Check for errors after preboot is ready.
- Change habanalabs maintainer and git repo path.

mgag200:
- refactoring and improvements
- Add BMC output
- enable polling

nouveau:
- add registry command line

v3d:
- perf counters improvements

zynqmp:
- irq and debugfs improvements

atmel-hlcdc:
- Support XLCDC in sam9x7

mipi-dbi:
- Remove mipi_dbi_machine_little_endian
- make SPI bits per word configurable
- support RGB888
- allow pixel formats to be specified in the DT

sun4i:
- Rework the blender setup for DE2

panfrost:
- Enable MT8188 support

vc4:
- Monochrome TV support

exynos:
- fix fallback mode regression
- fix memory leak
- Use drm_edid_duplicate() instead of kmemdup()

etnaviv:
- fix i.MX8MP NPU clock gating
- workaround FE register cdc issues on some cores
- fix DMA sync handling for cached buffers
- fix job timeout handling
- keep TS enabled on MMUv2 cores for improved performance

mediatek:
- Convert to platform remove callback returning void-
- Drop chain_mode_fixup call in mode_valid()
- Fixes the errors of MediaTek display driver found by IGT.
- Add display support for the MT8365-EVK board
- Fix bit depth overwritten for mtk_ovl_set bit_depth()
- Fix possible_crtcs calculation
- Fix spurious kfree()

ast:
- refactor mode setting code

stm:
- Add LVDS support
- DSI PHY updates

 
17 Jul 2024: ext4 updates for 6.11-rc1 [+ + +]
Many cleanups and bug fixes in ext4, especially for the fast commit
feature.  Also some performance improvements; in particular, improving
IOPS and throughput on fast devices running Async Direct I/O by up to
20% by optimizing jbd2_transaction_committed().

17 Jul 2024: s390 patches for the 6.11 merge window [+ + +]
(not yet pulled as of now) which contains the KMSAN implementation for
s390. Please apply the following fix-up if possible to avoid build breakage:
https://lore.kernel.org/all/20240627150405.27663-1-iii@linux.ibm.com
---
s390 updates for 6.11 merge window

- Remove restrictions on PAI NNPA and crypto counters, enabling
  concurrent per-task and system-wide sampling and counting events

- Switch to GENERIC_CPU_DEVICES by setting up the CPU present mask in
  the architecture code and letting the generic code handle CPU bring-up

- Add support for the diag204 busy indication facility to prevent
  undesirable blocking during hypervisor logical CPU utilization
  queries. Implement results caching

- Improve the handling of Store Data SCLP events by suppressing
  unnecessary warning, preventing buffer release in I/O during failures,
  and adding timeout handling for Store Data requests to address potential
  firmware issues

- Provide optimized __arch_hweight*() implementations

- Remove the unnecessary CPU KOBJ_CHANGE uevents generated during topology
  updates, as they are unused and also not present on other architectures

- Cleanup atomic_ops, optimize __atomic_set() for small values and
  __atomic_cmpxchg_bool() for compilers supporting flag output constraint

- Couple of cleanups for KVM:
  - Move and improve KVM struct definitions for DAT tables from gaccess.c
    to a new header
  - Pass the asce as parameter to sie64a()

- Make the crdte() and cspg() page table handling wrappers return a
  boolean to indicate success, like the other existing "compare and swap"
  wrappers

- Add documentation for HWCAP flags

- Switch to obtaining total RAM pages from memblock instead of
  totalram_pages() during mm init, to ensure correct calculation of zero
  page size, when defer_init is enabled

- Refactor lowcore access and switch to using the get_lowcore() function
  instead of the S390_lowcore macro

- Cleanups for PG_arch_1 and folio handling in UV and hugetlb code

- Add missing MODULE_DESCRIPTION() macros

- Fix VM_FAULT_HWPOISON handling in do_exception()

17 Jul 2024: x86/percpu changes for v6.11 [+ + +]



x86/percpu changes for v6.11:

 - Enable the named address spaces based percpu accessors optimization
   on all GCC versions that contain this feature, detected through
   a build-time testcase. This effectively enables the feature on
   GCC 6, GCC 7 and GCC 8 versions.

 - Fix operand constraint modifier in __raw_cpu_write()

 - Reorganize the per-CPU headers for better readability

 - Misc cleanups and fixes

 Thanks,

Ingo

17 Jul 2024: slab updates for 6.11 [+ + +]
please pull the latest slab updates from:


no merge conflicts with other trees expected.

Thanks,
Vlastimil


The most prominent change this time is the kmem_buckets based hardening of
kmalloc() allocations from Kees Cook. We have also extended the kmalloc()
alignment guarantees for non-power-of-two sizes in a way that benefits rust.
The rest are various cleanups and non-critical fixups.

- Dedicated bucket allocator (Kees Cook)

  This series [1] enhances the probabilistic defense against heap
  spraying/grooming of CONFIG_RANDOM_KMALLOC_CACHES from last year. kmalloc()
  users that are known to be useful for exploits can get completely separate
  set of kmalloc caches that can't be shared with other users. The first
  converted users are alloc_msg() and memdup_user(). The hardening is enabled by
  CONFIG_SLAB_BUCKETS.

- Extended kmalloc() alignment guarantees (Vlastimil Babka)

  For years now we have guaranteed natural alignment for power-of-two
  allocations, but nothing was defined for other sizes (in practice, we have
  two such buckets, kmalloc-96 and kmalloc-192). To avoid unnecessary padding
  in the rust layer due to its alignment rules, extend the guarantee so that
  the alignment is at least the largest power-of-two divisor of the requested
  size. This fits what rust needs, is a superset of the existing power-of-two
  guarantee, and does not in practice change the layout (and thus does not add
  overhead due to padding) of the kmalloc-96 and kmalloc-192 caches, unless slab
  debugging is enabled for them.

- Cleanups and non-critical fixups (Chengming Zhou, Suren Baghdasaryan, Matthew
  Willcox, Alex Shi, Vlastimil Babka)

  Various tweaks related to the new alloc profiling code, folio conversion,
  debugging and more leftovers after SLAB.

[1] https://lore.kernel.org/all/20240701190152.it.631-kees@kernel.org/

17 Jul 2024: orphaned patches for 6.11 [+ + +]
These are two of orphaned patches which nobody can take (and as a result
bugs remain unfixed for years). These patches have been tested using
linux-next tree via my tomoyo tree since 20240611, and nobody found problems.

17 Jul 2024: media updates (RESEND: previous email was [+ + +]

dia/v6.11-1

For:

- New sensor drivers: gc05a2, gc08a3 and imx283;
- New serializer/deserializer drivers: max96714 and max96717;
- New JPEG encoder driver: e5010;
- Support for Raspberry Pi PiSP Backend (BE) ISP driver;
- Old documentation for av7110 driver removed, as a new version
  was added as Documentation/userspace-api/media/dvb/legacy*.rst;
- atompisp: Linux firmwares are now available at:
it/tree/intel/ipu
  so, drop firmware-related task from TODO and update firmware
  logic;
- The imx258 driver has gained several improvements;
- wave5 driver has gained support for HEVC decoding;
- em28xx gained support for MyGica UTV3;
- av7110 budget-patch driver removed;
- Lots of other cleanups, improvements and fixes.

Regards,
Mauro

---

media updates for v6.11-rc1

17 Jul 2024: media updates [+ + +]


For:

- New sensor drivers: gc05a2, gc08a3 and imx283;
- New serializer/deserializer drivers: max96714 and max96717;
- New JPEG encoder driver: e5010;
- Support for Raspberry Pi PiSP Backend (BE) ISP driver;
- Old documentation for av7110 driver removed, as a new version
  was added as Documentation/userspace-api/media/dvb/legacy*.rst;
- atompisp: Linux firmwares are now available at:
  so, drop firmware-related task from TODO and update firmware
  logic;
- The imx258 driver has gained several improvements;
- wave5 driver has gained support for HEVC decoding;
- em28xx gained support for MyGica UTV3;
- av7110 budget-patch driver removed;
- Lots of other cleanups, improvements and fixes.

Regards,
Mauro

---

17 Jul 2024: memblock: updates for 6.11-rc1 [+ + +]
memblock: updates for 6.11-rc1

* reserve_mem command line parameter to allow creation of named memory
  reservation at boot time.
  The driving use-case is to improve the ability of pstore to retain
  ramoops data across reboots.
* cleaunps and small improvements in memblock and mm_init
* new tests cases in memblock test suite

 
16 Jul 2024: perf-tools for v6.11 [+ + +]
Please consider pulling the following changes in perf tools for v6.11.

Thanks,
Namhyung


perf tools changes for v6.11

Build
-----
* Build each directory as a library so that depedency check for the
  python extension module can be automatic.  But it also introduces
  some trivial merge conflicts with other trees that touched perf tools
  codes.  Basically it changes perf-y to perf-util-y or similar and you
  can find the resolution in the perf-next tree here.

  - https://lore.kernel.org/r/Zn8HeRRX3JV2IcxQ@sirena.org.uk
  - https://lore.kernel.org/r/20240709100536.238f4d12@canb.auug.org.au

* Use pkg-config to check libtraceevent and libtracefs.

perf sched
16 Jul 2024: Devicetree updates for v6.11 [+ + +]
tree. The correct resolution is in linux-next.

Rob


Devicetree updates for v6.11:

DT Bindings:
- Convert and add a bunch of IBM FSI related bindings

- Add a new schema listing legacy compatibles which will (probably)
  never be documented. This will silence various checks warning about
  them.

- Add bindings for Sierra Wireless mangOH Green SPI IoT interface, new
  Arm 2024 Cortex and Neoverse CPUs, QCom sc8180x PDC, QCom SDX75 GPI
  DMA, imx8mp/imx8qxp fsl,irqsteer, and Renesas RZ/G2UL CRU and CSI-2
  blocks

- Convert Spreadtrum sprd-timer, FSL cpm_qe, FSL fsl,ls-scfg-msi, FSL
  q(b)man-*, FSL qoriq-mc, and img,pdc-wdt bindings to DT schema

- Drop obsolete stericsson,abx500.txt

DT core:
- Update dtc to upstream version v1.7.0-93-g1df7b047fe43

- Add support to run DT validation on DTs with applied overlays

- Add helper for creating boolean properties in dynamic nodes and use
  that for dynamic PCI nodes

- Clean-up early parsing of '#{address,size}-cells'

16 Jul 2024: tracing/tools: Minor updates for 6.11 [+ + +]

tracing/tools: Trivial updates for 6.11

- Use pretty formatting only on interactive tty in rtla/osnoise

- Better reporting when histogram is empty in rtla/osnoise

- Use the correct library name for "libtracefs" in feature detection

This has the last updates from Daniel Bristot's repository.



trace-tools-v6.11

16 Jul 2024: Kselftest update for Linux 6.11-rc1 [+ + +]
Hi Linus,


This kselftest next update for Linux 6.11-rc1 consists of:

-- changes to resctrl test to cleanup resctrl_val() and
    generalize it by removing test name specific handling
    from the function.

-- several clang build failure fixes to framework and tests

-- adds tests to verify IFS (In Field Scan) driver functionality

-- cleanups to remove unused variables and document changes

Testing notes:

Passed on linux-next and linux-kselftest next branch:
- Build - make kselftest-all
- Run - make kselftest

diff is attached.

thanks,
-- Shuah

linux_kselftest-next-6.11-rc1

This kselftest next update for Linux 6.11-rc1 consists of:

-- changes to resctrl test to cleanup resctrl_val() and
    generalize it by removing test name specific handling
    from the function.

-- several clang build failure fixes to framework and tests

-- adds tests to verify IFS (In Field Scan) driver functionality

-- cleanups to remove unused variables and document changes

16 Jul 2024: tracing: Updates for 6.11 [+ + +]

tracing: Trivial updates for 6.11

- Set rtla/osnoise default threshold to 1us from 5us
  The 5us default was missing noise that people cared about.
  Changing it to 1us makes it work as expected.

- Restructure how sched_switch prev_comm and next_comm was being saved.
  The prev_comm was being saved along with the other next fields, and the
  next_comm was being saved along with the other prev fields. This is just
  a cosmetic change.

- Have the allocation of pid_list use GFP_NOWAIT instead of GFP_KERNEL.
  The allocation can happen in irq_work context, but luckily, the size
  was by default so large, it was never triggered. But in case it ever is,
  use the NOWAIT allocation in the interrupt context.

- Fix some kernel doc errors.




trace-v6.11

16 Jul 2024: ring-buffer: Updates for 6.11 [+ + +]


tracing/ring-buffer: Have persistent buffer across reboots

This allows for the tracing instance ring buffer to stay persistent across
reboots. The way this is done is by adding to the kernel command line:

  trace_instance=boot_map@0x285400000:12M

This will reserve 12 megabytes at the address 0x285400000, and then map
the tracing instance "boot_map" ring buffer to that memory. This will
appear as a normal instance in the tracefs system:

  /sys/kernel/tracing/instances/boot_map

A user could enable tracing in that instance, and on reboot or kernel
crash, if the memory is not wiped by the firmware, it will recreate the
trace in that instance. For example, if one was debugging a shutdown of a
kernel reboot:

 # cd /sys/kernel/tracing
 # echo function > instances/boot_map/current_tracer
 # reboot
[..]
 # cd /sys/kernel/tracing
 # tail instances/boot_map/trace
       swapper/0-1       [000] d..1.   164.549800: restore_boot_irq_mode <-native_machine_shutdown
       swapper/0-1       [000] d..1.   164.549801: native_restore_boot_irq_mode <-native_machine_shutdown
       swapper/0-1       [000] d..1.   164.549802: disconnect_bsp_APIC <-native_machine_shutdown
       swapper/0-1       [000] d..1.   164.549811: hpet_disable <-native_machine_shutdown
       swapper/0-1       [000] d..1.   164.549812: iommu_shutdown_noop <-native_machine_restart
       swapper/0-1       [000] d..1.   164.549813: native_machine_emergency_restart <-__do_sys_reboot
       swapper/0-1       [000] d..1.   164.549813: tboot_shutdown <-native_machine_emergency_restart
       swapper/0-1       [000] d..1.   164.549820: acpi_reboot <-native_machine_emergency_restart
       swapper/0-1       [000] d..1.   164.549821: acpi_reset <-acpi_reboot
       swapper/0-1       [000] d..1.   164.549822: acpi_os_write_port <-acpi_reboot

On reboot, the buffer is examined to make sure it is valid. The validation
check even steps through every event to make sure the meta data of the
event is correct. If any test fails, it will simply reset the buffer, and
the buffer will be empty on boot.




ring-buffer-v6.11

16 Jul 2024: hte: Changes for v6.11-rc1 [+ + +]
hte: Changes for v6.11-rc1

The changes for the hte/timestamp subsystem include the following:

- Added module description in hte test to silence modpost warnings.

16 Jul 2024: KUnit update for Linux 6.11-rc1 [+ + +]
Hi Linus,


This KUnit next update for Linux 6.11-rc1 consists of:

-- adds vm_mmap() allocation resource manager
-- converts usercopy kselftest to KUnit
-- disables usercopy testing on !CONFIG_MMU
-- adds MODULE_DESCRIPTION() to core, list, and usercopy tests
-- adds tests for assertion formatting functions - assert.c
-- introduces KUNIT_ASSERT_MEMEQ and KUNIT_ASSERT_MEMNEQ macros
-- fixes KUNIT_ASSERT_STRNEQ comments to make it clear that it is
    an assertion
-- renames KUNIT_ASSERT_FAILURE to KUNIT_FAIL_AND_ABORT

Testing notes:

Trees: linux-next and linux-kselftest kunit branch
Passed:
- make allmodconfig build
- Default um
   ./tools/testing/kunit/kunit.py run
   ./tools/testing/kunit/kunit.py run --alltests
- x86_64
   ./tools/testing/kunit/kunit.py run --arch x86_64
   ./tools/testing/kunit/kunit.py run --alltests --arch x86_64

diff is attached.

thanks,
-- Shuah

linux_kselftest-kunit-6.11-rc1

This KUnit next update for Linux 6.11-rc1 consists of:

-- adds vm_mmap() allocation resource manager
-- converts usercopy kselftest to KUnit
-- disables usercopy testing on !CONFIG_MMU
-- adds MODULE_DESCRIPTION() to core, list, and usercopy tests
-- adds tests for assertion formatting functions - assert.c
-- introduces KUNIT_ASSERT_MEMEQ and KUNIT_ASSERT_MEMNEQ macros
-- fixes KUNIT_ASSERT_STRNEQ comments to make it clear that it is
    an assertion
-- renames KUNIT_ASSERT_FAILURE to KUNIT_FAIL_AND_ABORT

16 Jul 2024: Performance events changes for v6.11 [+ + +]



Performance events changes for v6.11:

 - Intel PT support enhancements & fixes
 - Fix leaked SIGTRAP events
 - Improve and fix the Intel uncore driver
 - Add support for Intel HBM and CXL uncore counters
 - Add Intel Lake and Arrow Lake support
 - AMD uncore driver fixes
 - Make SIGTRAP and __perf_pending_irq() work on RT
 - Micro-optimizations
 - Misc cleanups and fixes

 Thanks,

Ingo

16 Jul 2024: Networking for v6.11 [+ + +]
Networking changes for 6.11. Not much excitement - a handful of large
patchsets (devmem among them) did not make it in time.

Core & protocols
16 Jul 2024: bootconfig: Updates for v6.11 [+ + +]
Bootconfig updates for v6.11:

- Remove duplicate included header file linux/bootconfig.h from
  lib/bootconfig.c. This is a cleanup, no behavior change.




bootconfig-v6.11

16 Jul 2024: probes: Updates for v6.11 [+ + +]
Probes updates for v6.11:

Uprobes:
- x86/shstk: Make return uprobe work with shadow stack.
- Add uretprobe syscall which speeds up the uretprobe 10-30% faster. This
  syscall is automatically used from user-space trampolines which are
  generated by the uretprobe. If this syscall is used by normal
  user program, it will cause SIGILL. Note that this is currently only
  implemented on x86_64.
  (This also has 2 fixes for adjusting the syscall number to avoid conflict
   with new *attrat syscalls.)
- uprobes/perf: fix user stack traces in the presence of pending uretprobe.
  This corrects the uretprobe's trampoline address in the stacktrace with
  correct return address.
- selftests/x86: Add a return uprobe with shadow stack test.
- selftests/bpf: Add uretprobe syscall related tests.
  . test case for register integrity check.
  . test case with register changing case.
  . test case for uretprobe syscall without uprobes (expected to be failed).
  . test case for uretprobe with shadow stack.
- selftests/bpf: add test validating uprobe/uretprobe stack traces
- MAINTAINERS: Add uprobes entry. This does not specify the tree but to
  clarify who maintains and reviews the uprobes.

Kprobes:
- tracing/kprobes: Test case cleanups. Replace redundant WARN_ON_ONCE() +
  pr_warn() with WARN_ONCE() and remove unnecessary code from selftest.
- tracing/kprobes: Add symbol counting check when module loads. This
  checks the uniqueness of the probed symbol on modules. The same check
  has already done for kernel symbols.
  (This also has a fix for build error with CONFIG_MODULES=n)

Cleanup:
- Add MODULE_DESCRIPTION() macros for fprobe and kprobe examples.




probes-v6.11

16 Jul 2024: LEDs for v6.11 [+ + +]
 - Core Frameworks
   - Add new Trigger for Input Events
   - Add new led_mc_set_brightness() call to adapt colour/brightness for mutli-colour LEDs
   - Add new lled_mc_trigger_event() call to call the above based on given trigger conditions
   - Add new led_get_color_name() call, a wrapper around the existing led_colors[] array
   - Add a new flag to avoid automatic renaming of LED devices

 - New Drivers
   - Add support for Silergy SY7802 Flash LED Controller
   - Add support for Texas Instruments LP5569 LED Controller
   - Add support for ChromeOS EC LED Controller

 - New Device Support
   - Add support for KTD202{6,7} to Kinetic KTD2026/7 LEDs

 - Fix-ups
   - Replace ACPI/DT firmware helpers with agnostic variants
   - Make use of resource managed devm_* API calls
   - Device Tree binding adaptions/conversions/creation
   - Constify/staticise applicable data structures
   - Trivial; spelling, whitespace, coding-style adaptions
   - Drop i2c_device_id::driver_data where the value is unused
   - Utilise centrally provided helpers and macros to aid simplicity/duplication
   - Use generic platform device properties instead of OF/ACPI specific ones
   - Consolidate/de-duplicate various functionality
   - Remove superfluous/duplicated/unused sections
   - Make use of the new *_scoped() guard APIs
   - Improve/simplify error handling

 - Bug Fixes
   - Flush pending brightness changes before activating the trigger
   - Repair incorrect device naming preventing matches
   - Prevent memory leaks by correctly free resources during error handling routines
   - Repair locking issue causing circular dependency splats and lock-ups
   - Unregister sysfs entries before deactivating triggers to prevent use-after issues
   - Supply a bunch of MODULE_DESCRIPTIONs to silence modpost warnings
   - Use correct return codes expected by the callers
   - Omit set_brightness() error message for a LEDs that support only HW triggers

16 Jul 2024: Backlight for v6.11 [+ + +]
 - New Drivers
   - Add support for Texas Instruments LM3509 Backlight Driver

 - Fix-ups
   - Device Tree binding adaptions/conversions/creation
   - Drop i2c_device_id::driver_data where the value is unused
   - Make use of the new *_scoped() guard APIs
   - Decouple from fbdev by providing Backlight with its own BACKLIGHT_POWER_* constrains

 - Bug Fixes
   - Correctly assess return values (NULL vs IS_ERR())
   - Supply a bunch of MODULE_DESCRIPTIONs to silence modpost warnings

16 Jul 2024: sysctl changes for v6.11-rc1 [+ + +]
Note: I have update the capabilities in my signing key. I don't think
anything changes on your side, but thought I'd mention it for good
would probably solve any unforeseen issues.

sysctl changes for 6.11-rc1

Summary

* Remove "->procname == NULL" check when iterating through sysctl table arrays

    Removing sentinels in ctl_table arrays reduces the build time size and
    runtime memory consumed by ~64 bytes per array. With all ctl_table
    sentinels gone, the additional check for ->procname == NULL that worked in
    tandem with the ARRAY_SIZE to calculate the size of the ctl_table arrays is
    no longer needed and has been removed. The sysctl register functions now
    returns an error if a sentinel is used.

* Preparation patches for sysctl constification

    Constifying ctl_table structs prevents the modification of proc_handler
    function pointers as they would reside in .rodata. The ctl_table arguments
    in sysctl utility functions are const qualified in preparation for a future
    treewide proc_handler argument constification commit.

* Misc fixes

    Increase robustness of set_ownership by providing sane default ownership
    values in case the callee doesn't set them. Bound check proc_dou8vec_minmax
    to avoid loading buggy modules and give sysctl testing module a name to
    avoid compiler complaints.

Testing

  * This got push to linux-next in v6.10-rc2, so it has had more than a month
    of testing

16 Jul 2024: MFD for v6.11 [+ + +]
 - New Drivers
   - Add support for ROHM BD96801 Power Management IC
   - Add support for Cirrus Logic CS40L50 Haptic Driver with Waveform Memory
   - Add support for Marvell 88PM886 Power Management IC

 - New Device Support
   - Add support for Keyboard Backlight to ChromeOS Embedded Controller
   - Add support for LEDs to ChromeOS Embedded Controller
   - Add support for Charge Control to ChromeOS Embedded Controller
   - Add support for the HW Monitoring Service to ChromeOS Embedded Controller
   - Add support for AUXADCs to MediaTek MT635{7,8,9} Power Management ICs

 - New Functionality
   - Allow Syscon consumers to supply their own Regmaps on registration

 - Fix-ups
   - Constify/staticise applicable data structures
   - Remove superfluous/duplicated/unused sections
   - Device Tree binding adaptions/conversions/creation
   - Trivial; spelling, whitespace, coding-style adaptions
   - Utilise centrally provided helpers and macros to aid simplicity/duplication
   - Drop i2c_device_id::driver_data where the value is unused
   - Replace ACPI/DT firmware helpers with agnostic variants
   - Move over to GPIOD (descriptor-based) APIs
   - Annotate a bunch of __counted_by() cases
   - Straighten out some includes

 - Bug Fixes
   - Ensure potentially asserted recent lines are deasserted during initialisation
   - Avoid "<module>.ko is added to multiple modules" warnings
   - Supply a bunch of MODULE_DESCRIPTIONs to silence modpost warnings
   - Fix Wvoid-pointer-to-enum-cast warnings

16 Jul 2024: HID for 6.11 [+ + +]
please pull from


to receive HID subsystem updates for 6.11 merge window. Highlights:

=====
- rewrite of the HID-BPF internal implementation to use bpf struct_ops
  instead of a tracing endpoint (Benjamin Tissoires)
- add 2 new HID-BPF hooks to be able to intercept userspace calls
  targetting a HID device and filtering them (Benjamin Tissoires)
- add support for various new devices through HID-BPF filters (Benjamin
  Tissoires)
- add support for the magic keyboard backlight (Orlando Chamberlain)
- add the missing MODULE_DESCRIPTION() macros in HID drivers (Jeff Johnson)
- use of kvzalloc in case memory gets too fragmented (Hailong Liu)
- retrieve the device firmware node in the child HID device (Danny Kaehn)
- some hid-uclogic improvements (José Expósito)
- some more typos, trivial fixes, kernel doctext and unused functions
  cleanups
=====

You are going to get a trivial conflict with the mm tree in include/linux/hid_bpf.h
which is documented here:

        https://lore.kernel.org/all/20240709112544.190ffda4@canb.auug.org.au/

You will also get a build failure after merging with the
bpf-next/net-next tree in drivers/hid/bpf/hid_bpf_struct_ops.c which is
documented here:

        https://lore.kernel.org/all/ZnB9X1Jj6c04ufC0@sirena.org.uk/

Please let me know in case you'd like me to fix those and prepare a merged
branch for you.


Thanks!

16 Jul 2024: exfat update for 6.11-rc1 [+ + +]
This is exfat update pull request for v6.11-rc1. I add description of

Thanks!

Description for this pull request:
- Fix deadlock issue reported by syzbot.
- Handle idmapped mounts.

16 Jul 2024: platform-drivers-x86 for v6.11-1 [+ + +]
Here is the main PDx86 PR for v6.11.

Highlights:
 - amd/pmf:Report system state changes using existing input
events
 - asus-wmi:Zenbook 2023 camera LED disable support and fix
TUF laptop keyboard RGB LED sysfs interface
 - dell-pc:Fan modes / platform profile support
 - hp-wmi:Fix platform profile switching on Omen/Victus
laptops
 - intel/ISST:Use only TPMI interface when TPMI and legacy
interfaces are available
 - intel/pmc:LTR restore support to pair with LTR ignore
 - intel/tpmi:Performance Limit Reasons (PLR) and APIC <-> Punit
CPU numbering mapping support
 - WMI:driver override support and docs improvements
 - lenovo-yoga-c630:Support for EC (platform/arm64)
 - platform/arm64:Fix build with COMPILE_TEST (broke after addition
of C630)
 - tools:Intel Speed Select Turbo Ratio Limit fix
 - Miscellaneous cleanups / refactoring / improvements

Regards, i.


platform-drivers-x86 for v6.11-1

Highlights:
 - amd/pmf:Report system state changes using existing input
events
 - asus-wmi:Zenbook 2023 camera LED disable support and fix
TUF laptop keyboard RGB LED sysfs interface
 - dell-pc:Fan modes / platform profile support
 - hp-wmi:Fix platform profile switching on Omen/Victus
laptops
 - intel/ISST:Use only TPMI interface when TPMI and legacy
interfaces are available
 - intel/pmc:LTR restore support to pair with LTR ignore
 - intel/tpmi:Performance Limit Reasons (PLR) and APIC <-> Punit
CPU numbering mapping support
 - WMI:driver override support and docs improvements
 - lenovo-yoga-c630:Support for EC (platform/arm64)
 - platform/arm64:Fix build with COMPILE_TEST (broke after addition
of C630)
 - tools:Intel Speed Select Turbo Ratio Limit fix
 - Miscellaneous cleanups / refactoring / improvements

The following is an automated shortlog grouped by driver:

amd/pmf:
 -  Remove update system state document
 -  Use existing input event codes to update system states
 -  Use memdup_user()

arm64:
 -  add Lenovo Yoga C630 WOS EC driver
 -  build drivers even on non-ARM64 platforms
 -  EC_ACER_ASPIRE1 should depend on ARCH_QCOM
 -  EC_LENOVO_YOGA_C630 should depend on ARCH_QCOM

arm64: lenovo-yoga-c630:
 -  select AUXILIARY_BUS

asus-tf103c-dock:
 -  Use 2-argument strscpy()

asus-wmi:
 -  fix TUF laptop RGB variant
 -  support the disable camera LED on F10 of Zenbook 2023

dell-pc:
 -  avoid double free and invalid unregistration
 -  Implement platform_profile

dell-smbios:
 -  Add helper for checking supported class
 -  Move request functions for reuse

Docs/admin-guide:
 -  Remove pmf leftover reference from the index

doc: TPMI:
 -  Add entry for Performance Limit Reasons

dt-bindings: platform:
 -  Add Lenovo Yoga C630 EC

hp: hp-bioscfg:
 -  Use 2-argument strscpy()

hp-wmi:
 -  Fix implementation of the platform_profile_omen_get function
 -  Fix platform profile option switch bug on Omen and Victus laptops

ideapad-laptop:
 -  use cleanup.h

intel: chtwc_int33fe:
 -  Use 2-argument strscpy()

intel/ifs:
 -  Switch to new Intel CPU model defines

intel_ips:
 -  Switch to new Intel CPU model defines

intel/pmc:
 -  Add support to show ltr_ignore value
 -  Add support to undo ltr_ignore
 -  Convert index variables to be unsigned
 -  Move pmc assignment closer to first usage
 -  Remove unneeded min_t check
 -  Simplify mutex usage with cleanup helpers
 -  Switch to new Intel CPU model defines
 -  Use DEFINE_SHOW_STORE_ATTRIBUTE macro
 -  Use the Elvis operator
 -  Use the return value of pmc_core_send_msg

intel_scu_wdt:
 -  Switch to new Intel CPU model defines

intel_speed_select_if:
 -  Switch to new Intel CPU model defines

intel_telemetry:
 -  Switch to new Intel CPU model defines

intel/tpmi:
 -  Add API to get debugfs root
 -  Add new auxiliary driver for performance limits
 -  Add support for performance limit reasons

intel:
 -  TPMI domain id and CPU mapping

intel/tpmi/plr:
 -  Add support for the plr mailbox
 -  Fix output in plr_print_bits()

intel_turbo_max_3:
 -  Switch to new Intel CPU model defines

intel-uncore-freq:
 -  Get rid of magic min_max argument
 -  Get rid of magic values
 -  Get rid of uncore_read_freq driver API
 -  Re-arrange bit masks
 -  Rename the sysfs helper macro names
 -  Switch to new Intel CPU model defines
 -  Use generic helpers for current frequency
 -  Use uncore_index with read_control_freq

ISST:
 -  Add model specific loading for common module
 -  Avoid some SkyLake server models
 -  Use only TPMI interface when present

p2sb:
 -  Switch to new Intel CPU model defines

serial-multi-instantiate:
 -  Use 2-argument strscpy()

think-lmi:
 -  Use 2-argument strscpy()

thinkpad_acpi:
 -  Use 2-argument strscpy()

tools/power/x86/intel-speed-select:
 -  Set TRL MSR in 100 MHz units
 -  v1.20 release

wmi:
 -  Add bus ABI documentation
 -  Add driver_override support

x86/platform/atom:
 -  Switch to new Intel CPU model defines

Merges:
 -  Merge branch 'pdx86/platform-drivers-x86-lenovo-c630' into review-ilpo
 -  Merge branch 'pdx86/platform-drivers-x86-lenovo-c630' into review-ilpo
 -  Merge branch 'pdx86/platform-drivers-x86-lenovo-c630' into review-ilpo
 -  Merge remote-tracking branch 'intel-speed-select/intel-sst' into review-ilpo

16 Jul 2024: x86/sev for v6.11-rc1 [+ + +]
please pull the x86/sev lineup for v6.11-rc1.

There's a simple merge conflict with your current tree to which I'm addin=
g the
resolve at the end of this mail.

Thx.

---

 - Add support for running the kernel in a SEV-SNP guest, over a Secure
   VM Service Module (SVSM).

   When running over a SVSM, different services can run at different
   protection levels, apart from the guest OS but still within the
   secure SNP environment.  They can provide services to the guest, like
   a vTPM, for example.

   This series adds the required facilities to interface with such a SVSM
   module.

 - The usual fixlets, refactoring and cleanups

16 Jul 2024: x86/cache for v6.11-rc1 [+ + +]
please pull the x86/cache lineup for v6.11-rc1.

Thx.

---

 - Enable Sub-NUMA clustering to work with resource control on Intel by
   teaching resctrl to handle scopes due to the clustering which
   partitions the L3 cache into sets. Modify and extend the subsystem to
   handle such scopes properly

16 Jul 2024: Scheduler changes for v6.11 [+ + +]




Scheduler changes for v6.11:

 - Update Daniel Bristot de Oliveira's entry in MAINTAINERS,
   and credit him in CREDITS.

 - Harmonize the lock-yielding behavior on dynamically selected
   preemption models with static ones.

 - Reorganize the code a bit: split out sched/syscalls.c to reduce
   the size of sched/core.c

 - Micro-optimize psi_group_change()

 - Fix set_load_weight() for SCHED_IDLE tasks

 - Misc cleanups & fixes

 Thanks,

Ingo

16 Jul 2024: objtool changes for v6.11 [+ + +]



Objtool changes for v6.11:

 - Fix bug that caused objtool to confuse certain memory ops
   added by KASAN instrumentation as stack accesses

 - Various faddr2line optimizations

 - Improve error messages

 Thanks,

Ingo

 
15 Jul 2024: Smack patches for 6.11 [+ + +]
Here is the Smack pull request for v6.11.

There are 2 patches. Both address network labeling issues.
Both have been in the next branch and pass all tests.

Two fixes for Smack networking by Konstantin Andreev.

15 Jul 2024: sched_ext: Initial pull request for v6.11 [+ + +]
NOTE: I couldn't get git-request-pull to generate the correct diffstat. The
      diffstat at the end is generated against the merged base and should
      match the diff when sched_ext-for-6.11 is pulled after tip/sched/core
      and bpf/for-next.

sched_ext: Initial pull request for v6.11

This is the initial pull request of sched_ext. The v7 patchset
(https://lkml.kernel.org/r/20240618212056.2833381-1-tj@kernel.org) is
applied on top of tip/sched/core + bpf/for-next as of Jun 18th.

  tip/sched/core 793a62823d1c ("sched/core: Drop spinlocks on contention iff kernel is preemptible")
  bpf/for-next   f6afdaf72af7 ("Merge branch 'bpf-support-resilient-split-btf'")

Since then, the following changes:

- cpuperf support which was a part of the v6 patchset was posted separately
  and then applied after reviews.

- tip/sched/core is pulled into resolve the conflicts between

    e83edbf88f18 ("sched: Add sched_class->reweight_task()")
    d32960528702 ("sched/fair: set_load_weight() must also call reweight_task() for SCHED_IDLE tasks")

  The former makes reweight_task() a sched_class operation for sched_ext
  while the latter fixed a bug around idle weight handling in the same area.
  The conflicts are not trivial although not that complicated either.

- Improve integration with sched core.

- DSQ iterator which was a part of the v6 patchset was posted separately.
  The iterator itself was applied after a couple revisions. The associated
  selective consumption kfunc can use further improvements and is still
  being worked on.

- The BPF scheduler couldn't directly dispatch to the local DSQ of another
  CPU using a SCX_DSQ_LOCAL_ON verdict. This caused difficulties around
  handling non-wakeup enqueues. Updated so that SCX_DSQ_LOCAL_ON can be used
  in the enqueue path too.

- Various fixes and improvements.

As the branch is based on top of tip/sched/core + bpf/for-next, please merge
after both are applied.

15 Jul 2024: KCSAN changes for v6.11 [+ + +]


kcsan: Add __data_racy documentation and module description

This series contains on commit that improves the documentation for the
new __data_racy type qualifier to the data_race() macro's kernel-doc
header and to the LKMM's access-marking documentation.

15 Jul 2024: nolibc changes for v6.11 [+ + +]
Please please pull the latest nolibc changes from:


nolibc updates for v6.11

oFix selftest printf format mismatch in expect_str_buf_eq().

oStop using brk() and sbrk() when testing against musl, which
implements these two functions with ENOMEM.

oMake tests use -Werror to force failure on compiler warnings.

oAdd limits for the {u,}intmax_t, ulong and {u,}llong types.

oImplement strtol() and friends.

oAdd facility to skip nolibc-specific tests when running against
non-nolibc libraries.

oImplement strerror().

oAlso use strerror() on nolibc when running kselftests.

15 Jul 2024: asm-generic updates for 6.11 [+ + +]
asm-generic updates for 6.11

Most of this is part of my ongoing work to clean up the system call
tables. In this bit, all of the newer architectures are converted to
use the machine readable syscall.tbl format instead in place of complex
macros in include/uapi/asm-generic/unistd.h.

This follows an earlier series that fixed various API mismatches
and in turn is used as the base for planned simplifications.

The other two patches are dead code removal and a warning fix.

15 Jul 2024: soc tree for 6.11 [+ + +]
Here are the four pull requests for the soc tree.=20

We have again just over 1000 non-merge changesets in the SoC tree, from
62 pull requests plus some individual patches. About 80% of this is arm6=
4,
the rest is arm32 and riscv.=20

Not much sticks out in the contents, there are three new SoCs and a
fairly large number of new machines, but it's spread out over a lot
of platforms, with rockchip and ti having more than usual.

The overall diffstat is
   0.4% Documentation/devicetree/bindings/arm/
   0.9% Documentation/devicetree/bindings/
   0.2% Documentation/
   0.4% arch/arm/boot/dts/arm/
   0.4% arch/arm/boot/dts/marvell/
   0.4% arch/arm/boot/dts/nxp/imx/
   2.1% arch/arm/boot/dts/qcom/
   2.1% arch/arm/boot/dts/st/
   0.5% arch/arm/boot/dts/
   0.6% arch/arm/mach-pxa/
   0.3% arch/arm/mach-versatile/
   0.3% arch/arm64/boot/dts/allwinner/
   1.4% arch/arm64/boot/dts/amlogic/
  14.0% arch/arm64/boot/dts/freescale/
   2.9% arch/arm64/boot/dts/marvell/
   4.9% arch/arm64/boot/dts/mediatek/
  21.9% arch/arm64/boot/dts/qcom/
   1.1% arch/arm64/boot/dts/renesas/
  16.5% arch/arm64/boot/dts/rockchip/
   0.7% arch/arm64/boot/dts/st/
   9.5% arch/arm64/boot/dts/ti/
   0.3% arch/arm64/boot/dts/xilinx/
   0.5% arch/arm64/boot/dts/
   0.3% arch/riscv/boot/dts/allwinner/
   0.3% arch/riscv/boot/dts/microchip/
   0.3% arch/riscv/boot/dts/starfive/
   0.2% arch/riscv/boot/dts/
   0.2% drivers/cache/
   5.2% drivers/clk/qcom/
   0.2% drivers/firmware/microchip/
   1.3% drivers/firmware/qcom/
   0.3% drivers/firmware/
   3.1% drivers/platform/cznic/
   0.2% drivers/reset/
   2.2% drivers/soc/qcom/
   0.2% drivers/soc/xilinx/
   0.2% drivers/
   0.4% include/dt-bindings/clock/
   0.2% include/dt-bindings/
   0.7% include/linux/
 958 files changed, 66982 insertions(+), 11316 deletions(-)

There are 232 individual contributors for this tree, the most active
ones are

     67 Dmitry Baryshkov
     61 Krzysztof Kozlowski
     52 Konrad Dybcio
     42 Frank Li
     37 Luca Weiss
     26 Neil Armstrong
     22 Bartosz Golaszewski
     22 AngeloGioacchino Del Regno
     18 Marek Beh=C3=BAn
     17 Michael Walle
     16 Siddharth Vadapalli
     16 Rafa=C5=82 Mi=C5=82ecki
     16 Jonas Karlman
     16 Geert Uytterhoeven
     12 Tengfei Fan
     12 Alexander Stein
     12 Abel Vesa
     11 Marek Vasut
     10 Nathan Morrisson
     10 Krishna Kurapati
     10 Dmitry Torokhov
     10 Andrew Davis

        Arnd
15 Jul 2024: ACPI updates for v6.11-rc1 [+ + +]

 acpi-6.11-rc1


 Merge branch 'acpi-misc'


 ACPI: processor_idle: Fix invalid comparison with insertion sort for laten=
cy

to receive ACPI updates for 6.11-rc1.

The only kind of new feature added by these is the hwmon interface
support in the ACPI fan driver.  Apart from that, they mostly address
issues and clean up code.

Specifics:

 - Switch the ACPI x86 utility code and the ACPI LPSS driver to new
   Intel CPU model defines (Tony Luck).

 - Add hwmon interface support to the ACPI fan driver (Armin Wolf).

 - Add sysfs entry for guaranteed performance to the ACPI CPPC library
   and replace a ternary operator with umax() in it (Petr Tesa=C5=99=C3=ADk=
,
   Prabhakar Pujeri).

 - Clean up the ACPI PMIC driver in multiple ways (Andy Shevchenko,
   Christophe JAILLET).

 - Add support for charge limiting state to the ACPI battery driver
   and update _OSC to indicate support for it (Armin Wolf).

 - Clean up the sysfs interface in the ACPI battery, SBS (smart battery
   subsystem) and AC drivers (Thomas Wei=C3=9Fschuh).

 - Coordinate header includes in the ACPI NUMA code and make it use
   ACCESS_COORDINATE_CPU when appropriate (Huang Ying, Thorsten Blum).

 - Downgrade Intel _OSC and _PDC messages in the ACPI processor driver
   to debug to reduce log noise (Mario Limonciello).

 - Still evaluate _OST when _PUR evaluation fails in the ACPI PAD
   (processor aggregator) driver as per the spec (Armin Wolf).

 - Skip ACPI IRQ override on Asus Vivobook Pro N6506MJ and N6506MU
   platforms (Tamim Khan).

 - Force native mode on some T2 macbooks in the ACPI backlight driver
   and replace strcpy() with strscpy() in it (Orlando Chamberlain,
   Muhammad Qasim Abdul Majeed).

 - Add missing MODULE_DESCRIPTION() macros in two places (Jeff Johnson).

Thanks!



15 Jul 2024: Power management updates for v6.11-rc1 [+ + +]

 pm-6.11-rc1




 Merge tag 'pm-6.10-rc8' of

to receive power management updates for 6.11-rc1.

These add a new cpufreq driver for Loongson-3, add support for new
features in the intel_pstate (Lunar Lake and Arrow Lake platforms,
OOB mode for Emerald Rapids, highest performance change interrupt),
amd-pstate (fast CPPC) and sun50i (Allwinner H700 speed bin) cpufreq
drivers, simplify the cpufreq driver interface, simplify the teo cpuidle
governor, adjust the pm-graph utility for a new version of Python,
address issues and clean up code.

Specifics:

 - Add Loongson-3 CPUFreq driver support (Huacai Chen).

 - Add support for the Arrow Lake and Lunar Lake platforms and
   the out-of-band (OOB) mode on Emerald Rapids to the intel_pstate
   cpufreq driver, make it support the highest performance change
   interrupt and clean it up (Srinivas Pandruvada).

 - Switch cpufreq to new Intel CPU model defines (Tony Luck).

 - Simplify the cpufreq driver interface by switching the .exit() driver
   callback to the void return data type (Lizhe, Viresh Kumar).

 - Make cpufreq_boost_enabled() return bool (Dhruva Gole).

 - Add fast CPPC support to the amd-pstate cpufreq driver, address
   multiple assorted issues in it and clean it up (Perry Yuan, Mario
   Limonciello, Dhananjay Ugwekar, Meng Li, Xiaojian Du).

 - Add Allwinner H700 speed bin to the sun50i cpufreq driver (Ryan
   Walklin).

 - Fix memory leaks and of_node_put() usage in the sun50i and qcom-nvmem
   cpufreq drivers (Javier Carrasco).

 - Clean up the sti and dt-platdev cpufreq drivers (Jeff Johnson,
   Raphael Gallais-Pou).

 - Fix deferred probe handling in the TI cpufreq driver and wrong return
   values of ti_opp_supply_probe(), and add OPP tables for the AM62Ax and
   AM62Px SoCs to it (Bryan Brattlof, Primoz Fiser).

 - Avoid overflow of target_freq in .fast_switch() in the SCMI cpufreq
   driver (Jagadeesh Kona).

 - Use dev_err_probe() in every error path in probe in the Mediatek
   cpufreq driver (N=C3=ADcolas Prado).

 - Fix kernel-doc param for longhaul_setstate in the longhaul cpufreq
   driver (Yang Li).

 - Fix system resume handling in the CPPC cpufreq driver (Riwen Lu).

 - Improve the teo cpuidle governor and clean up leftover comments from
   the menu cpuidle governor (Christian Loehle).

 - Clean up a comment typo in the teo cpuidle governor (Atul Kumar
   Pant).

 - Add missing MODULE_DESCRIPTION() macro to cpuidle haltpoll (Jeff
   Johnson).

 - Switch the intel_idle driver to new Intel CPU model defines (Tony
   Luck).

 - Switch the Intel RAPL driver new Intel CPU model defines (Tony Luck).

 - Simplify if condition in the idle_inject driver (Thorsten Blum).

 - Fix missing cleanup on error in _opp_attach_genpd() (Viresh Kumar).

 - Introduce an OF helper function to inform if required-opps is used
   and drop a redundant in-parameter to _set_opp_level() (Ulf Hansson).

 - Update pm-graph to v5.12 which includes fixes and major code revamp
   for python3.12 (Todd Brandt).

 - Address several assorted issues in the cpupower utility (Roman
   Storozhenko).

Thanks!



15 Jul 2024: Thermal control updates for v6.11-rc1 [+ + +]

 thermal-6.11-rc1


 Merge branch 'thermal-intel'


 thermal: core: Fix list sorting in __thermal_zone_device_update()

to receive thermal control updates for 6.11-rc1.

These add some new hardware support (notably, the Lunar Lake platform
support in int340x and X1E80100 temperature sensor), continue to rework
the thermal driver interface to eliminate trip point IDs from it, update
DT bindings for a number of platforms and simplify probe in a number of
thermal drivers, address issues and clean up code.

Specifics:

 - Add DLVR and MSI interrupt support for the Lunar Lake platform to the
   int340x thermal driver (Srinivas Pandruvada).

 - Enable workload type hints (WLT) support and power floor interrupt
   support for the Lunar Lake platform in int340x ((Srinivas Pandruvada).

 - Switch Intel thermal drivers to new Intel CPU model defines (Tony
   Luck).

 - Clean up the int3400 and int3403 drivers (Erick Archer and David Alan
   Gilbert).

 - Improve intel_pch_thermal kernel log messages printed during suspend
   to idle (Zhang Rui).

 - Make the intel_tcc_cooling driver use a model-specific bitmask for
   TCC offset (Ricardo Neri).

 - Redesign the .set_trip_temp() thermal zone callback to take a trip
   pointer instead of a trip ID and update its users (Rafael Wysocki).

 - Avoid using invalid combinations of polling_delay and passive_delay
   thermal zone parameters (Rafael Wysocki).

 - Update a cooling device registration function to take a const
   argument (Krzysztof Kozlowski).

 - Make the uniphier thermal driver use thermal_zone_for_each_trip() for
   walking trip points (Rafael Wysocki).

 - Fix and clean up several minor shortcomings in thermal debug (Rafael
   Wysocki).

 - Rename __thermal_zone_set_trips() to thermal_zone_set_trips() and
   make it use trip thresholds (Rafael Wysocki).

 - Use READ_ONCE() for lockless access to trip temperature and
   hysteresis (Rafael Wysocki).

 - Drop unnecessary cooling device target state checks from the
   Bang-Bang thermal governor (Rafael Wysocki).

 - Avoid invoking thermal governor .trip_crossed() callback for critical
   and hot trip points (Rafael Wysocki).

 - Group all Renesas drivers inside a dedicated sub directory and add
   the missing dependency to OF (Niklas S=C3=B6derlund).

 - Add suspend/resume support on k3_j72xx_bandgap and take the
   opportunity to remove an unneeded delay in the init time code
   path (Th=C3=A9o Lebrun).

 - Fix thermal zone definition for MT8186 and MT8188 (Julien Panis).

 - Convert hisilicon-thermal.txt to dt-schema (Abdulrasaq Lawani).

 - Add DT bindings for the X1E80100 temperature sensor (Abel Vesa).

 - Fix the thermal zone node name regular expression in the DT schema
   (Krzysztof Kozlowski).

 - Avoid failing thermal control initialization by using default values
   on some platforms where calibration data is missing  (Chen-Yu Tsai).

 - Fix the sensor cell size in DT for the Exynos platform (Krzysztof
   Kozlowski).

 - Bring the common definition of '#thermal-sensor-cells' property in
   order to simplify the bindings on all the platforms where this
   change makes sense and do some minor cleanups (Krzysztof Kozlowski).

 - Fix a race between removal and clock disable in the broadcom thermal
   driver (Krzysztof Kozlowski).

 - Drop 'trips' DT node as required from the thermal zone bindings in
   order to fix the remaining warnings appearing for thermal zones
   without trip points (Rob Herring).

 - Simplify all the drivers where dev_err_probe() can apply (Krzysztof
   Kozlowski).

 - Clean up code related to stih416 as this platform is not described
   anywhere (Raphael Gallais-Pou).

Thanks!



15 Jul 2024: arm64: dts: ti: K3 devicetree updates for v6.11 - part2 [+ + +]
 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>, Vignesh Raghavendra <vigneshr@ti.com>,
 linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org,
 Nishanth Menon <nm@ti.com>
Message-ID: <aacd1e96-9ff4-4222-9f4d-29e63041f7fb@ti.com>
Subject: [GIT PULL] arm64: dts: ti: K3 devicetree updates for v6.11 - part2

--------------ueqxuF7AE95w104VQykrKzYI

Hi ARM SoC Maintainers,

est:
https://lore.kernel.org/linux-arm-kernel/37f251a1-f3bd-402f-ab22-cf786c38=
71d7@ti.com/

Late fixes towards v6.11-rc1

First patch fixes warning splat seen on J784S4 due to overlapping
serdes0 lane. Second patch cleans up the serdes0 references for readabili=
ty

15 Jul 2024: x86/cpu for v6.11-rc1 [+ + +]
please pull the x86/cpu lineup for v6.11-rc1.

If you encounter a merge conflict - likely - I've added the resolve we've been
using in linux-next at the end of that mail if you'd like to compare notes.

Thx.

---

- Flip the logic to add feature names to /proc/cpuinfo to having to
  explicitly specify the flag if there's a valid reason to show it in
  /proc/cpuinfo

- Switch a bunch of Intel x86 model checking code to the new CPU model
  defines

- Fixes and cleanups

15 Jul 2024: Btrfs updates for 6.11 [+ + +]
Hi,

please pull the changes described below. The hilights are new logic
behind background block group reclaim, automatic removal of qgroup
after removing a subvolume and new 'rescue=' mount options. The rest is
optimizations, cleanups and refactoring.

There's a merge conflict caused by the latency fixes from last week in
extent_map.c:btrfs_scan_inode(), related commits 4e660ca3a98d931809734
and b3ebb9b7e92a928344a. Resolved in branch for-6.11-merged and that's
been in linux-next for a few days.

User visible features:

- dynamic block group reclaim:
  - tunable framework to avoid situations where eager data allocations
    prevent creating new metadata chunks due to lack of unallocated
    space
  - reuse sysfs knob bg_reclaim_threshold (otherwise used only in zoned
    mode) for a fixed value threshold
  - new on/off sysfs knob "dynamic_reclaim" calculating the value based
    on heuristics, aiming to keep spare working space for relocating
    chunks but not to needlessly relocate partially utilized block
    groups or reclaim newly allocated ones
  - stats are exported in sysfs per block group type, files "reclaim_*"
  - this may increase IO load at unexpected times but the corner case of
    no allocatable block groups is known to be worse

- automatically remove qgroup of deleted subvolumes
  - adjust qgroup removal conditions, make sure all related subvolume
    data are already removed, or return EBUSY, also take into account
    setting of sysfs drop_subtree_threshold
  - also works in squota mode

- mount option updates: new modes of 'rescue=' that allow to mount (as
  read-only) images that could have been partially converted by
  user space tools
  - ignoremetacsums  - invalid metadata checksums are ignored
  - ignoresuperflags - super block flags that track conversion in
                       progress (like UUID or checksums)

Core:

- size of struct btrfs_inode is now below 1024 (on a release config),
  improved memory packing and other secondary effects

- switch tracking of open inodes from rb-tree to xarray, minor
  performance improvement

- reduce number of empty transaction commits when there are no dirty
  data/metadata

- memory allocation optimizations (reduced numbers, reordering out of
  critical sections)

- extent map structure optimizations and refactoring, more sanity checks

- more subpage in zoned mode preparations or fixes

- general snapshot code cleanups, improvements and documentation

- tree-checker updates: more file extent ram_bytes fixes, continued

- raid-stripe-tree update (not backward compatible):
  - remove extent encoding field from the structure, can be inferred
    from other information
  - requires btrfs-progs 6.9.1 or newer

- cleanups and refactoring
  - error message updates
  - error handling improvements
  - return type and parameter cleanups and improvements

15 Jul 2024: x86/bugs for v6.11-rc1 [+ + +]
please pull the x86/bugs lineup for v6.11-rc1.

Thx.

---

 - Add a spectre_bhi=vmexit mitigation option aimed at cloud
   environments

 - Remove duplicated Spectre cmdline option documentation

 - Add separate macro definitions for syscall handlers which do not
   return in order to address objtool warnings

15 Jul 2024: dlm updates for 6.11 [+ + +]


Note, this set includes a patch touching drivers/md/md-cluster.c, acked
by the md-cluster developers, making use of the new DLM_LSFL_SOFTIRQ_SAFE
flag.  Overall, changes include:

- New flag DLM_LSFL_SOFTIRQ_SAFE can be set by code using dlm
  to indicate callbacks can be run from softirq.
- Change md-cluster to set DLM_LSFL_SOFTIRQ_SAFE.
- Clean up for previous changes, e.g. unused code and parameters.
- Remove custom pre-allocation of rsb structs which is unnecessary
  with kmem caches.
- Change idr to xarray for lkb structs in use.
- Change idr to xarray for rsb structs being recovered.
- Change outdated naming related to internal rsb states.
- Fix some incorrect add/remove of rsb on scan list.
- Use rcu to free rsb structs.

Thanks,
Dave


15 Jul 2024: hardening updates for v6.11-rc1 [+ + +]

Thanks!

-Kees

hardening updates for v6.11-rc1

- lkdtm/bugs: add test for hung smp_call_function_single() (Mark Rutland)

- gcc-plugins: Remove duplicate included header file stringpool.h
  (Thorsten Blum)

- ARM: Remove address checking for MMUless devices (Yanjun Yang)

- randomize_kstack: Clean up per-arch entropy and codegen

- KCFI: Make FineIBT mode Kconfig selectable

- fortify: Do not special-case 0-sized destinations

15 Jul 2024: seccomp updates for v6.11-rc1 [+ + +]

Thanks!

-Kees

seccomp updates for v6.11-rc1

- interrupt SECCOMP_IOCTL_NOTIF_RECV when all users exit (Andrei Vagin)

- Update selftests to check for expected NOTIF_RECV exits (Andrei Vagin)

15 Jul 2024: pstore updates for v6.11-rc1 [+ + +]
were no pstore updates for v6.10, this is based on v6.9-rc2. I forgot
to do my traditional merge-on-rc2 for this tree when v6.10-rc2 happened.)

Thanks!

-Kees

pstore updates for v6.11-rc1

- Add missing MODULE_DESCRIPTION() macro (Jeff Johnson)

- Replace deprecated strncpy() with strscpy() (Justin Stitt)

15 Jul 2024: execve updates for v6.11-rc1 [+ + +]

Thanks!

-Kees

execve updates for v6.11-rc1

- Use value of kernel.randomize_va_space once per exec (Alexey Dobriyan)

- Honor PT_LOAD alignment for static PIE

- Make bprm->argmin only visible under CONFIG_MMU

- Add KUnit testing of bprm_stack_limits()

15 Jul 2024: x86/vmware for v6.11-rc1 [+ + +]
please pull the x86/vmware lineup for v6.11-rc1.

Thx.

---

 - Add a unified VMware hypercall API layer which should be used by all
   callers instead of them doing homegrown solutions. This will provide for
   adding API support for confidential computing solutions like TDX

15 Jul 2024: x86/misc for v6.11-rc1 [+ + +]
please pull the x86/misc lineup for v6.11-rc1.

Thx.

---

 - Make error checking of AMD SMN accesses more robust in the callers as
   they're the only ones who can interpret the results properly

 - The usual cleanups and fixes, left and right

15 Jul 2024: NFSD changes for v6.11 [+ + +]
NFSD 6.11 Release Notes

This is a light release containing optimizations, code clean-ups,
and minor bug fixes. This development cycle focused on work outside
of upstream kernel development:

1. Continuing to build upstream CI for NFSD based on kdevops
2. Continuing to focus on the quality of NFSD in LTS kernels
3. Participation in IETF nfsv4 WG discussions about NFSv4 ACLs,
   directory delegation, and NFSv4.2 COPY offload

Notable features in v6.11 that were not pulled through the NFSD tree
include NFS server-side support for the new pNFS NVMe layout type
[RFC9561]. Functional testing for pNFS block layouts like this one
has been introduced to our kdevops CI harness. Work on improving
the resolution of file attribute time stamps in local filesystems
is also ongoing tree-wide.

As always I am grateful to NFSD contributors, reviewers, testers,
and bug reporters who participated during this cycle.

15 Jul 2024: SPI updates for v6.11 [+ + +]
spi: Updates for v6.11

There's some quite exciting core work in this release, we've got the
beginnings of support for hardware initiated transfers which is itself
independently useful for optimising fast paths in existing drivers.

We also have a rework of the DMA mapping which allows finer grained
decisions about DMA mapping messages and also helps remove some bodges
that we'd had.

Otherwise it's a fairly quiet release, a few new drivers and features
for existing drivers, together with various cleanups and DT binding
conversions.

One regmap SPI fix made it's way in here too which I should probably
have sent as a regmap fix instead.

 - Support for pre-optimising messages, reducing the overhead for
   messages that are repeatedly used (eg, reading the interrupt status
   from a device).  This will also be used for hardware initiated
   transfers in future.
 - A reworking of how DMA mapping is done, introducing a new helper and
   allowing the DMA mapping decision to be done per transfer instead of
   per message.
 - Support for Atmel SAMA7D64, Freescale LX2160A DSPI and WCH CH341A.

15 Jul 2024: regmap updates for v6.11 [+ + +]
regmap: Updates for v6.11

There's one new feature here, a regmap_multi_reg_read() matching the
existing write function which has some IIO users coming.  This allows
atomic reads from multiple registers without the need to wrap a higher
level lock in the client driver just for regmap (which already has locks
anyway).  We also have one fix for the KUnit tests, and a bunch of
cleanups.

15 Jul 2024: regulator updates for v6.11 [+ + +]
regulator: Updates for v6.11

This s a very quiet release for the regulator API, we have a few new
devices (most of which are just ID updates) and one new fairly
specialist core feature for use in interrupt context.

 - An API allowing lockless enable/disable for regulators acquired in
   exclusive mode, for use in interrupt contexts.
 - A rewrite of the MedaTek DVFSRC regulator driver which apparently
   never worked.
 - Support for Mediaktek MT6312, Qualcomm QCA6390 and WCN7850, Renesas
   RZ/G2L USB VBUS regulator and ST Microelectronics STM32MP13.

15 Jul 2024: x86/build for v6.11-rc1 [+ + +]
please pull a single x86 build improvement for v6.11-rc1.

Thx.

---

 - Make sure insn support detection uses the proper compiler flag in bi-arch
   builds

15 Jul 2024: USB-serial updates for 6.11-rc1 [+ + +]
USB-serial updates for 6.11-rc1

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

 - add missing module descriptions
 - add flexible array annotation in garmin_gps

Included are also various clean ups.

All have been in linux-next with no reported issues.

15 Jul 2024: locking changes for v6.11 [+ + +]



Locking changes for v6.11:

 - Jump label fixes, including a perf events fix that originally
   manifested as jump label failures, but was a serialization bug
   at the usage site.

 - Mark down_write*() helpers as __always_inline, to improve
   WCHAN debuggability.

 - Misc cleanups and fixes.

 Thanks,

Ingo

15 Jul 2024: AFFS updates for 6.11 [+ + +]
Hi,

please pull the following conversions of the one-element to flexible
arrays. Thanks.

15 Jul 2024: x86/core for v6.11-rc1 [+ + +]
please pull the x86/core lineup for v6.11-rc1. Basically your own patch. :-P

Thx.

---

 - Cleanup the 8-byte getuser() asm case

15 Jul 2024: x86/cc for v6.11-rc1 [+ + +]
please pull the x86 confidential computing lineup for v6.11-rc1.

Thx.

---

- Unrelated x86/cc changes queued here to avoid ugly cross-merges and
  conflicts:

   - Carve out CPU hotplug function declarations into a separate header
     with the goal to be able to use the lockdep assertions in a more
     flexible manner

   - As a result, refactor cacheinfo code after carving out a function
     to return the cache ID associated with a given cache level

   -  Cleanups

- Add support to be able to kexec TDX guests. For that

   - Expand ACPI MADT CPU offlining support

   - Add machinery to prepare CoCo guests memory before kexec-ing into a new
     kernel

   - Cleanup, readjust and massage related code

15 Jul 2024: x86/boot for v6.11-rc1 [+ + +]
please pull the x86/boot lineup for v6.11-rc1.

Thx.

---

 - Add a check to warn when cmdline parsing happens before the final cmdline
   string has been built and thus arguments can get lost

 - Code cleanups and simplifications

15 Jul 2024: x86/alternatives for v6.11-rc1 [+ + +]
please pull updates to x86/alternatives for v6.11-rc1.

Thx.

---

- This is basically PeterZ's idea to nest the alternative macros to avoid the
  need to "spell out" the number of alternates in an ALTERNATIVE_n() macro and
  thus have an ever-increasing complexity in those definitions.

  For ease of bisection, the old macros are converted to the new, nested
  variants in a step-by-step manner so that in case an issue is encountered
  during testing, one can pinpoint the place where it fails easier. Because
  debugging alternatives is a serious pain.

15 Jul 2024: RAS updates for v6.11-rc1 [+ + +]
please pull ras/core for v6.11-rc1.

Thx.

---

 - A cleanup and a correction to the error injection driver to inject
   a MCA_MISC value only when one has actually been supplied by the user

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


Kind regards
Ulf Hansson


MMC host:
 - Convert from using tasklet to the BH workqueue
 - dw_mmc-bluefield: Add support for eMMC HW reset
 - mmc_spi: Allow spi controllers incapable of lower than 400kHz
 - sdhci: Rework code to eliminate SDHCI_QUIRK_UNSTABLE_RO_DETECT
 - sdhci-brcmstb: Add support for the BCM2712 variant
 - sdhci-esdhc-imx: Disable card-detect as system wakeup on S32G platforms
 - sdhci-msm: Add support for the SDX75 variant
 - sdhci-of-dwcmshc: Enable CQE support for some Rockchip variants
 - sdhci-of-esdhc: Convert DT-bindings to yaml
 - sdhci-sprd: Convert DT-bindings to yaml

MEMSTICK:
 - rtsx_pci_ms: Remove the unused Realtek PCI memstick driver

15 Jul 2024: EDAC updates for v6.11 [+ + +]
please pull the EDAC updates for v6.11.

Thx.

---

- The AMD memory controllers data fabric version 4.5 supports
  non-power-of-2 denormalization in the sense that certain bits of the
  system physical address cannot be reconstructed from the normalized
  address reported by the RAS hardware. Add support for handling such
  addresses

- Switch the EDAC drivers to the new Intel CPU model defines

- The usual fixes and cleanups all over the place

15 Jul 2024: m68k updates for v6.11 [+ + +]
m68k updates for v6.11

  - Fix bootup lock-ups on Warp1260, Atari TT, and MegaSTe,
  - Miscellaneous fixes and improvements,
  - Defconfig updates.

Thanks for pulling!

15 Jul 2024: pmdomain updates for v6.11 [+ + +]
Here's the PR with the pmdomain updates for v6.11. Details about the highlights
are as usual found in the signed tag.


Kind regards
Ulf Hansson


pmdomain core:
 - Add support for HW-managed devices

pmdomain providers:
 - amlogic: Add support for the A5 and the A4 power domains
 - arm: Enable system wakeups for the SCMI PM domain
 - qcom/clk: Add HW-mode callbacks to allow switching of GDSC mode

pmdomain consumers:
 - qcom/media/venus: Enable support for switching GDSC HW-mode on V6

15 Jul 2024: gpio updates for v6.11-rc1 [+ + +]
From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>


Here's the pull-request from the GPIO tree for this merge window. The majority
of added lines are two new modules: the GPIO virtual consumer module that
improves our ability to add automated tests for the kernel API and the "sloppy"
logic analyzer module that uses the GPIO API to implement a coarse-grained
debugging tool for useful for remote development.

Other than that we have the usual assortment of various driver extensions,
improvements to the core GPIO code, DT-bindings and other documentation
updates as well as an extension to the interrupt simulator.


Best Regards,
Bartosz Golaszewski

gpio updates for v6.11-rc1

GPIOLIB core:
- rework kfifo handling rework in the character device code
- improve the labeling of GPIOs requested as interrupts and show more info
  on interrupt-only GPIOs in debugfs
- remove unused APIs
- unexport interfaces that are only used from the core GPIO code
- drop the return value from gpiochip_set_desc_names() as it cannot fail
- move a string array definition out of a header and into a specific
  compilation unit
- convert the last user of gpiochip_get_desc() other than GPIO core to using
  a safer alternative
- use array_index_nospec() where applicable

New drivers:
- add a "virtual GPIO consumer" module that allows requesting GPIOs from actual
  hardware and driving tests of the in-kernel GPIO API from user-space over
  debugfs
- add a GPIO-based "sloppy" logic analyzer module useful for "first glance"
  debugging on remote boards

Driver improvements:
- add support for a new model to gpio-pca953x
- lock GPIOs as interrupts in gpio-sim when the lines are requested as irqs
  via the simulator domain + some other minor improvements
- improve error reporting in gpio-syscon
- convert gpio-ath79 to using dynamic GPIO base and range
- use pcibios_err_to_errno() for converting PCIBIOS error codes to errno
  vaues in gpio-amd8111 and gpio-rdc321x
- allow building gpio-brcmstb for the BCM2835 architecture

DT bindings:
- convert DT bindings for lsi,zevio, mpc8xxx, and atmel to DT schema
- document new properties for aspeed,gpio, fsl,qoriq-gpio and gpio-vf610
- document new compatibles for pca953x and fsl,qoriq-gpio

Documentation:
- document stricter behavior of the GPIO character device uAPI with regards to
  reconfiguring requested line without direction set
- clarify the effect of the active-low flag on line values and edges
- remove documentation for the legacy GPIO API in order to stop tempting
  people to use it
- document the preference for using pread() for reading edge events in the
  sysfs API

Other:
- add an extended initializer to the interrupt simulator allowing to specify
  a number of callbacks callers can use to be notified about irqs being
  requested and released

15 Jul 2024: erofs updates for 6.11-rc1 [+ + +]
Could you consider this pull request for 6.11-rc1?

No outstanding new features have landed for this cycle so far.

There are patches addressing folio conversions for compressed inodes:
While large folio support for compressed data could work now, it remains
disabled since the stress test could hang due to page migration in a few
hours after enabling it.  I need more time to investigate further before
enabling this feature.

Additionally, there are also some patches to clean up stream
decompressors and tracepoints for simplicity.

All commits have been tested and no potential merge conflict is
observed.

Thanks,
Gao Xiang

Changes since last update:

 - More folio conversions for compressed inodes;

 - Stream decompressor (LZMA/DEFLATE/ZSTD) cleanups;

 - Minor tracepoint cleanup.

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


xen: branch for v6.11-rc1

It contains the following patches:

- some trivial cleanups
- a fix for the Xen timer
- a patch for adding boot time selectable debug capability to the Xen multicall
  handling
- two fixes for the recently added  Xen irqfd handling

Thanks.

Juergen

 
14 Jul 2024: cgroup: Changes for v6.11 [+ + +]
cgroup: Changes for v6.11

- Added Michal Koutný as a maintainer.

- Counters in pids.events were behaving inconsistently. pids.events made
  properly hierarchical and pids.events.local added.

- misc.peak and misc.events.local added.

- cpuset remote partition creation and cpuset.cpus.exclusive handling
  improved.

- Code cleanups, non-critical fixes, doc updates.

- for-6.10-fixes is merged in to receive two non-critical fixes that didn't
  trigger pull.

14 Jul 2024: workqueue: Changes for v6.11 [+ + +]
workqueue: Changes for v6.11

- Lai fixed a bug where CPU hotplug and workqueue attribute changes race
  leaving some workqueues not fully updated. This involved refactoring and
  changing how online CPUs are tracked. The resulting code is cleaner.

- Workqueue watchdog touch operation was causing too much cacheline
  contention on very large machines. Nicholas improved scalabililty by
  avoiding unnecessary global updates.

- Code cleanups and minor rescuer behavior improvement.

- The last commit 58629d4871e8 ("workqueue: Always queue work items to the
  newest PWQ for order workqueues") is a cherry-picked straggler commit from
  for-6.10-fixes, a fix for a bug which may not actually trigger.
  Unfortunately, maybe because for-6.10-fixes was branched off at a
  different point from for-6.11, I couldn't persuade git request-pull to
  generate clean diffstat if pulled into for-6.11.

 
15 Jul 2024: chrome-platform changes for v6.11 [+ + +]

Hi Linus,

trivial conflict in the MAINTAINERS file and you should keep both changes.
See also [1].

[1]: https://lore.kernel.org/linux-next/20240702145819.3bd4e113@canb.auug.o=
rg.au/

Thanks,
TzungBi
------

chrome platform changes for 6.11

* New

  - Add "cros_ec_hwmon" driver to expose fan speed and temperature.

  - Add "cros_charge-control" driver to control charge thresholds and
    behaviour.

  - Add module parameter "log_poll_period_ms" in cros_ec_debugfs for
    tuning the poll period.

  - Support version 3 of EC_CMD_GET_NEXT_EVENT and keyboard matrix.

* Fixes

  - Fix a race condition in accessing MEC (Microchip EC) memory between
    ACPI and kernel.  Serialize the memory access by an AML (ACPI
    Machine Language) mutex.

  - Fix an issue of wrong EC message version in cros_ec_debugfs.

* Misc

  - Fix kernel-doc errors and cleanups.

15 Jul 2024: chrome-platform-firmware changes for v6.11 [+ + +]

Hi Linus,


Thanks,
TzungBi
------

chrome platform firmware changes for 6.11

* Minor cleanups.

 
14 Jul 2024: bcachefs changes for 6.11 [+ + +]
bcachefs changes for 6.11-rc1

- Metadata version 1.8: Stripe sectors accounting, BCH_DATA_unstriped

This splits out the accounting of dirty sectors and stripe sectors in
alloc keys; this lets us see stripe buckets that still have unstriped
data in them.

This is needed for ensuring that erasure coding is working correctly, as
well as completing stripe creation after a crash.

- Metadata version 1.9: Disk accounting rewrite

The previous disk accounting scheme relied heavily on percpu counters
that were also sharded by outstanding journal buffer; it was fast but
not extensible or scalable, and meant that all accounting counters were
recorded in every journal entry.

The new disk accounting scheme stores accounting as normal btree keys;
updates are deltas until they are flushed by the btree write buffer.

This means we have no practical limit on the number of counters, and a
new tagged union format that's easy to extend.

We now have counters for compression type/ratio, per-snapshot-id usage,
per-btree-id usage, and pending rebalance work.

- Self healing on read IO/checksum error

data is now automatically rewritten if we get a read error and then a
successful retry

- Mount API conversion (thanks to Thomas Bertschinger)

- Better lockdep coverage

Previously, btree node locks were tracked individually by lockdep, like
any other lock. But we may take _many_ btree node locks simultaneously,
we easily blow through the limit of 48 locks that lockdep can track,
leading to lockdep turning itself off.

Tracking each btree node lock individually isn't really necessary since
we have our own cycle detector for deadlock avoidance and centralized
tracking of btree node locks, so we now have a single lockdep_map in
btree_trans for "any btree nodes are locked".

- some more small incremental work towards online check_allocations

- lots more debugging improvements, fixes

14 Jul 2024: hwmon updates for v6.11 [+ + +]


Thanks,
Guenter
------

hwmon updates for v6.11-rc1

* Obsolete driver removals

  - Removed obsolete adm1021 and max6642 drivers

* New drivers

  - MPS MP2891

  - MPS MP2993

  - MPS MP9941

  - MPS MP5920

  - SPD5118 (Temperature Sensor and EEPROM)

* Added device support to existing drivers

  - g762: G761

  - dell-smm: Dell OptiPlex 7060

  - asus-ec-sensors: ProArt X670E-CREATOR WIFI

  - corsair-psu: HX1200i Series 2023 psu

  - nzxt-smart2: Additional USB IS for NZXT RGB & Fan Controller

* Notable enhancements and fixes

  - Removed use of i2c_match_id()

  - Constified struct regmap_config where feasible

  - Cleaned up amc6821 driver, and converted to use regmap and with_info API

  - Converted max6639 driver to use with_info API; added support for
    additional sysfs attributes

  - Fixed various sysfs attribute underflows

  - Added PEC support to hwmon core, and use in lm90 and max31827 drivers

* Various other minor fixes and improvements

 
15 Jul 2024: pwm: Changes for 6.11-rc1 [+ + +]

Hello Linus,

the following changes since commit f01af3022d4a46362c5dda3d35dea939f3246d10:

  pwm: stm32: Fix error message to not describe the previous error path (20=
24-06-22 16:13:19 +0200)

that is part of v6.10-rc5 are available in the Git repository at:

wm/for-6.11-rc1

for you to fetch changes up to 240b129d597cb8a8880eb3a381ff10eb98ca0c07:

  pwm: axi-pwmgen: add .max_register to regmap (2024-07-11 15:44:40 +0200)

v6.11-rc1.

Best regards
Uwe

pwm: Changes for v6.11-rc1

This contains the usual mix of fixes, cleanups, two new drivers and
several dt binding updates. The fixes are for minor issues that are
already old (4.11-rc1 and 3.9-rc1) and were found by code review and not
during usage, so I didn't sent them for earlier inclusion.

The changes to include/linux/mfd/stm32-timers.h and
drivers/counter/stm32-timer-cnt.c are part of an immutable branch that
will also be included in the mfd and counter PR. It changes some
register definitions and affects the pwm-stm32 driver.

Thanks go to Andy Shevchenko, AngeloGioacchino Del Regno, Conor Dooley,
David Lechner, Dhruva Gole, Drew Fustini, Frank Li, Jeff Johnson, Junyi
Zhao, Kelvin Zhang, Krzysztof Kozlowski, Lee Jones, Linus Walleij, Linus
Walleij, Michael Hennerich, Nicola Di Lieto, Nicolas Ferre, Nuno Sa,
Paul Cercueil, Raag Jadav, Rob Herring, Sean Anderson, Sean Young,
Shenwei Wang, Stefan Wahren, Trevor Gamblin, Tzung-Bi Shih, Vincent
Whitchurch and William Breathitt Gray for their contributions to this
pull request; they authored changes, spend time reviewing changes and
coordinated the above mentioned immutable branch.


 
14 Jul 2024: irq/core for v6.11-rc1 [+ + +]
please pull the latest irq/core branch from:

-14


Updates for the interrupt subsystem:

  - Core:

    - Provide a new mechanism to create interrupt domains. The existing
      interfaces have already too many parameters and it's a pain to expand
      any of this for new required functionality.

      The new function takes a pointer to a data structure as argument. The
      data structure combines all existing parameters and allows for easy
      extension.

      The first extension for this is to handle the instantiation of
      generic interrupt chips at the core level and to allow drivers to
      provide extra init/exit callbacks.

      This is necessary to do the full interrupt chip initialization before
      the new domain is published, so that concurrent usage sites won't see
      a half initialized interrupt domain. Similar problems exist on
      teardown.

      This has turned out to be a real problem due to the deferred and
      parallel probing which was added in recent years.

      Handling this at the core level allows to remove quite some accrued
      boilerplate code in existing drivers and avoids horrible workarounds
      at the driver level.

    - The usual small improvements all over the place

  - MSI

    - Switch ARM/ARM64 over to the modern per device MSI domains.

      This simplifies the handling of platform MSI and wire to MSI
      controllers and removes about 500 lines of legacy code.

      Aside of that it paves the way for ARM/ARM64 to utilize the dynamic
      allocation of PCI/MSI interrupts and to support the upcoming non
      standard IMS (Interrupt Message Store) mechanism on PCIe devices

  - Drivers

    - Add support for LAN966x OIC and RZ/Five SoC

    - Split the STM ExtI driver into a microcontroller and a SMP version to
      allow building the latter as a module for multi-platform kernels.

    - Enable MSI support for Armada 370XP on platforms which do not support
      IPIs.

    - The usual small fixes and enhancements all over the place.

Thanks,

tglx

14 Jul 2024: timers/core for v6.11-rc1 [+ + +]
please pull the latest timers/core branch from:

-07-14

people/daniel.lezcano/linux into timers/core

Updates for timers, timekeeping and related functionality:

  - Core:

    - Make the takeover of a hrtimer based broadcast timer reliable during
      CPU hot-unplug. The current implementation suffers from a race which
      can lead to broadcast timer starvation in the worst case.

    - VDSO related cleanups and simplifications

    - Small cleanups and enhancements all over the place
   =20
  - PTP:

    - Replace the architecture specific base clock to clocksource, e.g. ART
      to TSC, conversion function with generic functionality to avoid
      exposing such internals to drivers and convert all existing drivers
      over. This also allows to provide functionality which converts the
      other way round in the core code based on the same parameter set.

    - Provide a function to convert CLOCK_REALTIME to the base clock to
      support the upcoming PPS output driver on Intel platforms.

  - Drivers:

    - A set of Device Tree bindings for new hardware

    - Cleanups and enhancements all over the place

Thanks,

tglx

14 Jul 2024: core/debugobjects for v6.11-rc1 [+ + +]
please pull the latest core/debugobjects branch from:

s-2024-07-14



A single update for debugobjects to annotate all intentionally racy global
debug variables so that KCSAN ignores them.

Thanks,

tglx

14 Jul 2024: smp/core for v6.11-rc1 [+ + +]
please pull the latest smp/core branch from:

-14

ll_on_cpu()

A small set of SMP/CPU hotplug updates:

  - Reverse the order of iteration when freezing secondary CPUs for
    hibernation.

    This avoids that drivers like the Intel uncore performance counter have
    to transfer the assignement of handling the per package uncore events
    for every CPU in a package, which is a considerable speedup on larger
    systems.

  - Add a missing destroy_work_on_stack() invocation in smp_call_on_cpu()
    to prevent debug objects to emit a false positive warning when the
    stack is freed.

  - Small cleanups in comments and a str_plural() conversion

Thanks,

tglx

14 Jul 2024: random number generator updates for 6.11-rc1 [+ + +]
Here's the vDSO getrandom() work we've been discussing for the last few weeks.
Thank you very much for your input on this and for working with me to get this
where it is. I'm happy with the set of compromises, and I think this wound up
in a decent place. A blurb for the merge message:

This is a short series adding getrandom() support to the vDSO. First, it adds a
new kind of mapping to mmap(2), MAP_DROPPABLE, which lets the kernel zero out
pages anytime under memory pressure, which enables allocating memory that never
gets swapped to disk but also doesn't count as being mlocked. Then, the vDSO
implementation of getrandom() is introduced in a generic manner and hooked into
random.c. Next, this is implemented on x86. (Also, though it's not ready for
this pull, somebody has begun an arm64 implementation already.) Finally, two
vDSO selftests are added.

Each version of this series has been in linux-next for a little bit, and there
are no major reported issues, though there may be a trivial merge conflict.


Thanks,
Jason

Random number generator updates for Linux 6.11-rc1.
14 Jul 2024: RCU changes for v6.11 [+ + +]
When the merge window opens, please pull this RCU update from:


RCU pull request for v6.11

doc.2024.06.06a: Update Tasks RCU and Tasks Rude RCU description in
Requirements.rst and clarify rcu_assign_pointer() and
rcu_dereference() ordering properties.

fixes.2024.07.04a: Add lockdep assertions for RCU readers, limit inline
wakeups for callback-bypass synchronize_rcu(), add an
rcutree.nohz_full_patience_delay to reduce nohz_full OS jitter,
add Uladzislau Rezki as RCU maintainer, and fix a subtle
callback-migration memory-ordering issue.

mb.2024.06.28a: Remove a number of redundant memory barriers.

nocb.2024.06.03a: Remove unnecessary bypass-list lock-contention
mitigation, use parking API instead of open-coded ad-hoc
equivalent, and upgrade obsolete comments.

rcu-tasks.2024.06.06a: Revert avoidance of a deadlock that can no
longer occur and properly synchronize Tasks Trace RCU checking
of runqueues.

rcutorture.2024.06.06a: Add tests for handling of double-call_rcu()
bug, add missing MODULE_DESCRIPTION, and add a script that
histograms the number of calls to RCU updaters.

srcu.2024.06.18a: Fill out SRCU polled-grace-period API.

14 Jul 2024: Generic torture-test changes for v6.11 [+ + +]
When the merge window opens, please pull this generic torture-test
update from:


Torture-test updates for v6.11

This pull request adds MODULE_DESCRIPTION() to torture.c, locktorture.c,
and scftorture.c, and also adds static to a global variable that is used
only in scftorture.c.

14 Jul 2024: LKMM changes for v6.11 [+ + +]
When the merge window opens, please pull this LKMM update from:


lkmm: Fix corner-case locking bug and improve documentation

A simple but odd single-process litmus test acquires and immediately
releases a lock, then calls spin_is_locked().  LKMM acts if it was
a deadlock due to an assumption that spin_is_locked() will follow a
spin_lock() or some other process's spin_unlock().  This litmus test
manages to violate this assumption because the spin_is_locked() follows
the same process's spin_unlock().

This series fixes this bug, reorganizes and optimizes the lock.cat model,
and updates documentation.

 
13 Jul 2024: i2c-host for v6.11 [+ + +]
Hi Wolfram,

Not a massive pull request. The majority of changes relate to the
naming convention updates. Other than that, the holiday period
has given us some slack in the number of patches queued for this
pull request.

There is still one pending documentation fix required for an
issue reported by Stephen that I haven't noticed. I need to add
the documentation check to my workflow. If you don't have the
bandwidth, I can take care of it.

I also have a pending patch for a v2 pull request from Hans de
Goede ("i2c: i801: Use a different adapter name for IDF
adapters") that is waiting for precedence.

I wish you a great rest of the weekend,
Andi

This release includes significant updates, with the primary
change being the renaming from "master/slave" to
"controller/target" to adhere to I2C v7 and SMBus 3.2 standards.

New Support:

 - Added support for Intel Arrow Lake-H.
 - Added I2C support in the Arioha SoC by linking the Mediatek
   I2C controller.

Cleanups:

 - Added the MODULE_DESCRIPTION() macro, resolving a modpost
   warning in the ALi 1563 Southbridge driver.
 - Constified the regmap_config declaration in the i2c-designware
   driver.
 - Improved the coding style in the Renesas R-Car driver by
   removing unnecessary semicolons after brackets.

General improvements:

 - In the OMAP device, replaced NOIRQ_SYSTEM_SLEEP_PM_OPS with
   RUNTIME_PM_OPS to enable waking up the controller during
   suspend() before suspend_noirq() kicks in.
 - Improved logging in the Xilinx driver.
 - Added a warning (WARN()) in the Renesas R-Car driver for
   spurious interrupts.

DTS Changes:

 - Removed address-cell and size-cell from the Atmel at91sam,
   nVidia Tegra 20, and Samsung S3c2410 devices.
 - Fixed Texas Instruments OMAP4 I2C controller to comply with
   the i2c-controller.yaml schema.
 - Improved indentation in DTS examples for several I2C devices.
 - Converted the NXP LPC1788 binding to the dt-schema.
 - Added documentation for the compatible string
   thead,th1520-i2c.
 - Added the "power-domains" property for the Meson I2C driver.

 
12 Jul 2024: KVM: x86 pull requests for 6.11 [+ + +]
There's a trivial conflict between "misc" and "vmx" in kvm-x86-ops.h, they
both delete ops that happen to be _right_ next to each other.  Otherwise, should
apply cleanly.
12 Jul 2024: [resend] timer drivers for v6.11-rc1 [+ + +]
Hi Thomas,

please consider pulling the following changes since commit 
256abd8e550ce977b728be79a74e1729438b4948:

   Linux 6.10-rc7 (2024-07-07 14:23:46 -0700)

which are available in the Git repository at:

   https://git.linaro.org/people/daniel.lezcano/linux.git 
tags/timers-v6.11-rc1

for you to fetch changes up to 4bdc3eaa102b6bedb0800f76f53eca516d5cf20c:

   clocksource/drivers/realtek: Add timer driver for rtl-otto platforms 
(2024-07-12 16:07:06 +0200)


Thanks

   -- Daniel

- Remove unnecessary local variables initialization as they will be
   initialized in the code path anyway right after on the ARM arch
   timer and the ARM global timer (Li kunyu)

- Fix a race condition in the interrupt leading to a deadlock on the
   SH CMT driver. Note that this fix was not tested on the platform
   using this timer but the fix seems reasonable enough to be picked
   confidently (Niklas Söderlund)

- Increase the rating of the gic-timer and use the configured width
   clocksource register on the MIPS architecture (Jiaxun Yang)

- Add the DT bindings for the TMU on the Renesas platforms (Geert
   Uytterhoeven)

- Add the DT bindings for the SOPHGO SG2002 clint on RiscV (Thomas
   Bonnefille)

- Add the rtl-otto timer driver along with the DT bindings for the
   Realtek platform (Chris Packham)

12 Jul 2024: vfs pidfs [+ + +]
/* Summary */
This contains work to make it possible to derive namespace file descriptors
from pidfd file descriptors.

Right now it is already possible to use a pidfd with setns() to atomically
change multiple namespaces at the same time. In other words, it is possible to
switch to the namespace context of a process using a pidfd. There is no need to
first open namespace file descriptors via procfs.

The work included here is an extension of these abilities by allowing to open
namespace file descriptors using a pidfd. This means it is now possible to
interact with namespaces without ever touching procfs.

To this end a new set of ioctls() on pidfds is introduced covering all
supported namespace types.

/* Testing */
clang: Debian clang version 16.0.6 (26)
gcc: (Debian 13.2.0-24)

All patches are based on v6.10-rc1 and have been sitting in linux-next.
No build failures or warnings were observed.

/* Conflicts */
[1]: This contains a merge conflict with the vfs-6.11.misc pull request
     https://lore.kernel.org/r/20240712-vfs-misc-c1dbbc5eaf82@brauner

     After conflict resolution the merge diff looks like this:

vfs-6.11.pidfs

12 Jul 2024: vfs nsfs [+ + +]
/* Summary */
This adds ioctls allowing to translate PIDs between PID namespaces.

The motivating use-case comes from LXCFS which is a tiny fuse filesystem used
to virtualize various aspects of procfs. LXCFS is run on the host. The files
and directories it creates can be bind-mounted by e.g. a container at startup
and mounted over the various procfs files the container wishes to have
virtualized.

When e.g. a read request for uptime is received, LXCFS will receive the pid of
the reader. In order to virtualize the corresponding read, LXCFS needs to know
the pid of the init process of the reader's pid namespace.

In order to do this, LXCFS first needs to fork() two helper processes. The
first helper process setns() to the readers pid namespace. The second helper
process is needed to create a process that is a proper member of the pid
namespace.

The second helper process then creates a ucred message with ucred.pid set to 1
and sends it back to LXCFS. The kernel will translate the ucred.pid field to
the corresponding pid number in LXCFS's pid namespace. This way LXCFS can learn
the init pid number of the reader's pid namespace and can go on to virtualize.

Since these two forks() are costly LXCFS maintains an init pid cache that
caches a given pid for a fixed amount of time. The cache is pruned during new
read requests. However, even with the cache the hit of the two forks() is
singificant when a very large number of containers are running.

So this adds a simple set of ioctls that let's a caller translate PIDs from and
into a given PID namespace. This significantly improves performance with a very
simple change.

To protect against races pidfds can be used to check whether the process is
still valid.

/* Testing */
clang: Debian clang version 16.0.6 (26)
gcc: (Debian 13.2.0-24)

All patches are based on v6.10-rc1 and have been sitting in linux-next.
No build failures or warnings were observed.

/* Conflicts */
[1]: This contains a merge conflict with the vfs-6.11.mount pull request
     https://lore.kernel.org/r/20240712-vfs-mount-8fd93381a87f@brauner

     After conflict resolution the merge diff looks like this:

vfs-6.11.nsfs

12 Jul 2024: vfs iomap [+ + +]
/* Summary */
This contains some minor work for the iomap subsystem:

- Add documentaiton on the design of iomap and how to port to it.

- Optimize iomap_read_folio().

- Bring back the change to iomap_write_end() to no increase i_size. This is
  accompanied by a change to xfs to reserve blocks for truncating large
  realtime inodes to avoid exposing stale data when iomap_write_end()
  stops increasing i_size.

/* Testing */
clang: Debian clang version 16.0.6 (26)
gcc: (Debian 13.2.0-24)

All patches are based on v6.10-rc4 and have been sitting in linux-next.
No build failures or warnings were observed.

/* Conflicts */
No known conflicts.

vfs-6.11.iomap

12 Jul 2024: vfs mount [+ + +]
/* Summary */
This contains work to extend the abilities of listmount() and statmount() and
various fixes and cleanups.

Features:

- Allow iterating through mounts via listmount() from newest to oldest. This
  makes it possible for mount(8) to keep iterating the mount table in reverse
  order so it gets newest mounts first.

- Relax permissions on listmount() and statmount(). It's not necessary to have
  capabilities in the initial namespace. It's sufficient to have capabilities
  in the owning namespace of the mount namespace we're located in to list
  unreachable mounts in that namespace.

- Extend both listmount() and statmount() to list and stat mounts in foreign
  mount namespaces.

  Currently the only way to iterate over mount entries in mount namespaces that
  aren't in the caller's mount namespace is by crawling through /proc in order
  to find /proc/<pid>/mountinfo for the relevant mount namespace. This is both
  very clumsy and hugely inefficient. So extend struct mnt_id_req with a new
  member that allows to specify the mount namespace id of the mount namespace
  we want to look at.

  Luckily internally we already have most of the infrastructure for this so we
  just need to expose it to userspace. Give userspace a way to retrieve the id
  of a mount namespace via statmount() and through a new nsfs ioctl() on mount
  namespace file descriptor.

  This comes with appropriate selftests.

- Expose mount options through statmount().

  Currently if userspace wants to get mount options for a mount and with
  statmount(), they still have to open /proc/<pid>/mountinfo to parse mount
  options. Simply the information through statmount() directly.

  Afterwards it's possible to only rely on statmount() and listmount() to
  retrieve all and more information than /proc/<pid>/mountinfo provides.           

  This comes with appropriate selftests.

Fixes:

- Avoid copying to userspace under the namespace semaphore in listmount.

Cleanups:

- Simplify the error handling in listmount by relying on our newly added
  cleanup infrastructure.

- Refuse invalid mount ids early for both listmount and statmount.

/* Testing */
clang: Debian clang version 16.0.6 (26)
gcc: (Debian 13.2.0-24)

All patches are based on v6.10-rc1 and have been sitting in linux-next.
No build failures or warnings were observed.

/* Conflicts */
No known conflicts.

vfs-6.11.mount

12 Jul 2024: vfs procfs [+ + +]
/* Summary */
This contains work to allow restricting access to /proc/<pid>/mem. Over the
years various exploits started abusing /proc/<pid>/mem (cf. [1] and [2]).
Specifically [2] is interesting as it installed an arbitrary payload from
noexec storage into a running process and then executed it. That payload itself
included an ELF loader to run arbitrary code off of noexec storage.

The biggest problem is that /proc/<pid>/mem ignores page permissions by using
FOLL_FORCE which was discussed several times on- and off-list.

Unfortunately there are various use-cases using /proc/<pid>/mem making it
impossible to just turn it off. They at least include PTRACE_POKEDATA and the
seccomp notifier which is used to emulate system calls.

So give userspace a way to restrict access to /proc/<pid>/mem via kernel
command line options. Setting them to "all" restricts access for all processes
while "ptracer" will allow access to ptracers:

(1) Restrict the use of FOLL_FORCE via proc_mem.restrict_foll_force
(2) Restrict opening /proc/<pid>/mem for reading.
(3) Restrict opening /proc/<pid>/mem for writing.
(4) Restrict writing to /proc/<pid>/mem.

---

The level of fine-grained management isn't my favorite as it requires
distributions to have some level of knowledge around the implications of
FOLL_FORCE and /proc/<pid>/mem access in general. But the use-cases where
/proc/<pid>/mem access is needed do already imply a sophisticated knowledge
around its implications. Especially when it comes to the seccomp notifier and
gdb to inspect or emulate process state. So that ultimately swayed me to accept
this. If we need something simpler I'm all ears.

/* Testing */
clang: Debian clang version 16.0.6 (26)
gcc: (Debian 13.2.0-24)

All patches are based on v6.10-rc1 and have been sitting in linux-next.
No build failures or warnings were observed.

/* Conflicts */
No known conflicts.

vfs-6.11.procfs

12 Jul 2024: vfs inode [+ + +]
/* Summary */
This contains smaller performance improvements to inodes and dentries:

# inode:

- Add rcu based inode lookup variants. They avoid one inode hash lock acquire
  in the common case thereby significantly reducing contention. We already
  support RCU-based operations but didn't take advantage of them during inode
  insertion.

  Callers of iget_locked() get the improvement without any code changes.
  Callers that need a custom callback can switch to iget5_locked_rcu() as e.g.,
  did btrfs.

  With 20 threads each walking a dedicated 1000 dirs * 1000 files directory
  tree to stat(2) on a 32 core + 24GB ram vm:

  before: 3.54s user 892.30s system 1966% cpu 45.549 total
  after:  3.28s user 738.66s system 1955% cpu 37.932 total (-16.7%)

  Long-term we should pick up the effort to introduce more fine-grained locking
  and possibly improve on the currently used hash implementation.

- Start zeroing i_state in inode_init_always() instead of doing it in
  individual filesystems. This allows us to remove an unneeded lock acquire in
  new_inode() and not burden individual filesystems with this.

dcache:

- Move d_lockref out of the area used by RCU lookup to avoid cacheline ping
  poing because the embedded name is sharing a cacheline with d_lockref.

- Fix dentry size on 32bit with CONFIG_SMP=y so it does actually end up with
  128 bytes in total.

/* Testing */
clang: Debian clang version 16.0.6 (26)
gcc: (Debian 13.2.0-24)

All patches are based on v6.10-rc1 and have been sitting in linux-next.
No build failures or warnings were observed.

/* Conflicts */

Merge conflicts with other trees

[1]: linux-next: manual merge of the vfs-brauner tree with the btrfs tree
     https://lore.kernel.org/linux-next/ZnFyeNLLrEcX5_g0@sirena.org.uk

Merge conflicts with mainline

This causes a merge conflict with fs/bcachefs/fs.c. The gist is that
inode->i_state initialization in __bch2_new_inode() isn't needed anymore after
this is merged and that line needs to be deleted from that function.

vfs-6.11.inode

12 Jul 2024: vfs mount api [+ + +]
/* Summary */
This contains work for the mount api:

- Add a generic helper to parse uid and gid mount options. Currently we
  open-code the same logic in various filesystems which is error prone.
  Especially since the verification of uid and gid mount options is a sensitive
  operation in the face of idmappings. Add a generic helper and convert all
  filesystems over to it. Make sure that filesystems that are mountable in
  unprivileged containers verify that the specified uid and gid can be
  represented in the owning namespace of the filesystem.

- Convert hostfs to the new mount api.

/* Testing */
clang: Debian clang version 16.0.6 (26)
gcc: (Debian 13.2.0-24)

All patches are based on v6.10-rc1 and have been sitting in linux-next.
No build failures or warnings were observed.

/* Conflicts */
No known conflicts.

vfs-6.11.mount.api

12 Jul 2024: vfs casefold [+ + +]
/* Summary */
This contains some work to simplify the handling of casefolded names:

- Simplify the handling of casefolded names in f2fs and ext4 by keeping the
  names as a qstr to avoiding unnecessary conversions.

- Introduce a new generic_ci_match() libfs case-insensitive lookup helper and
  use it in both f2fs and ext4 allowing to remove the filesystem specific
  implementations.

- Remove a bunch of ifdefs by making the unicode built checks part of the code
  flow.

/* Testing */
clang: Debian clang version 16.0.6 (26)
gcc: (Debian 13.2.0-24)

All patches are based on v6.10-rc1 and have been sitting in linux-next.
No build failures or warnings were observed.

/* Conflicts */
No known conflicts.

vfs-6.11.casefold

12 Jul 2024: vfs module descriptions [+ + +]
/* Summary */
This contains patches to add module descriptions to all modules under fs/
currently lacking them.

/* Testing */
clang: Debian clang version 16.0.6 (26)
gcc: (Debian 13.2.0-24)

All patches are based on v6.10-rc1 and have been sitting in linux-next.
No build failures or warnings were observed.

/* Conflicts */
No known conflicts.

vfs-6.11.module.description

12 Jul 2024: vfs pg_error [+ + +]
/* Summary */
This contains work to remove almost all remaining users of PG_error from
filesystems and filesystem helper libraries. An additional patch will be coming
in via the jfs tree which tests the PG_error bit. Afterwards nothing will be
testing it anymore and it's safe to remove all places which set or clear the
PG_error bit. The goal is to fully remove PG_error by the next merge window.

/* Testing */
clang: Debian clang version 16.0.6 (26)
gcc: (Debian 13.2.0-24)

All patches are based on v6.10-rc1 and have been sitting in linux-next.
No build failures or warnings were observed.

/* Conflicts */

Merge conflicts with mainline

There's one merge conflict in fs/nsfs/symlink.c
After conflict resolution the function should look like this:

static int nfs_symlink_filler(struct file *file, struct folio *folio)
{
        struct inode *inode = folio->mapping->host;
        int error;

        error = NFS_PROTO(inode)->readlink(inode, &folio->page, 0, PAGE_SIZE);
        folio_end_read(folio, error == 0);
        return error;
}

vfs-6.11.pg_error

12 Jul 2024: vfs misc [+ + +]
/* Summary */
Features:

- Support passing NULL along AT_EMPTY_PATH for statx(). NULL paths with any
  flag value other than AT_EMPTY_PATH go the usual route and end up with
  -EFAULT to retain compatibility (Rust is abusing calls of the sort to detect
  availability of statx).

  This avoids path lookup code, lockref management, memory allocation and in
  case of NULL path userspace memory access (which can be quite expensive with
  SMAP on x86_64).

- Don't block i_writecount during exec. Remove the deny_write_access()
  mechanism for executables.

- Relax open_by_handle_at() permissions in specific cases where we can prove
  that the caller had sufficient privileges to open a file.

- Switch timespec64 fields in struct inode to discrete integers freeing up 4
  bytes.

Fixes:

- Fix false positive circular locking warning in hfsplus.

- Initialize hfs_inode_info after hfs_alloc_inode() in hfs.

- Avoid accidental overflows in vfs_fallocate().

- Don't interrupt fallocate with EINTR in tmpfs to avoid constantly restarting
  shmem_fallocate().

- Add missing quote in comment in fs/readdir.

Cleanups:
- Don't assign and test in an if statement in mqueue. Move the assignment out
  of the if statement.

- Reflow the logic in may_create_in_sticky().

- Remove the usage of the deprecated ida_simple_xx() API from procfs.

- Reject FSCONFIG_CMD_CREATE_EXCL requets that depend on the new mount api early.

- Rename variables in copy_tree() to make it easier to understand.

- Replace WARN(down_read_trylock, ...) abuse with proper asserts in various
  places in the VFS.

- Get rid of user_path_at_empty() and drop the empty argument from
  getname_flags().

- Check for error while copying and no path in one branch in getname_flags().

- Avoid redundant smp_mb() for THP handling in do_dentry_open().

- Rename parent_ino to d_parent_ino and make it use RCU.

- Remove unused header include in fs/readdir.

- Export in_group_capable() helper and switch f2fs and fuse over to it instead
  of open-coding the logic in both places.

/* Testing */
clang: Debian clang version 16.0.6 (26)
gcc: (Debian 13.2.0-24)

All patches are based on v6.10-rc1 and have been sitting in linux-next.
No build failures or warnings were observed.

/* Conflicts */

Merge conflicts with other trees

[1]: linux-next: manual merge of the block tree with the vfs-brauner tree
     https://lore.kernel.org/linux-next/Zn76C70F9QB_Z0bw@sirena.org.uk

[2]: linux-next: manual merge of the block tree with the vfs-brauner tree
     https://lore.kernel.org/linux-next/Zn76HPyBbHbnmGmw@sirena.org.uk

vfs-6.11.misc

12 Jul 2024: power sequencing updates for v6.11-rc1 [+ + +]
From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>


I'm sending this early as this is the initial pull-request for a new driver
subsystem living under drivers/power/sequencing/. I'll try to be brief here
and allow myself to link the cover letter from the last time the series was
sent in its entirety[1] (as opposed to smaller chunks targetting specific
maintainers) for a very detailed description of the problem and the solution.
I'll just stick to the key points below.

This has been in development since last year's Linux Plumbers Conference and
was inspired by the need to enable support upstream for Bluetooth/WLAN chips
on Qualcomm platforms.

The main problem we're fixing is powering up devices which are represented as
separate objects in the kernel (binding to different drivers) but which share
parts of the power-up sequence and thus need some kind of a mediator who knows
the possible interactions and can assure they don't interfere with neither
device's bring up. An example of such an inter-driver interaction is the WCN
family of BT/WLAN chips from Qualcomm of which some models require the user to
observe a certain delay between driving the bt-enable and wlan-enable GPIOs.

This is not a new problem but up to this point all attempts at addressing it
ended up hitting one wall or another and being dropped. The main obstacle was
the fact that most these attempts tried to introduce the concept of a "power
sequence" into the device-tree bindings which breaks the main DT rule:
describe the hardware, not its behavior. The solution I proposed focuses on
making the power sequencer drivers interpret the actual HW description
flexibly. More details on that are in the linked cover letter.

The second problem fixed here is powering up PCI devices before they are
detected on the bus. This is achieved by creating special platform devices
for device-tree nodes describing hard-wired PCI devices which bind to the
so-called PCI power control drivers which enable required resources and
trigger a bus rescan once the controlled device is up then setup the correct
devlink hierarchy for power-management.

By combining the two new frameworks we implemented the power sequencing PCI
power control driver which is capable of powering up the WLAN modules of the
QCom WCN family of chipsets.

All this has spent a significant amount of time in linux-next and enabled
WLAN/BT support on several Qualcomm platforms. To further prove that this is
useful and needed: right after this was picked up into next, I was sent
a series using the subsystem for a similar use-case on Amlogic platforms[2].

This PR contains the core power sequencing framework, the first driver, PCI
changes using the pwrseq library (blessed by Bjorn Helgaas) and some fixes
that came later.

You'll also see the pwrseq core pulled into the Bluetooth tree to satisfy the
build-time dependency on power sequencing in the hci_qca driver which uses the
same power sequence provider as the PCI pwrctl driver added in this PR.

More changes that don't have build-time dependencies on pwrseq are scattered
across three other maintainer trees: there will be DT bindings in the
regulator and wireless trees and DTS changes in the arm64 tree.

Please consider pulling for v6.11.

Best Regards,
Bartosz Golaszewski

[1] https://lore.kernel.org/all/20240528-pwrseq-v8-0-d354d52b763c@linaro.org/
[2] https://lore.kernel.org/lkml/20240705-pwrseq-v1-0-31829b47fc72@amlogic.com/

pwrseq updates for v6.11-rc1

- add the pwrseq core framework
- add the first power sequencing driver: pwrseq-qcom-wcn
- add power control (pwrctl) changes to PCI core
- add the first PCI pwrctl power sequencing driver

 
11 Jul 2024: arm64 updates for 6.11 [+ + +]
I'm about to go on holiday for two weeks, so here's an early pull
request for 6.11. The biggest part is the virtual CPU hotplug that
touches ACPI, irqchip. We also have some GICv3 optimisation for
pseudo-NMIs that has been queued via the arm64 tree. Otherwise the usual
perf updates, kselftest, various small cleanups. There's a minor
conflict currently in -next with the kvmarm tree but it's trivial (in
arch/arm64/include/asm/esr.h).

I'll check emails occasionally during the merging window but if there's
anything urgent, Will can take over.

Thanks.

arm64 updates for 6.11:

* Virtual CPU hotplug support for arm64 ACPI systems

* cpufeature infrastructure cleanups and making the FEAT_ECBHB ID bits
  visible to guests

* CPU errata: expand the speculative SSBS workaround to more CPUs

* arm64 ACPI:

  - acpi=nospcr option to disable SPCR as default console for arm64

  - Move some ACPI code (cpuidle, FFH) to drivers/acpi/arm64/

* GICv3, use compile-time PMR values: optimise the way regular IRQs are
  masked/unmasked when GICv3 pseudo-NMIs are used, removing the need for
  a static key in fast paths by using a priority value chosen
  dynamically at boot time

* arm64 perf updates:

  - Rework of the IMX PMU driver to enable support for I.MX95

  - Enable support for tertiary match groups in the CMN PMU driver

  - Initial refactoring of the CPU PMU code to prepare for the fixed
    instruction counter introduced by Arm v9.4

  - Add missing PMU driver MODULE_DESCRIPTION() strings

  - Hook up DT compatibles for recent CPU PMUs

* arm64 kselftest updates:

  - Kernel mode NEON fp-stress

  - Cleanups, spelling mistakes

* arm64 Documentation update with a minor clarification on TBI

* Miscellaneous:

  - Fix missing IPI statistics

  - Implement raw_smp_processor_id() using thread_info rather than a
    per-CPU variable (better code generation)

  - Make MTE checking of in-kernel asynchronous tag faults conditional
    on KASAN being enabled

  - Minor cleanups, typos

11 Jul 2024: timer drivers for v6.11-rc1 [+ + +]
Hi Thomas,

please consider pulling the following changes since commit 
746770499be55cf375a108a321a818b238182446:

   timers/migration: Fix grammar in comment (2024-07-04 20:24:57 +0200)

which are available in the Git repository at:

   https://git.linaro.org/people/daniel.lezcano/linux.git 
tags/timers-v6.11-rc1

for you to fetch changes up to 8b77f4b8dc81aeb73107b169cb9c6e06c15d297e:

   clocksource/drivers/realtek: Add timer driver for rtl-otto platforms 
(2024-07-10 09:41:20 +0200)

Thanks

   -- Daniel

- Remove unnecessary local variables initialization as they will be
   initialized in the code path anyway right after on the ARM arch
   timer and the ARM global timer (Li kunyu)

- Fix a race condition in the interrupt leading to a deadlock on the
   SH CMT driver. Note that this fix was not tested on the platform
   using this timer but the fix seems reasonable enough to be picked
   confidently (Niklas Söderlund)

- Increase the rating of the gic-timer and use the configured width
   clocksource register on the MIPS architecture (Jiaxun Yang)

- Add the DT bindings for the TMU on the Renesas platforms (Geert
   Uytterhoeven)

- Add the DT bindings for the SOPHGO SG2002 clint on RiscV (Thomas
   Bonnefille)

- Add the rtl-otto timer driver along with the DT bindings for the
   Realtek platform (Chris Packham)

 
10 Jul 2024: LoongArch KVM changes for v6.11 [+ + +]
LoongArch KVM changes for v6.11

1. Add ParaVirt steal time support.
2. Add some VM migration enhancement.
3. Add perf kvm-stat support for loongarch.

10 Jul 2024: LoongArch KVM changes for v6.11 [+ + +]
LoongArch KVM changes for v6.11

1. Add ParaVirt steal time support.
2. Add some VM migration enhancement.
3. Add perf kvm-stat support for loongarch.

 
9 Jul 2024: interconnect changes for 6.11 [+ + +]
This is the pull request with interconnect changes for the v6.11-rc1 merge
window. It contains some new drivers and bugfixes. As always, the summary
is in the signed tag.

The patches have been in linux-next for a while. There are no reported issues

Thanks,
Georgi

interconnect changes for 6.11

This pull request contains the interconnect changes for the 6.11-rc1 merge
window. It contains just driver changes with the following highlights:

Driver changes:
- New driver for MediaTek MT8183/8195 platforms
- New driver for MSM8953 platforms
- New QoS support for RPMh-based platforms with SC7280 being the
  first one to benefit from it.
- Fix incorrect master-id value in qcm2290 driver
- Add missing MODULE_DESCRIPTION in a few drivers

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

 
5 Jul 2024: cpupower second update for Linux 6.11-rc1 [+ + +]
Hi Rafael,


This cpupower second update for Linux 6.11-rc1 consists of

-- fix to install cpupower library in standard librray intall
    location - /usr/lib
-- disable direct build of cpupower bench as it can only be
    built from the cpupower main makefile.

diff is attached.

thanks,
-- Shuah

linux-cpupower-6.11-rc1-2

This cpupower second update for Linux 6.11-rc1 consists of

-- fix to install cpupower library in standard librray intall
    location - /usr/lib
-- disable direct build of cpupower bench as it can only be
   built from the cpupower main makefile.

5 Jul 2024: soc: ti: Driver updates for v6.11 [+ + +]
Hi,


TI SoC driver updates for v6.11

- Update TISCI protocol URL link  which was dead
- socinfo: Add j721E SR 2.0 detection support
- MAINTAINER list additions: ti,pruss.yaml and ti,j721e-system-controller.y=
aml
- pm33xx: log statement improvement
- knav_qmss: minor data structure optimization

5 Jul 2024: arm64: dts: ti: K3 devicetree updates for v6.11 [+ + +]
 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>, Vignesh Raghavendra <vigneshr@ti.com>,
 linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org,
 Nishanth Menon <nm@ti.com>
Message-ID: <37f251a1-f3bd-402f-ab22-cf786c3871d7@ti.com>
Subject: [GIT PULL 1/2] arm64: dts: ti: K3 devicetree updates for v6.11

--------------Dq2T6pWO0f31Rwc8DO8OhgEL

Hi ARM SoC Maintainers,

TI K3 device tree updates for v6.11

Generic Fixups/Cleanups:
- main_pktdma reg ranges fixes
- dtbs_check warning cleanups with addition of cpsw-mac-efuse node and
  dropping "syscon", "simple-mfd" compatibles in favor of simple-bus
- Disable McASP FIFOs across SoCs for better latency
- Add memory node to bootloader stage with bootph-all
- Restructure am62p and j722s dtsi for share nodes across these SoCs
- DT warning fixes around USB type-C connector node (AM62/AM62P)

SoC Specific features and Fixes:
AM62
- GPMC and ELM addition

AM62A
- Enable RTC by default
- Crypto accelerator support

AM64 and AM65
- PRU system event support

AM69/J784S4:
- CPSW2G and CPSW9G addition with QSGMII and UXSGMII board support
- PCIe, USB, McASP, EHRPWM node additions

AM67/J722s
- Fix to update GPIO count
- Add gpio-ranges definition
- McASP support for audio
- PCIe, USB, Serdes support

Board Specific features and fixes:

AM62
- am62x-phyboard-lyra carrier board support
- am625-verdin: nau8822 PLL support
- sk: CMA node addition
- lp-sk: NAND expansion card overlay

AM62A
- New phyboard-lyra-am62ax from phytec
- CMA node addition

AM64:
- phycore-board: PMIC support
- hummingbird-t: RS485 RTS pin polarity update
- am6xx-phycore-som: overlays for variants w/o SPI, RTC, ETH PHY or w/
  QSPI
- EVM: GPMC NAND expansion card overlay
- EVM: ICSSG ethernet MII mode overlay support
- SK: power supply temp sensors support

AM68
- SK: PMIC, OSPI

J721e
- SK: MCAN Support
- Overlay for infotainment expansion board

AM69/J784S4
- EVM: PCIe RC/EP, USB3, MCAN support
- SK: PMIC support

 
2 Jul 2024: [PULL REQUEST] Intel IOMMU updates for v6.11 [+ + +]
Hi Will,

2 Jul 2024: w1: drivers for v6.11 [+ + +]
1-Wire bus drivers for v6.11

Just two cleanups for W1 core code.

2 Jul 2024: memory: drivers for v6.11 [+ + +]
Hi,

If by any chance you can also pick up:
https://lore.kernel.org/all/20240530-fsl-ifc-config-v3-2-1fd2c3d233dd@geanix.com/
https://lore.kernel.org/all/20240530-fsl-ifc-config-v3-3-1fd2c3d233dd@geanix.com/
? I was planning to take them with this pull, but eventually forgot...

Best regards,
Krzysztof


Memory controller drivers for v6.11

Make the Freescale IFC driver selectable because it is used now by two
drivers: Freescale NAND and generic NOR flash.  The patches adjusting
defconfig are waiting on the mailing lists to be picked up.

2 Jul 2024: clk: samsung: drivers for v6.11 [+ + +]
Samsung SoC clock drivers changes for 6.11

1. exynos-clkout: Remove usage of of_device_id table as .of_match_table,
   because the driver is instantiated as MFD cell, not as standalone
   platform driver.  Populated .of_match_table confused people few times
   to convert the code to device_get_match_data(), which broke the
   driver.

2. Mark one of UFS clocks as critical, because having it off stops the
   system from shutdown.

3. Cleanup: Use kmemdup_array() when applicable.

 
1 Jul 2024: clk: imx: Updates for v6.11 [+ + +]
i.MX clocks changes for 6.11

- Add reset controller support to audiomix block control
- Add CLK_SET_RATE_PARENT flag to all audiomix clocks and to
  i.MX7D lcdif_pixel_src clock
- Fix parent clocks for earc_phy and audpll on i.MX8MP
- Fix default parents for enet[12]_ref_sel on i.MX6UL
- Add ops in composite 8M and 93 that allow no-op on disable
- Add check for PCC present bit on composite 7ULP register
- Fix fractional part for fracn-gppll on prepare
- Fix clock tree update for TF-A managed clocks on i.MX8M
- Drop CLK_SET_PARENT_GATE for DRAM mux on i.MX7D
- Add the SAI7 IPG clock for i.MX8MN
- Mark the 'nand_usdhc_bus' clock as non-critical on i.MX8MM
- Add LVDS bypass clocks on i.MX8QXP
- Add muxes for MIPI and PHY ref clocks
- Reorder dc0_bypass0_clk, lcd_pxl and dc1_disp clocks on i.MX8QXP
- Add 1039.5MHz and 800MHz rates to fracn-gppll table
- Add CLK_SET_RATE_PARENT for media_disp pixel clocks on i.MX8QXP
- Add some module descriptions to the i.MX generic and the
  i.MXRT1050 driver.
- Fix return value for bypass for composite 7ULP

 
29 Jun 2024: nolibc for 6.11-rc1 [+ + +]
Hi Paul,

 
27 Jun 2024: OP-TEE add notif wait timeout parameter for v6.11 [+ + +]
parameter when OP-TEE is waiting for a notification via RPC.

Thanks,
Jens

optee: add timeout parameter for notification wait

 
25 Jun 2024: cpupower update for Linux 6.11-rc1 [+ + +]
Hi Rafael,


This cpupower update for Linux 6.11-rc1 consists of cleanups to man
pages, README files, and enhancements to add help to Makefile.

diff is attached.

thanks,
-- Shuah

linux-cpupower-6.11-rc1

This cpupower update for Linux 6.11-rc1 consists of cleanups to man
pages, README files, and enhancements to add help to Makefile.

25 Jun 2024: Linux Media vimc update for 6.11-rc1 [+ + +]
Hi Mauro,


This vimc update for Linux 6.11-rc1 consists of a nine patch series
that cleans up and improves the vimc driver, with the end goal of
converting it to the V4L2 subdev active state API. The goal of
this exercise is to make the API used by a virtual test driver, to
increase test coverage.

The series starts with 4 random cleanups, to avoid unnecessary
iterations (1/9), constify structures (2/9 and 3/9) and rename a
weirdly-named enum (4/9). Patch 5/9 then centralizes the subdev
internal_ops initialization to prepare for the switch to the active
state API. The remaining patches (6/9 to 9/9) convert the vimc entities
to the new API one by one.

The result has been tested using the libcamera unit tests, which make
extensive use of the vimc driver, as well as with v4l2-compliance. The
latter reports 4 errors, but they occur already with the latest stage
master branch.

diff is attached.

thanks,
-- Shuah

linux-vimc-6.11-rc1

This vimc update for Linux 6.11-rc1 consists of a nine patch series
that cleans up and improves the vimc driver, with the end goal of
converting it to the V4L2 subdev active state API. The goal of
this exercise is to make the API used by a virtual test driver, to
increase test coverage.

The series starts with 4 random cleanups, to avoid unnecessary
iterations (1/9), constify structures (2/9 and 3/9) and rename a
weirdly-named enum (4/9). Patch 5/9 then centralizes the subdev
internal_ops initialization to prepare for the switch to the active
state API. The remaining patches (6/9 to 9/9) convert the vimc entities
to the new API one by one.

The result has been tested using the libcamera unit tests, which make
extensive use of the vimc driver, as well as with v4l2-compliance. The
latter reports 4 errors, but they occur already with the latest stage
master branch.

 
17 Jun 2024: PECI changes for v6.11-rc1 [+ + +]
SGkgR3JlZyENCg0KUGxlYXNlIHB1bGwgUEVDSSB1cGRhdGUgZm9yIExpbnV4IHY2LjExLg0KDQpU
aGFua3MNCi1Jd29uYQ0KDQpUaGUgZm9sbG93aW5nIGNoYW5nZXMgc2luY2UgY29tbWl0IDZiYTU5
ZmY0MjI3OTI3ZDNhODUzMGZjMjk3M2I4MGU5NGI1NGQ1OGY6DQoNCiAgTGludXggNi4xMC1yYzQg
KDIwMjQtMDYtMTYgMTM6NDA6MTYgLTA3MDApDQoNCmFyZSBhdmFpbGFibGUgaW4gdGhlIEdpdCBy
ZXBvc2l0b3J5IGF0Og0KDQogIGdpdDovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vbGludXgva2Vy
bmVsL2dpdC9pd2kvbGludXguZ2l0IHBlY2ktbmV4dC02LjExLXJjMQ0KDQpmb3IgeW91IHRvIGZl
dGNoIGNoYW5nZXMgdXAgdG8gYWJhNTljZTEwOWRlY2EyYjlhYmViOTA3MmRkY2EwZWE4NjgyYmY1
YToNCg0KICBwZWNpOiBhc3BlZWQ6IENsZWFyIGNsb2NrX2RpdmlkZXIgdmFsdWUgYmVmb3JlIHNl
dHRpbmcgaXQgKDIwMjQtMDYtMTcgMTU6MTg6MjkgKzAyMDApDQoNCi0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NClVwZGF0ZSBw
ZWNpLW5leHQgZm9yIHY2LjExLXJjMQ0KDQoqIHBlY2ksIGh3bW9uDQotIFVwZGF0ZSBwZWNpIHN1
YnN5c3RlbSB0byB1c2UgbmV3IEludGVsIENQVSBtb2RlbCBkZWZpbmVzLg0KDQoqIGFzcGVlZA0K
LSBDbGVhciBjbG9ja19kaXZpZGVyIGJlZm9yZSBzZXR0aW5nIGl0Lg0KDQotLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpJd29u
YSBXaW5pYXJza2EgKDEpOg0KICAgICAgcGVjaTogYXNwZWVkOiBDbGVhciBjbG9ja19kaXZpZGVy
IHZhbHVlIGJlZm9yZSBzZXR0aW5nIGl0DQoNClRvbnkgTHVjayAoMSk6DQogICAgICBwZWNpLCBo
d21vbjogU3dpdGNoIHRvIG5ldyBJbnRlbCBDUFUgbW9kZWwgZGVmaW5lcw0KDQogZHJpdmVycy9o
d21vbi9wZWNpL2NwdXRlbXAuYyAgICAgICAgICB8ICA4ICsrKystLS0tDQogZHJpdmVycy9wZWNp
L2NvbnRyb2xsZXIvcGVjaS1hc3BlZWQuYyB8ICAxICsNCiBkcml2ZXJzL3BlY2kvY29yZS5jICAg
ICAgICAgICAgICAgICAgIHwgIDUgKystLS0NCiBkcml2ZXJzL3BlY2kvY3B1LmMgICAgICAgICAg
ICAgICAgICAgIHwgMjEgKysrKysrKy0tLS0tLS0tLS0tLS0tDQogZHJpdmVycy9wZWNpL2Rldmlj
ZS5jICAgICAgICAgICAgICAgICB8ICAzICstLQ0KIGRyaXZlcnMvcGVjaS9pbnRlcm5hbC5oICAg
ICAgICAgICAgICAgfCAgNiArKy0tLS0NCiBpbmNsdWRlL2xpbnV4L3BlY2ktY3B1LmggICAgICAg
ICAgICAgIHwgMjQgKysrKysrKysrKysrKysrKysrKysrKysrDQogaW5jbHVkZS9saW51eC9wZWNp
LmggICAgICAgICAgICAgICAgICB8ICA2ICsrLS0tLQ0KIDggZmlsZXMgY2hhbmdlZCwgNDMgaW5z
ZXJ0aW9ucygrKSwgMzEgZGVsZXRpb25zKC0pDQo=
 
12 Jun 2024: Immutable tag between the Bluetooth and pwrseq branches for v6.11-rc1 [+ + +]
From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>

Hi Marcel, Luiz,

before applying the hci_qca patches I sent separately.

Link: https://lore.kernel.org/linux-kernel/20240605174713.GA767261@bhelgaas/T/

Initial implementation of the power sequencing subsystem for linux v6.11