Date: Tue, 23 Jul 2024 16:04:36 -0700
From: Namhyung Kim <namhyung@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>,
	Ian Rogers <irogers@google.com>,
	Kan Liang <kan.liang@linux.intel.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@kernel.org>,
	LKML <linux-kernel@vger.kernel.org>,
	linux-perf-users@vger.kernel.org
Subject: [GIT PULL] perf-tools fixes for v6.11-rc1

Hi Linus,

Please consider pulling the following changes in perf tools for v6.11.

Thanks,
Namhyung


The following changes since commit 7a2fb5619cc1fb53cb8784154d5ef2bd99997436:

  perf trace: Fix iteration of syscall ids in syscalltbl->entries (2024-07-12 09:49:02 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools.git tags/perf-tools-fixes-for-v6.11-2024-07-23

for you to fetch changes up to 92717bc077892d1ce60fee07aee3a33f33909b85:

  perf dso: Fix build when libunwind is enabled (2024-07-17 13:17:57 -0700)

----------------------------------------------------------------
perf tools fixes for v6.11

Two fixes about building perf and other tools:

* Fix breakage in tracing tools due to pkg-config for libtrace{event,fs}

* Fix build of perf when libunwind is used

Signed-off-by: Namhyung Kim <namhyung@kernel.org>

----------------------------------------------------------------
Guilherme Amadio (5):
      perf build: Warn if libtracefs is not found
      tools: Make pkg-config dependency checks usable by other tools
      tools/verification: Use pkg-config in lib_setup of Makefile.config
      tools/rtla: Use pkg-config in lib_setup of Makefile.config
      tools/latency: Use pkg-config in lib_setup of Makefile.config

James Clark (1):
      perf dso: Fix build when libunwind is enabled

 tools/build/Makefile.feature             | 18 ++++++++++++++++++
 tools/perf/Makefile.config               | 13 +++++--------
 tools/perf/util/dso.c                    |  2 +-
 tools/perf/util/dso.h                    |  5 +++++
 tools/perf/util/unwind-libunwind-local.c |  2 +-
 tools/tracing/latency/Makefile.config    |  3 ++-
 tools/tracing/rtla/Makefile.config       |  3 ++-
 tools/verification/rv/Makefile.config    |  3 ++-
 8 files changed, 36 insertions(+), 13 deletions(-)

.
Date: Tue, 23 Jul 2024 19:40:12 -0400
From: Gabriel Krisman Bertazi <krisman@suse.de>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Ben Dooks <ben.dooks@codethink.co.uk>, Jeff Johnson
 <quic_jjohnson@quicinc.com>, linux-fsdevel
 <linux-fsdevel@vger.kernel.org>, Linux Kernel Mailing List
 <linux-kernel@vger.kernel.org>
Subject: [GIT PULL] trivial unicode patches for 6.11


The following changes since commit 6ba59ff4227927d3a8530fc2973b80e94b54d58f:

  Linux 6.10-rc4 (2024-06-16 13:40:16 -0700)

are available in the Git repository at:

  https://git.kernel.org/pub/scm/linux/kernel/git/krisman/unicode.git tags/unicode-next-6.11

for you to fetch changes up to 68318904a7758e11f16fa9d202a6df60f896e71a:

  unicode: add MODULE_DESCRIPTION() macros (2024-06-20 19:30:02 -0400)

----------------------------------------------------------------
Two small fixes to silent the compiler and static analyzers tools from
Ben Dooks and Jeff Johnson.

----------------------------------------------------------------
Ben Dooks (1):
      unicode: make utf8 test count static

Jeff Johnson (1):
      unicode: add MODULE_DESCRIPTION() macros

 fs/unicode/mkutf8data.c       | 1 +
 fs/unicode/utf8-selftest.c    | 5 +++--
 fs/unicode/utf8data.c_shipped | 1 +
 3 files changed, 5 insertions(+), 2 deletions(-)


-- 
Gabriel Krisman Bertazi

.
Date: Wed, 24 Jul 2024 13:15:49 +0530
From: Vinod Koul <vkoul@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: LKML <linux-kernel@vger.kernel.org>
Subject: [GIT PULL]: dmaengine updates for v6.11


--fRE79iUECku18urW
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Hello Linus,

Please pull to receive dmaengine updates for this cycle. A new dmaengine
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.

The following changes since commit 1613e604df0cd359cf2a7fbd9be7a0bcfacfabd0:

  Linux 6.10-rc1 (2024-05-26 15:20:12 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine.git tags/dm=
aengine-6.11-rc1

for you to fetch changes up to b8ec9dba02a74797421c52b1226b23a4302362a6:

  dt-bindings: fsl-qdma: fix interrupts 'if' check logic (2024-07-10 15:42:=
40 +0530)

----------------------------------------------------------------
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

----------------------------------------------------------------
Amelie Delaunay (11):
      dt-bindings: dma: New directory for STM32 DMA controllers bindings
      dmaengine: stm32: New directory for STM32 DMA controllers drivers
      MAINTAINERS: Add entry for STM32 DMA controllers drivers and document=
ation
      dt-bindings: dma: Document STM32 DMA3 controller bindings
      dmaengine: Add STM32 DMA3 support
      dmaengine: stm32-dma3: add DMA_CYCLIC capability
      dmaengine: stm32-dma3: add DMA_MEMCPY capability
      dmaengine: stm32-dma3: add device_pause and device_resume ops
      dmaengine: stm32-dma3: improve residue granularity
      dmaengine: add channel device name to channel registration
      dmaengine: stm32-dma3: defer channel registration to specify channel =
name

Animesh Agarwal (1):
      dt-bindings: dma: fsl,imx-dma: Convert to dtschema

Biju Das (1):
      dmaengine: sh: rz-dmac: Fix lockdep assert warning

Dan Carpenter (1):
      dmaengine: qcom: gpi: clean up the IRQ disable/enable in gpi_reset_ch=
an()

Dr. David Alan Gilbert (2):
      dmaengine: moxart-dma: remove unused struct 'moxart_filter_data'
      dmaengine: qcom: gpi: remove unused struct 'reg_info'

Frank Li (4):
      dmaengine: fsl-edma: request per-channel IRQ only when channel is all=
ocated
      dmaengine: fsl-edma: remove redundant "idle" field from fsl_chan
      dt-bindings: fsl-qdma: Convert to yaml format
      dt-bindings: fsl-qdma: fix interrupts 'if' check logic

Jeff Johnson (6):
      dmaengine: add missing MODULE_DESCRIPTION() macros
      dmaengine: qcom: add missing MODULE_DESCRIPTION() macros
      dmaengine: virt-dma: add missing MODULE_DESCRIPTION() macro
      dmaengine: ti: cppi41: add missing MODULE_DESCRIPTION() macro
      dmaengine: ti: add missing MODULE_DESCRIPTION() macros
      dmaengine: fsl-dpaa2-qdma: add missing MODULE_DESCRIPTION() macro

Joy Zou (1):
      dmaengine: fsl-edma: change the memory access from local into remote =
mode in i.MX 8QM

Krzysztof Kozlowski (1):
      dmaengine: ti: k3-udma: fix module autoloading

Lucas Stach (2):
      firmware: add nowarn variant of request_firmware_nowait()
      dmaengine: imx-sdma: don't print warning when firmware is absent

Olivier Dautricourt (3):
      dmaengine: altera-msgdma: use irq variant of spin_lock/unlock while i=
nvoking callbacks
      dmaengine: altera-msgdma: cleanup after completing all descriptors
      dmaengine: altera-msgdma: properly free descriptor in msgdma_free_des=
criptor

Paul Cercueil (3):
      dmaengine: Add API function dmaengine_prep_peripheral_dma_vec()
      dmaengine: dma-axi-dmac: Implement device_prep_peripheral_dma_vec
      Documentation: dmaengine: Document new dma_vec API

Stanislav Jakubek (1):
      dt-bindings: dma: sprd,sc9860-dma: convert to YAML

Vignesh Raghavendra (1):
      dmaengine: ti: k3-udma: Fix BCHAN count with UHC and HC channels

Vinod Koul (1):
      Merge tag 'dmaengine_topic_dma_vec' into next

 .../devicetree/bindings/dma/fsl,imx-dma.yaml       |   56 +
 .../devicetree/bindings/dma/fsl-imx-dma.txt        |   50 -
 Documentation/devicetree/bindings/dma/fsl-qdma.txt |   58 -
 .../devicetree/bindings/dma/fsl-qdma.yaml          |  132 ++
 .../devicetree/bindings/dma/sprd,sc9860-dma.yaml   |   92 +
 Documentation/devicetree/bindings/dma/sprd-dma.txt |   44 -
 .../bindings/dma/{ =3D> stm32}/st,stm32-dma.yaml     |    4 +-
 .../bindings/dma/stm32/st,stm32-dma3.yaml          |  135 ++
 .../bindings/dma/{ =3D> stm32}/st,stm32-dmamux.yaml  |    4 +-
 .../bindings/dma/{ =3D> stm32}/st,stm32-mdma.yaml    |    4 +-
 .../devicetree/bindings/spi/st,stm32-spi.yaml      |    2 +-
 Documentation/driver-api/dmaengine/client.rst      |    9 +
 Documentation/driver-api/dmaengine/provider.rst    |   10 +
 MAINTAINERS                                        |    9 +
 drivers/base/firmware_loader/main.c                |  106 +-
 drivers/dma/Kconfig                                |   34 +-
 drivers/dma/Makefile                               |    4 +-
 drivers/dma/altera-msgdma.c                        |   16 +-
 drivers/dma/dma-axi-dmac.c                         |   40 +
 drivers/dma/dmaengine.c                            |   16 +-
 drivers/dma/dmatest.c                              |    1 +
 drivers/dma/fsl-dpaa2-qdma/dpdmai.c                |    1 +
 drivers/dma/fsl-edma-common.c                      |   24 +-
 drivers/dma/fsl-edma-common.h                      |    4 +-
 drivers/dma/fsl-edma-main.c                        |   34 +-
 drivers/dma/idxd/dma.c                             |    2 +-
 drivers/dma/idxd/init.c                            |    1 +
 drivers/dma/imx-sdma.c                             |    5 +-
 drivers/dma/ioat/init.c                            |    1 +
 drivers/dma/mcf-edma-main.c                        |    2 -
 drivers/dma/moxart-dma.c                           |    5 -
 drivers/dma/qcom/gpi.c                             |   11 +-
 drivers/dma/qcom/hidma.c                           |    1 +
 drivers/dma/qcom/hidma_mgmt.c                      |    1 +
 drivers/dma/sh/rz-dmac.c                           |    2 +-
 drivers/dma/stm32/Kconfig                          |   47 +
 drivers/dma/stm32/Makefile                         |    5 +
 drivers/dma/{ =3D> stm32}/stm32-dma.c                |    2 +-
 drivers/dma/stm32/stm32-dma3.c                     | 1847 ++++++++++++++++=
++++
 drivers/dma/{ =3D> stm32}/stm32-dmamux.c             |    0
 drivers/dma/{ =3D> stm32}/stm32-mdma.c               |    2 +-
 drivers/dma/ti/cppi41.c                            |    1 +
 drivers/dma/ti/k3-psil.c                           |    1 +
 drivers/dma/ti/k3-udma-glue.c                      |    1 +
 drivers/dma/ti/k3-udma.c                           |    6 +-
 drivers/dma/ti/omap-dma.c                          |    1 +
 drivers/dma/virt-dma.c                             |    1 +
 include/linux/dmaengine.h                          |   36 +-
 include/linux/firmware.h                           |   12 +
 49 files changed, 2592 insertions(+), 290 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/dma/fsl,imx-dma.yaml
 delete mode 100644 Documentation/devicetree/bindings/dma/fsl-imx-dma.txt
 delete mode 100644 Documentation/devicetree/bindings/dma/fsl-qdma.txt
 create mode 100644 Documentation/devicetree/bindings/dma/fsl-qdma.yaml
 create mode 100644 Documentation/devicetree/bindings/dma/sprd,sc9860-dma.y=
aml
 delete mode 100644 Documentation/devicetree/bindings/dma/sprd-dma.txt
 rename Documentation/devicetree/bindings/dma/{ =3D> stm32}/st,stm32-dma.ya=
ml (97%)
 create mode 100644 Documentation/devicetree/bindings/dma/stm32/st,stm32-dm=
a3.yaml
 rename Documentation/devicetree/bindings/dma/{ =3D> stm32}/st,stm32-dmamux=
=2Eyaml (90%)
 rename Documentation/devicetree/bindings/dma/{ =3D> stm32}/st,stm32-mdma.y=
aml (96%)
 create mode 100644 drivers/dma/stm32/Kconfig
 create mode 100644 drivers/dma/stm32/Makefile
 rename drivers/dma/{ =3D> stm32}/stm32-dma.c (99%)
 create mode 100644 drivers/dma/stm32/stm32-dma3.c
 rename drivers/dma/{ =3D> stm32}/stm32-dmamux.c (100%)
 rename drivers/dma/{ =3D> stm32}/stm32-mdma.c (99%)


--=20
~Vinod

--fRE79iUECku18urW
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEE+vs47OPLdNbVcHzyfBQHDyUjg0cFAmagsS0ACgkQfBQHDyUj
g0fgQhAAjRuTDIRV8uazVkPT7HeuWXNapu8CA7z8BnAHKD49YSfO3JD0C+vymrIE
ly6a4G+4tssVa2xOFPzLuol1+umVI9xPqpoII4X3zQRgIxqUGEi7p/bQUC64EuLb
gVWGJmd2RpE+jq6cy7DshR2ha2BVfuiz62kptb7lCjGZ/PrDkkWTFsozm+kH9u8f
jrExdufi8CbSk4fRBPIv+W6FuoNhLLgcjkz1aBhPsrqvP1FKoOprouDpD8eu4A0I
O8IOqe1uSTscGoDD0q2w1ojkr7ZHzQhanvIfDUgVTb9/p5cwUjGj9y1kaHHRzv3G
NBr5jXyg9IfA3MjpBnM2stc/RpR1bDi09vyyf2OmJJW+qtYc+uHZ5ATjjUHRE60E
167sFob2S02AU58unN8p+oo1WOR0+rJcDkC3GumBecz8uaVUTLlhylLc4XlU4q8H
HVDYwGnppUYDmzkt9tcD2OK6SoeqkuPbflk7946ergyZ8VRrL5OdgFA39P70I0Ah
reeaOuMJKgKfJ6T1p85YqCp3uI5ab3jZKw8h7E7h1KOs7dLMmFHs48sfknGadke9
5DxTzSFnw+znR9941/2teC1UZcZ8gKRFj0er8FS9D+oEYziwslv7z6WEMlYxleGA
CZH2mLpfZS2NzyvrESAw6k/AFn6PdHWbj/sXc7kGhJBu8gcNs+g=
=5906
-----END PGP SIGNATURE-----

--fRE79iUECku18urW--

.
Date: Wed, 24 Jul 2024 13:17:57 +0530
From: Vinod Koul <vkoul@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: LKML <linux-kernel@vger.kernel.org>
Subject: [GIT PULL]: Generic phy updates for v6.11


--k1mDpk1/Cp1/jO8V
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Hello again,

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

The following changes since commit 1613e604df0cd359cf2a7fbd9be7a0bcfacfabd0:

  Linux 6.10-rc1 (2024-05-26 15:20:12 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy.git tags/phy-=
for-6.11

for you to fetch changes up to 2a011c3c12e8de461fb1fdce85fa38d308c4eb8b:

  phy: airoha: Add dtime and Rx AEQ IO registers (2024-07-02 18:54:28 +0530)

----------------------------------------------------------------
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

----------------------------------------------------------------
Andr=E9 Draszik (11):
      phy: exynos5-usbdrd: uniform order of register bit macros
      phy: exynos5-usbdrd: convert udelay() to fsleep()
      phy: exynos5-usbdrd: make phy_isol() take a bool for clarity
      phy: exynos5-usbdrd: fix definition of EXYNOS5_FSEL_26MHZ
      phy: exynos5-usbdrd: set ref clk freq in exynos850_usbdrd_utmi_init()
      dt-bindings: phy: samsung,usb3-drd-phy: add gs101 compatible
      phy: exynos5-usbdrd: support isolating HS and SS ports independently
      phy: exynos5-usbdrd: convert core clocks to clk_bulk
      phy: exynos5-usbdrd: convert (phy) register access clock to clk_bulk
      phy: exynos5-usbdrd: convert Vbus supplies to regulator_bulk
      phy: exynos5-usbdrd: support Exynos USBDRD 3.1 combo phy (HS & SS)

Bjorn Andersson (2):
      dt-bindings: phy: qcom,sc8280xp-qmp-usb3-uni: Add sc8180x USB3 compat=
ible
      phy: qcom-qmp-usb: Add sc8180x USB UNIPHY

Changhuang Liang (1):
      phy: starfive: Correct the dphy configure process

Cristian Ciocaltea (1):
      phy: phy-rockchip-samsung-hdptx: Select CONFIG_MFD_SYSCON

Dmitry Baryshkov (2):
      phy: qcom: qmp-pcie: restore compatibility with existing DTs
      dt-bindings: phy: qcom,sc8280xp-qmp-pcie-phy: drop second output cloc=
k name

Dr. David Alan Gilbert (2):
      phy: starfive: remove unused struct 'regval'
      phy: miphy28lp: remove unused struct 'miphy_initval'

Herman van Hazendonk (1):
      dt-bindings: phy: qcom,usb-hs-phy: Add compatible

Jan Kiszka (1):
      phy: ti: am654-serdes: Remove duplicate define

Jeff Johnson (1):
      phy: broadcom: add missing MODULE_DESCRIPTION() macros

Josua Mayer (1):
      dt-bindings: phy: armada-cp110-utmi: add optional swap-dx-lanes prope=
rty

Liu Jing (1):
      phy: Fix the cacography in phy-exynos5250-usb2.c

Lorenzo Bianconi (4):
      dt-bindings: phy: airoha: Add PCIe PHY controller
      phy: airoha: Add PCIe PHY driver for EN7581 SoC.
      dt-bindings: phy: airoha: Add dtime and Rx AEQ IO registers
      phy: airoha: Add dtime and Rx AEQ IO registers

Ma Ke (1):
      phy: cadence-torrent: Check return value on register read

Miaoqian Lin (1):
      phy: core: Fix documentation of of_phy_get

Nathan Chancellor (1):
      phy: freescale: imx8qm-hsio: Include bitfield.h for FIELD_PREP

Neil Armstrong (1):
      dt-bindings: phy: g12a-usb2-phy: add optional power-domains

Richard Zhu (2):
      dt-bindings: phy: Add i.MX8Q HSIO SerDes PHY binding
      phy: freescale: imx8qm-hsio: Add i.MX8QM HSIO PHY driver support

Sean Anderson (5):
      phy: zynqmp: Enable reference clock correctly
      phy: zynqmp: Store instance instead of type
      phy: zynqmp: Only wait for PLL lock "primary" instances
      phy: zynqmp: Take the phy mutex in xlate
      phy: zynqmp: Add debugfs support

Shengyang Chen (2):
      dt-bindings: phy: Add starfive,jh7110-dphy-tx
      phy: starfive: Add mipi dphy tx support

Shresth Prasad (1):
      dt-bindings: phy: rockchip-emmc-phy: Convert to dtschema

Swapnil Jakhade (1):
      phy: cadence-torrent: Add SGMII + QSGMII multilink configuration for =
100MHz refclk

Thomas Richard (8):
      phy: ti: phy-j721e-wiz: use dev_err_probe() instead of dev_err()
      phy: ti: phy-j721e-wiz: split wiz_clock_init() function
      phy: ti: phy-j721e-wiz: add resume support
      phy: cadence-torrent: extract calls to clk_get from cdns_torrent_clk
      phy: cadence-torrent: register resets even if the phy is already conf=
igured
      phy: cadence-torrent: add already_configured to struct cdns_torrent_p=
hy
      phy: cadence-torrent: remove noop_ops phy operations
      phy: cadence-torrent: add suspend and resume support

Yijie Yang (1):
      dt-bindings: phy: qcom,qmp-usb: fix spelling error

devi priya (4):
      dt-bindings: phy: qcom,ipq8074-qmp-pcie: Document the IPQ9574 QMP PCI=
e PHYs
      phy: qcom-qmp: Add missing offsets for Qserdes PLL registers.
      phy: qcom-qmp: Add missing register definitions for PCS V5
      phy: qcom-qmp-pcie: Add support for IPQ9574 g3x1 and g3x2 PCIEs

 .../bindings/phy/airoha,en7581-pcie-phy.yaml       |   69 ++
 .../bindings/phy/amlogic,g12a-usb2-phy.yaml        |    3 +
 .../devicetree/bindings/phy/fsl,imx8qm-hsio.yaml   |  164 +++
 .../phy/marvell,armada-cp110-utmi-phy.yaml         |    6 +
 .../bindings/phy/qcom,ipq8074-qmp-pcie-phy.yaml    |    2 +
 .../bindings/phy/qcom,sc8280xp-qmp-pcie-phy.yaml   |    7 +-
 .../phy/qcom,sc8280xp-qmp-usb3-uni-phy.yaml        |    5 +-
 .../devicetree/bindings/phy/qcom,usb-hs-phy.yaml   |    2 +
 .../bindings/phy/rockchip,rk3399-emmc-phy.yaml     |   64 +
 .../devicetree/bindings/phy/rockchip-emmc-phy.txt  |   43 -
 .../bindings/phy/samsung,usb3-drd-phy.yaml         |   77 +-
 .../bindings/phy/starfive,jh7110-dphy-tx.yaml      |   68 ++
 .../devicetree/bindings/soc/rockchip/grf.yaml      |   16 +-
 MAINTAINERS                                        |   15 +
 drivers/phy/Kconfig                                |   10 +
 drivers/phy/Makefile                               |    1 +
 drivers/phy/broadcom/phy-bcm-ns-usb2.c             |    1 +
 drivers/phy/broadcom/phy-bcm-ns-usb3.c             |    1 +
 drivers/phy/cadence/phy-cadence-torrent.c          |  207 +++-
 drivers/phy/freescale/Kconfig                      |    9 +-
 drivers/phy/freescale/Makefile                     |    1 +
 drivers/phy/freescale/phy-fsl-imx8qm-hsio.c        |  611 ++++++++++
 drivers/phy/phy-airoha-pcie-regs.h                 |  494 ++++++++
 drivers/phy/phy-airoha-pcie.c                      | 1286 ++++++++++++++++=
++++
 drivers/phy/phy-core.c                             |    2 +-
 drivers/phy/qualcomm/phy-qcom-qmp-pcie.c           |  318 ++++-
 drivers/phy/qualcomm/phy-qcom-qmp-pcs-pcie-v5.h    |   14 +
 drivers/phy/qualcomm/phy-qcom-qmp-qserdes-pll.h    |    3 +
 drivers/phy/qualcomm/phy-qcom-qmp-usb.c            |    3 +
 drivers/phy/rockchip/Kconfig                       |    2 +
 drivers/phy/samsung/phy-exynos5-usbdrd.c           | 1053 +++++++++++++---
 drivers/phy/samsung/phy-exynos5250-usb2.c          |    2 +-
 drivers/phy/st/phy-miphy28lp.c                     |    5 -
 drivers/phy/starfive/Kconfig                       |   10 +
 drivers/phy/starfive/Makefile                      |    1 +
 drivers/phy/starfive/phy-jh7110-dphy-rx.c          |    5 -
 drivers/phy/starfive/phy-jh7110-dphy-tx.c          |  461 +++++++
 drivers/phy/ti/phy-am654-serdes.c                  |    1 -
 drivers/phy/ti/phy-j721e-wiz.c                     |  133 +-
 drivers/phy/xilinx/phy-zynqmp.c                    |  198 +--
 include/linux/soc/samsung/exynos-regs-pmu.h        |    4 +
 41 files changed, 4925 insertions(+), 452 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/phy/airoha,en7581-pci=
e-phy.yaml
 create mode 100644 Documentation/devicetree/bindings/phy/fsl,imx8qm-hsio.y=
aml
 create mode 100644 Documentation/devicetree/bindings/phy/rockchip,rk3399-e=
mmc-phy.yaml
 delete mode 100644 Documentation/devicetree/bindings/phy/rockchip-emmc-phy=
=2Etxt
 create mode 100644 Documentation/devicetree/bindings/phy/starfive,jh7110-d=
phy-tx.yaml
 create mode 100644 drivers/phy/freescale/phy-fsl-imx8qm-hsio.c
 create mode 100644 drivers/phy/phy-airoha-pcie-regs.h
 create mode 100644 drivers/phy/phy-airoha-pcie.c
 create mode 100644 drivers/phy/starfive/phy-jh7110-dphy-tx.c
--=20
~Vinod

--k1mDpk1/Cp1/jO8V
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEE+vs47OPLdNbVcHzyfBQHDyUjg0cFAmagsa0ACgkQfBQHDyUj
g0c6CRAAtQmq0V694Gjzep/QAJFiEUgi3z01ypJy0Tp6RYRQqRVZL38bURd/uF1I
NCnF4nEXv/N6tpbjNMesAtMc/CeKXPmB2JwvaMMfM69Nbj9jAaJCq0U7rpU5FA3y
e2YtrdT/vm4MFLYlTDqWkqnb5IsQe851nEq7ghxDKX4Ak36AyGRMlUmChIV1WudX
A/6QiZphunWgYdHtVRBAmRZnzWthQAgxPDUpybyMjPWQwx8NLt1tE2/mGfMvdZoJ
r++vykW4gm0/0VdTkZREop8CuD8azFVg8WoxbifSZ+tXbg5vrXNSA5fYRwLuhe1A
a+/5pNPtQYWGiDtIhj73+Xb2YsExUATPGNkutvNLNy3Lw2xZpN77fCJYO/KFERj7
QCo9FTG5YiMVQEPVawktdnad1Oyx4rsZwjLrXoD+yl1o9x/pUhGvC3Gz10yUHA5c
Cycvvbr54mUdWcTIbYmwAr0S2WS7xJCjjg2/AIgajv9pm+Ysn3URJy6mx15X2vh4
RQZdrEEGmbfY3XtNgLezZYfd2q0Sx8bVIJ5oTsZ/YG7oLektTfvPMMZlcQP8NhOj
asPE8eNU9tRJM5fmpwyPHqrLQMWri0sAOH9V9pg0RoVkHTR+dc4qF1du5//Kg/Sj
KNyP5KwiQ5hukIDbG8Cnqg58SRvKMunHsVLibkVoQqF79Jce3HI=
=30MT
-----END PGP SIGNATURE-----

--k1mDpk1/Cp1/jO8V--

.
Date: Wed, 24 Jul 2024 13:20:33 +0530
From: Vinod Koul <vkoul@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: LKML <linux-kernel@vger.kernel.org>
Subject: [GIT PULL]: Soundwire updates for v6.11


--XJG5oV6dLusnWwqG
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

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

The following changes since commit 1613e604df0cd359cf2a7fbd9be7a0bcfacfabd0:

  Linux 6.10-rc1 (2024-05-26 15:20:12 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire.git tags/so=
undwire-6.11-rc1

for you to fetch changes up to fdd3d14ca3c8c5269174f10d33d6181173cbd0b4:

  soundwire: debugfs: simplify with cleanup.h (2024-07-09 19:12:49 +0530)

----------------------------------------------------------------
soundwire updates for 6.11

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

----------------------------------------------------------------
Bard Liao (2):
      soundwire: generic_bandwidth_allocation: change port_bo parameter to =
pointer
      soundwire: intel_auxdevice: add cs42l43 codec to wake_capable_list

Krzysztof Kozlowski (10):
      soundwire: bus: simplify by using local slave->prop
      soundwire: amd: simplify return path in hw_params
      soundwire: amd: simplify with cleanup.h
      soundwire: amd_init: simplify with cleanup.h
      soundwire: intel: simplify return path in hw_params
      soundwire: intel: simplify with cleanup.h
      soundwire: intel_ace2x: simplify return path in hw_params
      soundwire: intel_ace2x: simplify with cleanup.h
      soundwire: cadence: simplify with cleanup.h
      soundwire: debugfs: simplify with cleanup.h

Pierre-Louis Bossart (5):
      soundwire: debugfs: add interface to read/write commands
      soundwire: bus: add stream refcount
      soundwire: intel_ace2.x: add AC timing extensions for PantherLake
      soundwire: Intel: clarify Copyright information
      soundwire: intel_auxdevice: start the bus at default frequency

Srinivas Kandagatla (1):
      drivers:soundwire: qcom: cleanup port maask calculations

 drivers/soundwire/amd_init.c                     |   7 +-
 drivers/soundwire/amd_manager.c                  |  13 +-
 drivers/soundwire/bus.c                          |   6 +-
 drivers/soundwire/cadence_master.c               |   5 +-
 drivers/soundwire/debugfs.c                      | 157 +++++++++++++++++++=
+++-
 drivers/soundwire/generic_bandwidth_allocation.c |  14 +-
 drivers/soundwire/intel.c                        |  25 ++--
 drivers/soundwire/intel.h                        |   5 +
 drivers/soundwire/intel_ace2x.c                  |  39 +++---
 drivers/soundwire/intel_ace2x_debugfs.c          |   2 +-
 drivers/soundwire/intel_auxdevice.c              |  42 ++++++
 drivers/soundwire/intel_bus_common.c             |   2 +-
 drivers/soundwire/qcom.c                         |  22 +---
 drivers/soundwire/stream.c                       |   5 +
 include/linux/soundwire/sdw.h                    |   2 +
 include/linux/soundwire/sdw_intel.h              |   5 +
 16 files changed, 271 insertions(+), 80 deletions(-)

--=20
~Vinod

--XJG5oV6dLusnWwqG
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEE+vs47OPLdNbVcHzyfBQHDyUjg0cFAmagskkACgkQfBQHDyUj
g0dMzg//YwiKDDQR9qnvBLGv2ndhv/uX8eMVjOpPWqkRYlogKbqY3fUUYPy6Laze
V9bO3PLqwH8GmFrVzmwqjiwx2AOWOKGjDExOglEziztjH1mXSUvc8HaQbqhuudoq
bRPe0i7ImYDoy+Mit2S0FzouTGhPAOVUPYU29r6tekG7XgB2DXK6qngdJ45jcCcK
tTqKj8P1FgKJ2mK/0zSogY7kDmXp9XdOgpUrKZXA+GC0QpKzDl/HjNYOst4hYEan
FimSXEx6srpnVmI8qbnb2B6tCuJV7mM8D4Wapr9b6Aihrp1PBP8ocI9l3A8ANZwI
6cq3jfHQR79qBt6RCytzo7eR0BlgKalAQFVQ7W0VhdxDnwTV/jvTXC7Qnl7g5P+r
EyQ0EIRm0bHrUc/FFZnFskepe2XYrg0UDEaIad5z6qqfzjYPJYcaM1YOjWw25yUM
kUurC2xmkaFurS42gvUu8rritDICCNlsOtaQ6bvdTgToEwIocOodo5hPyUdqI6NO
fxMimmXQ7RMi4D87yCXKg4Wnd6PDlj4Bjxue/HLFqQuJXoZAeKGnqM801hdku6TV
TTFwoDBIuRTPwMDU1f4CXypd+fYh93fWgMqPGz2XfifAwS2DYsBQPpq3JUnQe8h2
W7EdrejTXc2VDux88A2jH1N2I/hOHnmwnPntJ42wwjDw5YaaQ+w=
=3m2l
-----END PGP SIGNATURE-----

--XJG5oV6dLusnWwqG--

.
Date: Wed, 24 Jul 2024 11:19:49 +0200
From: Christian Brauner <brauner@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Christian Brauner <brauner@kernel.org>,
	linux-fsdevel@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: [GIT PULL] vfs fixes

/* Summary */
This contains fixes for this merge window:

VFS:

- The new 64bit mount ids start after the old mount id, i.e., at the first
  non-32 bit value. However, we started counting one id too late and thus lost
  4294967296 as the first valid id. Fix that.

- Update a few comments on some vfs_*() creation helpers.

- Move copying of the xattr name out from the locks required to start a
  filesystem write.

- Extend the filelock lock UAF fix to the compat code as well.

- Now that we added the ability to look up an inode under RCU it's possible
  that lockless hash lookup can find and lock an inode after it gets I_FREEING
  set. It then waits until inode teardown in evict() is finished.

  The flag however is still set after evict() has woken up all waiters. If the
  inode lock is taken late enough on the waiting side after hash removal and
  wakeup happened the waiting thread will never be woken.

  Before RCU based lookup this was synchronized via the inode_hash_lock. But
  since unhashing requires the inode lock as well we can check whether the
  inode is unhashed while holding inode lock even without holding
  inode_hash_lock.

pidfd:

- The nsproxy structure contains nearly all of the namespaces associated with a
  task. When a namespace type isn't supported nsproxy might contain a NULL
  pointer or always point to the initial namespace type. The logic isn't
  consistent. So when deriving namespace fds we need to ensure that the
  namespace type is supported.

  First, so that we don't risk dereferncing NULL pointers. The correct bigger
  fix would be to change all namespaces to always set a valid namespace pointer
  in struct nsproxy independent of whether or not it is compiled in. But that
  requires quite a few changes.

  Second, so that we don't allow deriving namespace fds when the namespace type
  doesn't exist and thus when they couldn't also be derived via /proc/self/ns/.

- Add missing selftests for the new pidfd ioctls to derive namespace fds. This
  simply extends the already existing testsuite.

netfs:

- Fix debug logging and fix kconfig variable name so it actually works.

- Fix writeback that goes both to the server and cache. The streams are only
  activated once a subreq is added. When a server write happens the subreq
  doesn't need to have finished by the time the cache write is started. If the
  server write has already finished by the time the cache write is about to
  start the cache write will operate on a folio that might already have been
  reused. Fix this by preactivating the cache write.

- Limit cachefiles subreq size for cache writes to MAX_RW_COUNT.

The following changes since commit 933069701c1b507825b514317d4edd5d3fd9d417:

  Merge tag '6.11-rc-smb3-server-fixes' of git://git.samba.org/ksmbd (2024-07-21 20:50:39 -0700)

are available in the Git repository at:

  git@gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-6.11-rc1.fixes.2

for you to fetch changes up to f5e5e97c719d289025afce07050effcf1f7373ef:

  inode: clarify what's locked (2024-07-24 11:11:40 +0200)

Please consider pulling these changes from the signed vfs-6.11-rc1.fixes.2 tag.

Thanks!
Christian

----------------------------------------------------------------
vfs-6.11-rc1.fixes.2

----------------------------------------------------------------
Christian Brauner (4):
      pidfs: handle kernels without namespaces cleanly
      pidfs: add selftests for new namespace ioctls
      fs: use all available ids
      inode: clarify what's locked

Congjie Zhou (1):
      vfs: correct the comments of vfs_*() helpers

David Howells (5):
      netfs: Revert "netfs: Switch debug logging to pr_debug()"
      netfs: Rename CONFIG_FSCACHE_DEBUG to CONFIG_NETFS_DEBUG
      netfs: Fix writeback that needs to go to both server and cache
      cachefiles: Set the max subreq size for cache writes to MAX_RW_COUNT
      vfs: Fix potential circular locking through setxattr() and removexattr()

Edward Adam Davis (1):
      pidfs: when time ns disabled add check for ioctl

Jann Horn (1):
      filelock: Fix fcntl/close race recovery compat path

Mateusz Guzik (1):
      vfs: handle __wait_on_freeing_inode() and evict() race

 fs/cachefiles/io.c                               |   2 +-
 fs/inode.c                                       |  40 +++-
 fs/locks.c                                       |   9 +-
 fs/namei.c                                       |  26 +--
 fs/namespace.c                                   |   2 +-
 fs/netfs/Kconfig                                 |  18 +-
 fs/netfs/buffered_read.c                         |  14 +-
 fs/netfs/buffered_write.c                        |  12 +-
 fs/netfs/direct_read.c                           |   2 +-
 fs/netfs/direct_write.c                          |   8 +-
 fs/netfs/fscache_cache.c                         |   4 +-
 fs/netfs/fscache_cookie.c                        |  28 +--
 fs/netfs/fscache_io.c                            |  12 +-
 fs/netfs/fscache_main.c                          |   2 +-
 fs/netfs/fscache_volume.c                        |   4 +-
 fs/netfs/internal.h                              |  33 ++-
 fs/netfs/io.c                                    |  12 +-
 fs/netfs/main.c                                  |   4 +
 fs/netfs/misc.c                                  |   4 +-
 fs/netfs/write_collect.c                         |  16 +-
 fs/netfs/write_issue.c                           |  37 ++--
 fs/pidfs.c                                       |  63 ++++--
 fs/xattr.c                                       |  91 ++++----
 tools/testing/selftests/pidfd/pidfd_setns_test.c | 258 ++++++++++++++++++++---
 24 files changed, 488 insertions(+), 213 deletions(-)

.
Date: Wed, 24 Jul 2024 13:52:54 +0200
From: Wim Van Sebroeck <wim@linux-watchdog.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Linux Watchdog Mailing List <linux-watchdog@vger.kernel.org>,
	Guenter Roeck <linux@roeck-us.net>,
	Biju Das <biju.das.jz@bp.renesas.com>, Chen Ni <nichen@iscas.ac.cn>,
	Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>,
	Sascha Hauer <s.hauer@pengutronix.de>,
	Thomas =?iso-8859-1?Q?Wei=DFschuh?= <linux@weissschuh.net>
Subject: [GIT PULL REQUEST] watchdog - v6.11 release cycle.

Hi Linus,

On this sad day where the belgian linux community said goodbye to P2:
Please pull following watchdog changes for the v6.11 release cycle.

This series contains:
* Make watchdog_class const
* reworking of the rzg2l_wdt driver
* Other small fixes and improvements

The output from git request-pull:
----------------------------------------------------------------
The following changes since commit 22a40d14b572deb80c0648557f4bd502d7e83826:

  Linux 6.10-rc6 (2024-06-30 14:40:44 -0700)

are available in the git repository at:

  git://www.linux-watchdog.org/linux-watchdog.git tags/linux-watchdog-6.11-rc1

for you to fetch changes up to 63d097d46799dc6ab4d1430482cd5ab6a409c4ec:

  dt-bindings: watchdog: dlg,da9062-watchdog: Drop blank space (2024-07-18 20:35:41 +0200)

----------------------------------------------------------------
linux-watchdog 6.11-rc1 tag

----------------------------------------------------------------
Biju Das (1):
      dt-bindings: watchdog: dlg,da9062-watchdog: Drop blank space

Chen Ni (3):
      watchdog: starfive: Add missing clk_disable_unprepare()
      watchdog: lenovo_se10_wdt: Convert comma to semicolon
      watchdog: rzn1: Convert comma to semicolon

Claudiu Beznea (9):
      watchdog: rzg2l_wdt: Restrict the driver to ARCH_RZG2L and ARCH_R9A09G011
      watchdog: rzg2l_wdt: Make the driver depend on PM
      watchdog: rzg2l_wdt: Use pm_runtime_resume_and_get()
      watchdog: rzg2l_wdt: Check return status of pm_runtime_put()
      watchdog: rzg2l_wdt: Remove reset de-assert from probe
      watchdog: rzg2l_wdt: Remove comparison with zero
      watchdog: rzg2l_wdt: Rely on the reset driver for doing proper reset
      watchdog: rzg2l_wdt: Add suspend/resume support
      dt-bindings: watchdog: renesas,wdt: Document RZ/G3S support

Sascha Hauer (1):
      watchdog: imx7ulp_wdt: keep already running watchdog enabled

Thomas Weißschuh (1):
      watchdog: Make watchdog_class const

 .../bindings/watchdog/dlg,da9062-watchdog.yaml     |   2 +-
 .../devicetree/bindings/watchdog/renesas,wdt.yaml  |   1 +
 drivers/watchdog/Kconfig                           |   3 +-
 drivers/watchdog/imx7ulp_wdt.c                     |   5 +
 drivers/watchdog/lenovo_se10_wdt.c                 |   4 +-
 drivers/watchdog/rzg2l_wdt.c                       | 113 ++++++++++++---------
 drivers/watchdog/rzn1_wdt.c                        |   6 +-
 drivers/watchdog/starfive-wdt.c                    |   4 +-
 drivers/watchdog/watchdog_dev.c                    |   2 +-
 9 files changed, 81 insertions(+), 59 deletions(-)
----------------------------------------------------------------

Kind regards,
Wim.


.
Date: Wed, 24 Jul 2024 07:39:35 -0700
From: Christoph Hellwig <hch@infradead.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org, iommu@lists.linux.dev
Subject: [GIT PULL] dma-mapping fix for Linux 6.11

The following changes since commit b69bdba5a37eb6224039e9572e0e98fc3a931fee:

  swiotlb: fix kernel-doc description for swiotlb_del_transient (2024-07-13 07:36:10 +0200)

are available in the Git repository at:

  git://git.infradead.org/users/hch/dma-mapping.git tags/dma-mapping-6.11-2024-07-24

for you to fetch changes up to 28e8b7406d3a1f5329a03aa25a43aa28e087cb20:

  dma: fix call order in dmam_free_coherent (2024-07-19 07:27:28 +0200)

----------------------------------------------------------------
dma-mapping fix for Linux 6.11

 - fix the order of actions in dmam_free_coherent (Lance Richardson)

----------------------------------------------------------------
Lance Richardson (1):
      dma: fix call order in dmam_free_coherent

 kernel/dma/mapping.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

.
Date: Wed, 24 Jul 2024 17:54:06 +0200 (CEST)
From: Richard Weinberger <richard@nod.at>
To: torvalds <torvalds@linux-foundation.org>
Cc: linux-um <linux-um@lists.infradead.org>, 
	linux-kernel <linux-kernel@vger.kernel.org>
Subject: [GIT PULL] UML Changes for v6.11-rc1

Linus,

The following changes since commit 22a40d14b572deb80c0648557f4bd502d7e83826:

  Linux 6.10-rc6 (2024-06-30 14:40:44 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/uml/linux.git tags/uml-for-linus-6.11-rc1

for you to fetch changes up to 98ff534ec2cd02496c166614e6c1391d8e092e51:

  um: vector: always reset vp->opened (2024-07-04 12:03:26 +0200)

----------------------------------------------------------------
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

----------------------------------------------------------------
Anton Ivanov (2):
      um: Remove obsolete pcap driver
      um: Enable preemption in UML

Benjamin Berg (16):
      um: irqs: process outstanding IRQs when unblocking signals
      um: chan_user: catch EINTR when reading and writing
      um: chan_user: retry partial writes
      um: chan: use blocking IO for console output for time-travel
      um: Remove stub-data.h include from common-offsets.h
      um: Create signal stack memory assignment in stub_data
      um: Add generic stub_syscall6 function
      um: Rework syscall handling
      um: compress memory related stub syscalls while adding them
      um: remove LDT support
      um: remove copy_context_skas0
      um: Delay flushing syscalls until the thread is restarted
      um: Do not flush MM in flush_thread
      um: remove force_flush_all from fork_handler
      um: simplify and consolidate TLB updates
      um: refactor TLB update handling

David Gow (2):
      arch: um: rust: Use the generated target.json again
      arch: um: rust: Add i386 support for Rust

Dr. David Alan Gilbert (1):
      ubd: Remove unused mutex 'ubd_mutex'

Jeff Johnson (2):
      um: harddog: add missing MODULE_DESCRIPTION() macro
      hostfs: add missing MODULE_DESCRIPTION() macro

Johannes Berg (13):
      um: time-travel: fix time-travel-start option
      um: enable UBSAN
      hostfs: fix dev_t handling
      um: generalize os_rcv_fd
      um: add mmap/mremap OS calls
      um: add shared memory optimisation for time-travel=ext
      um: time-travel: remove time_exit()
      um: time-travel: fix signal blocking race/hang
      um: remove pcap driver from documentation
      um: line: always fill *error_out in setup_one_line()
      um: register power-off handler
      um: vector: remove vp->lock
      um: vector: always reset vp->opened

Mordechay Goodstein (1):
      um: time-travel: support time-travel protocol broadcast messages

Niklas Schnelle (1):
      um: Select HAS_IOREMAP for UML_IOMEM_EMULATION

Tiwei Bie (2):
      um: Remove unused ncpus variable
      um: Remove /proc/sysemu support code

Wei Yang (1):
      um/mm: remove redundant assignment of max_low_pfn

 Documentation/rust/arch-support.rst                |   2 +-
 .../virt/uml/user_mode_linux_howto_v2.rst          |   2 -
 arch/um/Kconfig                                    |   8 +-
 arch/um/drivers/Kconfig                            |  20 -
 arch/um/drivers/Makefile                           |  10 +-
 arch/um/drivers/chan.h                             |   3 +-
 arch/um/drivers/chan_kern.c                        |  81 ++-
 arch/um/drivers/chan_user.c                        |  20 +-
 arch/um/drivers/harddog_kern.c                     |   1 +
 arch/um/drivers/line.c                             |   2 +
 arch/um/drivers/pcap_kern.c                        | 113 -----
 arch/um/drivers/pcap_user.c                        | 137 ------
 arch/um/drivers/pcap_user.h                        |  21 -
 arch/um/drivers/port_kern.c                        |  14 +-
 arch/um/drivers/ubd_kern.c                         |   3 -
 arch/um/drivers/vector_kern.c                      |  19 +-
 arch/um/drivers/vector_kern.h                      |   1 -
 arch/um/drivers/xterm.c                            |   2 +-
 arch/um/drivers/xterm_kern.c                       |  13 +-
 arch/um/include/asm/mmu.h                          |  10 +-
 arch/um/include/asm/mmu_context.h                  |   2 -
 arch/um/include/asm/pgtable.h                      |  32 ++
 arch/um/include/asm/tlbflush.h                     |  46 +-
 arch/um/include/shared/as-layout.h                 |   2 +-
 arch/um/include/shared/common-offsets.h            |   5 -
 arch/um/include/shared/kern_util.h                 |   1 -
 arch/um/include/shared/os.h                        |  33 +-
 arch/um/include/shared/skas/mm_id.h                |   2 +-
 arch/um/include/shared/skas/skas.h                 |   2 +
 arch/um/include/shared/skas/stub-data.h            |  36 +-
 arch/um/include/shared/timetravel.h                |   9 +
 arch/um/include/shared/user.h                      |   8 +
 arch/um/kernel/exec.c                              |   9 -
 arch/um/kernel/irq.c                               |  80 +--
 arch/um/kernel/ksyms.c                             |   2 +-
 arch/um/kernel/mem.c                               |   1 -
 arch/um/kernel/process.c                           |  69 ---
 arch/um/kernel/reboot.c                            |  15 +
 arch/um/kernel/skas/Makefile                       |   9 +-
 arch/um/kernel/skas/clone.c                        |  48 --
 arch/um/kernel/skas/mmu.c                          |  54 +-
 arch/um/kernel/skas/process.c                      |  18 +
 arch/um/kernel/skas/stub.c                         |  69 +++
 arch/um/kernel/time.c                              | 187 ++++++-
 arch/um/kernel/tlb.c                               | 545 ++++-----------------
 arch/um/kernel/trap.c                              |  15 +-
 arch/um/kernel/um_arch.c                           |   3 -
 arch/um/os-Linux/file.c                            |  94 ++--
 arch/um/os-Linux/signal.c                          | 118 ++++-
 arch/um/os-Linux/skas/mem.c                        | 245 +++++----
 arch/um/os-Linux/skas/process.c                    | 124 +----
 arch/um/os-Linux/start_up.c                        |   1 +
 arch/x86/Makefile.um                               |   1 +
 arch/x86/um/Makefile                               |   5 +-
 arch/x86/um/asm/mm_context.h                       |  70 ---
 arch/x86/um/ldt.c                                  | 380 --------------
 arch/x86/um/shared/sysdep/stub.h                   |   2 +-
 arch/x86/um/shared/sysdep/stub_32.h                |  45 +-
 arch/x86/um/shared/sysdep/stub_64.h                |  41 +-
 arch/x86/um/stub_32.S                              |  56 ---
 arch/x86/um/stub_64.S                              |  50 --
 arch/x86/um/tls_32.c                               |   1 +
 fs/hostfs/hostfs.h                                 |   7 +-
 fs/hostfs/hostfs_kern.c                            |  11 +-
 fs/hostfs/hostfs_user.c                            |   7 +-
 include/uapi/linux/um_timetravel.h                 | 190 ++++++-
 rust/Makefile                                      |   2 +-
 scripts/Makefile                                   |   2 +-
 scripts/generate_rust_target.rs                    |  17 +
 69 files changed, 1297 insertions(+), 1956 deletions(-)
 delete mode 100644 arch/um/drivers/pcap_kern.c
 delete mode 100644 arch/um/drivers/pcap_user.c
 delete mode 100644 arch/um/drivers/pcap_user.h
 delete mode 100644 arch/um/kernel/skas/clone.c
 create mode 100644 arch/um/kernel/skas/stub.c
 delete mode 100644 arch/x86/um/asm/mm_context.h
 delete mode 100644 arch/x86/um/ldt.c
 delete mode 100644 arch/x86/um/stub_32.S
 delete mode 100644 arch/x86/um/stub_64.S

.
Date: Wed, 24 Jul 2024 22:16:02 +0200
From: Helge Deller <deller@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>,
	linux-kernel@vger.kernel.org, linux-parisc@vger.kernel.org,
	James Bottomley <James.Bottomley@hansenpartnership.com>,
	John David Anglin <dave.anglin@bell.net>
Subject: [GIT PULL] parisc architecture fixes for v6.11-rc1

Hi Linus,

Please pull some updates for the parisc architecture for 6.11-rc1.

The gettimeofday() and clock_gettime() syscalls are now available as
vDSO functions, and Dave added a patch which allows to use NVMe
cards in the PCI slots as fast and easy alternative to SCSI discs.

Thanks!
Helge

----------------------------------------------------------------
The following changes since commit 6ba59ff4227927d3a8530fc2973b80e94b54d58f:

  Linux 6.10-rc4 (2024-06-16 13:40:16 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux.git tags/parisc-for-6.11-rc1

for you to fetch changes up to cbade823342cd013f1fbd46f6e3b74825fecbc16:

  parisc: Add support for CONFIG_SYSCTL_ARCH_UNALIGN_NO_WARN (2024-07-24 02:04:05 +0200)

----------------------------------------------------------------
parisc architecture fixes and updates for kernel v6.11-rc1:

- Add gettimeofday() and clock_gettime() vDSO functions
- Enable PCI_MSI_ARCH_FALLBACKS to allow PCI to PCIe bridge adaptor
  with PCIe NVME card to function in parisc machines
- Allow users to reduce kernel unaligned runtime warnings
- minor code cleanups

----------------------------------------------------------------
Helge Deller (4):
      parisc: Clean up unistd.h file
      parisc: Add 32-bit gettimeofday() and clock_gettime() vDSO functions
      parisc: Add 64-bit gettimeofday() and clock_gettime() vDSO functions
      parisc: Add support for CONFIG_SYSCTL_ARCH_UNALIGN_NO_WARN

John David Anglin (1):
      parisc: Fix warning at drivers/pci/msi/msi.h:121

Thorsten Blum (1):
      parisc: Use max() to calculate parisc_tlb_flush_threshold

 Documentation/admin-guide/sysctl/kernel.rst |  2 +-
 arch/parisc/Kconfig                         |  2 ++
 arch/parisc/include/asm/unistd.h            | 54 ++++++++---------------------
 arch/parisc/include/asm/vdso.h              |  2 +-
 arch/parisc/kernel/cache.c                  |  6 +---
 arch/parisc/kernel/unaligned.c              |  2 ++
 arch/parisc/kernel/vdso32/Makefile          | 24 +++++++++++--
 arch/parisc/kernel/vdso32/vdso32.lds.S      |  3 ++
 arch/parisc/kernel/vdso32/vdso32_generic.c  | 32 +++++++++++++++++
 arch/parisc/kernel/vdso64/Makefile          | 25 ++++++++++---
 arch/parisc/kernel/vdso64/vdso64.lds.S      |  2 ++
 arch/parisc/kernel/vdso64/vdso64_generic.c  | 24 +++++++++++++
 12 files changed, 125 insertions(+), 53 deletions(-)
 create mode 100644 arch/parisc/kernel/vdso32/vdso32_generic.c
 create mode 100644 arch/parisc/kernel/vdso64/vdso64_generic.c

.
Date: Thu, 25 Jul 2024 03:32:44 +0200
From: Miguel Ojeda <ojeda@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Miguel Ojeda <ojeda@kernel.org>,
	Wedson Almeida Filho <wedsonaf@gmail.com>,
	Alex Gaynor <alex.gaynor@gmail.com>,
	Boqun Feng <boqun.feng@gmail.com>,
	Gary Guo <gary@garyguo.net>,
	=?UTF-8?q?Bj=C3=B6rn=20Roy=20Baron?= <bjorn3_gh@protonmail.com>,
	Benno Lossin <benno.lossin@proton.me>,
	Andreas Hindborg <a.hindborg@samsung.com>,
	Alice Ryhl <aliceryhl@google.com>,
	rust-for-linux@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Niko Matsakis <niko@alum.mit.edu>,
	Sid Askary <saskary@futurewei.com>,
	=?UTF-8?q?Emilio=20Cobos=20=C3=81lvarez?= <emilio@crisal.io>
Subject: [GIT PULL] Rust for 6.11

Hi Linus,

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.

Please pull for v6.11 -- thanks!

Cheers,
Miguel

The following changes since commit 256abd8e550ce977b728be79a74e1729438b4948:

  Linux 6.10-rc7 (2024-07-07 14:23:46 -0700)

are available in the Git repository at:

  https://github.com/Rust-for-Linux/linux.git tags/rust-6.11

for you to fetch changes up to b1263411112305acf2af728728591465becb45b0:

  docs: rust: quick-start: add section on Linux distributions (2024-07-10 10:29:55 +0200)

----------------------------------------------------------------
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.

----------------------------------------------------------------
Alice Ryhl (4):
      rust: alloc: fix typo in docs for GFP_NOWAIT
      rust: alloc: add __GFP_HIGHMEM flag
      rust: uaccess: add typed accessors for userspace pointers
      rust: add abstraction for `struct page`

Arnd Bergmann (1):
      uaccess: always export _copy_[from|to]_user with CONFIG_RUST

Aswin Unnikrishnan (2):
      rust: add example for `alias` argument in `module` macro documentation
      rust: fix datatype in docs for `module` macro arguments

Dirk Behme (1):
      docs: rust: no_std is used

FUJITA Tomonori (1):
      rust: add 'firmware' field support to module! macro

John Hubbard (2):
      kbuild: rust-analyzer: better error handling
      kbuild: rust-analyzer: improve comment documentation

Miguel Ojeda (12):
      kbuild: rust: remove now-unneeded `rusttest` custom sysroot handling
      rust: macros: indent list item in `paste!`'s docs
      rust: init: simplify from `map_err` to `inspect_err`
      rust: allow `dead_code` for never constructed bindings
      rust: relax most deny-level lints to warnings
      rust: simplify Clippy warning flags set
      rust: start supporting several compiler versions
      rust: avoid assuming a particular `bindgen` build
      rust: work around `bindgen` 0.69.0 issue
      rust: start supporting several `bindgen` versions
      rust: warn about `bindgen` versions 0.66.0 and 0.66.1
      docs: rust: quick-start: add section on Linux distributions

Nathan Chancellor (1):
      docs: rust: introduce the new kernel.org LLVM+Rust toolchains

Roland Xu (1):
      rust: kernel: make impl_has_work compatible with more generics

Wedson Almeida Filho (1):
      rust: uaccess: add userspace pointers

 Documentation/process/changes.rst          |   9 +-
 Documentation/rust/general-information.rst |   8 +
 Documentation/rust/quick-start.rst         | 143 +++++++----
 Documentation/rust/testing.rst             |   5 +-
 Makefile                                   |  30 +--
 include/linux/uaccess.h                    |  46 ++--
 init/Kconfig                               |   5 +-
 lib/usercopy.c                             |  30 +--
 rust/Makefile                              |  74 +-----
 rust/bindings/bindings_helper.h            |   2 +
 rust/bindings/lib.rs                       |   1 +
 rust/helpers.c                             |  34 +++
 rust/kernel/alloc.rs                       |  17 +-
 rust/kernel/init.rs                        |  13 +-
 rust/kernel/lib.rs                         |   2 +
 rust/kernel/page.rs                        | 250 +++++++++++++++++++
 rust/kernel/types.rs                       |  64 +++++
 rust/kernel/uaccess.rs                     | 388 +++++++++++++++++++++++++++++
 rust/kernel/workqueue.rs                   |  16 +-
 rust/macros/lib.rs                         |  45 +++-
 rust/macros/module.rs                      |  18 +-
 rust/uapi/lib.rs                           |   1 +
 scripts/rust_is_available.sh               |  33 +--
 scripts/rust_is_available_bindgen_0_66.h   |   2 +
 scripts/rust_is_available_test.py          |  59 +++--
 25 files changed, 1059 insertions(+), 236 deletions(-)
 create mode 100644 rust/kernel/page.rs
 create mode 100644 rust/kernel/uaccess.rs
 create mode 100644 scripts/rust_is_available_bindgen_0_66.h

.
Date: Thu, 25 Jul 2024 09:36:31 +0200
From: Greg KH <gregkh@linuxfoundation.org>
To: Linus Torvalds <torvalds@linux-foundation.org>,
	Andrew Morton <akpm@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org, Stephen Rothwell <sfr@canb.auug.org.au>,
	Saravana Kannan <saravanak@google.com>
Subject: [GIT PULL] 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:
   git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git driver-core-6.11-rc1-merge-resolution
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
***************


The following changes since commit 6ba59ff4227927d3a8530fc2973b80e94b54d58f:

  Linux 6.10-rc4 (2024-06-16 13:40:16 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git tags/driver-core-6.11-rc1

for you to fetch changes up to b57d5ffc3ab507d0e19fc8b90b19c76af43fb790:

  ARM: sa1100: make match function take a const pointer (2024-07-19 13:47:20 +0200)

----------------------------------------------------------------
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>

----------------------------------------------------------------
Andy Shevchenko (2):
      driver core: device.h: Group of_node handling declarations and definitions
      driver core: platform: Switch to use kmemdup_array()

Danilo Krummrich (9):
      rust: add abstraction for struct device
      rust: add firmware abstractions
      firmware: rust: improve safety comments
      MAINTAINERS: add Rust FW abstractions to FIRMWARE LOADER
      MAINTAINERS: add Danilo as FIRMWARE LOADER maintainer
      device: rust: improve safety comments
      MAINTAINERS: add Rust device abstractions to DRIVER CORE
      firmware_loader: annotate doctests as `no_run`
      firmware_loader: fix soundness issue in `request_internal`

Geert Uytterhoeven (1):
      dio: Have dio_bus_match() callback take a const *

Greg Kroah-Hartman (16):
      Merge tag 'platform-remove-void-step-b' of https://git.kernel.org/pub/scm/linux/kernel/git/ukleinek/linux into driver-core-next
      nvdimm: make nd_class constant
      auxbus: make to_auxiliary_drv accept and return a constant pointer
      driver core: platform: fix ups for constant struct device_driver
      driver core: driver: mark driver_add/remove_groups constant
      driver core: make device_release_driver_internal() take a const *
      driver core: make driver_detach() take a const *
      driver core: mark async_driver as a const *
      Merge tag 'v6.10-rc4' into driver-core-next
      driver core: make [device_]driver_attach take a const *
      driver core: have match() callback in struct bus_type take a const *
      driver core: make driver_[create|remove]_file take a const *
      driver core: make driver_find_device() take a const *
      driver core: module: make module_[add|remove]_driver take a const *
      zorro: make match function take a const pointer
      ARM: sa1100: make match function take a const pointer

Ivan Orlov (1):
      dca: make dca_class a static const structure

Jeff Johnson (1):
      samples/kobject: add missing MODULE_DESCRIPTION() macros

Petr Tesarik (1):
      sysfs/cpu: Make crash_hotplug attribute world-readable

Ricardo B. Marliere (1):
      parport: make parport_bus_type const

Uwe Kleine-König (19):
      reset: meson-audio-arb: Convert to platform remove callback returning void
      reset: rzg2l-usbphy-ctrl: Convert to platform remove callback returning void
      reset: ti-sci: Convert to platform remove callback returning void
      Merge branch 'reset/next' of git://git.pengutronix.de/pza/linux
      fsi: master-aspeed: Convert to platform remove callback returning void
      fsi: master-ast-cf: Convert to platform remove callback returning void
      fsi: master-gpio: Convert to platform remove callback returning void
      fsi: occ: Convert to platform remove callback returning void
      pps: clients: gpio: Convert to platform remove callback returning void
      gpu: host1x: mipi: Benefit from devm_clk_get_prepared()
      drm/imagination: Convert to platform remove callback returning void
      drm/mediatek: Convert to platform remove callback returning void
      gpu: host1x: Convert to platform remove callback returning void
      gpu: ipu-v3: Convert to platform remove callback returning void
      nvdimm/e820: Convert to platform remove callback returning void
      nvdimm/of_pmem: Convert to platform remove callback returning void
      samples: qmi: Convert to platform remove callback returning void
      platform: Make platform_driver::remove() return void
      driver core: Make dev_err_probe() silent for -ENOMEM

Vincenzo Mezzela (2):
      drivers: arch_topology: Refactor do-while loops
      drivers: arch_topology: use __free attribute instead of of_node_put()

Zijun Hu (5):
      kobject_uevent: Fix OOB access within zap_modalias_env()
      devres: Fix devm_krealloc() wasting memory
      devres: Fix memory leakage caused by driver API devm_free_percpu()
      devres: Initialize an uninitialized struct member
      devres: Correct code style for functions that return a pointer type

 MAINTAINERS                                        |   3 +
 arch/arm/common/locomo.c                           |   4 +-
 arch/arm/common/sa1111.c                           |   4 +-
 arch/arm/include/asm/hardware/locomo.h             |   2 +-
 arch/arm/include/asm/hardware/sa1111.h             |   2 +-
 arch/parisc/include/asm/parisc-device.h            |   2 +-
 arch/parisc/kernel/drivers.c                       |   4 +-
 arch/powerpc/include/asm/ps3.h                     |   6 +-
 arch/powerpc/include/asm/vio.h                     |   6 +-
 arch/powerpc/platforms/ps3/system-bus.c            |   4 +-
 arch/powerpc/platforms/pseries/ibmebus.c           |   2 +-
 arch/powerpc/platforms/pseries/vio.c               |   6 +-
 arch/s390/include/asm/ccwdev.h                     |   2 +-
 arch/sparc/include/asm/vio.h                       |   6 +-
 arch/sparc/kernel/vio.c                            |   4 +-
 drivers/acpi/bus.c                                 |   4 +-
 drivers/amba/bus.c                                 |   6 +-
 drivers/base/arch_topology.c                       | 143 ++++++++++-----------
 drivers/base/auxiliary.c                           |  10 +-
 drivers/base/base.h                                |  16 +--
 drivers/base/core.c                                |  17 ++-
 drivers/base/cpu.c                                 |   4 +-
 drivers/base/dd.c                                  |  30 +++--
 drivers/base/devres.c                              |  34 +++--
 drivers/base/driver.c                              |  10 +-
 drivers/base/firmware_loader/Kconfig               |   7 +
 drivers/base/isa.c                                 |   2 +-
 drivers/base/module.c                              |   6 +-
 drivers/base/platform.c                            |  26 ++--
 drivers/bcma/main.c                                |   6 +-
 drivers/bus/fsl-mc/fsl-mc-bus.c                    |   4 +-
 drivers/bus/mhi/ep/main.c                          |   4 +-
 drivers/bus/mhi/host/init.c                        |   4 +-
 drivers/bus/mips_cdmm.c                            |   6 +-
 drivers/bus/moxtet.c                               |   4 +-
 drivers/bus/sunxi-rsb.c                            |   2 +-
 drivers/cdx/cdx.c                                  |   4 +-
 drivers/cxl/core/port.c                            |   2 +-
 drivers/cxl/cxl.h                                  |   5 +-
 drivers/dax/bus.c                                  |  17 +--
 drivers/dca/dca-sysfs.c                            |  20 +--
 drivers/dio/dio-driver.c                           |   4 +-
 drivers/dma/idxd/bus.c                             |   6 +-
 drivers/dma/idxd/compat.c                          |   1 -
 drivers/eisa/eisa-bus.c                            |   4 +-
 drivers/firewire/core-device.c                     |   6 +-
 drivers/firmware/arm_ffa/bus.c                     |   2 +-
 drivers/firmware/arm_scmi/bus.c                    |   6 +-
 drivers/firmware/google/coreboot_table.c           |   6 +-
 drivers/fpga/dfl.c                                 |   4 +-
 drivers/fsi/fsi-core.c                             |   4 +-
 drivers/fsi/fsi-master-aspeed.c                    |   6 +-
 drivers/fsi/fsi-master-ast-cf.c                    |   6 +-
 drivers/fsi/fsi-master-gpio.c                      |   6 +-
 drivers/fsi/fsi-occ.c                              |   6 +-
 drivers/gpio/gpiolib.c                             |   2 +-
 drivers/gpu/drm/display/drm_dp_aux_bus.c           |   2 +-
 drivers/gpu/drm/drm_mipi_dsi.c                     |   2 +-
 drivers/gpu/drm/imagination/pvr_drv.c              |   7 +-
 drivers/gpu/drm/mediatek/mtk_padding.c             |   5 +-
 drivers/gpu/host1x/bus.c                           |   2 +-
 drivers/gpu/host1x/dev.c                           |   6 +-
 drivers/gpu/host1x/mipi.c                          |  17 +--
 drivers/gpu/ipu-v3/ipu-common.c                    |   6 +-
 drivers/gpu/ipu-v3/ipu-pre.c                       |   5 +-
 drivers/gpu/ipu-v3/ipu-prg.c                       |   6 +-
 drivers/greybus/core.c                             |   4 +-
 drivers/hid/hid-core.c                             |   2 +-
 drivers/hid/intel-ish-hid/ishtp/bus.c              |   2 +-
 drivers/hsi/hsi_core.c                             |   2 +-
 drivers/hv/vmbus_drv.c                             |   8 +-
 drivers/hwtracing/intel_th/core.c                  |   4 +-
 drivers/hwtracing/intel_th/intel_th.h              |   2 +-
 drivers/i2c/i2c-core-base.c                        |   4 +-
 drivers/i3c/master.c                               |   4 +-
 drivers/input/gameport/gameport.c                  |   4 +-
 drivers/input/rmi4/rmi_bus.c                       |   6 +-
 drivers/input/rmi4/rmi_bus.h                       |   2 +-
 drivers/input/rmi4/rmi_driver.c                    |   2 +-
 drivers/input/rmi4/rmi_driver.h                    |   2 +-
 drivers/input/serio/serio.c                        |   4 +-
 drivers/ipack/ipack.c                              |   6 +-
 drivers/macintosh/macio_asic.c                     |   2 +-
 drivers/mcb/mcb-core.c                             |   4 +-
 drivers/media/pci/bt8xx/bttv-gpio.c                |   4 +-
 drivers/media/pci/bt8xx/bttv.h                     |   2 +-
 drivers/media/pci/intel/ipu6/ipu6-bus.h            |   2 +-
 drivers/memstick/core/memstick.c                   |   7 +-
 drivers/mfd/mcp-core.c                             |   2 +-
 drivers/misc/mei/bus.c                             |   4 +-
 drivers/misc/tifm_core.c                           |   6 +-
 drivers/mmc/core/sdio_bus.c                        |  10 +-
 drivers/most/core.c                                |   2 +-
 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c      |   4 +-
 drivers/net/ethernet/intel/ice/ice_ptp.c           |   2 +-
 drivers/net/ethernet/mellanox/mlx5/core/dev.c      |   4 +-
 drivers/net/phy/mdio_bus.c                         |   4 +-
 drivers/net/phy/mdio_device.c                      |   4 +-
 drivers/net/phy/phy_device.c                       |   4 +-
 drivers/ntb/ntb_transport.c                        |   2 +-
 drivers/nvdimm/bus.c                               |  25 ++--
 drivers/nvdimm/e820.c                              |   5 +-
 drivers/nvdimm/of_pmem.c                           |   6 +-
 drivers/nvmem/layouts.c                            |   4 +-
 drivers/parport/share.c                            |   2 +-
 drivers/pci/endpoint/pci-epf-core.c                |   4 +-
 drivers/pci/pci-driver.c                           |   8 +-
 drivers/pcmcia/ds.c                                |   2 +-
 drivers/peci/core.c                                |   4 +-
 drivers/peci/internal.h                            |   5 +-
 drivers/platform/surface/aggregator/bus.c          |   4 +-
 drivers/platform/x86/wmi.c                         |   9 +-
 drivers/pnp/driver.c                               |   6 +-
 drivers/pps/clients/pps-gpio.c                     |   5 +-
 drivers/rapidio/rio-driver.c                       |   4 +-
 drivers/reset/reset-meson-audio-arb.c              |   6 +-
 drivers/reset/reset-rzg2l-usbphy-ctrl.c            |   6 +-
 drivers/reset/reset-ti-sci.c                       |   6 +-
 drivers/rpmsg/rpmsg_core.c                         |   4 +-
 drivers/rpmsg/rpmsg_internal.h                     |   2 +-
 drivers/s390/cio/css.c                             |   4 +-
 drivers/s390/cio/css.h                             |   2 +-
 drivers/s390/cio/device.c                          |   4 +-
 drivers/s390/crypto/ap_bus.c                       |   4 +-
 drivers/s390/crypto/ap_bus.h                       |   2 +-
 drivers/scsi/fcoe/fcoe_sysfs.c                     |   2 +-
 drivers/scsi/scsi_sysfs.c                          |   6 +-
 drivers/scsi/scsi_transport_iscsi.c                |   2 +-
 drivers/sh/maple/maple.c                           |   4 +-
 drivers/siox/siox-core.c                           |   2 +-
 drivers/slimbus/core.c                             |   4 +-
 drivers/soc/qcom/apr.c                             |   4 +-
 drivers/soundwire/bus_type.c                       |   6 +-
 drivers/spi/spi.c                                  |   2 +-
 drivers/spmi/spmi.c                                |   2 +-
 drivers/ssb/main.c                                 |   4 +-
 drivers/staging/fieldbus/anybuss/anybuss-client.h  |   6 +-
 drivers/staging/fieldbus/anybuss/host.c            |   4 +-
 drivers/staging/greybus/gbphy.c                    |   2 +-
 .../vc04_services/interface/vchiq_arm/vchiq_bus.c  |   2 +-
 drivers/staging/vme_user/vme.c                     |   2 +-
 drivers/tc/tc-driver.c                             |   6 +-
 drivers/tee/tee_core.c                             |   2 +-
 drivers/thunderbolt/domain.c                       |   8 +-
 drivers/tty/serdev/core.c                          |   2 +-
 drivers/tty/serial/serial_base_bus.c               |   2 +-
 drivers/usb/common/ulpi.c                          |   2 +-
 drivers/usb/core/driver.c                          |   2 +-
 drivers/usb/gadget/udc/core.c                      |   2 +-
 drivers/usb/serial/bus.c                           |   2 +-
 drivers/usb/typec/bus.c                            |   2 +-
 drivers/vdpa/vdpa.c                                |   2 +-
 drivers/vfio/mdev/mdev_driver.c                    |   2 +-
 drivers/virtio/virtio.c                            |   2 +-
 drivers/xen/xenbus/xenbus.h                        |   2 +-
 drivers/xen/xenbus/xenbus_probe.c                  |   4 +-
 drivers/zorro/zorro-driver.c                       |   4 +-
 include/acpi/acpi_bus.h                            |   2 +-
 include/linux/arm_ffa.h                            |   2 +-
 include/linux/auxiliary_bus.h                      |   2 +-
 include/linux/cdx/cdx_bus.h                        |   2 +-
 include/linux/device.h                             |  21 +--
 include/linux/device/bus.h                         |   2 +-
 include/linux/device/driver.h                      |  18 +--
 include/linux/dfl.h                                |   2 +-
 include/linux/dio.h                                |   2 +-
 include/linux/eisa.h                               |   2 +-
 include/linux/fsi.h                                |   2 +-
 include/linux/fsl/mc.h                             |   2 +-
 include/linux/gameport.h                           |   2 +-
 include/linux/greybus.h                            |   2 +-
 include/linux/hyperv.h                             |   6 +-
 include/linux/i2c.h                                |   2 +-
 include/linux/i3c/device.h                         |   5 +-
 include/linux/maple.h                              |   2 +-
 include/linux/mcb.h                                |   5 +-
 include/linux/mdio.h                               |  19 +--
 include/linux/mhi.h                                |   2 +-
 include/linux/mhi_ep.h                             |   2 +-
 include/linux/moxtet.h                             |   9 +-
 include/linux/nd.h                                 |   6 +-
 include/linux/pci-epf.h                            |   3 +-
 include/linux/pci.h                                |   6 +-
 include/linux/phy.h                                |   2 +-
 include/linux/platform_device.h                    |  15 +--
 include/linux/pnp.h                                |   2 +-
 include/linux/rio.h                                |   2 +-
 include/linux/scmi_protocol.h                      |   2 +-
 include/linux/serio.h                              |   2 +-
 include/linux/slimbus.h                            |   2 +-
 include/linux/soc/qcom/apr.h                       |   2 +-
 include/linux/soundwire/sdw_type.h                 |   2 +-
 include/linux/spi/spi.h                            |   6 +-
 include/linux/ssb/ssb.h                            |   2 +-
 include/linux/tc.h                                 |   2 +-
 include/linux/tee_drv.h                            |   2 +-
 include/linux/virtio.h                             |   5 +-
 include/linux/zorro.h                              |   2 +-
 include/scsi/scsi_transport_iscsi.h                |   2 +-
 include/sound/ac97/codec.h                         |   5 +-
 include/xen/xenbus.h                               |   5 +-
 lib/kobject_uevent.c                               |  17 ++-
 net/iucv/iucv.c                                    |   2 +-
 rust/bindings/bindings_helper.h                    |   1 +
 rust/helpers.c                                     |   1 +
 rust/kernel/device.rs                              | 105 +++++++++++++++
 rust/kernel/firmware.rs                            | 117 +++++++++++++++++
 rust/kernel/lib.rs                                 |   3 +
 samples/kobject/kobject-example.c                  |   1 +
 samples/kobject/kset-example.c                     |   1 +
 samples/qmi/qmi_sample_client.c                    |   6 +-
 sound/ac97/bus.c                                   |   4 +-
 sound/core/seq_device.c                            |   4 +-
 sound/hda/hda_bus_type.c                           |   2 +-
 sound/soc/sof/sof-client.c                         |   4 +-
 215 files changed, 777 insertions(+), 620 deletions(-)
 create mode 100644 rust/kernel/device.rs
 create mode 100644 rust/kernel/firmware.rs

.
Date: Thu, 25 Jul 2024 10:47:41 +0200
From: Geert Uytterhoeven <geert@linux-m68k.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Andy Shevchenko <andy@kernel.org>,
	Andy Shevchenko <andy.shevchenko@gmail.com>,
	linux-kernel@vger.kernel.org,
	Geert Uytterhoeven <geert@linux-m68k.org>
Subject: [GIT PULL] auxdisplay updates for v6.11

	Hi Linus,

The following changes since commit 1613e604df0cd359cf2a7fbd9be7a0bcfacfabd0:

  Linux 6.10-rc1 (2024-05-26 15:20:12 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k.git tags/auxdisplay-for-v6.11-tag1

for you to fetch changes up to 2ccfe94bc3ac980d2d1df9f7a0b2c6d2137abe55:

  auxdisplay: ht16k33: Drop reference after LED registration (2024-06-11 16:58:52 +0300)

----------------------------------------------------------------
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/

----------------------------------------------------------------
Andy Shevchenko (1):
      auxdisplay: charlcd: Provide a forward declaration

Chris Packham (1):
      auxdisplay: linedisp: Support configuring the boot message

Erick Archer (1):
      auxdisplay: Use sizeof(*pointer) instead of sizeof(type)

Jeff Johnson (2):
      auxdisplay: linedisp: add missing MODULE_DESCRIPTION() macro
      auxdisplay: hd44780: add missing MODULE_DESCRIPTION() macro

Markus Elfring (1):
      auxdisplay: ht16k33: Drop reference after LED registration

 drivers/auxdisplay/Kconfig          |  2 +-
 drivers/auxdisplay/arm-charlcd.c    |  2 +-
 drivers/auxdisplay/charlcd.h        |  2 ++
 drivers/auxdisplay/hd44780.c        |  2 +-
 drivers/auxdisplay/hd44780_common.c |  1 +
 drivers/auxdisplay/ht16k33.c        |  1 +
 drivers/auxdisplay/line-display.c   | 11 ++++++++++-
 7 files changed, 17 insertions(+), 4 deletions(-)

Gr{oetje,eeting}s,

						Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
							    -- Linus Torvalds

.
Date: Thu, 25 Jul 2024 10:47:33 +0100
From: Daniel Thompson <daniel.thompson@linaro.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Jason Wessel <jason.wessel@windriver.com>, linux-kernel@vger.kernel.org,
	Douglas Anderson <dianders@chromium.org>,
	Zheng Zengkai <zhengzengkai@huawei.com>,
	Arnd Bergmann <arnd@arndb.de>
Subject: [GIT PULL] kgdb changes for v6.11

Hi Linus

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.

The following changes since commit 6ba59ff4227927d3a8530fc2973b80e94b54d58f:

  Linux 6.10-rc4 (2024-06-16 13:40:16 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/danielt/linux.git/ tags/kgdb-6.11-rc1

for you to fetch changes up to 9bccbe7b20876a34c70b13430ea1b308fc8d5a7e:

  kdb: Get rid of redundant kdb_curr_task() (2024-06-21 15:49:29 +0100)

----------------------------------------------------------------
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>

----------------------------------------------------------------
Arnd Bergmann (1):
      kdb: address -Wformat-security warnings

Douglas Anderson (1):
      kdb: Use the passed prompt in kdb_position_cursor()

Zheng Zengkai (1):
      kdb: Get rid of redundant kdb_curr_task()

 kernel/debug/kdb/kdb_bt.c      |  2 +-
 kernel/debug/kdb/kdb_io.c      |  6 +++---
 kernel/debug/kdb/kdb_main.c    | 18 ++++--------------
 kernel/debug/kdb/kdb_private.h |  2 --
 4 files changed, 8 insertions(+), 20 deletions(-)

.
Date: Thu, 25 Jul 2024 16:00:47 +0200
From: Petr Mladek <pmladek@suse.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Sergey Senozhatsky <senozhatsky@chromium.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	John Ogness <john.ogness@linutronix.de>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Rasmus Villemoes <linux@rasmusvillemoes.dk>,
	Sebastian Andrzej Siewior <bigeasy@linutronix.de>,
	Thomas Gleixner <tglx@linutronix.de>, Jan Kara <jack@suse.cz>,
	Peter Zijlstra <peterz@infradead.org>,
	Petr Mladek <pmladek@suse.com>, linux-kernel@vger.kernel.org,
	Jeff Johnson <quic_jjohnson@quicinc.com>
Subject: [GIT PULL] trivial printk changes for 6.11

Hi Linus,

please pull the two trivial changes for 6.11 from

  git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux.git tags/printk-for-6.11-trivial

========================================

- Misc clean up.

----------------------------------------------------------------
Jeff Johnson (1):
      vsprintf: add missing MODULE_DESCRIPTION() macro

Sreenath Vijayan (1):
      printk: Rename console_replay_all() and update context

 drivers/tty/sysrq.c    | 2 +-
 include/linux/printk.h | 4 ++--
 kernel/printk/printk.c | 6 +++---
 lib/test_printf.c      | 1 +
 lib/test_scanf.c       | 1 +
 5 files changed, 8 insertions(+), 6 deletions(-)

.
Date: Thu, 25 Jul 2024 18:09:56 +0200
From: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
To: torvalds@linux-foundation.org
Cc: linux-mips@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [GIT PULL] MIPS changes part 2 for v6.11

The following changes since commit bb2d63500b5c8fd1ea425caffe2d44c931fefc6b:

  MIPS: config: Add ip30_defconfig (2024-07-15 18:17:34 +0200)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux.git/ tags/mips_6.11_1

for you to fetch changes up to 2c716cf17edee74424336e87fe42b99ee5e91bad:

  mips: sibyte: add missing MODULE_DESCRIPTION() macro (2024-07-23 09:47:40 +0200)

----------------------------------------------------------------
- Use improved timer sync for Loongson64
- Fix address of GCR_ACCESS register
- Add missing MODULE_DESCRIPTION

----------------------------------------------------------------
Gregory CLEMENT (1):
      MIPS: SMP-CPS: Fix address for GCR_ACCESS register for CM3 and later

Jeff Johnson (1):
      mips: sibyte: add missing MODULE_DESCRIPTION() macro

Jiaxun Yang (1):
      MIPS: Loongson64: Switch to SYNC_R4K

 arch/mips/Kconfig                   |  1 +
 arch/mips/include/asm/mips-cm.h     |  4 ++++
 arch/mips/include/asm/smp.h         |  1 -
 arch/mips/kernel/smp-cps.c          |  5 ++++-
 arch/mips/loongson64/smp.c          | 35 ++---------------------------------
 arch/mips/sibyte/common/sb_tbprof.c |  1 +
 6 files changed, 12 insertions(+), 35 deletions(-)

-- 
Crap can work. Given enough thrust pigs will fly, but it's not necessarily a
good idea.                                                [ RFC1925, 2.3 ]

.
Date: Thu, 25 Jul 2024 11:06:28 -0700
From: John Johansen <john.johansen@canonical.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: LKLM <linux-kernel@vger.kernel.org>,
 "open list:SECURITY SUBSYSTEM" <linux-security-module@vger.kernel.org>
Subject: [GIT PULL] AppArmor updates for 6.11-rc1

Hi Linus,

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




The following changes since commit 4cece764965020c22cff7665b18a012006359095:

   Linux 6.9-rc1 (2024-03-24 14:10:05 -0700)

are available in the Git repository at:

   git://git.kernel.org/pub/scm/linux/kernel/git/jj/linux-apparmor tags/apparmor-pr-2024-07-25

for you to fetch changes up to e0ff0cff1f6cdce0aa596aac04129893201c4162:

   apparmor: unpack transition table if dfa is not present (2024-07-24 11:15:06 -0700)

----------------------------------------------------------------
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

----------------------------------------------------------------
Alexander Mikhalitsyn (1):
       apparmor: take nosymfollow flag into account

Christian GÃ¶ttsche (1):
       apparmor: fix typo in kernel doc

Colin Ian King (1):
       apparmor: remove useless static inline function is_deleted

Fedor Pchelkin (1):
       apparmor: use kvfree_sensitive to free data->data

Georgia Garcia (1):
       apparmor: unpack transition table if dfa is not present

Jeff Johnson (1):
       apparmor: test: add MODULE_DESCRIPTION()

Leesoo Ahn (1):
       apparmor: fix possible NULL pointer dereference

Mateusz Guzik (1):
       apparmor: try to avoid refing the label in apparmor_file_open

Xiao Liang (1):
       apparmor: Fix null pointer deref when receiving skb during sock creation

  security/apparmor/apparmorfs.c         |  4 ++++
  security/apparmor/file.c               | 13 ----------
  security/apparmor/include/cred.h       | 20 ++++++++++++++++
  security/apparmor/lsm.c                | 14 ++++++++---
  security/apparmor/mount.c              |  2 ++
  security/apparmor/policy.c             |  2 +-
  security/apparmor/policy_unpack.c      | 43 ++++++++++++++++++++--------------
  security/apparmor/policy_unpack_test.c |  1 +
  8 files changed, 65 insertions(+), 34 deletions(-)


.
Date: Fri, 26 Jul 2024 14:00:29 +1000
From: Dave Airlie <airlied@gmail.com>
To: Linus Torvalds <torvalds@linux-foundation.org>, Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: dri-devel <dri-devel@lists.freedesktop.org>, LKML <linux-kernel@vger.kernel.org>
Subject: [git pull] drm fixes for 6.11-rc1

Hi Linus,

Fixes for rc1, mostly amdgpu, i915 and xe, with some other misc ones,
doesn't seem to be anything too serious.

Dave.

drm-next-2024-07-26:
drm fixes for 6.11-rc1

amdgpu:
- Bump driver version for GFX12 DCC
- DC documention warning fixes
- VCN unified queue power fix
- SMU fix
- RAS fix
- Display corruption fix
- SDMA 5.2 workaround
- GFX12 fixes
- Uninitialized variable fix
- VCN/JPEG 4.0.3 fixes
- Misc display fixes
- RAS fixes
- VCN4/5 harvest fix
- GPU reset fix

i915:
- Reset intel_dp->link_trained before retraining the link
- Don't switch the LTTPR mode on an active link
- Do not consider preemption during execlists_dequeue for gen8
- Allow NULL memory region

xe:
- xe_exec ioctl minor fix on sync entry cleanup upon error
- SRIOV: limit VF LMEM provisioning
- Wedge mode fixes

v3d:
- fix indirect dispatch on newer v3d revs

panel:
- fix panel backlight bindings
The following changes since commit 478a52707b0abe98aac7f8c53ccddb759be66b06=
:

  Merge tag 'amd-drm-next-6.11-2024-07-12' of
https://gitlab.freedesktop.org/agd5f/linux into drm-next (2024-07-18
09:20:00 +1000)

are available in the Git repository at:

  https://gitlab.freedesktop.org/drm/kernel.git tags/drm-next-2024-07-26

for you to fetch changes up to d4ef5d2b7ee0cbb5f2d864716140366a618400d6:

  Merge tag 'amd-drm-fixes-6.11-2024-07-25' of
https://gitlab.freedesktop.org/agd5f/linux into drm-next (2024-07-26
09:52:15 +1000)

----------------------------------------------------------------
drm fixes for 6.11-rc1

amdgpu:
- Bump driver version for GFX12 DCC
- DC documention warning fixes
- VCN unified queue power fix
- SMU fix
- RAS fix
- Display corruption fix
- SDMA 5.2 workaround
- GFX12 fixes
- Uninitialized variable fix
- VCN/JPEG 4.0.3 fixes
- Misc display fixes
- RAS fixes
- VCN4/5 harvest fix
- GPU reset fix

i915:
- Reset intel_dp->link_trained before retraining the link
- Don't switch the LTTPR mode on an active link
- Do not consider preemption during execlists_dequeue for gen8
- Allow NULL memory region

xe:
- xe_exec ioctl minor fix on sync entry cleanup upon error
- SRIOV: limit VF LMEM provisioning
- Wedge mode fixes

v3d:
- fix indirect dispatch on newer v3d revs

panel:
- fix panel backlight bindings

----------------------------------------------------------------
Alex Deucher (2):
      drm/amd/display: fix corruption with high refresh rates on DCN 3.0
      drm/amdgpu/sdma5.2: Update wptr registers as well as doorbell

Alex Hung (1):
      drm/amd/display: Add doc entry for program_3dlut_size

Ashutosh Dixit (1):
      drm/xe/exec: Fix minor bug related to xe_sync_entry_cleanup

Aurabindo Pillai (2):
      drm/amd: Bump KMS_DRIVER_MINOR version
      drm/amd/display: fix doc entry for bb_from_dmub

Boyuan Zhang (2):
      drm/amdgpu/vcn: identify unified queue in sw init
      drm/amdgpu/vcn: not pause dpg for unified queue

Dave Airlie (7):
      Merge tag 'drm-intel-next-fixes-2024-07-18' of
https://gitlab.freedesktop.org/drm/i915/kernel into drm-next
      Merge tag 'drm-xe-next-fixes-2024-07-18' of
https://gitlab.freedesktop.org/drm/xe/kernel into drm-next
      Merge tag 'drm-misc-next-fixes-2024-07-19' of
https://gitlab.freedesktop.org/drm/misc/kernel into drm-next
      Merge tag 'amd-drm-fixes-6.11-2024-07-18' of
https://gitlab.freedesktop.org/agd5f/linux into drm-next
      Merge tag 'drm-intel-next-fixes-2024-07-25' of
https://gitlab.freedesktop.org/drm/i915/kernel into drm-next
      Merge tag 'drm-misc-next-fixes-2024-07-25' of
https://gitlab.freedesktop.org/drm/misc/kernel into drm-next
      Merge tag 'amd-drm-fixes-6.11-2024-07-25' of
https://gitlab.freedesktop.org/agd5f/linux into drm-next

David Belanger (1):
      drm/amdgpu: Fix atomics on GFX12

Imre Deak (2):
      drm/i915/dp: Reset intel_dp->link_trained before retraining the link
      drm/i915/dp: Don't switch the LTTPR mode on an active link

Jane Jian (1):
      drm/amdgpu/vcn: Use offsets local to VCN/JPEG in VF

Jonathan Cavitt (1):
      drm/i915: Allow NULL memory region

Li Ma (1):
      drm/amd/swsmu: enable Pstates profile levels for SMU v14.0.4

Lijo Lazar (2):
      drm/amdgpu: Add empty HDP flush function to JPEG v4.0.3
      drm/amdgpu: Add empty HDP flush function to VCN v4.0.3

Ma Ke (1):
      drm/amd/amdgpu: Fix uninitialized variable warnings

Matthew Brost (2):
      drm/xe: Wedge the entire device
      drm/xe: Don't suspend device upon wedge

Ma=C3=ADra Canal (2):
      drm/v3d: Add V3D tech revision to the device information
      drm/v3d: Fix Indirect Dispatch configuration for V3D 7.1.6 and later

Michal Wajdeczko (1):
      drm/xe/pf: Limit fair VF LMEM provisioning

Nitin Gote (1):
      drm/i915/gt: Do not consider preemption during execlists_dequeue for =
gen8

Rodrigo Siqueira (7):
      drm/amd/display: Move DIO documentation to the right place
      Documentation/gpu: Remove ':export:' option from DCN documentation
      Documentation/gpu: Adjust DCN documentation paths
      drm/amd/display: Add simple struct doc to remove doc build warning
      Documentation/gpu: Remove undocumented files from dcn-blockshubbub.h
      Documentation/amdgpu: Fix duplicate declaration
      drm/amd/display: Remove ASSERT if significance is zero in math_ceil2

Roman Li (1):
      drm/amd/display: Add function banner for idle_workqueue

Stanley.Yang (1):
      drm/amdgpu: Fix eeprom max record count

Stephan Gerhold (1):
      dt-bindings: display: panel: samsung,atna33xc20: Document ATNA45AF01

Sung Joon Kim (1):
      drm/amd/display: Check for NULL pointer

Tim Huang (2):
      drm/amd/pm: early return if disabling DPMS for GFX IP v11.5.2
      drm/amdgpu: add missed harvest check for VCN IP v4/v5

YiPeng Chai (2):
      drm/amdgpu: add mutex to protect ras shared memory
      drm/amdgpu: fix ras UE error injection failure issue

ZhenGuo Yin (1):
      drm/amdgpu: reset vm state machine after gpu reset(vram lost)

 .../bindings/display/panel/samsung,atna33xc20.yaml |   8 +-
 Documentation/gpu/amdgpu/display/dcn-blocks.rst    |  35 +-----
 .../gpu/amdgpu/display/display-manager.rst         |   4 +-
 drivers/gpu/drm/amd/amdgpu/Makefile                |   3 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_df.h             |   1 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c      |   5 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c            |   3 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c            | 121 ++++++++++++++---=
----
 drivers/gpu/drm/amd/amdgpu/amdgpu_psp.h            |   1 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_psp_ta.c         |   2 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_ras_eeprom.c     |   3 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c            |  53 +++++----
 drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.h            |   1 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c             |   9 +-
 drivers/gpu/drm/amd/amdgpu/df_v4_15.c              |  45 ++++++++
 drivers/gpu/drm/amd/amdgpu/df_v4_15.h              |  30 +++++
 drivers/gpu/drm/amd/amdgpu/jpeg_v4_0_3.c           |  27 ++++-
 drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c             |  12 ++
 drivers/gpu/drm/amd/amdgpu/smu_v13_0_10.c          |   2 +-
 drivers/gpu/drm/amd/amdgpu/soc24.c                 |   4 +
 drivers/gpu/drm/amd/amdgpu/vcn_v4_0.c              |   6 +
 drivers/gpu/drm/amd/amdgpu/vcn_v4_0_3.c            |  54 ++++++++-
 drivers/gpu/drm/amd/amdgpu/vcn_v4_0_5.c            |   6 +
 drivers/gpu/drm/amd/amdgpu/vcn_v5_0_0.c            |   6 +
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h  |  17 ++-
 drivers/gpu/drm/amd/display/dc/core/dc_surface.c   |   3 +-
 .../src/dml2_standalone_libraries/lib_float_math.c |   2 -
 drivers/gpu/drm/amd/display/dc/inc/hw/dpp.h        |  22 +++-
 drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h        |  14 +++
 drivers/gpu/drm/amd/display/dc/inc/hw/opp.h        |  15 +++
 .../drm/amd/display/dc/link/hwss/link_hwss_dio.c   |  29 +++++
 .../drm/amd/display/dc/link/hwss/link_hwss_dio.h   |   9 --
 .../gpu/drm/amd/display/dc/optc/dcn10/dcn10_optc.c |  15 +--
 .../gpu/drm/amd/display/dc/optc/dcn20/dcn20_optc.c |  10 ++
 .../drm/amd/include/asic_reg/df/df_4_15_offset.h   |  28 +++++
 .../drm/amd/include/asic_reg/df/df_4_15_sh_mask.h  |  28 +++++
 drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c          |  16 +--
 .../gpu/drm/amd/pm/swsmu/smu14/smu_v14_0_0_ppt.c   |  18 ++-
 drivers/gpu/drm/i915/display/intel_dp.c            |   2 +
 .../gpu/drm/i915/display/intel_dp_link_training.c  |  55 ++++++++--
 .../gpu/drm/i915/gt/intel_execlists_submission.c   |   6 +-
 drivers/gpu/drm/i915/intel_memory_region.c         |   6 +-
 drivers/gpu/drm/v3d/v3d_drv.c                      |   5 +-
 drivers/gpu/drm/v3d/v3d_drv.h                      |   8 +-
 drivers/gpu/drm/v3d/v3d_sched.c                    |  16 ++-
 drivers/gpu/drm/xe/xe_device.c                     |  20 ++++
 drivers/gpu/drm/xe/xe_exec.c                       |  14 +--
 drivers/gpu/drm/xe/xe_gt.c                         |  15 +++
 drivers/gpu/drm/xe/xe_gt.h                         |   1 +
 drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c         |   1 +
 drivers/gpu/drm/xe/xe_guc.c                        |  16 +++
 drivers/gpu/drm/xe/xe_guc.h                        |   1 +
 drivers/gpu/drm/xe/xe_guc_submit.c                 |  38 ++++---
 drivers/gpu/drm/xe/xe_guc_submit.h                 |   1 +
 drivers/gpu/drm/xe/xe_uc.c                         |  14 +++
 drivers/gpu/drm/xe/xe_uc.h                         |   1 +
 56 files changed, 690 insertions(+), 197 deletions(-)
 create mode 100644 drivers/gpu/drm/amd/amdgpu/df_v4_15.c
 create mode 100644 drivers/gpu/drm/amd/amdgpu/df_v4_15.h
 create mode 100644 drivers/gpu/drm/amd/include/asic_reg/df/df_4_15_offset.=
h
 create mode 100644 drivers/gpu/drm/amd/include/asic_reg/df/df_4_15_sh_mask=
.h

.
Date: Fri, 26 Jul 2024 09:00:03 +0200
From: Takashi Iwai <tiwai@suse.de>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Mark Brown <broonie@kernel.org>, Liam Girdwood <lgirdwood@gmail.com>,
 Linux Sound Mailing List <linux-sound@vger.kernel.org>, Linux Kernel
 Mailing List <linux-kernel@vger.kernel.org>
Subject: [GIT PULL] sound fixes for 6.11-rc1

Linus,

please pull sound fixes for v6.11-rc1 from:

  git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git tags/sound-fix-6.11-rc1

The topmost commit is e8b96a66ae01d039699bac256c5b6b30b2284170

----------------------------------------------------------------

sound fixes for 6.11-rc1

A collection of the fixes gathered since the previous PR.
We see a bit large LOCs at a HD-audio quirk, but that's only bulk
COEF data, hence it's safe to take.  In addition to that, there
were two minor fixes for MIDI 2.0 handling for ALSA core, and the
rest are all rather random small and device-specific fixes.

----------------------------------------------------------------

Arnd Bergmann (2):
      ALSA: hda: tas2781: mark const variables as __maybe_unused
      ASoC: tegra: select CONFIG_SND_SIMPLE_CARD_UTILS

Curtis Malainey (1):
      ASoC: Intel: Fix RT5650 SSP lookup

Dan Carpenter (1):
      ASoC: TAS2781: Fix tasdev_load_calibrated_data()

Daniel Baluta (1):
      ASoC: SOF: imx8m: Fix DSP control regmap retrieval

Luke D. Jones (1):
      ALSA: hda/realtek: cs35l41: Fixup remaining asus strix models

Nick Weihs (1):
      ALSA: hda/realtek: Implement sound init sequence for Samsung Galaxy Book3 Pro 360

Peter Ujfalusi (2):
      ASoC: SOF: ipc4-topology: Only handle dai_config with HW_PARAMS for ChainDMA
      ASoC: SOF: ipc4-topology: Preserve the DMA Link ID for ChainDMA on unprepare

Pierre-Louis Bossart (2):
      ASOC: SOF: Intel: hda-loader: only wait for HDaudio IOC for IPC4 devices
      ASoC: Intel: use soc_intel_is_byt_cr() only when IOSF_MBI is reachable

Shengjiu Wang (1):
      ASoC: fsl-asoc-card: Dynamically allocate memory for snd_soc_dai_link_components

Takashi Iwai (4):
      ALSA: usb-audio: Move HD Webcam quirk to the right place
      ALSA: ump: Don't update FB name for static blocks
      ALSA: ump: Force 1 Group for MIDI1 FBs
      ASoC: amd: yc: Support mic on Lenovo Thinkpad E16 Gen 2

Venkata Prasad Potturu (1):
      ASoC: sof: amd: fix for firmware reload failure in Vangogh platform

wangdicheng (2):
      ALSA: usb-audio: Fix microphone sound on HD webcam.
      ALSA: usb-audio: Add a quirk for Sonix HD USB Camera

---
 include/sound/tas2781-tlv.h                        |   6 +-
 sound/core/ump.c                                   |  13 +
 sound/pci/hda/patch_realtek.c                      |  15 +-
 sound/pci/hda/samsung_helper.c                     | 310 +++++++++++++++++++++
 sound/soc/amd/yc/acp6x-mach.c                      |   7 +
 sound/soc/codecs/tas2781-fmwlib.c                  |   2 +-
 sound/soc/fsl/fsl-asoc-card.c                      |  46 +--
 sound/soc/intel/common/soc-acpi-intel-ssp-common.c |   9 +
 sound/soc/intel/common/soc-intel-quirks.h          |   2 +-
 sound/soc/sof/amd/pci-vangogh.c                    |   1 -
 sound/soc/sof/imx/imx8m.c                          |   2 +-
 sound/soc/sof/intel/hda-loader.c                   |  18 +-
 sound/soc/sof/intel/hda.c                          |  17 +-
 sound/soc/sof/ipc4-topology.c                      |  18 +-
 sound/soc/tegra/Kconfig                            |   1 +
 sound/usb/mixer.c                                  |   7 +
 sound/usb/quirks.c                                 |   4 +
 17 files changed, 433 insertions(+), 45 deletions(-)
 create mode 100644 sound/pci/hda/samsung_helper.c


.
Date: Fri, 26 Jul 2024 09:42:46 +0100
From: Will Deacon <will@kernel.org>
To: torvalds@linux-foundation.org
Cc: catalin.marinas@arm.com, linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, kernel-team@android.com
Subject: [GIT PULL] arm64 fixes for -rc1

Hi Linus,

Please pull these arm64 fixes for -rc1. The usual summary is in the tag,
but the main fix is for the fast GUP lockless page-table walk when we
have a combination of compile-time and run-time folding of the p4d and
the pud respectively.

Cheers,

Will

--->8

The following changes since commit 4f3a6c4de7d932be94cde2c52ae58feeec9c9dbf:

  Merge branch 'for-next/vcpu-hotplug' into for-next/core (2024-07-11 19:10:02 +0100)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git tags/arm64-fixes

for you to fetch changes up to 36639013b3462c06ff8e3400a427f775b4fc97f5:

  arm64: mm: Fix lockless walks with static and dynamic page-table folding (2024-07-25 13:20:55 +0100)

----------------------------------------------------------------
arm64 fixes for -rc1

- Remove some redundant Kconfig conditionals

- Fix string output in ptrace selftest

- Fix fast GUP crashes in some page-table configurations

- Remove obsolete linker option when building the vDSO

- Fix some sysreg field definitions for the GIC

----------------------------------------------------------------
Anshuman Khandual (1):
      arm64/Kconfig: Remove redundant 'if HAVE_FUNCTION_GRAPH_TRACER'

Fangrui Song (1):
      arm64/vdso: Remove --hash-style=sysv

Masahiro Yamada (1):
      arm64: remove redundant 'if HAVE_ARCH_KASAN' in Kconfig

Raghavendra Rao Ananta (1):
      arm64/sysreg: Correct the values for GICv4.1

Remington Brasga (1):
      kselftest: missing arg in ptrace.c

Will Deacon (1):
      arm64: mm: Fix lockless walks with static and dynamic page-table folding

 arch/arm64/Kconfig                         |  8 ++++----
 arch/arm64/include/asm/pgtable.h           | 22 ++++++++++++++++++++++
 arch/arm64/kernel/vdso/Makefile            |  2 +-
 arch/arm64/kernel/vdso32/Makefile          |  2 +-
 arch/arm64/tools/sysreg                    |  4 ++--
 tools/testing/selftests/arm64/abi/ptrace.c |  2 +-
 6 files changed, 31 insertions(+), 9 deletions(-)

.
Date: Fri, 26 Jul 2024 09:45:32 +0100
From: Will Deacon <will@kernel.org>
To: torvalds@linux-foundation.org
Cc: joro@8bytes.org, linux-kernel@vger.kernel.org, iommu@lists.linux.dev
Subject: [GIT PULL] IOMMU fixes for -rc1

Hi Linus,

Please pull this small collection of IOMMU driver fixes for -rc1. The
summary is in the tag.

We're still resolving a regression with the handling of unexpected page
faults on SMMUv3, but we're not quite there with a fix yet.

Cheers,

Will

--->8

The following changes since commit 8b6c32e831ef4496b51a68ddc5be9bb9e8d2337d:

  Merge branch 'iommu/iommufd/paging-domain-alloc' into iommu/next (2024-07-12 16:57:47 +0100)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/iommu/linux.git tags/iommu-fixes-v6.11-rc1

for you to fetch changes up to 726d4f528dbc98a84d9ce3c749dfdada3dcdd5ca:

  iommu: arm-smmu: Fix Tegra workaround for PAGE_SIZE mappings (2024-07-25 13:08:44 +0100)

----------------------------------------------------------------
IOMMU Fixes for Linux v6.11-rc1

- Fix NULL dereference when freeing domain in Unisoc SPRD driver.

- Separate assignment statements with semicolons in AMD page-table code.

- Fix Tegra erratum workaround when the CPU is using 16KiB pages.

----------------------------------------------------------------
Artem Chernyshev (1):
      iommu: sprd: Avoid NULL deref in sprd_iommu_hw_en

Ashish Mhetre (1):
      iommu: arm-smmu: Fix Tegra workaround for PAGE_SIZE mappings

Chen Ni (1):
      iommu/amd: Convert comma to semicolon

 drivers/iommu/amd/io_pgtable.c               | 6 +++---
 drivers/iommu/arm/arm-smmu/arm-smmu-nvidia.c | 2 +-
 drivers/iommu/sprd-iommu.c                   | 2 +-
 3 files changed, 5 insertions(+), 5 deletions(-)

.
Date: Fri, 26 Jul 2024 11:57:58 +0200
From: Juergen Gross <jgross@suse.com>
To: torvalds@linux-foundation.org
Cc: linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	sstabellini@kernel.org
Subject: [GIT PULL] xen: branch for v6.11-rc1 take 2

Linus,

Please git pull the following tag:

 git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git for-linus-6.11-rc1a-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 -
 arch/x86/xen/enlighten_pvh.c          | 107 ++++++++++++++++++----------------
 arch/x86/xen/multicalls.c             |  19 +++---
 arch/x86/xen/smp_pv.c                 |   1 +
 arch/x86/xen/xen-ops.h                |   3 +
 6 files changed, 74 insertions(+), 64 deletions(-)

Juergen Gross (1):
      xen: fix multicall debug data referencing

Roger Pau Monne (2):
      x86/xen: move xen_reserve_extra_memory()
      x86/xen: fix memblock_reserve() usage on PVH

.
Date: Fri, 26 Jul 2024 13:08:09 +0200
From: "Rafael J. Wysocki" <rafael@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Linux PM <linux-pm@vger.kernel.org>, 
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>, Daniel Lezcano <daniel.lezcano@linaro.org>
Subject: [GIT PULL] One more thermal control fix for v6.11-rc1

Hi Linus,

Please pull from the tag

 git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git \
 thermal-6.11-rc1-3

with top-most commit f7c1b0e4ae47e67c6f9af84568a5f4a80638ccd8

 thermal: core: Back off when polling thermal zones on errors

on top of commit 539fbb912321ab6361ccc08b72f5f83e8a25c24b

 Merge tag 'thermal-6.11-rc1-2' of
git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm

to receive one more thermal control fix for 6.11-rc1.

This prevents the thermal core from flooding the kernel log with useless
messages if thermal zone temperature can never be determined (or its
sensor has failed permanently) and makes it finally give up and disable
defective thermal zones.

Thanks!


---------------

Rafael J. Wysocki (2):
      thermal: trip: Split thermal_zone_device_set_mode()
      thermal: core: Back off when polling thermal zones on errors

---------------

 drivers/thermal/thermal_core.c | 89 ++++++++++++++++++++++++++++++++++++------
 drivers/thermal/thermal_core.h | 10 +++--
 2 files changed, 85 insertions(+), 14 deletions(-)

.
Date: Fri, 26 Jul 2024 14:39:24 +0200
From: Alexandre Belloni <alexandre.belloni@bootlin.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-i3c@lists.infradead.org, linux-kernel@vger.kernel.org
Subject: [GIT PULL] I3C changes for 6.11

Hello Linus,

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.

The following changes since commit 1613e604df0cd359cf2a7fbd9be7a0bcfacfabd0:

  Linux 6.10-rc1 (2024-05-26 15:20:12 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/i3c/linux.git tags/i3c/for-6.11

for you to fetch changes up to 24168c5e6dfbdd5b414f048f47f75d64533296ca:

  dt-bindings: i3c: add header for generic I3C flags (2024-07-26 14:21:30 +0200)

----------------------------------------------------------------
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

----------------------------------------------------------------
Aniket (9):
      i3c: dw: Fix clearing queue thld
      i3c: dw: Fix IBI intr programming
      i3c: dw: Remove ibi_capable property
      dt-bindings: i3c: dw: Add apb clock binding
      i3c: dw: Use new *_enabled clk API
      i3c: dw: Add optional apb clock
      i3c: dw: Save timing registers and other values
      i3c: dw: Add some functions for reusability
      i3c: dw: Add power management support

Bhoomik Gupta (1):
      i3c: master: Enhance i3c_bus_type visibility for device searching & event monitoring

Carlos Song (1):
      dt-bindings: i3c: add header for generic I3C flags

Chen Ni (1):
      i3c: master: svc: Convert comma to semicolon

Dan Carpenter (1):
      i3c: master: svc: Fix error code in svc_i3c_master_do_daa_locked()

Frank Li (2):
      i3c: master: svc: resend target address when get NACK
      i3c: master: svc: Improve DAA STOP handle code logic

Jarkko Nikula (5):
      i3c: mipi-i3c-hci: Fix number of DAT/DCT entries for HCI versions < 1.1
      i3c: mipi-i3c-hci: Switch to lower_32_bits()/upper_32_bits() helpers
      i3c: mipi-i3c-hci: Set IBI Status and Data Ring base addresses
      i3c: mipi-i3c-hci: Error out instead on BUG_ON() in IBI DMA setup
      i3c: mipi-i3c-hci: Round IBI data chunk size to HW supported value

 Documentation/devicetree/bindings/i3c/i3c.yaml     |   5 +-
 .../bindings/i3c/snps,dw-i3c-master.yaml           |  11 +-
 MAINTAINERS                                        |   1 +
 drivers/i3c/internals.h                            |   2 -
 drivers/i3c/master.c                               |   1 +
 drivers/i3c/master/ast2600-i3c-master.c            |   1 -
 drivers/i3c/master/dw-i3c-master.c                 | 349 ++++++++++++++++-----
 drivers/i3c/master/dw-i3c-master.h                 |  14 +-
 drivers/i3c/master/mipi-i3c-hci/core.c             |   8 +
 drivers/i3c/master/mipi-i3c-hci/dma.c              |  44 +--
 drivers/i3c/master/svc-i3c-master.c                | 121 +++++--
 include/dt-bindings/i3c/i3c.h                      |  16 +
 include/linux/i3c/master.h                         |   1 +
 13 files changed, 431 insertions(+), 143 deletions(-)
 create mode 100644 include/dt-bindings/i3c/i3c.h

-- 
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

-- 
linux-i3c mailing list
linux-i3c@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-i3c

.
Date: Fri, 26 Jul 2024 14:50:16 +0200 (CEST)
From: Thomas Gleixner <tglx@linutronix.de>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org, x86@kernel.org,
 Anna-Maria Behnsen <anna-maria@linutronix.de>,
 Frederic Weisbecker <frederic@kernel.org>
Subject: [GIT pull] timers/urgent for v6.11-rc1

Linus,

please pull the latest timers/urgent branch from:

   git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git timers-urgent-20=
24-07-26

up to:  f004bf9de057: timers/migration: Fix grammar in comment


Fixes and minor updates for the timer migration code:

    - Stop testing the group->parent pointer as it is not guaranteed to be
      stable over a chain of operations by design. This includes a warning
      which would be nice to have but it produces false positives due to
      the racy nature of the check.

    - Plug a race between CPUs going in and out of idle and a CPU hotplug
      operation. The latter can create and connect a new hierarchy level
      which is missed in the concurrent updates of CPUs which go into idle.
      As a result the events of such a CPU might not be processed and
      timers go stale.

      Cure it by splitting the hotplug operation into a prepare and online
      callback. The prepare callback is guaranteed to run on an online and
      therefore active CPU. This CPU updates the hierarchy and being online
      ensures that there is always at least one migrator active which
      handles the modified hierarchy correctly when going idle. The online
      callback which runs on the incoming CPU then just marks the CPU
      active and brings it into operation.

    - Improve tracing and polish the code further so it is more obvious
      what's going on.

Thanks,

	tglx

------------------>
Anna-Maria Behnsen (8):
      timers/migration: Do not rely always on group->parent
      timers/migration: Move hierarchy setup into cpuhotplug prepare callback
      timers/migration: Improve tracing
      timers/migration: Use a single struct for hierarchy walk data
      timers/migration: Read childmask and parent pointer in a single place
      timers/migration: Rename childmask by groupmask to make naming more obv=
ious
      timers/migration: Spare write when nothing changed
      timers/migration: Fix grammar in comment


 include/linux/cpuhotplug.h             |   1 +
 include/trace/events/timer_migration.h |  16 +-
 kernel/time/timer_migration.c          | 393 +++++++++++++++++--------------=
--
 kernel/time/timer_migration.h          |  27 ++-
 4 files changed, 224 insertions(+), 213 deletions(-)

diff --git a/include/linux/cpuhotplug.h b/include/linux/cpuhotplug.h
index 7a5785f405b6..df59666a2a66 100644
--- a/include/linux/cpuhotplug.h
+++ b/include/linux/cpuhotplug.h
@@ -122,6 +122,7 @@ enum cpuhp_state {
 	CPUHP_KVM_PPC_BOOK3S_PREPARE,
 	CPUHP_ZCOMP_PREPARE,
 	CPUHP_TIMERS_PREPARE,
+	CPUHP_TMIGR_PREPARE,
 	CPUHP_MIPS_SOC_PREPARE,
 	CPUHP_BP_PREPARE_DYN,
 	CPUHP_BP_PREPARE_DYN_END		=3D CPUHP_BP_PREPARE_DYN + 20,
diff --git a/include/trace/events/timer_migration.h b/include/trace/events/ti=
mer_migration.h
index 79f19e76a80b..47db5eaf2f9a 100644
--- a/include/trace/events/timer_migration.h
+++ b/include/trace/events/timer_migration.h
@@ -43,7 +43,7 @@ TRACE_EVENT(tmigr_connect_child_parent,
 		__field( unsigned int,	lvl		)
 		__field( unsigned int,	numa_node	)
 		__field( unsigned int,	num_children	)
-		__field( u32,		childmask	)
+		__field( u32,		groupmask	)
 	),
=20
 	TP_fast_assign(
@@ -52,11 +52,11 @@ TRACE_EVENT(tmigr_connect_child_parent,
 		__entry->lvl		=3D child->parent->level;
 		__entry->numa_node	=3D child->parent->numa_node;
 		__entry->num_children	=3D child->parent->num_children;
-		__entry->childmask	=3D child->childmask;
+		__entry->groupmask	=3D child->groupmask;
 	),
=20
-	TP_printk("group=3D%p childmask=3D%0x parent=3D%p lvl=3D%d numa=3D%d num_ch=
ildren=3D%d",
-		  __entry->child,  __entry->childmask, __entry->parent,
+	TP_printk("group=3D%p groupmask=3D%0x parent=3D%p lvl=3D%d numa=3D%d num_ch=
ildren=3D%d",
+		  __entry->child,  __entry->groupmask, __entry->parent,
 		  __entry->lvl, __entry->numa_node, __entry->num_children)
 );
=20
@@ -72,7 +72,7 @@ TRACE_EVENT(tmigr_connect_cpu_parent,
 		__field( unsigned int,	lvl		)
 		__field( unsigned int,	numa_node	)
 		__field( unsigned int,	num_children	)
-		__field( u32,		childmask	)
+		__field( u32,		groupmask	)
 	),
=20
 	TP_fast_assign(
@@ -81,11 +81,11 @@ TRACE_EVENT(tmigr_connect_cpu_parent,
 		__entry->lvl		=3D tmc->tmgroup->level;
 		__entry->numa_node	=3D tmc->tmgroup->numa_node;
 		__entry->num_children	=3D tmc->tmgroup->num_children;
-		__entry->childmask	=3D tmc->childmask;
+		__entry->groupmask	=3D tmc->groupmask;
 	),
=20
-	TP_printk("cpu=3D%d childmask=3D%0x parent=3D%p lvl=3D%d numa=3D%d num_chil=
dren=3D%d",
-		  __entry->cpu,	 __entry->childmask, __entry->parent,
+	TP_printk("cpu=3D%d groupmask=3D%0x parent=3D%p lvl=3D%d numa=3D%d num_chil=
dren=3D%d",
+		  __entry->cpu,	 __entry->groupmask, __entry->parent,
 		  __entry->lvl, __entry->numa_node, __entry->num_children)
 );
=20
diff --git a/kernel/time/timer_migration.c b/kernel/time/timer_migration.c
index 84413114db5c..8d57f7686bb0 100644
--- a/kernel/time/timer_migration.c
+++ b/kernel/time/timer_migration.c
@@ -475,9 +475,54 @@ static bool tmigr_check_lonely(struct tmigr_group *group)
 	return bitmap_weight(&active, BIT_CNT) <=3D 1;
 }
=20
-typedef bool (*up_f)(struct tmigr_group *, struct tmigr_group *, void *);
+/**
+ * struct tmigr_walk - data required for walking the hierarchy
+ * @nextexp:		Next CPU event expiry information which is handed into
+ *			the timer migration code by the timer code
+ *			(get_next_timer_interrupt())
+ * @firstexp:		Contains the first event expiry information when
+ *			hierarchy is completely idle.  When CPU itself was the
+ *			last going idle, information makes sure, that CPU will
+ *			be back in time. When using this value in the remote
+ *			expiry case, firstexp is stored in the per CPU tmigr_cpu
+ *			struct of CPU which expires remote timers. It is updated
+ *			in top level group only. Be aware, there could occur a
+ *			new top level of the hierarchy between the 'top level
+ *			call' in tmigr_update_events() and the check for the
+ *			parent group in walk_groups(). Then @firstexp might
+ *			contain a value !=3D KTIME_MAX even if it was not the
+ *			final top level. This is not a problem, as the worst
+ *			outcome is a CPU which might wake up a little early.
+ * @evt:		Pointer to tmigr_event which needs to be queued (of idle
+ *			child group)
+ * @childmask:		groupmask of child group
+ * @remote:		Is set, when the new timer path is executed in
+ *			tmigr_handle_remote_cpu()
+ * @basej:		timer base in jiffies
+ * @now:		timer base monotonic
+ * @check:		is set if there is the need to handle remote timers;
+ *			required in tmigr_requires_handle_remote() only
+ * @tmc_active:		this flag indicates, whether the CPU which triggers
+ *			the hierarchy walk is !idle in the timer migration
+ *			hierarchy. When the CPU is idle and the whole hierarchy is
+ *			idle, only the first event of the top level has to be
+ *			considered.
+ */
+struct tmigr_walk {
+	u64			nextexp;
+	u64			firstexp;
+	struct tmigr_event	*evt;
+	u8			childmask;
+	bool			remote;
+	unsigned long		basej;
+	u64			now;
+	bool			check;
+	bool			tmc_active;
+};
+
+typedef bool (*up_f)(struct tmigr_group *, struct tmigr_group *, struct tmig=
r_walk *);
=20
-static void __walk_groups(up_f up, void *data,
+static void __walk_groups(up_f up, struct tmigr_walk *data,
 			  struct tmigr_cpu *tmc)
 {
 	struct tmigr_group *child =3D NULL, *group =3D tmc->tmgroup;
@@ -490,64 +535,17 @@ static void __walk_groups(up_f up, void *data,
=20
 		child =3D group;
 		group =3D group->parent;
+		data->childmask =3D child->groupmask;
 	} while (group);
 }
=20
-static void walk_groups(up_f up, void *data, struct tmigr_cpu *tmc)
+static void walk_groups(up_f up, struct tmigr_walk *data, struct tmigr_cpu *=
tmc)
 {
 	lockdep_assert_held(&tmc->lock);
=20
 	__walk_groups(up, data, tmc);
 }
=20
-/**
- * struct tmigr_walk - data required for walking the hierarchy
- * @nextexp:		Next CPU event expiry information which is handed into
- *			the timer migration code by the timer code
- *			(get_next_timer_interrupt())
- * @firstexp:		Contains the first event expiry information when last
- *			active CPU of hierarchy is on the way to idle to make
- *			sure CPU will be back in time.
- * @evt:		Pointer to tmigr_event which needs to be queued (of idle
- *			child group)
- * @childmask:		childmask of child group
- * @remote:		Is set, when the new timer path is executed in
- *			tmigr_handle_remote_cpu()
- */
-struct tmigr_walk {
-	u64			nextexp;
-	u64			firstexp;
-	struct tmigr_event	*evt;
-	u8			childmask;
-	bool			remote;
-};
-
-/**
- * struct tmigr_remote_data - data required for remote expiry hierarchy walk
- * @basej:		timer base in jiffies
- * @now:		timer base monotonic
- * @firstexp:		returns expiry of the first timer in the idle timer
- *			migration hierarchy to make sure the timer is handled in
- *			time; it is stored in the per CPU tmigr_cpu struct of
- *			CPU which expires remote timers
- * @childmask:		childmask of child group
- * @check:		is set if there is the need to handle remote timers;
- *			required in tmigr_requires_handle_remote() only
- * @tmc_active:		this flag indicates, whether the CPU which triggers
- *			the hierarchy walk is !idle in the timer migration
- *			hierarchy. When the CPU is idle and the whole hierarchy is
- *			idle, only the first event of the top level has to be
- *			considered.
- */
-struct tmigr_remote_data {
-	unsigned long	basej;
-	u64		now;
-	u64		firstexp;
-	u8		childmask;
-	bool		check;
-	bool		tmc_active;
-};
-
 /*
  * Returns the next event of the timerqueue @group->events
  *
@@ -618,10 +616,9 @@ static u64 tmigr_next_groupevt_expires(struct tmigr_grou=
p *group)
=20
 static bool tmigr_active_up(struct tmigr_group *group,
 			    struct tmigr_group *child,
-			    void *ptr)
+			    struct tmigr_walk *data)
 {
 	union tmigr_state curstate, newstate;
-	struct tmigr_walk *data =3D ptr;
 	bool walk_done;
 	u8 childmask;
=20
@@ -649,8 +646,7 @@ static bool tmigr_active_up(struct tmigr_group *group,
=20
 	} while (!atomic_try_cmpxchg(&group->migr_state, &curstate.state, newstate.=
state));
=20
-	if ((walk_done =3D=3D false) && group->parent)
-		data->childmask =3D group->childmask;
+	trace_tmigr_group_set_cpu_active(group, newstate, childmask);
=20
 	/*
 	 * The group is active (again). The group event might be still queued
@@ -666,8 +662,6 @@ static bool tmigr_active_up(struct tmigr_group *group,
 	 */
 	group->groupevt.ignore =3D true;
=20
-	trace_tmigr_group_set_cpu_active(group, newstate, childmask);
-
 	return walk_done;
 }
=20
@@ -675,7 +669,7 @@ static void __tmigr_cpu_activate(struct tmigr_cpu *tmc)
 {
 	struct tmigr_walk data;
=20
-	data.childmask =3D tmc->childmask;
+	data.childmask =3D tmc->groupmask;
=20
 	trace_tmigr_cpu_active(tmc);
=20
@@ -860,10 +854,8 @@ bool tmigr_update_events(struct tmigr_group *group, stru=
ct tmigr_group *child,
=20
 static bool tmigr_new_timer_up(struct tmigr_group *group,
 			       struct tmigr_group *child,
-			       void *ptr)
+			       struct tmigr_walk *data)
 {
-	struct tmigr_walk *data =3D ptr;
-
 	return tmigr_update_events(group, child, data);
 }
=20
@@ -995,9 +987,8 @@ static void tmigr_handle_remote_cpu(unsigned int cpu, u64=
 now,
=20
 static bool tmigr_handle_remote_up(struct tmigr_group *group,
 				   struct tmigr_group *child,
-				   void *ptr)
+				   struct tmigr_walk *data)
 {
-	struct tmigr_remote_data *data =3D ptr;
 	struct tmigr_event *evt;
 	unsigned long jif;
 	u8 childmask;
@@ -1034,12 +1025,10 @@ static bool tmigr_handle_remote_up(struct tmigr_group=
 *group,
 	}
=20
 	/*
-	 * Update of childmask for the next level and keep track of the expiry
-	 * of the first event that needs to be handled (group->next_expiry was
-	 * updated by tmigr_next_expired_groupevt(), next was set by
-	 * tmigr_handle_remote_cpu()).
+	 * Keep track of the expiry of the first event that needs to be handled
+	 * (group->next_expiry was updated by tmigr_next_expired_groupevt(),
+	 * next was set by tmigr_handle_remote_cpu()).
 	 */
-	data->childmask =3D group->childmask;
 	data->firstexp =3D group->next_expiry;
=20
 	raw_spin_unlock_irq(&group->lock);
@@ -1055,12 +1044,12 @@ static bool tmigr_handle_remote_up(struct tmigr_group=
 *group,
 void tmigr_handle_remote(void)
 {
 	struct tmigr_cpu *tmc =3D this_cpu_ptr(&tmigr_cpu);
-	struct tmigr_remote_data data;
+	struct tmigr_walk data;
=20
 	if (tmigr_is_not_available(tmc))
 		return;
=20
-	data.childmask =3D tmc->childmask;
+	data.childmask =3D tmc->groupmask;
 	data.firstexp =3D KTIME_MAX;
=20
 	/*
@@ -1068,7 +1057,7 @@ void tmigr_handle_remote(void)
 	 * in tmigr_handle_remote_up() anyway. Keep this check to speed up the
 	 * return when nothing has to be done.
 	 */
-	if (!tmigr_check_migrator(tmc->tmgroup, tmc->childmask)) {
+	if (!tmigr_check_migrator(tmc->tmgroup, tmc->groupmask)) {
 		/*
 		 * If this CPU was an idle migrator, make sure to clear its wakeup
 		 * value so it won't chase timers that have already expired elsewhere.
@@ -1097,9 +1086,8 @@ void tmigr_handle_remote(void)
=20
 static bool tmigr_requires_handle_remote_up(struct tmigr_group *group,
 					    struct tmigr_group *child,
-					    void *ptr)
+					    struct tmigr_walk *data)
 {
-	struct tmigr_remote_data *data =3D ptr;
 	u8 childmask;
=20
 	childmask =3D data->childmask;
@@ -1118,7 +1106,7 @@ static bool tmigr_requires_handle_remote_up(struct tmig=
r_group *group,
 	 * group before reading the next_expiry value.
 	 */
 	if (group->parent && !data->tmc_active)
-		goto out;
+		return false;
=20
 	/*
 	 * The lock is required on 32bit architectures to read the variable
@@ -1143,9 +1131,6 @@ static bool tmigr_requires_handle_remote_up(struct tmig=
r_group *group,
 		raw_spin_unlock(&group->lock);
 	}
=20
-out:
-	/* Update of childmask for the next level */
-	data->childmask =3D group->childmask;
 	return false;
 }
=20
@@ -1157,7 +1142,7 @@ static bool tmigr_requires_handle_remote_up(struct tmig=
r_group *group,
 bool tmigr_requires_handle_remote(void)
 {
 	struct tmigr_cpu *tmc =3D this_cpu_ptr(&tmigr_cpu);
-	struct tmigr_remote_data data;
+	struct tmigr_walk data;
 	unsigned long jif;
 	bool ret =3D false;
=20
@@ -1165,7 +1150,7 @@ bool tmigr_requires_handle_remote(void)
 		return ret;
=20
 	data.now =3D get_jiffies_update(&jif);
-	data.childmask =3D tmc->childmask;
+	data.childmask =3D tmc->groupmask;
 	data.firstexp =3D KTIME_MAX;
 	data.tmc_active =3D !tmc->idle;
 	data.check =3D false;
@@ -1230,14 +1215,13 @@ u64 tmigr_cpu_new_timer(u64 nextexp)
 		if (nextexp !=3D tmc->cpuevt.nextevt.expires ||
 		    tmc->cpuevt.ignore) {
 			ret =3D tmigr_new_timer(tmc, nextexp);
+			/*
+			 * Make sure the reevaluation of timers in idle path
+			 * will not miss an event.
+			 */
+			WRITE_ONCE(tmc->wakeup, ret);
 		}
 	}
-	/*
-	 * Make sure the reevaluation of timers in idle path will not miss an
-	 * event.
-	 */
-	WRITE_ONCE(tmc->wakeup, ret);
-
 	trace_tmigr_cpu_new_timer_idle(tmc, nextexp);
 	raw_spin_unlock(&tmc->lock);
 	return ret;
@@ -1245,10 +1229,9 @@ u64 tmigr_cpu_new_timer(u64 nextexp)
=20
 static bool tmigr_inactive_up(struct tmigr_group *group,
 			      struct tmigr_group *child,
-			      void *ptr)
+			      struct tmigr_walk *data)
 {
 	union tmigr_state curstate, newstate, childstate;
-	struct tmigr_walk *data =3D ptr;
 	bool walk_done;
 	u8 childmask;
=20
@@ -1299,9 +1282,10 @@ static bool tmigr_inactive_up(struct tmigr_group *grou=
p,
=20
 		WARN_ON_ONCE((newstate.migrator !=3D TMIGR_NONE) && !(newstate.active));
=20
-		if (atomic_try_cmpxchg(&group->migr_state, &curstate.state,
-				       newstate.state))
+		if (atomic_try_cmpxchg(&group->migr_state, &curstate.state, newstate.state=
)) {
+			trace_tmigr_group_set_cpu_inactive(group, newstate, childmask);
 			break;
+		}
=20
 		/*
 		 * The memory barrier is paired with the cmpxchg() in
@@ -1317,22 +1301,6 @@ static bool tmigr_inactive_up(struct tmigr_group *grou=
p,
 	/* Event Handling */
 	tmigr_update_events(group, child, data);
=20
-	if (group->parent && (walk_done =3D=3D false))
-		data->childmask =3D group->childmask;
-
-	/*
-	 * data->firstexp was set by tmigr_update_events() and contains the
-	 * expiry of the first global event which needs to be handled. It
-	 * differs from KTIME_MAX if:
-	 * - group is the top level group and
-	 * - group is idle (which means CPU was the last active CPU in the
-	 *   hierarchy) and
-	 * - there is a pending event in the hierarchy
-	 */
-	WARN_ON_ONCE(data->firstexp !=3D KTIME_MAX && group->parent);
-
-	trace_tmigr_group_set_cpu_inactive(group, newstate, childmask);
-
 	return walk_done;
 }
=20
@@ -1341,7 +1309,7 @@ static u64 __tmigr_cpu_deactivate(struct tmigr_cpu *tmc=
, u64 nextexp)
 	struct tmigr_walk data =3D { .nextexp =3D nextexp,
 				   .firstexp =3D KTIME_MAX,
 				   .evt =3D &tmc->cpuevt,
-				   .childmask =3D tmc->childmask };
+				   .childmask =3D tmc->groupmask };
=20
 	/*
 	 * If nextexp is KTIME_MAX, the CPU event will be ignored because the
@@ -1400,7 +1368,7 @@ u64 tmigr_cpu_deactivate(u64 nextexp)
  *			  the only one in the level 0 group; and if it is the
  *			  only one in level 0 group, but there are more than a
  *			  single group active on the way to top level)
- * * nextevt		- when CPU is offline and has to handle timer on his own
+ * * nextevt		- when CPU is offline and has to handle timer on its own
  *			  or when on the way to top in every group only a single
  *			  child is active but @nextevt is before the lowest
  *			  next_expiry encountered while walking up to top level.
@@ -1419,7 +1387,7 @@ u64 tmigr_quick_check(u64 nextevt)
 	if (WARN_ON_ONCE(tmc->idle))
 		return nextevt;
=20
-	if (!tmigr_check_migrator_and_lonely(tmc->tmgroup, tmc->childmask))
+	if (!tmigr_check_migrator_and_lonely(tmc->tmgroup, tmc->groupmask))
 		return KTIME_MAX;
=20
 	do {
@@ -1442,6 +1410,66 @@ u64 tmigr_quick_check(u64 nextevt)
 	return KTIME_MAX;
 }
=20
+/*
+ * tmigr_trigger_active() - trigger a CPU to become active again
+ *
+ * This function is executed on a CPU which is part of cpu_online_mask, when=
 the
+ * last active CPU in the hierarchy is offlining. With this, it is ensured t=
hat
+ * the other CPU is active and takes over the migrator duty.
+ */
+static long tmigr_trigger_active(void *unused)
+{
+	struct tmigr_cpu *tmc =3D this_cpu_ptr(&tmigr_cpu);
+
+	WARN_ON_ONCE(!tmc->online || tmc->idle);
+
+	return 0;
+}
+
+static int tmigr_cpu_offline(unsigned int cpu)
+{
+	struct tmigr_cpu *tmc =3D this_cpu_ptr(&tmigr_cpu);
+	int migrator;
+	u64 firstexp;
+
+	raw_spin_lock_irq(&tmc->lock);
+	tmc->online =3D false;
+	WRITE_ONCE(tmc->wakeup, KTIME_MAX);
+
+	/*
+	 * CPU has to handle the local events on his own, when on the way to
+	 * offline; Therefore nextevt value is set to KTIME_MAX
+	 */
+	firstexp =3D __tmigr_cpu_deactivate(tmc, KTIME_MAX);
+	trace_tmigr_cpu_offline(tmc);
+	raw_spin_unlock_irq(&tmc->lock);
+
+	if (firstexp !=3D KTIME_MAX) {
+		migrator =3D cpumask_any_but(cpu_online_mask, cpu);
+		work_on_cpu(migrator, tmigr_trigger_active, NULL);
+	}
+
+	return 0;
+}
+
+static int tmigr_cpu_online(unsigned int cpu)
+{
+	struct tmigr_cpu *tmc =3D this_cpu_ptr(&tmigr_cpu);
+
+	/* Check whether CPU data was successfully initialized */
+	if (WARN_ON_ONCE(!tmc->tmgroup))
+		return -EINVAL;
+
+	raw_spin_lock_irq(&tmc->lock);
+	trace_tmigr_cpu_online(tmc);
+	tmc->idle =3D timer_base_is_idle();
+	if (!tmc->idle)
+		__tmigr_cpu_activate(tmc);
+	tmc->online =3D true;
+	raw_spin_unlock_irq(&tmc->lock);
+	return 0;
+}
+
 static void tmigr_init_group(struct tmigr_group *group, unsigned int lvl,
 			     int node)
 {
@@ -1514,21 +1542,25 @@ static struct tmigr_group *tmigr_get_group(unsigned i=
nt cpu, int node,
 }
=20
 static void tmigr_connect_child_parent(struct tmigr_group *child,
-				       struct tmigr_group *parent)
+				       struct tmigr_group *parent,
+				       bool activate)
 {
-	union tmigr_state childstate;
+	struct tmigr_walk data;
=20
 	raw_spin_lock_irq(&child->lock);
 	raw_spin_lock_nested(&parent->lock, SINGLE_DEPTH_NESTING);
=20
 	child->parent =3D parent;
-	child->childmask =3D BIT(parent->num_children++);
+	child->groupmask =3D BIT(parent->num_children++);
=20
 	raw_spin_unlock(&parent->lock);
 	raw_spin_unlock_irq(&child->lock);
=20
 	trace_tmigr_connect_child_parent(child);
=20
+	if (!activate)
+		return;
+
 	/*
 	 * To prevent inconsistent states, active children need to be active in
 	 * the new parent as well. Inactive children are already marked inactive
@@ -1544,21 +1576,24 @@ static void tmigr_connect_child_parent(struct tmigr_g=
roup *child,
 	 *   child to the new parent. So tmigr_connect_child_parent() is
 	 *   executed with the formerly top level group (child) and the newly
 	 *   created group (parent).
+	 *
+	 * * It is ensured that the child is active, as this setup path is
+	 *   executed in hotplug prepare callback. This is exectued by an
+	 *   already connected and !idle CPU. Even if all other CPUs go idle,
+	 *   the CPU executing the setup will be responsible up to current top
+	 *   level group. And the next time it goes inactive, it will release
+	 *   the new childmask and parent to subsequent walkers through this
+	 *   @child. Therefore propagate active state unconditionally.
 	 */
-	childstate.state =3D atomic_read(&child->migr_state);
-	if (childstate.migrator !=3D TMIGR_NONE) {
-		struct tmigr_walk data;
-
-		data.childmask =3D child->childmask;
+	data.childmask =3D child->groupmask;
=20
-		/*
-		 * There is only one new level per time. When connecting the
-		 * child and the parent and set the child active when the parent
-		 * is inactive, the parent needs to be the uppermost
-		 * level. Otherwise there went something wrong!
-		 */
-		WARN_ON(!tmigr_active_up(parent, child, &data) && parent->parent);
-	}
+	/*
+	 * There is only one new level per time (which is protected by
+	 * tmigr_mutex). When connecting the child and the parent and set the
+	 * child active when the parent is inactive, the parent needs to be the
+	 * uppermost level. Otherwise there went something wrong!
+	 */
+	WARN_ON(!tmigr_active_up(parent, child, &data) && parent->parent);
 }
=20
 static int tmigr_setup_groups(unsigned int cpu, unsigned int node)
@@ -1611,12 +1646,12 @@ static int tmigr_setup_groups(unsigned int cpu, unsig=
ned int node)
 		 * Update tmc -> group / child -> group connection
 		 */
 		if (i =3D=3D 0) {
-			struct tmigr_cpu *tmc =3D this_cpu_ptr(&tmigr_cpu);
+			struct tmigr_cpu *tmc =3D per_cpu_ptr(&tmigr_cpu, cpu);
=20
 			raw_spin_lock_irq(&group->lock);
=20
 			tmc->tmgroup =3D group;
-			tmc->childmask =3D BIT(group->num_children++);
+			tmc->groupmask =3D BIT(group->num_children++);
=20
 			raw_spin_unlock_irq(&group->lock);
=20
@@ -1626,7 +1661,8 @@ static int tmigr_setup_groups(unsigned int cpu, unsigne=
d int node)
 			continue;
 		} else {
 			child =3D stack[i - 1];
-			tmigr_connect_child_parent(child, group);
+			/* Will be activated at online time */
+			tmigr_connect_child_parent(child, group, false);
 		}
=20
 		/* check if uppermost level was newly created */
@@ -1637,12 +1673,21 @@ static int tmigr_setup_groups(unsigned int cpu, unsig=
ned int node)
=20
 		lvllist =3D &tmigr_level_list[top];
 		if (group->num_children =3D=3D 1 && list_is_singular(lvllist)) {
+			/*
+			 * The target CPU must never do the prepare work, except
+			 * on early boot when the boot CPU is the target. Otherwise
+			 * it may spuriously activate the old top level group inside
+			 * the new one (nevertheless whether old top level group is
+			 * active or not) and/or release an uninitialized childmask.
+			 */
+			WARN_ON_ONCE(cpu =3D=3D raw_smp_processor_id());
+
 			lvllist =3D &tmigr_level_list[top - 1];
 			list_for_each_entry(child, lvllist, list) {
 				if (child->parent)
 					continue;
=20
-				tmigr_connect_child_parent(child, group);
+				tmigr_connect_child_parent(child, group, true);
 			}
 		}
 	}
@@ -1664,80 +1709,31 @@ static int tmigr_add_cpu(unsigned int cpu)
 	return ret;
 }
=20
-static int tmigr_cpu_online(unsigned int cpu)
-{
-	struct tmigr_cpu *tmc =3D this_cpu_ptr(&tmigr_cpu);
-	int ret;
-
-	/* First online attempt? Initialize CPU data */
-	if (!tmc->tmgroup) {
-		raw_spin_lock_init(&tmc->lock);
-
-		ret =3D tmigr_add_cpu(cpu);
-		if (ret < 0)
-			return ret;
-
-		if (tmc->childmask =3D=3D 0)
-			return -EINVAL;
-
-		timerqueue_init(&tmc->cpuevt.nextevt);
-		tmc->cpuevt.nextevt.expires =3D KTIME_MAX;
-		tmc->cpuevt.ignore =3D true;
-		tmc->cpuevt.cpu =3D cpu;
-
-		tmc->remote =3D false;
-		WRITE_ONCE(tmc->wakeup, KTIME_MAX);
-	}
-	raw_spin_lock_irq(&tmc->lock);
-	trace_tmigr_cpu_online(tmc);
-	tmc->idle =3D timer_base_is_idle();
-	if (!tmc->idle)
-		__tmigr_cpu_activate(tmc);
-	tmc->online =3D true;
-	raw_spin_unlock_irq(&tmc->lock);
-	return 0;
-}
-
-/*
- * tmigr_trigger_active() - trigger a CPU to become active again
- *
- * This function is executed on a CPU which is part of cpu_online_mask, when=
 the
- * last active CPU in the hierarchy is offlining. With this, it is ensured t=
hat
- * the other CPU is active and takes over the migrator duty.
- */
-static long tmigr_trigger_active(void *unused)
+static int tmigr_cpu_prepare(unsigned int cpu)
 {
-	struct tmigr_cpu *tmc =3D this_cpu_ptr(&tmigr_cpu);
+	struct tmigr_cpu *tmc =3D per_cpu_ptr(&tmigr_cpu, cpu);
+	int ret =3D 0;
=20
-	WARN_ON_ONCE(!tmc->online || tmc->idle);
-
-	return 0;
-}
-
-static int tmigr_cpu_offline(unsigned int cpu)
-{
-	struct tmigr_cpu *tmc =3D this_cpu_ptr(&tmigr_cpu);
-	int migrator;
-	u64 firstexp;
+	/* Not first online attempt? */
+	if (tmc->tmgroup)
+		return ret;
=20
-	raw_spin_lock_irq(&tmc->lock);
-	tmc->online =3D false;
+	raw_spin_lock_init(&tmc->lock);
+	timerqueue_init(&tmc->cpuevt.nextevt);
+	tmc->cpuevt.nextevt.expires =3D KTIME_MAX;
+	tmc->cpuevt.ignore =3D true;
+	tmc->cpuevt.cpu =3D cpu;
+	tmc->remote =3D false;
 	WRITE_ONCE(tmc->wakeup, KTIME_MAX);
=20
-	/*
-	 * CPU has to handle the local events on his own, when on the way to
-	 * offline; Therefore nextevt value is set to KTIME_MAX
-	 */
-	firstexp =3D __tmigr_cpu_deactivate(tmc, KTIME_MAX);
-	trace_tmigr_cpu_offline(tmc);
-	raw_spin_unlock_irq(&tmc->lock);
+	ret =3D tmigr_add_cpu(cpu);
+	if (ret < 0)
+		return ret;
=20
-	if (firstexp !=3D KTIME_MAX) {
-		migrator =3D cpumask_any_but(cpu_online_mask, cpu);
-		work_on_cpu(migrator, tmigr_trigger_active, NULL);
-	}
+	if (tmc->groupmask =3D=3D 0)
+		return -EINVAL;
=20
-	return 0;
+	return ret;
 }
=20
 static int __init tmigr_init(void)
@@ -1796,6 +1792,11 @@ static int __init tmigr_init(void)
 		tmigr_hierarchy_levels, TMIGR_CHILDREN_PER_GROUP,
 		tmigr_crossnode_level);
=20
+	ret =3D cpuhp_setup_state(CPUHP_TMIGR_PREPARE, "tmigr:prepare",
+				tmigr_cpu_prepare, NULL);
+	if (ret)
+		goto err;
+
 	ret =3D cpuhp_setup_state(CPUHP_AP_TMIGR_ONLINE, "tmigr:online",
 				tmigr_cpu_online, tmigr_cpu_offline);
 	if (ret)
@@ -1807,4 +1808,4 @@ static int __init tmigr_init(void)
 	pr_err("Timer migration setup failed\n");
 	return ret;
 }
-late_initcall(tmigr_init);
+early_initcall(tmigr_init);
diff --git a/kernel/time/timer_migration.h b/kernel/time/timer_migration.h
index 6c37d94a37d9..154accc7a543 100644
--- a/kernel/time/timer_migration.h
+++ b/kernel/time/timer_migration.h
@@ -22,7 +22,17 @@ struct tmigr_event {
  * struct tmigr_group - timer migration hierarchy group
  * @lock:		Lock protecting the event information and group hierarchy
  *			information during setup
- * @parent:		Pointer to the parent group
+ * @parent:		Pointer to the parent group. Pointer is updated when a
+ *			new hierarchy level is added because of a CPU coming
+ *			online the first time. Once it is set, the pointer will
+ *			not be removed or updated. When accessing parent pointer
+ *			lock less to decide whether to abort a propagation or
+ *			not, it is not a problem. The worst outcome is an
+ *			unnecessary/early CPU wake up. But do not access parent
+ *			pointer several times in the same 'action' (like
+ *			activation, deactivation, check for remote expiry,...)
+ *			without holding the lock as it is not ensured that value
+ *			will not change.
  * @groupevt:		Next event of the group which is only used when the
  *			group is !active. The group event is then queued into
  *			the parent timer queue.
@@ -41,9 +51,8 @@ struct tmigr_event {
  * @num_children:	Counter of group children to make sure the group is only
  *			filled with TMIGR_CHILDREN_PER_GROUP; Required for setup
  *			only
- * @childmask:		childmask of the group in the parent group; is set
- *			during setup and will never change; can be read
- *			lockless
+ * @groupmask:		mask of the group in the parent group; is set during
+ *			setup and will never change; can be read lockless
  * @list:		List head that is added to the per level
  *			tmigr_level_list; is required during setup when a
  *			new group needs to be connected to the existing
@@ -59,7 +68,7 @@ struct tmigr_group {
 	unsigned int		level;
 	int			numa_node;
 	unsigned int		num_children;
-	u8			childmask;
+	u8			groupmask;
 	struct list_head	list;
 };
=20
@@ -79,7 +88,7 @@ struct tmigr_group {
  *			hierarchy
  * @remote:		Is set when timers of the CPU are expired remotely
  * @tmgroup:		Pointer to the parent group
- * @childmask:		childmask of tmigr_cpu in the parent group
+ * @groupmask:		mask of tmigr_cpu in the parent group
  * @wakeup:		Stores the first timer when the timer migration
  *			hierarchy is completely idle and remote expiry was done;
  *			is returned to timer code in the idle path and is only
@@ -92,7 +101,7 @@ struct tmigr_cpu {
 	bool			idle;
 	bool			remote;
 	struct tmigr_group	*tmgroup;
-	u8			childmask;
+	u8			groupmask;
 	u64			wakeup;
 	struct tmigr_event	cpuevt;
 };
@@ -108,8 +117,8 @@ union tmigr_state {
 	u32 state;
 	/**
 	 * struct - split state of tmigr_group
-	 * @active:	Contains each childmask bit of the active children
-	 * @migrator:	Contains childmask of the child which is migrator
+	 * @active:	Contains each mask bit of the active children
+	 * @migrator:	Contains mask of the child which is migrator
 	 * @seq:	Sequence counter needs to be increased when an update
 	 *		to the tmigr_state is done. It prevents a race when
 	 *		updates in the child groups are propagated in changed


.
Date: Fri, 26 Jul 2024 21:12:43 +0800
From: Gao Xiang <xiang@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-erofs@lists.ozlabs.org, LKML <linux-kernel@vger.kernel.org>,
	Hongbo Li <lihongbo22@huawei.com>,
	Huang Xiaojia <huangxiaojia2@huawei.com>,
	Chen Ni <nichen@iscas.ac.cn>, Chao Yu <chao@kernel.org>,
	Stephen Rothwell <sfr@canb.auug.org.au>
Subject: [GIT PULL] erofs more updates for 6.11-rc1

Hi Linus,

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

The following changes since commit a3c10bed330b7ab401254a0c91098a03b04f1448:

  erofs: silence uninitialized variable warning in z_erofs_scan_folio() (2024-07-13 12:47:34 +0800)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs.git tags/erofs-for-6.11-rc1-2

for you to fetch changes up to 14e9283fb22d0d259820a5f05c6059678bab9ac5:

  erofs: convert comma to semicolon (2024-07-26 18:48:12 +0800)

----------------------------------------------------------------
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().

----------------------------------------------------------------
Chen Ni (1):
      erofs: convert comma to semicolon

Gao Xiang (2):
      erofs: fix race in z_erofs_get_gbuf()
      erofs: support multi-page folios for erofs_bread()

Hongbo Li (1):
      erofs: support STATX_DIOALIGN

Huang Xiaojia (1):
      erofs: add support for FS_IOC_GETFSSYSFSPATH

 fs/erofs/data.c              | 30 ++++++++++++------------------
 fs/erofs/decompressor_lzma.c |  2 +-
 fs/erofs/inode.c             | 19 +++++++++++++++++--
 fs/erofs/super.c             | 16 ++++++++++++++++
 fs/erofs/zutil.c             |  3 +++
 5 files changed, 49 insertions(+), 21 deletions(-)

.
Date: Fri, 26 Jul 2024 16:17:34 +0200
From: Vasily Gorbik <gor@linux.ibm.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Heiko Carstens <hca@linux.ibm.com>,
        Alexander Gordeev <agordeev@linux.ibm.com>,
        linux-kernel@vger.kernel.org, linux-s390@vger.kernel.org
Subject: [GIT PULL] more s390 updates for 6.11 merge window

Hello Linus,

please pull more s390 updates for 6.11 merge window.

Thank you,
Vasily

The following changes since commit 66ebbdfdeb093e097399b1883390079cd4c3022b:

  Merge tag 'irq-msi-2024-07-22' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip (2024-07-22 14:02:19 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux.git tags/s390-6.11-2

for you to fetch changes up to 6dc2e98d5f1de162d1777aee97e59d75d70d07c5:

  s390: Remove protvirt and kvm config guards for uv code (2024-07-23 16:02:33 +0200)

----------------------------------------------------------------
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

----------------------------------------------------------------
Alexander Gordeev (1):
      s390/boot: Do not assume the decompressor range is reserved

Gerd Bayer (2):
      s390/pci: Refactor arch_setup_msi_irqs()
      s390/pci: Allow allocation of more than 1 MSI interrupt

Heiko Carstens (11):
      s390: Add runtime constant support
      s390/alternatives: Use consistent naming
      s390/alternatives: Merge both alternative header files
      s390/alternatives: Move text sync functions
      s390/uaccess: Make s390_kernel_write() usable for decompressor
      s390/alternatives: Rework to allow for callbacks
      s390/nospec: Push down alternative handling
      s390/alternatives: Remove alternative facility list
      s390/nmi: Simplify ptregs setup
      s390/entry: Move SIE indicator flag to thread info
      s390/atomic_ops: Disable flag outputs constraint for GCC versions below 14.2.0

Ilya Leoshkevich (2):
      s390/kmsan: Fix merge conflict with get_lowcore() introduction
      s390/ptdump: Add KMSAN page markers

Janosch Frank (1):
      s390: Remove protvirt and kvm config guards for uv code

Sven Schnelle (20):
      s390/smp: Handle restart interrupt on ipl cpu
      s390/smp: Switch pcpu_devices to percpu
      s390: Move CIF flags to struct pcpu
      s390/alternatives: Remove noaltinstr option
      s390/alternatives: Allow early alternative patching in decompressor
      s390: Add infrastructure to patch lowcore accesses
      s390/head64: Make startup code ready for lowcore relocation
      s390/entry: Make __sie64a() ready for lowcore relocation
      s390/entry: Add base register to MBEAR macro
      s390/entry: Add base register to SIEEXIT macro
      s390/entry: Add base register to CHECK_VMAP_STACK/CHECK_STACK macro
      s390/entry: Make pgm_check_handler() ready for lowcore relocation
      s390/entry: Make int handlers ready for lowcore relocation
      s390/entry: Make mchk_int_handler() ready for lowcore relocation
      s390/entry: Make restart_int_handler() ready for lowcore relocation
      s390/entry: Make __switch_to() ready for lowcore relocation
      s390/entry: Make ret_from_fork() ready for lowcore relocation
      s390/entry: Make system_call() ready for lowcore relocation
      s390/kdump: Make kdump ready for lowcore relocation
      s390/boot: Add cmdline option to relocate lowcore

Thomas Richter (1):
      s390/cpum_cf: Fix endless loop in CF_DIAG event stop

Vasily Gorbik (1):
      s390/setup: Fix __pa/__va for modules under non-GPL licenses

 Documentation/admin-guide/kernel-parameters.txt |   3 -
 arch/s390/Kconfig                               |  11 --
 arch/s390/boot/Makefile                         |   3 +-
 arch/s390/boot/alternative.c                    |   3 +
 arch/s390/boot/boot.h                           |   4 +
 arch/s390/boot/ipl_parm.c                       |   3 +
 arch/s390/boot/startup.c                        |  14 +-
 arch/s390/boot/uv.c                             |   8 -
 arch/s390/boot/uv.h                             |  13 --
 arch/s390/boot/vmem.c                           |  11 +-
 arch/s390/configs/debug_defconfig               |   1 -
 arch/s390/configs/defconfig                     |   1 -
 arch/s390/include/asm/abs_lowcore.h             |   8 +
 arch/s390/include/asm/alternative-asm.h         |  57 ------
 arch/s390/include/asm/alternative.h             | 154 +++++++++++++--
 arch/s390/include/asm/atomic_ops.h              |   3 +-
 arch/s390/include/asm/facility.h                |   1 -
 arch/s390/include/asm/kmsan.h                   |   6 +-
 arch/s390/include/asm/lowcore.h                 |  32 ++-
 arch/s390/include/asm/nospec-branch.h           |   9 +
 arch/s390/include/asm/page.h                    |   2 -
 arch/s390/include/asm/processor.h               |  30 ++-
 arch/s390/include/asm/runtime-const.h           |  77 ++++++++
 arch/s390/include/asm/smp.h                     |   1 -
 arch/s390/include/asm/spinlock.h                |   2 +-
 arch/s390/include/asm/thread_info.h             |   1 +
 arch/s390/include/asm/uaccess.h                 |   9 +-
 arch/s390/include/asm/uv.h                      |  32 ---
 arch/s390/kernel/Makefile                       |   3 +-
 arch/s390/kernel/abs_lowcore.c                  |   1 +
 arch/s390/kernel/alternative.c                  |  75 +++----
 arch/s390/kernel/alternative.h                  |   0
 arch/s390/kernel/asm-offsets.c                  |   5 +-
 arch/s390/kernel/early.c                        |   9 +-
 arch/s390/kernel/entry.S                        | 251 +++++++++++++-----------
 arch/s390/kernel/head64.S                       |   8 +-
 arch/s390/kernel/ipl.c                          |   2 +-
 arch/s390/kernel/machine_kexec.c                |   2 +-
 arch/s390/kernel/nospec-branch.c                |  16 +-
 arch/s390/kernel/nospec-sysfs.c                 |   2 +-
 arch/s390/kernel/perf_cpum_cf.c                 |  14 +-
 arch/s390/kernel/processor.c                    |  20 +-
 arch/s390/kernel/reipl.S                        |  26 ++-
 arch/s390/kernel/setup.c                        |   7 +-
 arch/s390/kernel/smp.c                          | 141 ++++++-------
 arch/s390/kernel/uv.c                           |  35 ++--
 arch/s390/kernel/vmlinux.lds.S                  |   5 +
 arch/s390/lib/spinlock.c                        |   4 +-
 arch/s390/mm/dump_pagetables.c                  |  30 +++
 arch/s390/mm/maccess.c                          |   4 +-
 arch/s390/pci/pci_irq.c                         | 110 +++++++----
 drivers/s390/char/Kconfig                       |   2 +-
 52 files changed, 746 insertions(+), 525 deletions(-)
 create mode 100644 arch/s390/boot/alternative.c
 delete mode 100644 arch/s390/include/asm/alternative-asm.h
 create mode 100644 arch/s390/include/asm/runtime-const.h
 create mode 100644 arch/s390/kernel/alternative.h

.
Date: Fri, 26 Jul 2024 16:42:11 +0200
From: Ilya Dryomov <idryomov@gmail.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: ceph-devel@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: [GIT PULL] Ceph fixes for 6.11-rc1

Hi Linus,

The following changes since commit 0c3836482481200ead7b416ca80c68a29cfdaabd:

  Linux 6.10 (2024-07-14 15:43:32 -0700)

are available in the Git repository at:

  https://github.com/ceph/ceph-client.git tags/ceph-for-6.11-rc1

for you to fetch changes up to 3ceccb14f5576e02b81cc8b105ab81f224bd87f6:

  rbd: don't assume rbd_is_lock_owner() for exclusive mappings (2024-07-25 12:18:29 +0200)

----------------------------------------------------------------
A small patchset to address bogus I/O errors and ultimately an
assertion failure in the face of watch errors with -o exclusive
mappings in RBD marked for stable and some assorted CephFS fixes.

----------------------------------------------------------------
Chen Ni (1):
      ceph: convert comma to semicolon in __ceph_dentry_dir_lease_touch()

Ilya Dryomov (3):
      rbd: rename RBD_LOCK_STATE_RELEASING and releasing_wait
      rbd: don't assume RBD_LOCK_STATE_LOCKED for exclusive mappings
      rbd: don't assume rbd_is_lock_owner() for exclusive mappings

Max Kellermann (1):
      ceph: use cap_wait_list only if debugfs is enabled

Xiubo Li (1):
      ceph: periodically flush the cap releases

ethanwu (1):
      ceph: fix incorrect kmalloc size of pagevec mempool

 drivers/block/rbd.c  | 35 +++++++++++++++--------------------
 fs/ceph/caps.c       |  6 ++++++
 fs/ceph/dir.c        |  2 +-
 fs/ceph/mds_client.c |  4 ++++
 fs/ceph/mds_client.h |  6 ++++++
 fs/ceph/super.c      |  3 ++-
 6 files changed, 34 insertions(+), 22 deletions(-)

.
Date: Fri, 26 Jul 2024 19:38:16 +0100
From: Mark Brown <broonie@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org, Mark Brown <broonie@kernel.org>
Subject: [GIT PULL] regmap fixes for v6.11-merge-window

The following changes since commit c2bb8198fee88a428513f8d023c627ecd13aa694:

  regmap: kunit: Add test cases for regmap_multi_reg_(read,write}() (2024-07-11 12:45:55 +0100)

are available in the Git repository at:

  https://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap.git tags/regmap-fix-v6.11-merge-window

for you to fetch changes up to 542440fd7b30983cae23e32bd22f69a076ec7ef4:

  regmap: maple: work around gcc-14.1 false-positive warning (2024-07-22 13:04:04 +0100)

----------------------------------------------------------------
regmap: Fix for v6.11

Arnd sent a workaround for a false positive warning which was showing up
with GCC 14.1.

----------------------------------------------------------------
Arnd Bergmann (1):
      regmap: maple: work around gcc-14.1 false-positive warning

 drivers/base/regmap/regcache-maple.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

.
Date: Fri, 26 Jul 2024 19:38:35 +0100
From: Mark Brown <broonie@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Liam Girdwood <lgirdwood@gmail.com>, linux-kernel@vger.kernel.org, Mark Brown <broonie@kernel.org>
Subject: [GIT PULL] regulator fixes for v6.11-merge-window

The following changes since commit ef0b29e744965e8abc14260503a559366219035c:

  regulator: dt-bindings: pca9450: Make interrupt optional (2024-07-08 12:50:21 +0100)

are available in the Git repository at:

  https://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator.git tags/regulator-fix-v6.11-merge-window

for you to fetch changes up to e975d955c07cbc2cd6a83a5d8235d8373441fdb9:

  regulator: Further restrict RZG2L USB VBCTRL regulator dependencies (2024-07-26 15:11:25 +0100)

----------------------------------------------------------------
regulator: Fixes for v6.11

These two commits clean up the excessively loose dependencies for the
RZG2L USB VBCTRL regulator driver, ensuring it shouldn't prompt for
people who can't use it.

----------------------------------------------------------------
Biju Das (1):
      regulator: renesas-usb-vbus-regulator: Update the default

Mark Brown (1):
      regulator: Further restrict RZG2L USB VBCTRL regulator dependencies

 drivers/regulator/Kconfig | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

.
Date: Fri, 26 Jul 2024 19:38:48 +0100
From: Mark Brown <broonie@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-spi@vger.kernel.org, linux-kernel@vger.kernel.org, Mark Brown <broonie@kernel.org>
Subject: [GIT PULL] SPI fixes for v6.11-merge-window

The following changes since commit 3048dc8ba46b7ba11581f2a7e06849af0df13136:

  spi: dt-bindings: at91: Add sama7d65 compatible string (2024-07-12 00:18:43 +0100)

are available in the Git repository at:

  https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git tags/spi-fix-v6.11-merge-window

for you to fetch changes up to fc28d1c1fe3b3e2fbc50834c8f73dda72f6af9fc:

  spi: spidev: add correct compatible for Rohm BH2228FV (2024-07-18 11:17:09 +0100)

----------------------------------------------------------------
spi: Fixes for v6.11

The bulk of this is a series of fixes for the microchip-core driver
mostly originating from one of their customers, I also applied an
additional patch adding support for controlling the word size which came
along with it since it's still the merge window and clearly had a bunch
of fairly thorough testing.

We also have a fix for the compatible used to bind spidev to the
BH2228FV.

----------------------------------------------------------------
Conor Dooley (2):
      dt-bindings: trivial-devices: fix Rohm BH2228FV compatible string
      spi: spidev: add correct compatible for Rohm BH2228FV

Naga Sureshkumar Relli (1):
      spi: microchip-core: fix the issues in the isr

Steve Wilkins (5):
      spi: microchip-core: defer asserting chip select until just before write to TX FIFO
      spi: microchip-core: only disable SPI controller when register value change requires it
      spi: microchip-core: fix init function not setting the master and motorola modes
      spi: microchip-core: ensure TX and RX FIFOs are empty at start of a transfer
      spi: microchip-core: add support for word sizes of 1 to 32 bits

 .../devicetree/bindings/trivial-devices.yaml       |   4 +-
 drivers/spi/spi-microchip-core.c                   | 190 ++++++++++++---------
 drivers/spi/spidev.c                               |   1 +
 3 files changed, 114 insertions(+), 81 deletions(-)

.
Date: Fri, 26 Jul 2024 11:57:14 -0700
From: Stephen Boyd <sboyd@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Michael Turquette <mturquette@baylibre.com>,
	linux-clk@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: [GIT PULL] clk fixes for the merge window

The following changes since commit 589eb11498fbf7de7a1bc8ff1f4b7592687dfd46:

  Merge branches 'clk-qcom', 'clk-rockchip', 'clk-sophgo' and 'clk-thead' into clk-next (2024-07-16 11:24:25 -0700)

are available in the Git repository at:

  https://git.kernel.org/pub/scm/linux/kernel/git/clk/linux.git tags/clk-for-linus

for you to fetch changes up to f99b3feb3b0e9fca2257c90fc8317be8ee44c19a:

  clk: samsung: fix getting Exynos4 fin_pll rate from external clocks (2024-07-23 11:29:23 -0700)

----------------------------------------------------------------
A few clk driver fixes for the merge window to fix the build and boot on
some SoCs.

 - Initialize struct clk_init_data in the TI da8xx-cfgchip driver so
   that stack contents aren't used for things like clk flags leading to
   unexpected behavior

 - Don't leak stack contents in a debug print in the new Sophgo clk
   driver

 - Disable the new T-Head clk driver on 32-bit targets to fix the build
   due to a division

 - Fix Samsung Exynos4 fin_pll wreckage from the clkdev rework done last
   cycle by using a struct clk_hw directly instead of a struct clk
   consumer

----------------------------------------------------------------
Bastien Curutchet (1):
      clk: davinci: da8xx-cfgchip: Initialize clk_init_data before use

Dan Carpenter (1):
      clk: sophgo: clk-sg2042-pll: Fix uninitialized variable in debug output

Krzysztof Kozlowski (1):
      clk: samsung: fix getting Exynos4 fin_pll rate from external clocks

Palmer Dabbelt (1):
      clk: T-Head: Disable on 32-bit Targets

 drivers/clk/davinci/da8xx-cfgchip.c |  4 ++--
 drivers/clk/samsung/clk-exynos4.c   | 13 +++++++------
 drivers/clk/sophgo/clk-sg2042-pll.c |  2 +-
 drivers/clk/thead/Kconfig           |  1 +
 4 files changed, 11 insertions(+), 9 deletions(-)

-- 
https://git.kernel.org/pub/scm/linux/kernel/git/clk/linux.git/
https://git.kernel.org/pub/scm/linux/kernel/git/sboyd/spmi.git

.
Date: Fri, 26 Jul 2024 14:15:58 -0500
From: Rob Herring <robh@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Saravana Kannan <saravanak@google.com>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	Conor Dooley <conor+dt@kernel.org>, linux-kernel@vger.kernel.org,
	devicetree@vger.kernel.org
Subject: [GIT PULL] Devicetree updates for v6.11, part 2

Linus,

Please pull 2nd batch of DT updates for 6.11. Most of it is a treewide 
change to of_property_for_each_u32() which was small enough to do in one 
go before rc1 and avoids the need to create 
of_property_for_each_u32_some_new_name().

Rob


The following changes since commit c33ffdb70cc6df4105160f991288e7d2567d7ffa:

  Merge tag 'phy-for-6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy (2024-07-24 13:11:28 -0700)

are available in the Git repository at:

  ssh://git@gitolite.kernel.org/pub/scm/linux/kernel/git/robh/linux.git tags/devicetree-fixes-for-6.11-1

for you to fetch changes up to 6dc55268f64b780eb8774de3705f791b689853bb:

  dt-bindings: iio: adc: ad7192: Fix 'single-channel' constraints (2024-07-26 13:53:20 -0500)

----------------------------------------------------------------
Devicetree fixes for 6.11, part 1

- Treewide conversion of of_property_for_each_u32() to drop internal
  arguments making struct property opaque

- Add binding for Amlogic A4 SoC watchdog

- Fix constraints for AD7192 'single-channel' property

----------------------------------------------------------------
Huqiang Qin (1):
      dt-bindings: watchdog: add support for Amlogic A4 SoCs

Luca Ceresoli (1):
      of: remove internal arguments from of_property_for_each_u32()

Rob Herring (Arm) (1):
      dt-bindings: iio: adc: ad7192: Fix 'single-channel' constraints

 .../devicetree/bindings/iio/adc/adi,ad7192.yaml    |  5 +--
 .../bindings/watchdog/amlogic,meson-gxbb-wdt.yaml  |  1 +
 arch/powerpc/sysdev/xive/native.c                  |  4 +-
 arch/powerpc/sysdev/xive/spapr.c                   |  3 +-
 drivers/bus/ti-sysc.c                              |  4 +-
 drivers/clk/clk-conf.c                             |  4 +-
 drivers/clk/clk-si5351.c                           | 43 +++++++++++++---------
 drivers/clk/clk.c                                  | 12 +++---
 drivers/clk/qcom/common.c                          |  4 +-
 drivers/clk/sunxi/clk-simple-gates.c               |  4 +-
 drivers/clk/sunxi/clk-sun8i-bus-gates.c            |  4 +-
 drivers/clocksource/samsung_pwm_timer.c            |  4 +-
 drivers/gpio/gpio-brcmstb.c                        |  5 +--
 drivers/iio/adc/ti_am335x_adc.c                    |  4 +-
 drivers/irqchip/irq-atmel-aic-common.c             |  4 +-
 drivers/irqchip/irq-pic32-evic.c                   |  4 +-
 drivers/mfd/ti_am335x_tscadc.c                     |  4 +-
 drivers/pinctrl/nxp/pinctrl-s32cc.c                |  4 +-
 drivers/pinctrl/pinctrl-k210.c                     |  4 +-
 drivers/pwm/pwm-samsung.c                          |  4 +-
 drivers/tty/sysrq.c                                |  4 +-
 drivers/usb/misc/usb251xb.c                        |  4 +-
 include/linux/of.h                                 | 15 ++++----
 sound/soc/codecs/arizona.c                         | 12 +++---
 24 files changed, 64 insertions(+), 96 deletions(-)

.
Date: Fri, 26 Jul 2024 22:58:34 +0200 (CEST)
From: Richard Weinberger <richard@nod.at>
To: torvalds <torvalds@linux-foundation.org>
Cc: linux-mtd <linux-mtd@lists.infradead.org>, 
	linux-kernel <linux-kernel@vger.kernel.org>
Subject: [GIT PULL] UBI and UBIFS updates for v6.11-rc1

Linus,

The following changes since commit 22a40d14b572deb80c0648557f4bd502d7e83826:

  Linux 6.10-rc6 (2024-06-30 14:40:44 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs.git tags/ubifs-for-linus-6.11-rc1

for you to fetch changes up to 054fd15984454f031611d6c63675fc578aad0cb1:

  ubifs: add check for crypto_shash_tfm_digest (2024-07-12 22:01:09 +0200)

----------------------------------------------------------------
This pull request contains updates (actually, just fixes) for UBI and UBIFS:

- Many fixes for power-cut issues by Zhihao Cheng
- Another ubiblock error path fix
- Misc fixes all over the place

----------------------------------------------------------------
Arnd Bergmann (1):
      mtd: ubi: avoid expensive do_div() on 32-bit machines

Ben Hutchings (1):
      mtd: ubi: Restore missing cleanup on ubi_init() failure path

Chen Ni (1):
      ubifs: add check for crypto_shash_tfm_digest

Fedor Pchelkin (1):
      ubi: eba: properly rollback inside self_check_eba

Jeff Johnson (1):
      ubifs: fix kernel-doc warnings

Li Nan (1):
      ubi: block: fix null-pointer-dereference in ubiblock_create()

Ricardo B. Marliere (1):
      mtd: ubi: make ubi_class constant

ZhaoLong Wang (1):
      ubifs: correct UBIFS_DFS_DIR_LEN macro definition and improve code clarity

Zhihao Cheng (10):
      ubifs: Fix unattached xattr inode if powercut happens after deleting
      ubifs: Don't add xattr inode into orphan area
      Revert "ubifs: ubifs_symlink: Fix memleak of inode->i_link in error path"
      ubifs: Remove insert_dead_orphan from replaying orphan process
      ubifs: Fix adding orphan entry twice for the same inode
      ubifs: Move ui->data initialization after initializing security
      ubifs: Fix space leak when powercut happens in linking tmpfile
      ubifs: Fix unattached inode when powercut happens in creating
      ubifs: dbg_orphan_check: Fix missed key type checking
      ubifs: Fix inconsistent inode size when powercut happens during appendant writing

 drivers/mtd/ubi/block.c |   7 ++-
 drivers/mtd/ubi/build.c |   7 ++-
 drivers/mtd/ubi/debug.c |   4 +-
 drivers/mtd/ubi/eba.c   |   3 +-
 drivers/mtd/ubi/nvmem.c |   6 +-
 drivers/mtd/ubi/ubi.h   |   4 +-
 fs/ubifs/compress.c     |   2 +
 fs/ubifs/debug.c        |   4 +-
 fs/ubifs/debug.h        |   7 ++-
 fs/ubifs/dir.c          |  91 ++++++++++++++++------------
 fs/ubifs/file.c         |   2 +-
 fs/ubifs/find.c         |   8 +--
 fs/ubifs/journal.c      |  16 +++--
 fs/ubifs/lprops.c       |   2 +-
 fs/ubifs/lpt.c          |   1 +
 fs/ubifs/master.c       |   5 +-
 fs/ubifs/orphan.c       | 155 ++++++++----------------------------------------
 fs/ubifs/replay.c       |   1 +
 fs/ubifs/sysfs.c        |   6 +-
 fs/ubifs/ubifs.h        |  14 +----
 fs/ubifs/xattr.c        |   2 +-
 21 files changed, 134 insertions(+), 213 deletions(-)

.
Date: Fri, 26 Jul 2024 14:36:15 -0700
From: Andrew Morton <akpm@linux-foundation.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-mm@kvack.org, mm-commits@vger.kernel.org,
 linux-kernel@vger.kernel.org
Subject: [GIT PULL] hotfixes for 6.11-rc1


Linus, please merge this batch of hotfixes, thanks.

The following changes since commit 1722389b0d863056d78287a120a1d6cadb8d4f7b:

  Merge tag 'net-6.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net (2024-07-25 13:32:25 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm tags/mm-hotfixes-stable-2024-07-26-14-33

for you to fetch changes up to 4811f7af6090e8f5a398fbdd766f903ef6c0d787:

  nilfs2: handle inconsistent state in nilfs_btnode_create_block() (2024-07-26 14:33:10 -0700)

----------------------------------------------------------------
11 hotfixes, 7 of which are cc:stable.  7 are MM, 4 are other.

----------------------------------------------------------------
Dev Jain (1):
      selftests/mm: skip test for non-LPA2 and non-LVA systems

Gavin Shan (1):
      mm/huge_memory: avoid PMD-size page cache if needed

James Clark (2):
      MAINTAINERS: mailmap: update James Clark's email address
      dt-bindings: arm: update James Clark's email address

Li Zhijian (1):
      mm/page_alloc: fix pcp->count race between drain_pages_zone() vs __rmqueue_pcplist()

Ram Tummala (1):
      mm: fix old/young bit handling in the faulting path

Roman Gushchin (1):
      mm: memcg: add cacheline padding after lruvec in mem_cgroup_per_node

Ross Lagerwall (1):
      decompress_bunzip2: fix rare decompression failure

Ryusuke Konishi (1):
      nilfs2: handle inconsistent state in nilfs_btnode_create_block()

Suren Baghdasaryan (1):
      alloc_tag: outline and export free_reserved_page()

Yang Shi (1):
      mm: huge_memory: use !CONFIG_64BIT to relax huge page alignment on 32 bit machines

 .mailmap                                           |  1 +
 .../bindings/arm/arm,coresight-dummy-sink.yaml     |  2 +-
 .../bindings/arm/arm,coresight-dummy-source.yaml   |  2 +-
 MAINTAINERS                                        |  4 +--
 fs/nilfs2/btnode.c                                 | 25 ++++++++++++----
 fs/nilfs2/btree.c                                  |  4 +--
 include/linux/huge_mm.h                            | 12 ++++++--
 include/linux/memcontrol.h                         |  1 +
 include/linux/mm.h                                 | 16 +---------
 lib/decompress_bunzip2.c                           |  3 +-
 mm/huge_memory.c                                   | 14 +++++++--
 mm/memory.c                                        |  2 +-
 mm/page_alloc.c                                    | 35 +++++++++++++++++-----
 tools/testing/selftests/mm/va_high_addr_switch.c   | 16 +++++++++-
 14 files changed, 95 insertions(+), 42 deletions(-)


.
Date: Sat, 27 Jul 2024 10:51:47 +0900
From: Takashi Sakamoto <o-takashi@sakamocchi.jp>
To: torvalds@linux-foundation.org
Cc: linux-kernel@vger.kernel.org, linux1394-devel@lists.sourceforge.net,
	tiwai@suse.de, edmund.raile@proton.me
Subject: [GIT PULL] firewire fixes for v6.11-rc1

Hi Linus,

Please apply the following changes for v6.11 kernel to fix some
regressions appended to v6.10 kernel. They include the change of sound
subsystem and I have got an ack of sound subsystem maintainer.


The following changes since commit 06dcc4c9baa9e92896f00d02ffa760c0988b4371:

  firewire: core: move copy_port_status() helper function to TP_fast_assign() block (2024-07-12 14:34:12 +0900)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394.git tags/firewire-fixes-6.11-rc1

for you to fetch changes up to c1839501fe3e67d98635f159dba8b170d08f6521:

  ALSA: firewire-lib: fix wrong value as length of header for CIP_NO_HEADER case (2024-07-27 10:28:36 +0900)

----------------------------------------------------------------
firewire fixes for 6.11-rc1

Two commits are included to fix some regressions. These commits should also
be applied to the v6.10 kernel as well.

The recent integration of compiler collections introduced the technology
to check flexible array length at runtime by providing proper annotations.
In v6.10 kernel, a patch was merged into firewire subsystem to utilize it,
however the annotation was inadequate. There is also the related change for
the flexible array in sound subsystem, but it causes a regression where
the data in the payload of isochronous packet is incorrect for some
devices. These bugs are now fixed.

----------------------------------------------------------------
Takashi Sakamoto (2):
      Revert "firewire: Annotate struct fw_iso_packet with __counted_by()"
      ALSA: firewire-lib: fix wrong value as length of header for CIP_NO_HEADER case

 include/linux/firewire.h      | 5 ++---
 sound/firewire/amdtp-stream.c | 3 +--
 2 files changed, 3 insertions(+), 5 deletions(-)


Thanks

Takashi Sakamoto

.
Date: Sat, 27 Jul 2024 11:05:08 +0200
From: Christian Brauner <brauner@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Christian Brauner <brauner@kernel.org>,
	linux-fsdevel@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: [GIT PULL] vfs fixes

/* Summary */
This contains two fixes for this merge window:

VFS:

- I noticed that it is possible for a privileged user to mount most filesystems
  with a non-initial user namespace in sb->s_user_ns. When fsopen() is called
  in a non-init namespace the caller's namespace is recorded in
  fs_context->user_ns. If the returned file descriptor is then passed to a
  process privileged in init_user_ns, that process can call
  fsconfig(fd_fs, FSCONFIG_CMD_CREATE*), creating a new superblock with
  sb->s_user_ns set to the namespace of the process which called fsopen().

  This is problematic as only filesystems that raise FS_USERNS_MOUNT are known
  to be able to support a non-initial s_user_ns. Others may suffer security
  issues, on-disk corruption or outright crash the kernel. Prevent that by
  restricting such delegation to filesystems that allow FS_USERNS_MOUNT.

  Note, that this delegation requires a privileged process to actually create
  the superblock so either the privileged process is cooperaing or someone must
  have tricked a privileged process into operating on a fscontext file
  descriptor whose origin it doesn't know (a stupid idea).

  The bug dates back to about 5 years afaict.

misc:

- Fix hostfs parsing when the mount request comes in via the legacy mount api.
  In the legacy mount api hostfs allows to specify the host directory mount
  without any key. Restore that behavior.

/* Testing */
clang: Debian clang version 16.0.6 (27)
gcc: (Debian 13.2.0-25) 13.2.0

/* Conflicts */
No known conflicts.

The following changes since commit c33ffdb70cc6df4105160f991288e7d2567d7ffa:

  Merge tag 'phy-for-6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy (2024-07-24 13:11:28 -0700)

are available in the Git repository at:

  git@gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-6.11-rc1.fixes.3

for you to fetch changes up to ef9ca17ca458ac7253ae71b552e601e49311fc48:

  hostfs: fix the host directory parse when mounting. (2024-07-27 09:56:33 +0200)

Please consider pulling these changes from the signed vfs-6.11-rc1.fixes.3 tag.

Thanks!
Christian

----------------------------------------------------------------
vfs-6.11-rc1.fixes.3

----------------------------------------------------------------
Hongbo Li (1):
      hostfs: fix the host directory parse when mounting.

Seth Forshee (DigitalOcean) (1):
      fs: don't allow non-init s_user_ns for filesystems without FS_USERNS_MOUNT

 fs/hostfs/hostfs_kern.c | 65 +++++++++++++++++++++++++++++++++++++++++--------
 fs/super.c              | 11 +++++++++
 2 files changed, 66 insertions(+), 10 deletions(-)

.
Date: Sat, 27 Jul 2024 06:29:14 -0700 (PDT)
From: Palmer Dabbelt <palmer@rivosinc.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Subject: [GIT PULL] RISC-V Patches for the 6.11 Merge Window, Part 2

merged tag 'riscv-for-linus-6.11-mw1'
The following changes since commit f557af081de6b45a25e27d633b4d8d2dbc2f428e:

  Merge tag 'riscv-for-linus-6.11-mw1' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux (2024-07-20 09:11:27 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux.git tags/riscv-for-linus-6.11-mw2

for you to fetch changes up to 52420e483d3e1562f11a208d3c540b27b5e5dbf4:

  RISC-V: Provide the frequency of time CSR via hwprobe (2024-07-26 05:50:51 -0700)

----------------------------------------------------------------
RISC-V Patches for the 6.11 Merge Window, Part 2

* Support for NUMA (via SRAT and SLIT), console output (via SPCR), and
  cache info (via PPTT) on ACPI-based systems.
* The trap entry/exit code no longer breaks the return address stack
  predictor on many systems, which results in an improvement to trap
  latency.
* Support for HAVE_ARCH_STACKLEAK.
* The sv39 linear map has been extended to support 128GiB mappings.
* The frequency of the mtime CSR is now visible via hwprobe.

----------------------------------------------------------------
Sorry this one's late again, I'd accidentally picked up a patch that went
through another tree and didn't notice until yesterday morning.  There should
be no post-merge code chages, but I wanted to give it a day for the testers
just in case.

----------------------------------------------------------------
Anton Blanchard (1):
      riscv: Improve exception and system call latency

Charlie Jenkins (4):
      riscv: Extend cpufeature.c to detect vendor extensions
      riscv: Add vendor extensions to /proc/cpuinfo
      riscv: Introduce vendor variants of extension helpers
      riscv: cpufeature: Extract common elements from extension checking

Conor Dooley (2):
      RISC-V: hwprobe: sort EXT_KEY()s in hwprobe_isa_ext0() alphabetically
      RISC-V: run savedefconfig for defconfig

Haibo Xu (4):
      ACPI: RISCV: Add NUMA support based on SRAT and SLIT
      ACPI: NUMA: Add handler for SRAT RINTC affinity structure
      ACPI: NUMA: change the ACPI_NUMA to a hidden option
      ACPI: NUMA: replace pr_info with pr_debug in arch_acpi_numa_init

Jinjie Ruan (1):
      trace: riscv: Remove deprecated kprobe on ftrace support

Jisheng Zhang (2):
      riscv: boot: remove duplicated targets line
      riscv: enable HAVE_ARCH_STACKLEAK

Palmer Dabbelt (5):
      Merge patch series "Add ACPI NUMA support for RISC-V"
      Merge patch series "riscv: Separate vendor extensions from standard extensions"
      Merge patch "Enable SPCR table for console output on RISC-V"
      Merge patch series "RISC-V: Select ACPI PPTT drivers"
      RISC-V: Provide the frequency of time CSR via hwprobe

Sia Jee Heng (1):
      RISC-V: ACPI: Enable SPCR table for console output on RISC-V

Stuart Menefy (1):
      riscv: Extend sv39 linear mapping max size to 128G

Yunhui Cui (3):
      riscv: cacheinfo: remove the useless input parameter (node) of ci_leaf_init()
      riscv: cacheinfo: initialize cacheinfo's level and type from ACPI PPTT
      RISC-V: Select ACPI PPTT drivers

Zhongqiu Han (1):
      riscv: signal: Remove unlikely() from WARN_ON() condition

 Documentation/arch/riscv/hwprobe.rst             |   2 +
 Documentation/arch/riscv/vm-layout.rst           |  11 +-
 arch/arm64/Kconfig                               |   1 -
 arch/loongarch/Kconfig                           |   1 -
 arch/riscv/Kconfig                               |   6 +-
 arch/riscv/Kconfig.vendor                        |  19 +++
 arch/riscv/boot/Makefile                         |   1 -
 arch/riscv/configs/defconfig                     |  26 ++---
 arch/riscv/errata/andes/errata.c                 |   3 +
 arch/riscv/errata/sifive/errata.c                |   3 +
 arch/riscv/errata/thead/errata.c                 |   3 +
 arch/riscv/include/asm/acpi.h                    |  15 ++-
 arch/riscv/include/asm/cpufeature.h              | 103 ++++++++++------
 arch/riscv/include/asm/hwcap.h                   |  25 ++--
 arch/riscv/include/asm/hwprobe.h                 |   2 +-
 arch/riscv/include/asm/page.h                    |   2 +-
 arch/riscv/include/asm/thread_info.h             |   1 +
 arch/riscv/include/asm/vendor_extensions.h       | 104 +++++++++++++++++
 arch/riscv/include/asm/vendor_extensions/andes.h |  19 +++
 arch/riscv/include/uapi/asm/hwprobe.h            |   1 +
 arch/riscv/kernel/Makefile                       |   3 +
 arch/riscv/kernel/acpi.c                         |  17 ++-
 arch/riscv/kernel/acpi_numa.c                    | 131 +++++++++++++++++++++
 arch/riscv/kernel/cacheinfo.c                    |  35 ++++--
 arch/riscv/kernel/cpu.c                          |  35 +++++-
 arch/riscv/kernel/cpufeature.c                   | 143 ++++++++++++++++-------
 arch/riscv/kernel/entry.S                        |  21 ++--
 arch/riscv/kernel/probes/Makefile                |   1 -
 arch/riscv/kernel/probes/ftrace.c                |  65 -----------
 arch/riscv/kernel/setup.c                        |   4 +-
 arch/riscv/kernel/signal.c                       |   2 +-
 arch/riscv/kernel/smpboot.c                      |   2 -
 arch/riscv/kernel/stacktrace.c                   |   4 +-
 arch/riscv/kernel/sys_hwprobe.c                  |  48 ++++----
 arch/riscv/kernel/vendor_extensions.c            |  56 +++++++++
 arch/riscv/kernel/vendor_extensions/Makefile     |   3 +
 arch/riscv/kernel/vendor_extensions/andes.c      |  18 +++
 drivers/acpi/numa/Kconfig                        |   5 +-
 drivers/acpi/numa/srat.c                         |  32 ++++-
 drivers/base/arch_numa.c                         |   2 +-
 drivers/firmware/efi/libstub/Makefile            |   3 +-
 drivers/perf/riscv_pmu_sbi.c                     |  11 +-
 include/linux/acpi.h                             |   6 +
 43 files changed, 750 insertions(+), 245 deletions(-)
 create mode 100644 arch/riscv/Kconfig.vendor
 create mode 100644 arch/riscv/include/asm/vendor_extensions.h
 create mode 100644 arch/riscv/include/asm/vendor_extensions/andes.h
 create mode 100644 arch/riscv/kernel/acpi_numa.c
 delete mode 100644 arch/riscv/kernel/probes/ftrace.c
 create mode 100644 arch/riscv/kernel/vendor_extensions.c
 create mode 100644 arch/riscv/kernel/vendor_extensions/Makefile
 create mode 100644 arch/riscv/kernel/vendor_extensions/andes.c

_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

.
Date: Sat, 27 Jul 2024 15:11:30 -0400
From: Len Brown <lenb@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Linux PM list <linux-pm@vger.kernel.org>, 
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: [GIT PULL] turbostat-2024.07.26 for Linux-6.11-merge

Hi Linus,

The following changes since commit b15943c4b3351173d5f3b0d87362d2994a89bb66:

  tools/power turbostat: Add local build_bug.h header for snapshot
target (2024-06-27 23:53:27 -0400)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux.git tags/v6.11-merge

for you to fetch changes up to 866d2d36b81d7d0e6d91423b6dd9b1bcfd0510dd:

  tools/power turbostat: version 2024.07.26 (2024-07-26 14:36:08 -0400)

----------------------------------------------------------------
turbostat release 2024.07.26

Enable turbostat extensions to add both perf and PMT
(Intel Platform Monitoring Technology) counters via the cmdline.

Demonstrate PMT access with built-in support for Meteor Lake's Die%c6 counter.

----------------------------------------------------------------
Len Brown (1):
      tools/power turbostat: version 2024.07.26

Patryk Wlazlyn (16):
      tools/power turbostat: Remove anonymous union from rapl_counter_info_t
      tools/power turbostat: Replace enum rapl_source and
cstate_source with counter_source
      tools/power turbostat: Add ZERO_ARRAY for zero initializing builtin array
      tools/power turbostat: Group SMI counter with APERF and MPERF
      tools/power turbostat: Extend --add option with perf counters
      tools/power turbostat: Fix formatting in turbostat.8
      tools/power turbostat: Add perf added counter example to turbostat.8
      tools/power turbostat: Fix typo in turbostat.8
      tools/power turbostat: Move debug prints from stdout to stderr
      tools/power turbostat: Move verbose counter messages to level 2
      tools/power turbostat: Add selftests for SMI, APERF and MPERF counters
      tools/power turbostat: Add selftests for added perf counters
      tools/power turbostat: Add early support for PMT counters
      tools/power turbostat: Add MTL's PMT DC6 builtin counter
      tools/power turbostat: Document PMT in turbostat.8
      tools/power turbostat: Include umask=%x in perf counter's config

Tony Luck (1):
      tools/power/turbostat: Switch to new Intel CPU model defines

 tools/power/x86/turbostat/Makefile                 |    1 +
 tools/power/x86/turbostat/turbostat.8              |   98 +-
 tools/power/x86/turbostat/turbostat.c              | 2341 ++++++++++++++++----
 .../selftests/turbostat/added_perf_counters.py     |  178 ++
 .../testing/selftests/turbostat/smi_aperf_mperf.py |  157 ++
 5 files changed, 2277 insertions(+), 498 deletions(-)
 create mode 100755 tools/testing/selftests/turbostat/added_perf_counters.py
 create mode 100755 tools/testing/selftests/turbostat/smi_aperf_mperf.py

.
Date: Sat, 27 Jul 2024 21:45:10 +0200
From: Bartosz Golaszewski <brgl@bgdev.pl>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-gpio@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Subject: [GIT PULL] gpio fixes for v6.11-rc1

From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>

Linus,

Please pull the following fix for the upcoming RC.

Thanks,
Bartosz

The following changes since commit b3c0eccb485404d3ea5eaae483b1a2e9e2134d21:

  Merge tag 'gpio-updates-for-v6.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux (2024-07-15 17:53:24 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux.git gpio-fixes-for-v6.11-rc1

for you to fetch changes up to 3ae08e47742eeebf2190900d31ddac53fdd13a5b:

  gpio: virtuser: avoid non-constant format string (2024-07-19 16:56:27 +0200)

----------------------------------------------------------------
gpio fixes for v6.11-rc1

- don't use sprintf() with non-constant format string

----------------------------------------------------------------
Arnd Bergmann (1):
      gpio: virtuser: avoid non-constant format string

 drivers/gpio/gpio-virtuser.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

.
Date: Sat, 27 Jul 2024 19:35:08 -0500
From: Steve French <smfrench@gmail.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: CIFS <linux-cifs@vger.kernel.org>, LKML <linux-kernel@vger.kernel.org>
Subject: [GIT PULL] SMB3 client fixes

Please pull the following changes since commit
33c9de2960d347c06d016c2c07ac4aa855cd75f0:

  Merge tag '6.11-rc-part1-smb3-client-fixes' of
git://git.samba.org/sfrench/cifs-2.6 (2024-07-21 15:23:39 -0700)

are available in the Git repository at:

  git://git.samba.org/sfrench/cifs-2.6.git tags/6.11-rc-smb-client-fixes-part2

for you to fetch changes up to b6f6a7aa689f1c255e06fee3ca13c9f9e5c12780:

  smb3: add dynamic trace point for session setup key expired failures
(2024-07-26 12:34:50 -0500)

----------------------------------------------------------------
Six smb3 client fixes
- fix for potential null pointer use in init cifs
- three additional dynamic trace points to improve debugging of some
common scenarios
- two SMB1 fixes (one addressing reconnect with POSIX extensions, one
a mount parsing error)

There are some additional patches SMB3.1.1 compression improvements
and a locking fix that are still being debugged and are not included
in this P/R
----------------------------------------------------------------
Steve French (6):
      cifs: fix potential null pointer use in destroy_workqueue in
init_cifs error path
      cifs: fix reconnect with SMB1 UNIX Extensions
      cifs: mount with "unix" mount option for SMB1 incorrectly handled
      smb3: add dynamic tracepoint for reflink errors
      smb3: add four dynamic tracepoints for copy_file_range and reflink
      smb3: add dynamic trace point for session setup key expired failures

 fs/smb/client/cifsfs.c  |   8 +++---
 fs/smb/client/connect.c |  24 ++++++++++++++++-
 fs/smb/client/smb2ops.c |  20 +++++++++++++-
 fs/smb/client/smb2pdu.c |   8 +++++-
 fs/smb/client/trace.h   | 150
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 203 insertions(+), 7 deletions(-)

-- 
Thanks,

Steve

.
Date: Sun, 28 Jul 2024 20:26:28 +0200 (CEST)
From: Richard Weinberger <richard@nod.at>
To: torvalds <torvalds@linux-foundation.org>
Cc: linux-kernel <linux-kernel@vger.kernel.org>, 
	linux-mtd <linux-mtd@lists.infradead.org>
Subject: [GIT PULL] UBI and UBIFS updates for v6.11-rc1, take 2

Linus,

As discussed, this is the updated PR for v6.11-rc1, it includes
the section mismatch fix.

The following changes since commit 22a40d14b572deb80c0648557f4bd502d7e83826:

  Linux 6.10-rc6 (2024-06-30 14:40:44 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs.git tags/ubifs-for-linus-6.11-rc1-take2

for you to fetch changes up to 92a286e90203ce3e6c3a6d945fa36da419c3671f:

  ubi: Fix ubi_init() ubiblock_exit() section mismatch (2024-07-28 20:08:25 +0200)

----------------------------------------------------------------
This pull request contains updates (actually, just fixes) for UBI and UBIFS:

- Many fixes for power-cut issues by Zhihao Cheng
- Another ubiblock error path fix
- ubiblock section mismatch fix
- Misc fixes all over the place

----------------------------------------------------------------
Arnd Bergmann (1):
      mtd: ubi: avoid expensive do_div() on 32-bit machines

Ben Hutchings (1):
      mtd: ubi: Restore missing cleanup on ubi_init() failure path

Chen Ni (1):
      ubifs: add check for crypto_shash_tfm_digest

Fedor Pchelkin (1):
      ubi: eba: properly rollback inside self_check_eba

Jeff Johnson (1):
      ubifs: fix kernel-doc warnings

Li Nan (1):
      ubi: block: fix null-pointer-dereference in ubiblock_create()

Ricardo B. Marliere (1):
      mtd: ubi: make ubi_class constant

Richard Weinberger (1):
      ubi: Fix ubi_init() ubiblock_exit() section mismatch

ZhaoLong Wang (1):
      ubifs: correct UBIFS_DFS_DIR_LEN macro definition and improve code clarity

Zhihao Cheng (10):
      ubifs: Fix unattached xattr inode if powercut happens after deleting
      ubifs: Don't add xattr inode into orphan area
      Revert "ubifs: ubifs_symlink: Fix memleak of inode->i_link in error path"
      ubifs: Remove insert_dead_orphan from replaying orphan process
      ubifs: Fix adding orphan entry twice for the same inode
      ubifs: Move ui->data initialization after initializing security
      ubifs: Fix space leak when powercut happens in linking tmpfile
      ubifs: Fix unattached inode when powercut happens in creating
      ubifs: dbg_orphan_check: Fix missed key type checking
      ubifs: Fix inconsistent inode size when powercut happens during appendant writing

 drivers/mtd/ubi/block.c |   9 +--
 drivers/mtd/ubi/build.c |   7 ++-
 drivers/mtd/ubi/debug.c |   4 +-
 drivers/mtd/ubi/eba.c   |   3 +-
 drivers/mtd/ubi/nvmem.c |   6 +-
 drivers/mtd/ubi/ubi.h   |   4 +-
 fs/ubifs/compress.c     |   2 +
 fs/ubifs/debug.c        |   4 +-
 fs/ubifs/debug.h        |   7 ++-
 fs/ubifs/dir.c          |  91 ++++++++++++++++------------
 fs/ubifs/file.c         |   2 +-
 fs/ubifs/find.c         |   8 +--
 fs/ubifs/journal.c      |  16 +++--
 fs/ubifs/lprops.c       |   2 +-
 fs/ubifs/lpt.c          |   1 +
 fs/ubifs/master.c       |   5 +-
 fs/ubifs/orphan.c       | 155 ++++++++----------------------------------------
 fs/ubifs/replay.c       |   1 +
 fs/ubifs/sysfs.c        |   6 +-
 fs/ubifs/ubifs.h        |  14 +----
 fs/ubifs/xattr.c        |   2 +-
 21 files changed, 135 insertions(+), 214 deletions(-)

.
Date: Mon, 29 Jul 2024 04:01:49 +0900
From: Masahiro Yamada <masahiroy@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>, 
	Linux Kbuild mailing list <linux-kbuild@vger.kernel.org>
Subject: [GIT PULL] Kbuild fixes for v6.11-rc1

Hello Linus,


Please pull Kbuild fixes for v6.11-rc1.
Thanks.


The following changes since commit 5ad7ff8738b8bd238ca899df08badb1f61bcc39e:

  Merge tag 'f2fs-for-6.11-rc1' of
git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs (2024-07-23
15:21:19 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git
tags/kbuild-fixes-v6.11

for you to fetch changes up to 3415b10a03945b0da4a635e146750dfe5ce0f448:

  kbuild: Fix '-S -c' in x86 stack protector scripts (2024-07-29 03:47:00 +0900)

----------------------------------------------------------------
Kbuild fixes for v6.11

 - Fix RPM package build error caused by an incorrect locale setup

 - Mark modules.weakdep as ghost in RPM package

 - Fix the odd combination of -S and -c in stack protector scripts, which
   is an error with the latest Clang

----------------------------------------------------------------
Jose Ignacio Tornos Martinez (1):
      kbuild: rpm-pkg: ghost modules.weakdep file

Nathan Chancellor (1):
      kbuild: Fix '-S -c' in x86 stack protector scripts

Petr Vorel (1):
      kbuild: rpm-pkg: Fix C locale setup

 scripts/gcc-x86_32-has-stack-protector.sh | 2 +-
 scripts/gcc-x86_64-has-stack-protector.sh | 2 +-
 scripts/package/kernel.spec               | 2 +-
 scripts/package/mkspec                    | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)


-- 
Best Regards
Masahiro Yamada

.
Date: Mon, 29 Jul 2024 10:44:16 +0200
From: Benjamin Tissoires <bentiss@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Jiri Kosina <jikos@kernel.org>, linux-kernel@vger.kernel.org
Subject: [GIT PULL] HID fixes for 6.11

Linus,

please pull from

  git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid.git tags/for-linus-2024072901

to receive fixes that should go into 6.11:

====
- fixes for HID-BPF after the merge with the bpf tree (in v6.11-rc1)
  (Arnd Bergmann and Benjamin Tissoires)
- some tool type fix for the Wacom driver (Tatsunosuke Tobita)
- A reorder of the sensor discovery to ensure the HID AMD SFH is removed
  when no sensors are available (Basavaraj Natikar)
====

Thanks,
----------------------------------------------------------------
Arnd Bergmann (1):
      hid: bpf: add BPF_JIT dependency

Basavaraj Natikar (1):
      HID: amd_sfh: Move sensor discovery before HID device initialization

Benjamin Tissoires (4):
      selftests/hid: fix bpf_wq new API
      selftests/hid: disable struct_ops auto-attach
      HID: bpf: prevent the same struct_ops to be attached more than once
      selftests/hid: add test for attaching multiple time the same struct_ops

Tatsunosuke Tobita (2):
      HID: wacom: Modify pen IDs
      HID: wacom: more appropriate tool type categorization

 drivers/hid/amd-sfh-hid/amd_sfh_client.c            | 18 +++++++++++-------
 drivers/hid/bpf/Kconfig                             |  2 +-
 drivers/hid/bpf/hid_bpf_struct_ops.c                |  5 +++++
 drivers/hid/wacom_wac.c                             | 67 ++++++++++---------------------------------------------------------
 tools/testing/selftests/hid/hid_bpf.c               | 26 ++++++++++++++++++++++++++
 tools/testing/selftests/hid/progs/hid.c             |  2 +-
 tools/testing/selftests/hid/progs/hid_bpf_helpers.h |  2 +-
 7 files changed, 55 insertions(+), 67 deletions(-)

 ---

 Cheers,
 Benjamin

.
Date: Mon, 29 Jul 2024 21:06:31 +0530
From: Vishnu Reddy <vishnu.reddy@samsung.com>
To: krzysztof.kozlowski@linaro.org, s.nawrocki@samsung.com,
	alim.akhtar@samsung.com, linus.walleij@linaro.org
Cc: linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org,
	linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org,
	pankaj.dubey@samsung.com, ravi.patel@samsung.com, gost.dev@samsung.com
Subject: [PATCH v4] pinctrl: samsung: Add support for pull-up and pull-down

Gpiolib framework has the implementation of setting up the
PUD configuration for GPIO pins but there is no driver support.

Add support to handle the PUD configuration request from the
userspace in samsung pinctrl driver.

Signed-off-by: Vishnu Reddy <vishnu.reddy@samsung.com>
---
 drivers/pinctrl/samsung/pinctrl-exynos-arm.c | 14 ++++
 drivers/pinctrl/samsung/pinctrl-s3c64xx.c    | 14 ++++
 drivers/pinctrl/samsung/pinctrl-samsung.c    | 77 ++++++++++++++++++++
 drivers/pinctrl/samsung/pinctrl-samsung.h    | 21 ++++++
 4 files changed, 126 insertions(+)

diff --git a/drivers/pinctrl/samsung/pinctrl-exynos-arm.c b/drivers/pinctrl/samsung/pinctrl-exynos-arm.c
index 85ddf49a5188..d3d8672f74dc 100644
--- a/drivers/pinctrl/samsung/pinctrl-exynos-arm.c
+++ b/drivers/pinctrl/samsung/pinctrl-exynos-arm.c
@@ -40,6 +40,19 @@ static const struct samsung_pin_bank_type bank_type_alive = {
 #define S5P_OTHERS_RET_MMC		(1 << 29)
 #define S5P_OTHERS_RET_UART		(1 << 28)
 
+#define S5P_PIN_PULL_DISABLE		0
+#define S5P_PIN_PULL_DOWN		1
+#define S5P_PIN_PULL_UP			2
+
+static void s5pv210_pud_value_init(struct samsung_pinctrl_drv_data *drvdata)
+{
+	unsigned int  *pud_val = drvdata->pud_val;
+
+	pud_val[PUD_PULL_DISABLE] = S5P_PIN_PULL_DISABLE;
+	pud_val[PUD_PULL_DOWN] = S5P_PIN_PULL_DOWN;
+	pud_val[PUD_PULL_UP] = S5P_PIN_PULL_UP;
+}
+
 static void s5pv210_retention_disable(struct samsung_pinctrl_drv_data *drvdata)
 {
 	void __iomem *clk_base = (void __iomem *)drvdata->retention_ctrl->priv;
@@ -133,6 +146,7 @@ static const struct samsung_pin_ctrl s5pv210_pin_ctrl[] __initconst = {
 		.nr_banks	= ARRAY_SIZE(s5pv210_pin_bank),
 		.eint_gpio_init = exynos_eint_gpio_init,
 		.eint_wkup_init = exynos_eint_wkup_init,
+		.pud_value_init	= s5pv210_pud_value_init,
 		.suspend	= exynos_pinctrl_suspend,
 		.resume		= exynos_pinctrl_resume,
 		.retention_data	= &s5pv210_retention_data,
diff --git a/drivers/pinctrl/samsung/pinctrl-s3c64xx.c b/drivers/pinctrl/samsung/pinctrl-s3c64xx.c
index c5d92db4fdb1..68715c09baa9 100644
--- a/drivers/pinctrl/samsung/pinctrl-s3c64xx.c
+++ b/drivers/pinctrl/samsung/pinctrl-s3c64xx.c
@@ -63,6 +63,10 @@
 #define EINT_CON_MASK		0xF
 #define EINT_CON_LEN		4
 
+#define S3C_PIN_PULL_DISABLE	0
+#define S3C_PIN_PULL_DOWN	1
+#define S3C_PIN_PULL_UP		2
+
 static const struct samsung_pin_bank_type bank_type_4bit_off = {
 	.fld_width = { 4, 1, 2, 0, 2, 2, },
 	.reg_offset = { 0x00, 0x04, 0x08, 0, 0x0c, 0x10, },
@@ -255,6 +259,15 @@ static int s3c64xx_irq_get_trigger(unsigned int type)
 	return trigger;
 }
 
+static void s3c64xx_pud_value_init(struct samsung_pinctrl_drv_data *drvdata)
+{
+	unsigned int  *pud_val = drvdata->pud_val;
+
+	pud_val[PUD_PULL_DISABLE] = S3C_PIN_PULL_DISABLE;
+	pud_val[PUD_PULL_DOWN] = S3C_PIN_PULL_DOWN;
+	pud_val[PUD_PULL_UP] = S3C_PIN_PULL_UP;
+}
+
 static void s3c64xx_irq_set_handler(struct irq_data *d, unsigned int type)
 {
 	/* Edge- and level-triggered interrupts need different handlers */
@@ -797,6 +810,7 @@ static const struct samsung_pin_ctrl s3c64xx_pin_ctrl[] __initconst = {
 		.nr_banks	= ARRAY_SIZE(s3c64xx_pin_banks0),
 		.eint_gpio_init = s3c64xx_eint_gpio_init,
 		.eint_wkup_init = s3c64xx_eint_eint0_init,
+		.pud_value_init	= s3c64xx_pud_value_init,
 	},
 };
 
diff --git a/drivers/pinctrl/samsung/pinctrl-samsung.c b/drivers/pinctrl/samsung/pinctrl-samsung.c
index 623df65a5d6f..15aa1b71c025 100644
--- a/drivers/pinctrl/samsung/pinctrl-samsung.c
+++ b/drivers/pinctrl/samsung/pinctrl-samsung.c
@@ -997,6 +997,77 @@ static int samsung_pinctrl_unregister(struct platform_device *pdev,
 	return 0;
 }
 
+static void samsung_pud_value_init(struct samsung_pinctrl_drv_data *drvdata)
+{
+	unsigned int  *pud_val = drvdata->pud_val;
+
+	pud_val[PUD_PULL_DISABLE] = EXYNOS_PIN_PUD_PULL_DISABLE;
+	pud_val[PUD_PULL_DOWN] = EXYNOS_PIN_PID_PULL_DOWN;
+	pud_val[PUD_PULL_UP] = EXYNOS_PIN_PID_PULL_UP;
+}
+
+/*
+ * Enable or Disable the pull-down and pull-up for the gpio pins in the
+ * PUD register.
+ */
+static void samsung_gpio_set_pud(struct gpio_chip *gc, unsigned int offset,
+				 unsigned int value)
+{
+	struct samsung_pin_bank *bank = gpiochip_get_data(gc);
+	const struct samsung_pin_bank_type *type = bank->type;
+	void __iomem *reg;
+	unsigned int data, mask;
+
+	reg = bank->pctl_base + bank->pctl_offset;
+	data = readl(reg + type->reg_offset[PINCFG_TYPE_PUD]);
+	mask = (1 << type->fld_width[PINCFG_TYPE_PUD]) - 1;
+	data &= ~(mask << (offset * type->fld_width[PINCFG_TYPE_PUD]));
+	data |= value << (offset * type->fld_width[PINCFG_TYPE_PUD]);
+	writel(data, reg + type->reg_offset[PINCFG_TYPE_PUD]);
+}
+
+/*
+ * Identify the type of PUD config based on the gpiolib request to enable
+ * or disable the PUD config.
+ */
+static int samsung_gpio_set_config(struct gpio_chip *gc, unsigned int offset,
+				   unsigned long config)
+{
+	struct samsung_pin_bank *bank = gpiochip_get_data(gc);
+	struct samsung_pinctrl_drv_data *drvdata = bank->drvdata;
+	unsigned int value;
+	int ret = 0;
+	unsigned long flags;
+
+	switch (pinconf_to_config_param(config)) {
+	case PIN_CONFIG_BIAS_DISABLE:
+		value = drvdata->pud_val[PUD_PULL_DISABLE];
+		break;
+	case PIN_CONFIG_BIAS_PULL_DOWN:
+		value = drvdata->pud_val[PUD_PULL_DOWN];
+		break;
+	case PIN_CONFIG_BIAS_PULL_UP:
+		value = drvdata->pud_val[PUD_PULL_UP];
+		break;
+	default:
+		return -ENOTSUPP;
+	}
+
+	ret = clk_enable(drvdata->pclk);
+	if (ret) {
+		dev_err(drvdata->dev, "failed to enable clock\n");
+		return ret;
+	}
+
+	raw_spin_lock_irqsave(&bank->slock, flags);
+	samsung_gpio_set_pud(gc, offset, value);
+	raw_spin_unlock_irqrestore(&bank->slock, flags);
+
+	clk_disable(drvdata->pclk);
+
+	return ret;
+}
+
 static const struct gpio_chip samsung_gpiolib_chip = {
 	.request = gpiochip_generic_request,
 	.free = gpiochip_generic_free,
@@ -1006,6 +1077,7 @@ static const struct gpio_chip samsung_gpiolib_chip = {
 	.direction_output = samsung_gpio_direction_output,
 	.to_irq = samsung_gpio_to_irq,
 	.add_pin_ranges = samsung_add_pin_ranges,
+	.set_config = samsung_gpio_set_config,
 	.owner = THIS_MODULE,
 };
 
@@ -1237,6 +1309,11 @@ static int samsung_pinctrl_probe(struct platform_device *pdev)
 	if (ctrl->eint_wkup_init)
 		ctrl->eint_wkup_init(drvdata);
 
+	if (ctrl->pud_value_init)
+		ctrl->pud_value_init(drvdata);
+	else
+		samsung_pud_value_init(drvdata);
+
 	ret = samsung_gpiolib_register(pdev, drvdata);
 	if (ret)
 		goto err_unregister;
diff --git a/drivers/pinctrl/samsung/pinctrl-samsung.h b/drivers/pinctrl/samsung/pinctrl-samsung.h
index d50ba6f07d5d..a1e7377bd890 100644
--- a/drivers/pinctrl/samsung/pinctrl-samsung.h
+++ b/drivers/pinctrl/samsung/pinctrl-samsung.h
@@ -61,6 +61,25 @@ enum pincfg_type {
 #define PIN_CON_FUNC_INPUT		0x0
 #define PIN_CON_FUNC_OUTPUT		0x1
 
+/* Values for the pin PUD register */
+#define EXYNOS_PIN_PUD_PULL_DISABLE	0x0
+#define EXYNOS_PIN_PID_PULL_DOWN	0x1
+#define EXYNOS_PIN_PID_PULL_UP		0x3
+
+/*
+ * enum pud_index - Possible index values to access the pud_val array.
+ * @PUD_PULL_DISABLE: Index for the value of pud disable
+ * @PUD_PULL_DOWN: Index for the value of pull down enable
+ * @PUD_PULL_UP: Index for the value of pull up enable
+ * @PUD_MAX: Maximum value of the index
+ */
+enum pud_index {
+	PUD_PULL_DISABLE,
+	PUD_PULL_DOWN,
+	PUD_PULL_UP,
+	PUD_MAX,
+};
+
 /**
  * enum eint_type - possible external interrupt types.
  * @EINT_TYPE_NONE: bank does not support external interrupts
@@ -261,6 +280,7 @@ struct samsung_pin_ctrl {
 
 	int		(*eint_gpio_init)(struct samsung_pinctrl_drv_data *);
 	int		(*eint_wkup_init)(struct samsung_pinctrl_drv_data *);
+	void		(*pud_value_init)(struct samsung_pinctrl_drv_data *drvdata);
 	void		(*suspend)(struct samsung_pinctrl_drv_data *);
 	void		(*resume)(struct samsung_pinctrl_drv_data *);
 };
@@ -307,6 +327,7 @@ struct samsung_pinctrl_drv_data {
 	struct samsung_pin_bank		*pin_banks;
 	unsigned int			nr_banks;
 	unsigned int			nr_pins;
+	unsigned int			pud_val[PUD_MAX];
 
 	struct samsung_retention_ctrl	*retention_ctrl;
 
-- 
2.17.1


.
Date: Tue, 30 Jul 2024 00:03:52 +0200
From: Frederic Weisbecker <frederic@kernel.org>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: Anna-Maria Behnsen <anna-maria@linutronix.de>,
	linux-kernel@vger.kernel.org
Subject: [GIT PULL] posix-timers updates

Thomas,

Please pull the latest tags/posix-timers-2024-07-29 tag from:

  git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git tags/posix-timers-2024-07-29

up to 7f8af7bac5380f2d95a63a6f19964e22437166e1:

  signal: Replace BUG_ON()s (2024-07-29 21:57:35 +0200)

----------------------------------------------------------------
Updates for posix timers and related signal code:

* Prepare posix timers selftests for upcoming changes:

	- Check signal behaviour sanity against SIG_IGN

	- Check signal behaviour sanity against timer
	  reprogramm/deletion

	- Check SIGEV_NONE pending expiry read

	- Check interval timer read on a pending SIGNAL

	- Check correct overrun count after signal block/unblock

* Various consolidations:

	- timer get/set

	- signal queue

* Fixes:
	- Correctly read SIGEV_NONE timers

	- Forward expiry while reading expired interval timers
	  with pending signal

	- Don't arm SIGEV_NONE timers

* Various cleanups all over the place

----------------------------------------------------------------
Thomas Gleixner (24):
      selftests/timers/posix_timers: Simplify error handling
      selftests/timers/posix_timers: Add SIG_IGN test
      selftests/timers/posix_timers: Validate signal rules
      selftests/timers/posix-timers: Validate SIGEV_NONE
      selftests/timers/posix-timers: Validate timer_gettime()
      selftests/timers/posix-timers: Validate overrun after unblock
      posix-cpu-timers: Split up posix_cpu_timer_get()
      posix-cpu-timers: Save interval only for armed timers
      posix-cpu-timers: Handle interval timers correctly in timer_get()
      posix-cpu-timers: Handle SIGEV_NONE timers correctly in timer_get()
      posix-cpu-timers: Handle SIGEV_NONE timers correctly in timer_set()
      posix-cpu-timers: Replace old expiry retrieval in posix_cpu_timer_set()
      posix-cpu-timers: Do not arm SIGEV_NONE timers
      posix-cpu-timers: Use @now instead of @val for clarity
      posix-cpu-timers: Remove incorrect comment in posix_cpu_timer_set()
      posix-cpu-timers: Simplify posix_cpu_timer_set()
      posix-timers: Retrieve interval in common timer_settime() code
      posix-timers: Clear overrun in common_timer_set()
      posix-timers: Convert timer list to hlist
      posix-timers: Consolidate timer setup
      posix-cpu-timers: Make k_itimer::it_active consistent
      posix-timers: Consolidate signal queueing
      signal: Remove task argument from dequeue_signal()
      signal: Replace BUG_ON()s

 fs/proc/base.c                                |   6 +-
 fs/signalfd.c                                 |   4 +-
 include/linux/posix-timers.h                  |   2 +-
 include/linux/sched/signal.h                  |   7 +-
 init/init_task.c                              |   2 +-
 kernel/fork.c                                 |   2 +-
 kernel/signal.c                               |  34 +-
 kernel/time/alarmtimer.c                      |   7 +-
 kernel/time/posix-cpu-timers.c                | 207 ++++------
 kernel/time/posix-timers.c                    |  69 ++--
 kernel/time/posix-timers.h                    |   3 +-
 tools/testing/selftests/timers/posix_timers.c | 550 +++++++++++++++++++++-----
 12 files changed, 607 insertions(+), 286 deletions(-)

.
Date: Tue, 30 Jul 2024 20:08:54 +0800
From: Tzung-Bi Shih <tzungbi@kernel.org>
To: torvalds@linux-foundation.org
Cc: tzungbi@kernel.org, linux-kernel@vger.kernel.org,
	chrome-platform@lists.linux.dev
Subject: [GIT PULL] chrome-platform fixes for v6.11-rc2


--adrtwPlj+pL8w0Qo
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

Hi Linus,

Please pull chrome-platform fixes for v6.11-rc2.

Thanks,
TzungBi
------

The following changes since commit 4baf1cc54433ff7c6e5178517bc8768001416681:

  power: supply: cros_charge-control: Fix signedness bug in charge_behaviour_store() (2024-07-05 01:51:33 +0000)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux.git tags/chrome-platform-fixes-for-v6.11-rc2

for you to fetch changes up to df615907f1bf907260af01ccb904d0e9304b5278:

  platform/chrome: cros_ec_proto: Lock device when updating MKBP version (2024-07-30 19:48:35 +0800)

----------------------------------------------------------------
chrome-platform fixes for v6.11-rc2

Fix a race condition that sends multiple host commands at a time.

----------------------------------------------------------------
Patryk Duda (1):
      platform/chrome: cros_ec_proto: Lock device when updating MKBP version

 drivers/platform/chrome/cros_ec_proto.c | 2 ++
 1 file changed, 2 insertions(+)

--adrtwPlj+pL8w0Qo
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iHUEABYKAB0WIQS0yQeDP3cjLyifNRUrxTEGBto89AUCZqjX1gAKCRArxTEGBto8
9L8hAP97NNwfIuLMJk3apnyzlQp3JX6JFkigWRLhk1nB+WxCPwEAtvgDxY3BybnA
R+sF7Xt/Ag1qh4qSdaRI2Soz/jmy1AI=
=e6/i
-----END PGP SIGNATURE-----

--adrtwPlj+pL8w0Qo--

.
