linux.git
20 months agoMerge tag 'renesas-dt-bindings-for-v6.7-tag2' of git://git.kernel.org/pub/scm/linux...
Arnd Bergmann [Fri, 13 Oct 2023 20:44:56 +0000 (22:44 +0200)]
Merge tag 'renesas-dt-bindings-for-v6.7-tag2' of git://git./linux/kernel/git/geert/renesas-devel into soc/dt

Renesas DT binding updates for v6.7 (take two)

  - Document support for the Renesas RZ/G3S SMARC SoM and SMARC
    Carrier-II EVK development boards,
  - Document support for the Renesas R-Car S4 Starter Kit.

* tag 'renesas-dt-bindings-for-v6.7-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  dt-bindings: soc: renesas: Document R-Car S4 Starter Kit
  dt-bindings: soc: renesas: Document SMARC Carrier-II EVK
  dt-bindings: soc: renesas: Document RZ/G3S SMARC SoM

Link: https://lore.kernel.org/r/cover.1697200121.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
20 months agoMerge tag 'sti-dt-for-v6.7-round1' of git://git.kernel.org/pub/scm/linux/kernel/git...
Arnd Bergmann [Fri, 13 Oct 2023 20:44:11 +0000 (22:44 +0200)]
Merge tag 'sti-dt-for-v6.7-round1' of git://git./linux/kernel/git/pchotard/sti into soc/dt

STi DT for v6.7, round 1 :

stih418-b2264: leds and serial fixes
stih407: drop max-duty-cycle property
stih415/416: remove boards from yaml
stih407/410/418: add boards to yaml

* tag 'sti-dt-for-v6.7-round1' of git://git.kernel.org/pub/scm/linux/kernel/git/pchotard/sti:
  dt-bindings: arm: sti: add STi boards and remove stih415/stih416
  dt-bindings: soc: sti: add STi platform syscon
  ARM: dts: st: correct led level in stih418-b2264.dts
  ARM: dts: st: move leds out of soc in stih418-b2264.dts
  ARM: dts: st: correct serial alias in stih418-b2264.dts
  ARM: dts: st: stih407: drop max-duty-cycle

Link: https://lore.kernel.org/r/e6b975f2-9936-465a-8253-6fcead974006@foss.st.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
20 months agoMerge tag 'omap-for-v6.7/dt-signed' of git://git.kernel.org/pub/scm/linux/kernel...
Arnd Bergmann [Fri, 13 Oct 2023 20:43:09 +0000 (22:43 +0200)]
Merge tag 'omap-for-v6.7/dt-signed' of git://git./linux/kernel/git/tmlind/linux-omap into soc/dt

Devicetree changes for omaps for v6.7 merge window

Two non-urgent devicetree fixes for am371-evm led pinmux and a node name
warning fix for omap4-epson-embt2ws, and updates for connected devices for
various devices:

- Device updates and enabling of pru support for am335x-pocketbeagle

- Few more devices such as leds and iio for omap4-epson-embt2ws

- Ethernet and led updates for am3517-evm

- Modem sleep pins configuration for motorola-mapphone

* tag 'omap-for-v6.7/dt-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: dts: omap4-embt2ws: Fix pinctrl single node name warning
  ARM: dts: motorola-mapphone: Add mdm6600 sleep pins
  ARM: dts: am3517: Configure ethernet alias
  ARM: dts: am3517-evm: Enable Ethernet PHY Interrupt
  ARM: dts: am3517-evm: Fix LED3/4 pinmux
  ARM: dts: omap3-gta04: Drop superfluous omap36xx compatible
  ARM: dts: omap: omap4-embt2ws: Add IMU at control unit
  ARM: dts: omap: omap4-embt2ws: Let IMU driver handle Magnetometer internally
  ARM: dts: am335x-pocketbeagle: add missing GPIO mux
  ARM: dts: am335x-pocketbeagle: enable pru
  ARM: dts: am335x-pocketbeagle: remove dependency cycle
  ARM: dts: am335x-pocketbeagle: update LED information
  ARM: dts: omap4: embt2ws: add LED

Link: https://lore.kernel.org/r/pull-1697010475-119828@atomide.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
20 months agoMerge tag 'at91-dt-6.7' of https://git.kernel.org/pub/scm/linux/kernel/git/at91/linux...
Arnd Bergmann [Fri, 13 Oct 2023 20:42:04 +0000 (22:42 +0200)]
Merge tag 'at91-dt-6.7' of https://git./linux/kernel/git/at91/linux into soc/dt

Microchip AT91 device tree updates for 6.7

It contains:
- the new Microchip SAMA5D29 Curiosity board
- a typo fix in TDES node name for SAMA5D4 dtsi
- enablement of RTT as RTC for SAM9X60 Curiosity board

* tag 'at91-dt-6.7' of https://git.kernel.org/pub/scm/linux/kernel/git/at91/linux:
  ARM: dts: at91: sam9x60_curiosity: Add mandatory dt property for RTT
  ARM: dts: at91: sama5d29_curiosity: Add device tree for sama5d29_curiosity board
  dt-bindings: ARM: at91: Document Microchip SAMA5D29 Curiosity
  ARM: dts: at91/trivial: fix typo in crypto DT naming

Link: https://lore.kernel.org/r/20231010045955.1259843-1-claudiu.beznea@tuxon.dev
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
20 months agoMerge tag 'ixp4xx-for-soc-v6.7' of git://git.kernel.org/pub/scm/linux/kernel/git...
Arnd Bergmann [Fri, 13 Oct 2023 20:41:10 +0000 (22:41 +0200)]
Merge tag 'ixp4xx-for-soc-v6.7' of git://git./linux/kernel/git/linusw/linux-nomadik into soc/dt

Some IXP4xx updates for the v6.7 kernel cycle:

- Provide proper bindings including missing vendor prefixes
  for the device trees in use and one more new vendor.

- Add a device tree for USRobotics USR8200 which has two
  active users.

- Augment the "reset" GPIO buttons to send KEY_RESTART as
  appropriate.

- Enable write on the NSLU2 flash so we get a writeable
  rootfs on this device.

* tag 'ixp4xx-for-soc-v6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik:
  ARM: dts: ixp4xx: Use right restart keycode
  ARM: dts: ixp4xx-nslu2: Enable write on flash
  ARM: dts: ixp4xx: Add USRobotics USR8200 device tree
  ARM: dts: Use only the Linksys compatible for now
  dt-bindings: arm: List more IXP4xx devices
  dt-bindings: Add vendor prefixes

Link: https://lore.kernel.org/r/CACRpkdZZ6W8uic97S9=Aa+S+s0-0k50TDw1e00u6gFcQfAVDdw@mail.gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
20 months agoMerge tag 'samsung-dt-6.7' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk...
Arnd Bergmann [Fri, 13 Oct 2023 20:29:07 +0000 (22:29 +0200)]
Merge tag 'samsung-dt-6.7' of https://git./linux/kernel/git/krzk/linux into soc/dt

Samsung DTS ARM changes for v6.7

1. Switch all sound cards to generic audio-routing property, supported
   since previous release for Samsung drivers.  The old
   samsung,audio-routing property is deprecated.
2. Correct Exynos4210 thermal by using polling.  Apparently interrupts in
   Thermal Monitoring Unit are broken.

* tag 'samsung-dt-6.7' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  ARM: dts: samsung: exynos4210: enable polling
  ARM: dts: samsung: s5pv210-galaxys: switch sound card to audio-routing
  ARM: dts: samsung: s5pv210-fascinate4g: switch sound card to audio-routing
  ARM: dts: samsung: exynos5422-odroid: switch sound card to audio-routing
  ARM: dts: samsung: exynos4412-odroid: switch sound card to audio-routing
  ARM: dts: samsung: exynos4412-n710x: switch sound card to audio-routing
  ARM: dts: samsung: exynos4412-galaxy-s3: switch sound card to audio-routing
  ARM: dts: samsung: exynos4212-tab3: switch sound card to audio-routing

Link: https://lore.kernel.org/r/20231006093943.106002-2-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
20 months agodt-bindings: arm: sti: add STi boards and remove stih415/stih416
Alain Volmat [Mon, 13 Feb 2023 18:56:31 +0000 (19:56 +0100)]
dt-bindings: arm: sti: add STi boards and remove stih415/stih416

Add bindings for STi platform boards and remove stih415/stih416

Signed-off-by: Alain Volmat <avolmat@me.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
20 months agodt-bindings: soc: sti: add STi platform syscon
Alain Volmat [Mon, 13 Feb 2023 18:56:30 +0000 (19:56 +0100)]
dt-bindings: soc: sti: add STi platform syscon

Add DT schema of STi platform syscon

Signed-off-by: Alain Volmat <avolmat@me.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
20 months agoARM: dts: st: correct led level in stih418-b2264.dts
Alain Volmat [Sun, 2 Jul 2023 16:19:35 +0000 (16:19 +0000)]
ARM: dts: st: correct led level in stih418-b2264.dts

The state of the green led on the stih418-b2264 is currently
inverted.  Correct this by fixing the GPIO active state.

Signed-off-by: Alain Volmat <avolmat@me.com>
Acked-by: Patrice Chotard <patrice.chotard@foss.st.com>
Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
20 months agoARM: dts: st: move leds out of soc in stih418-b2264.dts
Alain Volmat [Sun, 2 Jul 2023 16:19:34 +0000 (16:19 +0000)]
ARM: dts: st: move leds out of soc in stih418-b2264.dts

Move the leds node out of the soc section
and correct the following warning:
Warning (simple_bus_reg): /soc/leds: missing or empty reg/ranges property

Signed-off-by: Alain Volmat <avolmat@me.com>
Acked-by: Patrice Chotard <patrice.chotard@foss.st.com>
Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
20 months agoARM: dts: st: correct serial alias in stih418-b2264.dts
Alain Volmat [Sun, 2 Jul 2023 16:19:33 +0000 (16:19 +0000)]
ARM: dts: st: correct serial alias in stih418-b2264.dts

Aliases should only contain lowercase, digits or - hence
correct the alias for the serial from ttyAS0 into serial0
as already done for the other boards.

Signed-off-by: Alain Volmat <avolmat@me.com>
Acked-by: Patrice Chotard <patrice.chotard@foss.st.com>
Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
20 months agoARM: dts: st: stih407: drop max-duty-cycle
Krzysztof Kozlowski [Sun, 30 Jul 2023 17:49:54 +0000 (19:49 +0200)]
ARM: dts: st: stih407: drop max-duty-cycle

"max-duty-cycle" property was removed in the commit f747a1fe7848
("regulator: pwm-regulator: Remove obsoleted property"):

  stih418-b2199.dtb: pwm-regulator: Unevaluated properties are not allowed ('max-duty-cycle' was unexpected)

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Acked-by: Patrice Chotard <patrice.chotard@foss.st.com>
Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
20 months agoMerge tag 'samsung-dt64-6.7' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk...
Arnd Bergmann [Thu, 12 Oct 2023 10:57:06 +0000 (12:57 +0200)]
Merge tag 'samsung-dt64-6.7' of https://git./linux/kernel/git/krzk/linux into soc/dt

Samsung DTS ARM64 changes for v6.7

1. Exynos850: Add support for USB 2.0 (host and device) and enable it on
   E850-96 board.

2. Exynos5433: Switch sound card to generic audio-routing property,
   supported since previous release for Samsung drivers.  The old
   samsung,audio-routing property is deprecated.

3. Few cleanups.

* tag 'samsung-dt64-6.7' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  arm64: dts: exynos: remove unused TMU alias
  arm64: dts: exynos: Use pinctrl macros for exynos5433-tm2
  arm64: dts: exynos: exynos5433-tm2: switch sound card to audio-routing
  arm64: dts: exynos: Enable USB support on E850-96 board
  arm64: dts: exynos: Enable USB in Exynos850

Link: https://lore.kernel.org/r/20231006093943.106002-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
20 months agoMerge tag 'dt-cleanup-6.7' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk...
Arnd Bergmann [Thu, 12 Oct 2023 10:56:19 +0000 (12:56 +0200)]
Merge tag 'dt-cleanup-6.7' of https://git./linux/kernel/git/krzk/linux-dt into soc/dt

Minor improvements in ARM DTS for v6.7

Few cleanups and improvements: split joined reg entries for Ethernet in
omap3-devkit8000, add missing spaces before '{' (MediaTek, Nuvoton) and
cleanup whitespace around '=' (MediaTek).

* tag 'dt-cleanup-6.7' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-dt:
  ARM: dts: nuvoton: add missing space before {
  ARM: dts: mediatek: minor whitespace cleanup around '='
  ARM: dts: mediatek: add missing space before {
  ARM: dts: omap3-devkit8000: correct ethernet reg addresses (split)

Link: https://lore.kernel.org/r/20231006092823.94839-2-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
20 months agoMerge tag 'dt64-cleanup-6.7' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk...
Arnd Bergmann [Thu, 12 Oct 2023 10:53:31 +0000 (12:53 +0200)]
Merge tag 'dt64-cleanup-6.7' of https://git./linux/kernel/git/krzk/linux-dt into soc/dt

Minor improvements in ARM64 DTS for v6.7

Few cleanups and improvements: use lowercase hex for unit addresses
(Bitmain), add missing spaces before '{' (APM, MediaTek) and cleanup
whitespace around '=' (MediaTek, Marvell).

* tag 'dt64-cleanup-6.7' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-dt:
  arm64: dts: marvell: minor whitespace cleanup around '='
  arm64: dts: mediatek: minor whitespace cleanup around '='
  arm64: dts: mediatek: add missing space before {
  arm64: dts: apm: add missing space before {
  arm64: dts: bitmain: lowercase unit addresses

Link: https://lore.kernel.org/r/20231006092823.94839-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
20 months agoMerge tag 'renesas-dts-for-v6.7-tag1' of git://git.kernel.org/pub/scm/linux/kernel...
Arnd Bergmann [Thu, 12 Oct 2023 10:37:31 +0000 (12:37 +0200)]
Merge tag 'renesas-dts-for-v6.7-tag1' of git://git./linux/kernel/git/geert/renesas-devel into soc/dt

Renesas DTS updates for v6.7

  - Add PCIe Host and Endpoint support for the R-Car S4-8 SoC and the
    Renesas Spider development board,
  - Add FLASH support for the Renesas Genmai and RSK+RZA1 development
    boards,
  - Add multi Component sound support for Renesas ULCB development
    boards equipped with the Shimafuji Kingfisher extension,
  - Miscellaneous fixes and improvements.

* tag 'renesas-dts-for-v6.7-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  arm64: dts: renesas: ulcb/kf: Use multi Component sound
  ARM: dts: renesas: rskrza1: Add FLASH nodes
  ARM: dts: renesas: genmai: Add FLASH nodes
  ARM: dts: renesas: wheat: Move Ethernet node to LBSC
  ARM: dts: renesas: blanche: Move Ethernet node to LBSC
  ARM: dts: renesas: marzen: Move Ethernet node to LBSC
  ARM: dts: renesas: r8a7792: Add LBSC node
  ARM: dts: renesas: r8a7779: Add LBSC node
  ARM: dts: renesas: r7s72100: Add BSC node
  ARM: dts: renesas: Remove unused LBSC nodes from board DTS
  arm64: dts: renesas: r8a779f0: spider: Enable PCIe Host ch0
  arm64: dts: renesas: r8a779f0: Add PCIe Host and Endpoint nodes
  ARM: dts: renesas: gr-peach: Remove unneeded probe-type property
  ARM: dts: renesas: ape6evm: Drop bogus "mtd-rom" compatible value
  ARM: dts: renesas: blanche: Fix typo in GP_11_2 pin name
  arm64: dts: renesas: Handle ADG bit for sound clk_i

Link: https://lore.kernel.org/r/cover.1695985427.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
20 months agoMerge tag 'renesas-dt-bindings-for-v6.7-tag1' of git://git.kernel.org/pub/scm/linux...
Arnd Bergmann [Thu, 12 Oct 2023 10:35:52 +0000 (12:35 +0200)]
Merge tag 'renesas-dt-bindings-for-v6.7-tag1' of git://git./linux/kernel/git/geert/renesas-devel into soc/dt

Renesas DT binding updates for v6.7

  - Document support for the new RZ/G3S (R9A08G045) SoC variants.

* tag 'renesas-dt-bindings-for-v6.7-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  dt-bindings: soc: renesas: renesas,rzg2l-sysc: Document RZ/G3S SoC
  dt-bindings: soc: renesas: Document Renesas RZ/G3S SoC variants

Link: https://lore.kernel.org/r/cover.1695985425.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
20 months agoARM: dts: ixp4xx: Use right restart keycode
Linus Walleij [Fri, 8 Sep 2023 10:49:49 +0000 (12:49 +0200)]
ARM: dts: ixp4xx: Use right restart keycode

The "reset" key on a few IXP4xx routers were sending KEY_ESC
but what we want to send is KEY_RESTART which will make
OpenWrt and similar userspace do a controlled reboot.

Link: https://lore.kernel.org/r/20230908-ixp4xx-dts-v1-2-98d36264ed6d@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
20 months agoARM: dts: ixp4xx-nslu2: Enable write on flash
Linus Walleij [Fri, 8 Sep 2023 10:49:48 +0000 (12:49 +0200)]
ARM: dts: ixp4xx-nslu2: Enable write on flash

To upgrade the firmware and similar, the flash needs write
access.

Link: https://lore.kernel.org/r/20230908-ixp4xx-dts-v1-1-98d36264ed6d@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
20 months agoARM: dts: ixp4xx: Add USRobotics USR8200 device tree
Linus Walleij [Sat, 7 Oct 2023 12:32:40 +0000 (14:32 +0200)]
ARM: dts: ixp4xx: Add USRobotics USR8200 device tree

This is a USRobotics NAS/Firewall/router that has been supported
by OpenWrt in the past. It had dedicated users so let's get it
properly supported.

Some debugging and fixing was provided by Howard Harte.

Link: https://lore.kernel.org/r/20231007-ixp4xx-usr8200-v1-1-aded3d6ff6f1@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
20 months agoARM: dts: Use only the Linksys compatible for now
Linus Walleij [Sat, 7 Oct 2023 12:15:13 +0000 (14:15 +0200)]
ARM: dts: Use only the Linksys compatible for now

The Gemtek users can just use the Linksys device tree,
triplet compatible is overdoing it.

Link: https://lore.kernel.org/r/20231007-ixp4xx-usr8200-v3-3-ec46edd1ff0e@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
20 months agodt-bindings: arm: List more IXP4xx devices
Linus Walleij [Sat, 7 Oct 2023 12:15:12 +0000 (14:15 +0200)]
dt-bindings: arm: List more IXP4xx devices

The ixp4xx bindings are lacking some of the devices we have
out there in the wild, so let's add them.

Acked-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://lore.kernel.org/r/20231007-ixp4xx-usr8200-v3-2-ec46edd1ff0e@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
20 months agodt-bindings: Add vendor prefixes
Linus Walleij [Sat, 7 Oct 2023 12:15:11 +0000 (14:15 +0200)]
dt-bindings: Add vendor prefixes

These vendor prefixes are used by some routers supported
by e.g. OpenWrt.

- ADI Engineering is a US telecom equipment company.

- Arcom Controllers is a US manufacturer of repeaters.

- Freecom Gmbh is a german telecom equipment company.

- Gemtek Technology is a Taiwan telecom company.

- Gateway Communications was a telecommunication company,
  now acquired by HKT Limited/PCCW.

- Goramo Gorecki is a privately owned Polish telecom
  company.

- U.S. Robotics Corporation, known through their brand name
  USRobotics is generally referred to as "USR" so use this
  prefix for the company's device tree bindings.

Acked-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://lore.kernel.org/r/20231007-ixp4xx-usr8200-v3-1-ec46edd1ff0e@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
20 months agoARM: dts: omap4-embt2ws: Fix pinctrl single node name warning
Tony Lindgren [Sat, 7 Oct 2023 07:32:46 +0000 (10:32 +0300)]
ARM: dts: omap4-embt2ws: Fix pinctrl single node name warning

Looks like one pinctrl single binding warning sneaked in while we were
implementing the yaml binding. Let's fix the 'pinmux-wl12xx-gpio' does not
match any of the regexes warning by adding -pins suffix.

Signed-off-by: Tony Lindgren <tony@atomide.com>
20 months agoARM: dts: motorola-mapphone: Add mdm6600 sleep pins
Tony Lindgren [Mon, 11 Sep 2023 03:58:28 +0000 (06:58 +0300)]
ARM: dts: motorola-mapphone: Add mdm6600 sleep pins

The sleep pins never got added earlier probably because the driver was not
behaving correctly with the sleep pins. We need the sleep pins to prevent
the modem from waking up on it's own if the reset pin glitches in deeper
SoC idle states.

Cc: Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com>
Cc: Merlijn Wajer <merlijn@wizzup.org>
Cc: Pavel Machek <pavel@ucw.cz>
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Message-ID: <20230911035828.36984-1-tony@atomide.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
20 months agoARM: dts: am3517: Configure ethernet alias
Adam Ford [Wed, 6 Sep 2023 09:51:43 +0000 (04:51 -0500)]
ARM: dts: am3517: Configure ethernet alias

The AM3517 has one ethernet controller called davinci_emac.
Configuring the alias allows the MAC address to be passed
from the bootloader to Linux.

Signed-off-by: Adam Ford <aford173@gmail.com>
Message-ID: <20230906095143.99806-2-aford173@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
20 months agoARM: dts: am3517-evm: Enable Ethernet PHY Interrupt
Adam Ford [Thu, 5 Oct 2023 00:04:02 +0000 (19:04 -0500)]
ARM: dts: am3517-evm: Enable Ethernet PHY Interrupt

The Ethernet PHY interrupt pin is routed to GPIO_58.  Create a
PHY node to configure this GPIO for the interrupt to avoid polling.

Signed-off-by: Adam Ford <aford173@gmail.com>
Message-ID: <20231005000402.50879-2-aford173@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
20 months agoARM: dts: am3517-evm: Fix LED3/4 pinmux
Adam Ford [Thu, 5 Oct 2023 00:04:01 +0000 (19:04 -0500)]
ARM: dts: am3517-evm: Fix LED3/4 pinmux

The pinmux for LED3 and LED4 are incorrectly attached to the
omap3_pmx_core when they should be connected to the omap3_pmx_wkup
pin mux.  This was likely masked by the fact that the bootloader
used to do all the pinmuxing.

Fixes: 0dbf99542caf ("ARM: dts: am3517-evm: Add User LEDs and Pushbutton")
Signed-off-by: Adam Ford <aford173@gmail.com>
Message-ID: <20231005000402.50879-1-aford173@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
20 months agoARM: dts: omap3-gta04: Drop superfluous omap36xx compatible
Andreas Kemnade [Wed, 4 Oct 2023 06:53:23 +0000 (08:53 +0200)]
ARM: dts: omap3-gta04: Drop superfluous omap36xx compatible

Drop omap36xx compatible as done in other omap3630 devices.
This has apparently fallen through the lattice.

Signed-off-by: Andreas Kemnade <andreas@kemnade.info>
Message-ID: <20231004065323.2408615-1-andreas@kemnade.info>
Signed-off-by: Tony Lindgren <tony@atomide.com>
20 months agoARM: dts: omap: omap4-embt2ws: Add IMU at control unit
Andreas Kemnade [Wed, 27 Sep 2023 17:32:45 +0000 (19:32 +0200)]
ARM: dts: omap: omap4-embt2ws: Add IMU at control unit

Add also the level-shifter flag to avoid probe failure in magnetometer
probe.

Signed-off-by: Andreas Kemnade <andreas@kemnade.info>
Message-ID: <20230927173245.2151083-4-andreas@kemnade.info>
Signed-off-by: Tony Lindgren <tony@atomide.com>
20 months agodt-bindings: soc: renesas: Document R-Car S4 Starter Kit
Kuninori Morimoto [Tue, 3 Oct 2023 02:33:29 +0000 (02:33 +0000)]
dt-bindings: soc: renesas: Document R-Car S4 Starter Kit

Add "renesas,s4sk" which targets the Renesas R-Car S4 Starter Kit board.

Signed-off-by: Yusuke Goda <yusuke.goda.sx@renesas.com>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/87sf6sfn9i.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
20 months agodt-bindings: soc: renesas: Document SMARC Carrier-II EVK
Claudiu Beznea [Fri, 29 Sep 2023 05:39:13 +0000 (08:39 +0300)]
dt-bindings: soc: renesas: Document SMARC Carrier-II EVK

Document the Renesas SMARC Carrier-II EVK board which is based on the
Renesas RZ/G3S SMARC SoM.  The SMARC Carrier-II EVK consists of an
RZ/G3S SoM module and a SMARC Carrier-II carrier board; the SoM module
sits on top of the carrier board.

Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20230929053915.1530607-27-claudiu.beznea@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
20 months agodt-bindings: soc: renesas: Document RZ/G3S SMARC SoM
Claudiu Beznea [Fri, 29 Sep 2023 05:39:10 +0000 (08:39 +0300)]
dt-bindings: soc: renesas: Document RZ/G3S SMARC SoM

Document the Renesas RZ/G3S SMARC SoM board which is based on the
Renesas RZ/G3S (R9A08G045S33) SoC.

Suggested-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20230929053915.1530607-24-claudiu.beznea@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
20 months agoARM: dts: at91: sam9x60_curiosity: Add mandatory dt property for RTT
Tudor Ambarus [Thu, 28 Sep 2023 14:36:44 +0000 (16:36 +0200)]
ARM: dts: at91: sam9x60_curiosity: Add mandatory dt property for RTT

atmel,rtt-rtc-time-reg is a mandatory property and encodes the GPBR
register used to store the time base when the RTT is used as an RTC.
Align the RTT with what's currently done for sam9x60ek and sama7g5ek,
and enable it by default even if RTC is also enabled.

Signed-off-by: Tudor Ambarus <tudor.ambarus@linaro.org>
[nicolas.ferre@microchip.com: adapt to newer kernel]
Signed-off-by: Nicolas Ferre <nicolas.ferre@microchip.com>
Link: https://lore.kernel.org/r/20230928143644.208515-1-nicolas.ferre@microchip.com
Signed-off-by: Claudiu Beznea <claudiu.beznea@tuxon.dev>
20 months agoARM: dts: at91: sama5d29_curiosity: Add device tree for sama5d29_curiosity board
Mihai Sain [Tue, 19 Sep 2023 12:46:05 +0000 (15:46 +0300)]
ARM: dts: at91: sama5d29_curiosity: Add device tree for sama5d29_curiosity board

Add initial device tree file for sama5d29_curiosity board.

Signed-off-by: Mihai Sain <mihai.sain@microchip.com>
Link: https://lore.kernel.org/r/20230919124606.26898-3-mihai.sain@microchip.com
Signed-off-by: Claudiu Beznea <claudiu.beznea@tuxon.dev>
20 months agodt-bindings: ARM: at91: Document Microchip SAMA5D29 Curiosity
Andrei Simion [Tue, 19 Sep 2023 12:46:04 +0000 (15:46 +0300)]
dt-bindings: ARM: at91: Document Microchip SAMA5D29 Curiosity

Document device tree binding of SAMA5D29 Curiosity, from Microchip.

Signed-off-by: Andrei Simion <andrei.simion@microchip.com>
Signed-off-by: Mihai Sain <mihai.sain@microchip.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://lore.kernel.org/r/20230919124606.26898-2-mihai.sain@microchip.com
Signed-off-by: Claudiu Beznea <claudiu.beznea@tuxon.dev>
20 months agoMerge tag 'ux500-dts-for-armsoc' of git://git.kernel.org/pub/scm/linux/kernel/git...
Arnd Bergmann [Thu, 28 Sep 2023 08:00:53 +0000 (10:00 +0200)]
Merge tag 'ux500-dts-for-armsoc' of git://git./linux/kernel/git/linusw/linux-nomadik into soc/dt

Ux500 device tree updates for v6.7:

- Two fixes from Krzysztof fixing up DT properties
  on the touchscreen.

* tag 'ux500-dts-for-armsoc' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik:
  ARM: dts: st: href-tvk1281618: correct touchscreen syna,nosleep-mode
  ARM: dts: st: href-tvk1281618: fix touchscreen VIO supply

Link: https://lore.kernel.org/r/CACRpkdZc5Yzsos2+gRPtCT-+ohmaV69ew5YFJLakD+9VFkrkfQ@mail.gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
20 months agoarm64: dts: Add AMD Pensando Elba SoC support
Brad Larson [Mon, 25 Sep 2023 19:56:10 +0000 (12:56 -0700)]
arm64: dts: Add AMD Pensando Elba SoC support

Add AMD Pensando common and Elba SoC specific device nodes

Signed-off-by: Brad Larson <blarson@amd.com>
Link: https://lore.kernel.org/r/20230925195610.47971-5-blarson@amd.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
20 months agodt-bindings: arm: add AMD Pensando boards
Brad Larson [Mon, 25 Sep 2023 19:56:07 +0000 (12:56 -0700)]
dt-bindings: arm: add AMD Pensando boards

Document the compatible for AMD Pensando Elba SoC boards.

Signed-off-by: Brad Larson <blarson@amd.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20230925195610.47971-2-blarson@amd.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
20 months agoARM: dts: omap: omap4-embt2ws: Let IMU driver handle Magnetometer internally
Andreas Kemnade [Sun, 24 Sep 2023 22:27:18 +0000 (00:27 +0200)]
ARM: dts: omap: omap4-embt2ws: Let IMU driver handle Magnetometer internally

Possibility to use the i2c gate is only for compatibility reasons,
so avoid messing around with additional i2c busses.

Signed-off-by: Andreas Kemnade <andreas@kemnade.info>
Message-ID: <20230924222718.2038849-1-andreas@kemnade.info>
Signed-off-by: Tony Lindgren <tony@atomide.com>
20 months agoARM: dts: am335x-pocketbeagle: add missing GPIO mux
Trevor Woerner [Tue, 22 Aug 2023 14:30:50 +0000 (10:30 -0400)]
ARM: dts: am335x-pocketbeagle: add missing GPIO mux

Add the default MODE setting of a GPIO pin that was missing from the device
tree (i.e. P2.20/gpio2_00). This is to ensure the GPIO pins match the
pocketbeagle wiring expectations.

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
Message-ID: <20230822143051.7640-5-twoerner@gmail.com>
[tony@atomide.com: leave out extra line break]
Signed-off-by: Tony Lindgren <tony@atomide.com>
20 months agoARM: dts: am335x-pocketbeagle: enable pru
Trevor Woerner [Tue, 22 Aug 2023 14:30:49 +0000 (10:30 -0400)]
ARM: dts: am335x-pocketbeagle: enable pru

Now that the PRU code is upstream and can be loaded via remoteproc, adjust
the device tree to enable it and adjust the pin muxing so that the default
setting of the pins matches what's is given on the silkscreen and/or
pocketbeagle wiring.

Caveat:

In most cases, the silkscreen will indicate, for example, "PRU0.7",
but it doesn't indicate whether that pin should be enabled for input
or output. On the PRU a different MODE is used for input versus
output. So it is unclear which mode to enable (MODE5 = output, MODE6
= input). In cases where there is a choice (PRU1.11, PRU0.7, PRU0.4,
PRU0.1, PRU1.10, PRU0.6, PRU0.3, PRU0.2, and PRU0.5) output is assumed
(MODE5).

The remaining PRU silkscreen pins do not have a choice and are set as
follows:

PRU0.16  MODE5 input
PRU0.15i MODE6 input

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
Message-ID: <20230822143051.7640-4-twoerner@gmail.com>
[tony@atomide.com: formatted description to fit 75 characters]
Signed-off-by: Tony Lindgren <tony@atomide.com>
20 months agoARM: dts: am335x-pocketbeagle: remove dependency cycle
Trevor Woerner [Tue, 22 Aug 2023 14:30:48 +0000 (10:30 -0400)]
ARM: dts: am335x-pocketbeagle: remove dependency cycle

Remove the self-referenceing "pinctrl-0" entry inside the pinmux clause.
This eliminates the set of boot messages (one for each referenced pin)
similar to the following:

platform 44e10800.pinmux: Fixed dependency cycle(s) with /ocp/interconnect@44c00000/segment@200000/target-module@10000/scm@0/pinmux@800/pinmux_P2_17_gpio

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
Message-ID: <20230822143051.7640-3-twoerner@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
20 months agoARM: dts: am335x-pocketbeagle: update LED information
Trevor Woerner [Tue, 22 Aug 2023 14:30:47 +0000 (10:30 -0400)]
ARM: dts: am335x-pocketbeagle: update LED information

Add the "color" and "description" properties.

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
Message-ID: <20230822143051.7640-2-twoerner@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
20 months agoARM: dts: omap4: embt2ws: add LED
Andreas Kemnade [Sat, 19 Aug 2023 14:31:09 +0000 (16:31 +0200)]
ARM: dts: omap4: embt2ws: add LED

Add LED since the driver is now available.

Signed-off-by: Andreas Kemnade <andreas@kemnade.info>
Message-ID: <20230819143109.471615-1-andreas@kemnade.info>
Signed-off-by: Tony Lindgren <tony@atomide.com>
20 months agoARM: dts: st: href-tvk1281618: correct touchscreen syna,nosleep-mode
Krzysztof Kozlowski [Thu, 20 Jul 2023 11:55:24 +0000 (13:55 +0200)]
ARM: dts: st: href-tvk1281618: correct touchscreen syna,nosleep-mode

There is no syna,nosleep property in Synaptics RMI4 touchscreen:

  ste-hrefprev60-tvk.dtb: synaptics@4b: rmi4-f01@1: 'syna,nosleep' does not match any of the regexes: 'pinctrl-[0-9]+'

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Message-ID: <20230720115524.137944-2-krzysztof.kozlowski@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
20 months agoARM: dts: st: href-tvk1281618: fix touchscreen VIO supply
Krzysztof Kozlowski [Thu, 20 Jul 2023 11:55:23 +0000 (13:55 +0200)]
ARM: dts: st: href-tvk1281618: fix touchscreen VIO supply

According to bindings and Linux driver, there is no VDDIO but VIO
supply:

  ste-hrefprev60-tvk.dtb: synaptics@4b: Unevaluated properties are not allowed ('vddio-supply' was unexpected)

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Message-ID: <20230720115524.137944-1-krzysztof.kozlowski@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
20 months agoarm64: dts: renesas: ulcb/kf: Use multi Component sound
Kuninori Morimoto [Wed, 20 Sep 2023 23:53:12 +0000 (23:53 +0000)]
arm64: dts: renesas: ulcb/kf: Use multi Component sound

+-- ULCB -------------------+
|+--------+       +--------+|
||    SSI0| <---> |ak4613  ||
||    SSI1| <---> |        ||
||        |       +--------+|
||        |       +--------+|
||    SSI2| <---> |HDMI    ||
||        |       +--------+|
||    SSI3| <--+            |
||    SSI4| <-+|            |
|+--------+   ||            |
+-------------||------------+
+-- Kingfisher -------------+
|             ||  +--------+|
|             |+->|pcm3168a||
|             +-->|        ||
|                 +--------+|
+---------------------------+

On UCLB/KF, we intuitively think we want to handle these as "2 Sound
Cards":

card0,0: 1st sound of ULCB (SSI0 - ak4613)
card0,1: 2nd sound of ULCB (SSI2 - HDMI)
card1,0: 1st sound of KF   (SSI3 - pcm3168a)
    ^ ^

However, because of ASoC Component vs. Card framework limitations, we
needed to handle this as "1 big Sound Card":

card0,0: 1st sound of ULCB/KF (SSI0 - ak4613)
card0,1: 2nd sound of ULCB/KF (SSI2 - HDMI)
card0,2: 3rd sound of ULCB/KF (SSI3 - pcm3168a)
    ^ ^

Now ASoC supports multi Component, which allows us to handle "2 Sound
Cards" such as "ULCB Sound Card" and "Kingfisher Sound Card", all
ULCB/KF Audio dtsi can be updated.

Note that this changes the Sound Card specification method from
userland, especially for Kingfisher Sound.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/87fs382yhk.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
20 months agoARM: dts: renesas: rskrza1: Add FLASH nodes
Geert Uytterhoeven [Thu, 31 Aug 2023 11:52:33 +0000 (13:52 +0200)]
ARM: dts: renesas: rskrza1: Add FLASH nodes

Add device nodes for the dual Spansion S25FL512S QSPI NOR FLASH and the
Spansion S29GL512S CFI NOR FLASH on the RSK+RZA1 development board.
The former is mapped directly through the SPI Multi I/O Bus Controller.
The latter resides in the external address space of the Bus State
Controller (BSC).

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/17a221699da14639e72264ffa39d47592d470f9a.1693481518.git.geert+renesas@glider.be
20 months agoARM: dts: renesas: genmai: Add FLASH nodes
Geert Uytterhoeven [Thu, 31 Aug 2023 11:52:32 +0000 (13:52 +0200)]
ARM: dts: renesas: genmai: Add FLASH nodes

Add device nodes for the dual Spansion S25FL512S QSPI NOR FLASH and the
two Spansion S29GL512S CFI NOR FLASHes on the Genmai development board.
The former is mapped directly through the SPI Multi I/O Bus Controller.
The latter reside in the address space of the Bus State Controller
(BSC).

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/53c89c70c6b010702fd9ab5247e19986857671ba.1693481518.git.geert+renesas@glider.be
20 months agoARM: dts: renesas: wheat: Move Ethernet node to LBSC
Geert Uytterhoeven [Thu, 31 Aug 2023 11:52:31 +0000 (13:52 +0200)]
ARM: dts: renesas: wheat: Move Ethernet node to LBSC

The SMSC LAN89218AQ Ethernet controller on the Wheat development board
resides in the external address space of the Local Bus State Controller
(LBSC).  Move the Ethernet device node to reflect this.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/a291c2750144df29e69824d5b9d76cbc11f613c1.1693481518.git.geert+renesas@glider.be
20 months agoARM: dts: renesas: blanche: Move Ethernet node to LBSC
Geert Uytterhoeven [Thu, 31 Aug 2023 11:52:30 +0000 (13:52 +0200)]
ARM: dts: renesas: blanche: Move Ethernet node to LBSC

The SMSC LAN89218AQ Ethernet controller on the Blanche development board
resides in the external address space of the Local Bus State Controller
(LBSC).  Move the Ethernet device node to reflect this.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/457239047bc8b5deabf15d816043a89ab00db5ef.1693481518.git.geert+renesas@glider.be
20 months agoARM: dts: renesas: marzen: Move Ethernet node to LBSC
Geert Uytterhoeven [Thu, 31 Aug 2023 11:52:29 +0000 (13:52 +0200)]
ARM: dts: renesas: marzen: Move Ethernet node to LBSC

The SMSC LAN89218AQ Ethernet controller on the Marzen development board
resides in the external address space of the Local Bus State Controller
(LBSC).  Move the Ethernet device node to reflect this.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/74a8ee61ed89c9ca0489156a4f135ecb825e56b9.1693481518.git.geert+renesas@glider.be
20 months agoARM: dts: renesas: r8a7792: Add LBSC node
Geert Uytterhoeven [Thu, 31 Aug 2023 11:52:28 +0000 (13:52 +0200)]
ARM: dts: renesas: r8a7792: Add LBSC node

Add a minimal device node for the Local Bus State Controller (LBSC) on
the R-Car V2H SoC, to be extended by board DTS files for devices
residing in the LBSC external address space.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/182fce2257679f6a8963ecb77aae68af617556d1.1693481518.git.geert+renesas@glider.be
20 months agoARM: dts: renesas: r8a7779: Add LBSC node
Geert Uytterhoeven [Thu, 31 Aug 2023 11:52:27 +0000 (13:52 +0200)]
ARM: dts: renesas: r8a7779: Add LBSC node

Add a minimal device node for the Local Bus State Controller (LBSC) on
the R-Car H1 SoC, to be extended by board DTS files for devices residing
in the LBSC external address space.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/2d0a6054306b4975355e65fe012f860ec00fcf55.1693481518.git.geert+renesas@glider.be
20 months agoARM: dts: renesas: r7s72100: Add BSC node
Geert Uytterhoeven [Thu, 31 Aug 2023 11:52:26 +0000 (13:52 +0200)]
ARM: dts: renesas: r7s72100: Add BSC node

Add a minimal device node for the Bus State Controller (BSC) on the
RZ/A1H SoC, to be extended by board DTS files for devices residing in
the BSC external address space.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/ccab4fa198225edcd3750f62532a1ee3c6d2a109.1693481518.git.geert+renesas@glider.be
20 months agoARM: dts: renesas: Remove unused LBSC nodes from board DTS
Geert Uytterhoeven [Thu, 31 Aug 2023 11:52:25 +0000 (13:52 +0200)]
ARM: dts: renesas: Remove unused LBSC nodes from board DTS

Several board DTS files contain minimal device nodes that represent
on-SoC Local Bus State Controllers (LBSC), although they belong in the
SoC-specific DTS files instead.  As these device nodes are incomplete
and unused, and hamper adding proper nodes later, it is better to just
remove them.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/76ece7602045670cbb8dff684c3366ba6eb89add.1693481518.git.geert+renesas@glider.be
20 months agoLinux 6.6-rc3
Linus Torvalds [Sun, 24 Sep 2023 21:31:13 +0000 (14:31 -0700)]
Linux 6.6-rc3

20 months agoMerge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm
Linus Torvalds [Sun, 24 Sep 2023 21:14:35 +0000 (14:14 -0700)]
Merge tag 'for-linus' of git://git./virt/kvm/kvm

Pull kvm fixes from Paolo Bonzini:
"ARM:

   - Fix EL2 Stage-1 MMIO mappings where a random address was used

   - Fix SMCCC function number comparison when the SVE hint is set

  RISC-V:

   - Fix KVM_GET_REG_LIST API for ISA_EXT registers

   - Fix reading ISA_EXT register of a missing extension

   - Fix ISA_EXT register handling in get-reg-list test

   - Fix filtering of AIA registers in get-reg-list test

  x86:

   - Fixes for TSC_AUX virtualization

   - Stop zapping page tables asynchronously, since we don't zap them as
     often as before"

* tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
  KVM: SVM: Do not use user return MSR support for virtualized TSC_AUX
  KVM: SVM: Fix TSC_AUX virtualization setup
  KVM: SVM: INTERCEPT_RDTSCP is never intercepted anyway
  KVM: x86/mmu: Stop zapping invalidated TDP MMU roots asynchronously
  KVM: x86/mmu: Do not filter address spaces in for_each_tdp_mmu_root_yield_safe()
  KVM: x86/mmu: Open code leaf invalidation from mmu_notifier
  KVM: riscv: selftests: Selectively filter-out AIA registers
  KVM: riscv: selftests: Fix ISA_EXT register handling in get-reg-list
  RISC-V: KVM: Fix riscv_vcpu_get_isa_ext_single() for missing extensions
  RISC-V: KVM: Fix KVM_GET_REG_LIST API for ISA_EXT registers
  KVM: selftests: Assert that vasprintf() is successful
  KVM: arm64: nvhe: Ignore SVE hint in SMCCC function ID
  KVM: arm64: Properly return allocated EL2 VA from hyp_alloc_private_va_range()

20 months agoMerge tag 'trace-v6.6-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/trace...
Linus Torvalds [Sun, 24 Sep 2023 20:55:34 +0000 (13:55 -0700)]
Merge tag 'trace-v6.6-rc2' of git://git./linux/kernel/git/trace/linux-trace

Pull tracing fixes from Steven Rostedt:

 - Fix the "bytes" output of the per_cpu stat file

   The tracefs/per_cpu/cpu*/stats "bytes" was giving bogus values as the
   accounting was not accurate. It is suppose to show how many used
   bytes are still in the ring buffer, but even when the ring buffer was
   empty it would still show there were bytes used.

 - Fix a bug in eventfs where reading a dynamic event directory (open)
   and then creating a dynamic event that goes into that diretory screws
   up the accounting.

   On close, the newly created event dentry will get a "dput" without
   ever having a "dget" done for it. The fix is to allocate an array on
   dir open to save what dentries were actually "dget" on, and what ones
   to "dput" on close.

* tag 'trace-v6.6-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
  eventfs: Remember what dentries were created on dir open
  ring-buffer: Fix bytes info in per_cpu buffer stats

20 months agoMerge tag 'cxl-fixes-6.6-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl
Linus Torvalds [Sun, 24 Sep 2023 20:50:28 +0000 (13:50 -0700)]
Merge tag 'cxl-fixes-6.6-rc3' of git://git./linux/kernel/git/cxl/cxl

Pull cxl fixes from Dan Williams:
 "A collection of regression fixes, bug fixes, and some small cleanups
  to the Compute Express Link code.

  The regressions arrived in the v6.5 dev cycle and missed the v6.6
  merge window due to my personal absences this cycle. The most
  important fixes are for scenarios where the CXL subsystem fails to
  parse valid region configurations established by platform firmware.
  This is important because agreement between OS and BIOS on the CXL
  configuration is fundamental to implementing "OS native" error
  handling, i.e. address translation and component failure
  identification.

  Other important fixes are a driver load error when the BIOS lets the
  Linux PCI core handle AER events, but not CXL memory errors.

  The other fixex might have end user impact, but for now are only known
  to trigger in our test/emulation environment.

  Summary:

   - Fix multiple scenarios where platform firmware defined regions fail
     to be assembled by the CXL core.

   - Fix a spurious driver-load failure on platforms that enable OS
     native AER, but not OS native CXL error handling.

   - Fix a regression detecting "poison" commands when "security"
     commands are also defined.

   - Fix a cxl_test regression with the move to centralize CXL port
     register enumeration in the CXL core.

   - Miscellaneous small fixes and cleanups"

* tag 'cxl-fixes-6.6-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl:
  cxl/acpi: Annotate struct cxl_cxims_data with __counted_by
  cxl/port: Fix cxl_test register enumeration regression
  cxl/region: Refactor granularity select in cxl_port_setup_targets()
  cxl/region: Match auto-discovered region decoders by HPA range
  cxl/mbox: Fix CEL logic for poison and security commands
  cxl/pci: Replace host_bridge->native_aer with pcie_aer_is_native()
  PCI/AER: Export pcie_aer_is_native()
  cxl/pci: Fix appropriate checking for _OSC while handling CXL RAS registers

20 months agoarm64: dts: marvell: minor whitespace cleanup around '='
Krzysztof Kozlowski [Sun, 2 Jul 2023 18:53:01 +0000 (20:53 +0200)]
arm64: dts: marvell: minor whitespace cleanup around '='

The DTS code coding style expects exactly one space before and after '='
sign.

Link: https://lore.kernel.org/r/20230702185301.44505-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
20 months agoarm64: dts: mediatek: minor whitespace cleanup around '='
Krzysztof Kozlowski [Sun, 2 Jul 2023 18:51:27 +0000 (20:51 +0200)]
arm64: dts: mediatek: minor whitespace cleanup around '='

The DTS code coding style expects exactly one space before and after '='
sign.

Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20230702185128.44052-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
20 months agoARM: dts: nuvoton: add missing space before {
Krzysztof Kozlowski [Wed, 5 Jul 2023 15:00:45 +0000 (17:00 +0200)]
ARM: dts: nuvoton: add missing space before {

Add missing whitespace between node name/label and opening {.

Link: https://lore.kernel.org/r/20230705150045.293879-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
20 months agoARM: dts: mediatek: minor whitespace cleanup around '='
Krzysztof Kozlowski [Sun, 2 Jul 2023 18:51:28 +0000 (20:51 +0200)]
ARM: dts: mediatek: minor whitespace cleanup around '='

The DTS code coding style expects exactly one space before and after '='
sign.

Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20230702185128.44052-2-krzysztof.kozlowski@linaro.org
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
20 months agoarm64: dts: mediatek: add missing space before {
Krzysztof Kozlowski [Wed, 5 Jul 2023 15:00:06 +0000 (17:00 +0200)]
arm64: dts: mediatek: add missing space before {

Add missing whitespace between node name/label and opening {.

Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20230705150006.293690-2-krzysztof.kozlowski@linaro.org
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
20 months agoARM: dts: mediatek: add missing space before {
Krzysztof Kozlowski [Wed, 5 Jul 2023 15:00:05 +0000 (17:00 +0200)]
ARM: dts: mediatek: add missing space before {

Add missing whitespace between node name/label and opening {.

Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20230705150006.293690-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
20 months agoarm64: dts: apm: add missing space before {
Krzysztof Kozlowski [Wed, 5 Jul 2023 14:59:34 +0000 (16:59 +0200)]
arm64: dts: apm: add missing space before {

Add missing whitespace between node name/label and opening {.

Link: https://lore.kernel.org/r/20230705145934.293487-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
20 months agoARM: dts: omap3-devkit8000: correct ethernet reg addresses (split)
Krzysztof Kozlowski [Thu, 13 Jul 2023 15:29:13 +0000 (17:29 +0200)]
ARM: dts: omap3-devkit8000: correct ethernet reg addresses (split)

The davicom,dm9000 Ethernet Controller accepts two reg addresses.

Link: https://lore.kernel.org/r/20230713152913.82846-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
20 months agoarm64: dts: bitmain: lowercase unit addresses
Krzysztof Kozlowski [Wed, 12 Jul 2023 07:46:11 +0000 (09:46 +0200)]
arm64: dts: bitmain: lowercase unit addresses

Unit addresses are expected to be lower case.  Pointed also by W=1
builds:

  Warning (simple_bus_reg): /soc/serial@5801A000: simple-bus unit address format error, expected "5801a000"

Link: https://lore.kernel.org/r/20230712074611.35952-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
20 months agoMerge tag 'gpio-fixes-for-v6.6-rc3' of git://git.kernel.org/pub/scm/linux/kernel...
Linus Torvalds [Sat, 23 Sep 2023 18:56:57 +0000 (11:56 -0700)]
Merge tag 'gpio-fixes-for-v6.6-rc3' of git://git./linux/kernel/git/brgl/linux

Pull gpio fixes from Bartosz Golaszewski:

 - fix an invalid usage of __free(kfree) leading to kfreeing an
   ERR_PTR()

 - fix an irq domain leak in gpio-tb10x

 - MAINTAINERS update

* tag 'gpio-fixes-for-v6.6-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
  gpio: sim: fix an invalid __free() usage
  gpio: tb10x: Fix an error handling path in tb10x_gpio_probe()
  MAINTAINERS: gpio-regmap: make myself a maintainer of it

20 months agoMerge tag 'mm-hotfixes-stable-2023-09-23-10-31' of git://git.kernel.org/pub/scm/linux...
Linus Torvalds [Sat, 23 Sep 2023 18:51:16 +0000 (11:51 -0700)]
Merge tag 'mm-hotfixes-stable-2023-09-23-10-31' of git://git./linux/kernel/git/akpm/mm

Pull misc fixes from Andrew Morton:
 "13 hotfixes, 10 of which pertain to post-6.5 issues. The other three
  are cc:stable"

* tag 'mm-hotfixes-stable-2023-09-23-10-31' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm:
  proc: nommu: fix empty /proc/<pid>/maps
  filemap: add filemap_map_order0_folio() to handle order0 folio
  proc: nommu: /proc/<pid>/maps: release mmap read lock
  mm: memcontrol: fix GFP_NOFS recursion in memory.high enforcement
  pidfd: prevent a kernel-doc warning
  argv_split: fix kernel-doc warnings
  scatterlist: add missing function params to kernel-doc
  selftests/proc: fixup proc-empty-vm test after KSM changes
  revert "scripts/gdb/symbols: add specific ko module load command"
  selftests: link libasan statically for tests with -fsanitize=address
  task_work: add kerneldoc annotation for 'data' argument
  mm: page_alloc: fix CMA and HIGHATOMIC landing on the wrong buddy list
  sh: mm: re-add lost __ref to ioremap_prot() to fix modpost warning

20 months agoMerge tag '6.6-rc2-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6
Linus Torvalds [Sat, 23 Sep 2023 18:34:48 +0000 (11:34 -0700)]
Merge tag '6.6-rc2-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6

Pull smb client fixes from Steve French:
 "Six smb3 client fixes, including three for stable, from the SMB
  plugfest (testing event) this week:

   - Reparse point handling fix (found when investigating dir
     enumeration when fifo in dir)

   - Fix excessive thread creation for dir lease cleanup

   - UAF fix in negotiate path

   - remove duplicate error message mapping and fix confusing warning
     message

   - add dynamic trace point to improve debugging RDMA connection
     attempts"

* tag '6.6-rc2-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6:
  smb3: fix confusing debug message
  smb: client: handle STATUS_IO_REPARSE_TAG_NOT_HANDLED
  smb3: remove duplicate error mapping
  cifs: Fix UAF in cifs_demultiplex_thread()
  smb3: do not start laundromat thread when dir leases  disabled
  smb3: Add dynamic trace points for RDMA (smbdirect) reconnect

20 months agoMerge tag 'i2c-for-6.6-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa...
Linus Torvalds [Sat, 23 Sep 2023 18:20:24 +0000 (11:20 -0700)]
Merge tag 'i2c-for-6.6-rc3' of git://git./linux/kernel/git/wsa/linux

Pull i2c fixes from Wolfram Sang:
 "A set of I2C driver fixes. Mostly fixing resource leaks or sanity
  checks"

* tag 'i2c-for-6.6-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
  i2c: xiic: Correct return value check for xiic_reinit()
  i2c: mux: gpio: Add missing fwnode_handle_put()
  i2c: mux: demux-pinctrl: check the return value of devm_kstrdup()
  i2c: designware: fix __i2c_dw_disable() in case master is holding SCL low
  i2c: i801: unregister tco_pdev in i801_probe() error path

20 months agomfd: cs42l43: Use correct macro for new-style PM runtime ops
Charles Keepax [Tue, 19 Sep 2023 11:03:20 +0000 (13:03 +0200)]
mfd: cs42l43: Use correct macro for new-style PM runtime ops

The code was accidentally mixing new and old style macros, update the
macros used to remove an unused function warning whilst building with
no PM enabled in the config.

Fixes: ace6d1448138 ("mfd: cs42l43: Add support for cs42l43 core driver")
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/all/20230822114914.340359-1-ckeepax@opensource.cirrus.com/
Reviewed-by: Nathan Chancellor <nathan@kernel.org>
Tested-by: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: Lee Jones <lee@kernel.org>
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
20 months agoMerge tag 'loongarch-fixes-6.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git...
Linus Torvalds [Sat, 23 Sep 2023 17:57:03 +0000 (10:57 -0700)]
Merge tag 'loongarch-fixes-6.6-1' of git://git./linux/kernel/git/chenhuacai/linux-loongson

Pull LoongArch fixes from Huacai Chen:
 "Fix lockdep, fix a boot failure, fix some build warnings, fix document
  links, and some cleanups"

* tag 'loongarch-fixes-6.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson:
  docs/zh_CN/LoongArch: Update the links of ABI
  docs/LoongArch: Update the links of ABI
  LoongArch: Don't inline kasan_mem_to_shadow()/kasan_shadow_to_mem()
  kasan: Cleanup the __HAVE_ARCH_SHADOW_MAP usage
  LoongArch: Set all reserved memblocks on Node#0 at initialization
  LoongArch: Remove dead code in relocate_new_kernel
  LoongArch: Use _UL() and _ULL()
  LoongArch: Fix some build warnings with W=1
  LoongArch: Fix lockdep static memory detection

20 months agoMerge tag 's390-6.6-3' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux
Linus Torvalds [Sat, 23 Sep 2023 17:50:37 +0000 (10:50 -0700)]
Merge tag 's390-6.6-3' of git://git./linux/kernel/git/s390/linux

Pull s390 fixes from Vasily Gorbik:

 - Fix potential string buffer overflow in hypervisor user-defined
   certificates handling

 - Update defconfigs

* tag 's390-6.6-3' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
  s390/cert_store: fix string length handling
  s390: update defconfigs

20 months agoMerge tag 'iomap-6.6-fixes-2' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux
Linus Torvalds [Sat, 23 Sep 2023 16:56:40 +0000 (09:56 -0700)]
Merge tag 'iomap-6.6-fixes-2' of git://git./fs/xfs/xfs-linux

Pull iomap fixes from Darrick Wong:

 - Return EIO on bad inputs to iomap_to_bh instead of BUGging, to deal
   less poorly with block device io racing with block device resizing

 - Fix a stale page data exposure bug introduced in 6.6-rc1 when
   unsharing a file range that is not in the page cache

* tag 'iomap-6.6-fixes-2' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
  iomap: convert iomap_unshare_iter to use large folios
  iomap: don't skip reading in !uptodate folios when unsharing a range
  iomap: handle error conditions more gracefully in iomap_to_bh

20 months agoMerge tag 'kvm-riscv-fixes-6.6-1' of https://github.com/kvm-riscv/linux into HEAD
Paolo Bonzini [Sat, 23 Sep 2023 09:35:55 +0000 (05:35 -0400)]
Merge tag 'kvm-riscv-fixes-6.6-1' of https://github.com/kvm-riscv/linux into HEAD

KVM/riscv fixes for 6.6, take #1

- Fix KVM_GET_REG_LIST API for ISA_EXT registers
- Fix reading ISA_EXT register of a missing extension
- Fix ISA_EXT register handling in get-reg-list test
- Fix filtering of AIA registers in get-reg-list test

20 months agoKVM: SVM: Do not use user return MSR support for virtualized TSC_AUX
Tom Lendacky [Fri, 15 Sep 2023 20:54:32 +0000 (15:54 -0500)]
KVM: SVM: Do not use user return MSR support for virtualized TSC_AUX

When the TSC_AUX MSR is virtualized, the TSC_AUX value is swap type "B"
within the VMSA. This means that the guest value is loaded on VMRUN and
the host value is restored from the host save area on #VMEXIT.

Since the value is restored on #VMEXIT, the KVM user return MSR support
for TSC_AUX can be replaced by populating the host save area with the
current host value of TSC_AUX. And, since TSC_AUX is not changed by Linux
post-boot, the host save area can be set once in svm_hardware_enable().
This eliminates the two WRMSR instructions associated with the user return
MSR support.

Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
Message-Id: <d381de38eb0ab6c9c93dda8503b72b72546053d7.1694811272.git.thomas.lendacky@amd.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
20 months agoKVM: SVM: Fix TSC_AUX virtualization setup
Tom Lendacky [Fri, 15 Sep 2023 20:54:30 +0000 (15:54 -0500)]
KVM: SVM: Fix TSC_AUX virtualization setup

The checks for virtualizing TSC_AUX occur during the vCPU reset processing
path. However, at the time of initial vCPU reset processing, when the vCPU
is first created, not all of the guest CPUID information has been set. In
this case the RDTSCP and RDPID feature support for the guest is not in
place and so TSC_AUX virtualization is not established.

This continues for each vCPU created for the guest. On the first boot of
an AP, vCPU reset processing is executed as a result of an APIC INIT
event, this time with all of the guest CPUID information set, resulting
in TSC_AUX virtualization being enabled, but only for the APs. The BSP
always sees a TSC_AUX value of 0 which probably went unnoticed because,
at least for Linux, the BSP TSC_AUX value is 0.

Move the TSC_AUX virtualization enablement out of the init_vmcb() path and
into the vcpu_after_set_cpuid() path to allow for proper initialization of
the support after the guest CPUID information has been set.

With the TSC_AUX virtualization support now in the vcpu_set_after_cpuid()
path, the intercepts must be either cleared or set based on the guest
CPUID input.

Fixes: 296d5a17e793 ("KVM: SEV-ES: Use V_TSC_AUX if available instead of RDTSC/MSR_TSC_AUX intercepts")
Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
Message-Id: <4137fbcb9008951ab5f0befa74a0399d2cce809a.1694811272.git.thomas.lendacky@amd.com>
Cc: stable@vger.kernel.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
20 months agoKVM: SVM: INTERCEPT_RDTSCP is never intercepted anyway
Paolo Bonzini [Fri, 22 Sep 2023 21:06:34 +0000 (17:06 -0400)]
KVM: SVM: INTERCEPT_RDTSCP is never intercepted anyway

svm_recalc_instruction_intercepts() is always called at least once
before the vCPU is started, so the setting or clearing of the RDTSCP
intercept can be dropped from the TSC_AUX virtualization support.

Extracted from a patch by Tom Lendacky.

Cc: stable@vger.kernel.org
Fixes: 296d5a17e793 ("KVM: SEV-ES: Use V_TSC_AUX if available instead of RDTSC/MSR_TSC_AUX intercepts")
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
20 months agoKVM: x86/mmu: Stop zapping invalidated TDP MMU roots asynchronously
Sean Christopherson [Sat, 16 Sep 2023 00:39:15 +0000 (17:39 -0700)]
KVM: x86/mmu: Stop zapping invalidated TDP MMU roots asynchronously

Stop zapping invalidate TDP MMU roots via work queue now that KVM
preserves TDP MMU roots until they are explicitly invalidated.  Zapping
roots asynchronously was effectively a workaround to avoid stalling a vCPU
for an extended during if a vCPU unloaded a root, which at the time
happened whenever the guest toggled CR0.WP (a frequent operation for some
guest kernels).

While a clever hack, zapping roots via an unbound worker had subtle,
unintended consequences on host scheduling, especially when zapping
multiple roots, e.g. as part of a memslot.  Because the work of zapping a
root is no longer bound to the task that initiated the zap, things like
the CPU affinity and priority of the original task get lost.  Losing the
affinity and priority can be especially problematic if unbound workqueues
aren't affined to a small number of CPUs, as zapping multiple roots can
cause KVM to heavily utilize the majority of CPUs in the system, *beyond*
the CPUs KVM is already using to run vCPUs.

When deleting a memslot via KVM_SET_USER_MEMORY_REGION, the async root
zap can result in KVM occupying all logical CPUs for ~8ms, and result in
high priority tasks not being scheduled in in a timely manner.  In v5.15,
which doesn't preserve unloaded roots, the issues were even more noticeable
as KVM would zap roots more frequently and could occupy all CPUs for 50ms+.

Consuming all CPUs for an extended duration can lead to significant jitter
throughout the system, e.g. on ChromeOS with virtio-gpu, deleting memslots
is a semi-frequent operation as memslots are deleted and recreated with
different host virtual addresses to react to host GPU drivers allocating
and freeing GPU blobs.  On ChromeOS, the jitter manifests as audio blips
during games due to the audio server's tasks not getting scheduled in
promptly, despite the tasks having a high realtime priority.

Deleting memslots isn't exactly a fast path and should be avoided when
possible, and ChromeOS is working towards utilizing MAP_FIXED to avoid the
memslot shenanigans, but KVM is squarely in the wrong.  Not to mention
that removing the async zapping eliminates a non-trivial amount of
complexity.

Note, one of the subtle behaviors hidden behind the async zapping is that
KVM would zap invalidated roots only once (ignoring partial zaps from
things like mmu_notifier events).  Preserve this behavior by adding a flag
to identify roots that are scheduled to be zapped versus roots that have
already been zapped but not yet freed.

Add a comment calling out why kvm_tdp_mmu_invalidate_all_roots() can
encounter invalid roots, as it's not at all obvious why zapping
invalidated roots shouldn't simply zap all invalid roots.

Reported-by: Pattara Teerapong <pteerapong@google.com>
Cc: David Stevens <stevensd@google.com>
Cc: Yiwei Zhang<zzyiwei@google.com>
Cc: Paul Hsia <paulhsia@google.com>
Cc: stable@vger.kernel.org
Signed-off-by: Sean Christopherson <seanjc@google.com>
Message-Id: <20230916003916.2545000-4-seanjc@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
20 months agoKVM: x86/mmu: Do not filter address spaces in for_each_tdp_mmu_root_yield_safe()
Paolo Bonzini [Thu, 21 Sep 2023 09:44:56 +0000 (05:44 -0400)]
KVM: x86/mmu: Do not filter address spaces in for_each_tdp_mmu_root_yield_safe()

All callers except the MMU notifier want to process all address spaces.
Remove the address space ID argument of for_each_tdp_mmu_root_yield_safe()
and switch the MMU notifier to use __for_each_tdp_mmu_root_yield_safe().

Extracted out of a patch by Sean Christopherson <seanjc@google.com>

Cc: stable@vger.kernel.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
20 months agoMerge tag 'hardening-v6.6-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/kees...
Linus Torvalds [Fri, 22 Sep 2023 23:46:55 +0000 (16:46 -0700)]
Merge tag 'hardening-v6.6-rc3' of git://git./linux/kernel/git/kees/linux

Pull hardening fixes from Kees Cook:

 - Fix UAPI stddef.h to avoid C++-ism (Alexey Dobriyan)

 - Fix harmless UAPI stddef.h header guard endif (Alexey Dobriyan)

* tag 'hardening-v6.6-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
  uapi: stddef.h: Fix __DECLARE_FLEX_ARRAY for C++
  uapi: stddef.h: Fix header guard location

20 months agoMerge tag 'xfs-6.6-fixes-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux
Linus Torvalds [Fri, 22 Sep 2023 23:32:19 +0000 (16:32 -0700)]
Merge tag 'xfs-6.6-fixes-1' of git://git./fs/xfs/xfs-linux

Pull xfs fixes from Chandan Babu:

 - Fix an integer overflow bug when processing an fsmap call

 - Fix crash due to CPU hot remove event racing with filesystem mount
   operation

 - During read-only mount, XFS does not allow the contents of the log to
   be recovered when there are one or more unrecognized rcompat features
   in the primary superblock, since the log might have intent items
   which the kernel does not know how to process

 - During recovery of log intent items, XFS now reserves log space
   sufficient for one cycle of a permanent transaction to execute.
   Otherwise, this could lead to livelocks due to non-availability of
   log space

 - On an fs which has an ondisk unlinked inode list, trying to delete a
   file or allocating an O_TMPFILE file can cause the fs to the shutdown
   if the first inode in the ondisk inode list is not present in the
   inode cache. The bug is solved by explicitly loading the first inode
   in the ondisk unlinked inode list into the inode cache if it is not
   already cached

   A similar problem arises when the uncached inode is present in the
   middle of the ondisk unlinked inode list. This second bug is
   triggered when executing operations like quotacheck and bulkstat. In
   this case, XFS now reads in the entire ondisk unlinked inode list

 - Enable LARP mode only on recent v5 filesystems

 - Fix a out of bounds memory access in scrub

 - Fix a performance bug when locating the tail of the log during
   mounting a filesystem

* tag 'xfs-6.6-fixes-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
  xfs: use roundup_pow_of_two instead of ffs during xlog_find_tail
  xfs: only call xchk_stats_merge after validating scrub inputs
  xfs: require a relatively recent V5 filesystem for LARP mode
  xfs: make inode unlinked bucket recovery work with quotacheck
  xfs: load uncached unlinked inodes into memory on demand
  xfs: reserve less log space when recovering log intent items
  xfs: fix log recovery when unknown rocompat bits are set
  xfs: reload entire unlinked bucket lists
  xfs: allow inode inactivation during a ro mount log recovery
  xfs: use i_prev_unlinked to distinguish inodes that are not on the unlinked list
  xfs: remove CPU hotplug infrastructure
  xfs: remove the all-mounts list
  xfs: use per-mount cpumask to track nonempty percpu inodegc lists
  xfs: fix an agbno overflow in __xfs_getfsmap_datadev
  xfs: fix per-cpu CIL structure aggregation racing with dying cpus
  xfs: fix select in config XFS_ONLINE_SCRUB_STATS

20 months agocxl/acpi: Annotate struct cxl_cxims_data with __counted_by
Kees Cook [Fri, 22 Sep 2023 17:53:19 +0000 (10:53 -0700)]
cxl/acpi: Annotate struct cxl_cxims_data with __counted_by

Prepare for the coming implementation by GCC and Clang of the __counted_by
attribute. Flexible array members annotated with __counted_by can have
their accesses bounds-checked at run-time checking via CONFIG_UBSAN_BOUNDS
(for array indexing) and CONFIG_FORTIFY_SOURCE (for strcpy/memcpy-family
functions).

As found with Coccinelle[1], add __counted_by for struct cxl_cxims_data.
Additionally, since the element count member must be set before accessing
the annotated flexible array member, move its initialization earlier.

[1] https://github.com/kees/kernel-tools/blob/trunk/coccinelle/examples/counted_by.cocci

Cc: Davidlohr Bueso <dave@stgolabs.net>
Cc: Jonathan Cameron <jonathan.cameron@huawei.com>
Cc: Dave Jiang <dave.jiang@intel.com>
Cc: Alison Schofield <alison.schofield@intel.com>
Cc: Vishal Verma <vishal.l.verma@intel.com>
Cc: Ira Weiny <ira.weiny@intel.com>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: linux-cxl@vger.kernel.org
Signed-off-by: Kees Cook <keescook@chromium.org>
Reviewed-by: Vishal Verma <vishal.l.verma@intel.com>
Reviewed-by: Dave Jiang <dave.jiang@intel.com>
Link: https://lore.kernel.org/r/20230922175319.work.096-kees@kernel.org
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
20 months agocxl/port: Fix cxl_test register enumeration regression
Dan Williams [Fri, 15 Sep 2023 08:07:30 +0000 (01:07 -0700)]
cxl/port: Fix cxl_test register enumeration regression

The cxl_test unit test environment models a CXL topology for
sysfs/user-ABI regression testing. It uses interface mocking via the
"--wrap=" linker option to redirect cxl_core routines that parse
hardware registers with versions that just publish objects, like
devm_cxl_enumerate_decoders().

Starting with:

Commit 19ab69a60e3b ("cxl/port: Store the port's Component Register mappings in struct cxl_port")

...port register enumeration is moved into devm_cxl_add_port(). This
conflicts with the "cxl_test avoids emulating registers stance" so
either the port code needs to be refactored (too violent), or modified
so that register enumeration is skipped on "fake" cxl_test ports
(annoying, but straightforward).

This conflict has happened previously and the "check for platform
device" workaround to avoid instrusive refactoring was deployed in those
scenarios. In general, refactoring should only benefit production code,
test code needs to remain minimally instrusive to the greatest extent
possible.

This was missed previously because it may sometimes just cause warning
messages to be emitted, but it can also cause test failures. The
backport to -stable is only nice to have for clean cxl_test runs.

Fixes: 19ab69a60e3b ("cxl/port: Store the port's Component Register mappings in struct cxl_port")
Cc: stable@vger.kernel.org
Reported-by: Alison Schofield <alison.schofield@intel.com>
Reviewed-by: Dave Jiang <dave.jiang@intel.com>
Tested-by: Dave Jiang <dave.jiang@intel.com>
Link: https://lore.kernel.org/r/169476525052.1013896.6235102957693675187.stgit@dwillia2-xfh.jf.intel.com
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
20 months agoeventfs: Remember what dentries were created on dir open
Steven Rostedt (Google) [Fri, 22 Sep 2023 20:34:46 +0000 (16:34 -0400)]
eventfs: Remember what dentries were created on dir open

Using the following code with libtracefs:

int dfd;

// create the directory events/kprobes/kp1
tracefs_kprobe_raw(NULL, "kp1", "schedule_timeout", "time=$arg1");

// Open the kprobes directory
dfd = tracefs_instance_file_open(NULL, "events/kprobes", O_RDONLY);

// Do a lookup of the kprobes/kp1 directory (by looking at enable)
tracefs_file_exists(NULL, "events/kprobes/kp1/enable");

// Now create a new entry in the kprobes directory
tracefs_kprobe_raw(NULL, "kp2", "schedule_hrtimeout", "expires=$arg1");

// Do another lookup to create the dentries
tracefs_file_exists(NULL, "events/kprobes/kp2/enable"))

// Close the directory
close(dfd);

What happened above, the first open (dfd) will call
dcache_dir_open_wrapper() that will create the dentries and up their ref
counts.

Now the creation of "kp2" will add another dentry within the kprobes
directory.

Upon the close of dfd, eventfs_release() will now do a dput for all the
entries in kprobes. But this is where the problem lies. The open only
upped the dentry of kp1 and not kp2. Now the close is decrementing both
kp1 and kp2, which causes kp2 to get a negative count.

Doing a "trace-cmd reset" which deletes all the kprobes cause the kernel
to crash! (due to the messed up accounting of the ref counts).

To solve this, save all the dentries that are opened in the
dcache_dir_open_wrapper() into an array, and use this array to know what
dentries to do a dput on in eventfs_release().

Since the dcache_dir_open_wrapper() calls dcache_dir_open() which uses the
file->private_data, we need to also add a wrapper around dcache_readdir()
that uses the cursor assigned to the file->private_data. This is because
the dentries need to also be saved in the file->private_data. To do this
create the structure:

  struct dentry_list {
void *cursor;
struct dentry **dentries;
  };

Which will hold both the cursor and the dentries. Some shuffling around is
needed to make sure that dcache_dir_open() and dcache_readdir() only see
the cursor.

Link: https://lore.kernel.org/linux-trace-kernel/20230919211804.230edf1e@gandalf.local.home/
Link: https://lore.kernel.org/linux-trace-kernel/20230922163446.1431d4fa@gandalf.local.home
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Ajay Kaher <akaher@vmware.com>
Fixes: 63940449555e7 ("eventfs: Implement eventfs lookup, read, open functions")
Reported-by: "Masami Hiramatsu (Google)" <mhiramat@kernel.org>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
20 months agoring-buffer: Fix bytes info in per_cpu buffer stats
Zheng Yejian [Thu, 21 Sep 2023 12:54:25 +0000 (20:54 +0800)]
ring-buffer: Fix bytes info in per_cpu buffer stats

The 'bytes' info in file 'per_cpu/cpu<X>/stats' means the number of
bytes in cpu buffer that have not been consumed. However, currently
after consuming data by reading file 'trace_pipe', the 'bytes' info
was not changed as expected.

  # cat per_cpu/cpu0/stats
  entries: 0
  overrun: 0
  commit overrun: 0
  bytes: 568             <--- 'bytes' is problematical !!!
  oldest event ts:  8651.371479
  now ts:  8653.912224
  dropped events: 0
  read events: 8

The root cause is incorrect stat on cpu_buffer->read_bytes. To fix it:
  1. When stat 'read_bytes', account consumed event in rb_advance_reader();
  2. When stat 'entries_bytes', exclude the discarded padding event which
     is smaller than minimum size because it is invisible to reader. Then
     use rb_page_commit() instead of BUF_PAGE_SIZE at where accounting for
     page-based read/remove/overrun.

Also correct the comments of ring_buffer_bytes_cpu() in this patch.

Link: https://lore.kernel.org/linux-trace-kernel/20230921125425.1708423-1-zhengyejian1@huawei.com
Cc: stable@vger.kernel.org
Fixes: c64e148a3be3 ("trace: Add ring buffer stats to measure rate of events")
Signed-off-by: Zheng Yejian <zhengyejian1@huawei.com>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
20 months agoMerge tag 'thermal-6.6-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael...
Linus Torvalds [Fri, 22 Sep 2023 20:25:13 +0000 (13:25 -0700)]
Merge tag 'thermal-6.6-rc3' of git://git./linux/kernel/git/rafael/linux-pm

Pull thermal control fix from Rafael Wysocki:
 "Unbreak the trip point update sysfs interface that has been broken
  since the 6.3 cycle (Rafael Wysocki)"

* tag 'thermal-6.6-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
  thermal: sysfs: Fix trip_point_hyst_store()

20 months agoMerge tag 'acpi-6.6-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael...
Linus Torvalds [Fri, 22 Sep 2023 20:19:04 +0000 (13:19 -0700)]
Merge tag 'acpi-6.6-rc3' of git://git./linux/kernel/git/rafael/linux-pm

Pull ACPI fixes from Rafael Wysocki:
 "These fix a general ACPI processor driver regression and an ia64 build
  issue, both introduced recently.

  Specifics:

   - Fix recently introduced uninitialized memory access issue in the
     ACPI processor driver (Michal Wilczynski)

   - Fix ia64 build inadvertently broken by recent ACPI processor driver
     changes, which is prudent to do for 6.6 even though ia64 support is
     slated for removal in 6.7 (Ard Biesheuvel)"

* tag 'acpi-6.6-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
  ACPI: processor: Fix uninitialized access of buf in acpi_set_pdc_bits()
  acpi: Provide ia64 dummy implementation of acpi_proc_quirk_mwait_check()

20 months agoMerge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux
Linus Torvalds [Fri, 22 Sep 2023 19:41:43 +0000 (12:41 -0700)]
Merge tag 'arm64-fixes' of git://git./linux/kernel/git/arm64/linux

Pull arm64 fixes from Will Deacon:
 "Small crop of relatively boring arm64 fixes for -rc3.

  That's not to say we don't have any juicy bugs, however, it's just
  that fixes for those are likely to come via -mm and -tip for a hugetlb
  and an atomics issue respectively. I get left with the
  documentation...

   - Fix detection of "ClearBHB" and "Hinted Conditional Branch" features

   - Fix broken wildcarding for Arm PMU MAINTAINERS entry

   - Add missing documentation for userspace-visible ID register fields"

* tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
  arm64: Document missing userspace visible fields in ID_AA64ISAR2_EL1
  arm64/hbc: Document HWCAP2_HBC
  arm64/sme: Include ID_AA64PFR1_EL1.SME in cpu-feature-registers.rst
  arm64: cpufeature: Fix CLRBHB and BC detection
  MAINTAINERS: Use wildcard pattern for ARM PMU headers

20 months agoMerge tag 'x86_urgent_for_v6.6-rc3' of git://git.kernel.org/pub/scm/linux/kernel...
Linus Torvalds [Fri, 22 Sep 2023 19:35:56 +0000 (12:35 -0700)]
Merge tag 'x86_urgent_for_v6.6-rc3' of git://git./linux/kernel/git/tip/tip

Pull x86 rethunk fixes from Borislav Petkov:
 "Fix the patching ordering between static calls and return thunks"

* tag 'x86_urgent_for_v6.6-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86,static_call: Fix static-call vs return-thunk
  x86/alternatives: Remove faulty optimization

20 months agoMerge tag 'x86-urgent-2023-09-22' of git://git.kernel.org/pub/scm/linux/kernel/git...
Linus Torvalds [Fri, 22 Sep 2023 19:26:42 +0000 (12:26 -0700)]
Merge tag 'x86-urgent-2023-09-22' of git://git./linux/kernel/git/tip/tip

Pull misc x86 fixes from Ingo Molnar:

 - Fix a kexec bug

 - Fix an UML build bug

 - Fix a handful of SRSO related bugs

 - Fix a shadow stacks handling bug & robustify related code

* tag 'x86-urgent-2023-09-22' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86/shstk: Add warning for shadow stack double unmap
  x86/shstk: Remove useless clone error handling
  x86/shstk: Handle vfork clone failure correctly
  x86/srso: Fix SBPB enablement for spec_rstack_overflow=off
  x86/srso: Don't probe microcode in a guest
  x86/srso: Set CPUID feature bits independently of bug or mitigation status
  x86/srso: Fix srso_show_state() side effect
  x86/asm: Fix build of UML with KASAN
  x86/mm, kexec, ima: Use memblock_free_late() from ima_free_kexec_buffer()

20 months agoMerge tag 'sched-urgent-2023-09-22' of git://git.kernel.org/pub/scm/linux/kernel...
Linus Torvalds [Fri, 22 Sep 2023 19:16:46 +0000 (12:16 -0700)]
Merge tag 'sched-urgent-2023-09-22' of git://git./linux/kernel/git/tip/tip

Pull scheduler fix from Ingo Molnar:
 "Fix a PF_IDLE initialization bug that generated warnings on tiny-RCU"

* tag 'sched-urgent-2023-09-22' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  kernel/sched: Modify initial boot task idle setup

20 months agoMerge tag 'locking-urgent-2023-09-22' of git://git.kernel.org/pub/scm/linux/kernel...
Linus Torvalds [Fri, 22 Sep 2023 19:02:30 +0000 (12:02 -0700)]
Merge tag 'locking-urgent-2023-09-22' of git://git./linux/kernel/git/tip/tip

Pull locking fixes from Ingo Molnar:
 "Fix a include/linux/atomic/atomic-arch-fallback.h breakage that
  generated incorrect code, and fix a lockdep reporting race that may
  result in lockups"

* tag 'locking-urgent-2023-09-22' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  locking/seqlock: Do the lockdep annotation before locking in do_write_seqcount_begin_nested()
  locking/atomic: scripts: fix fallback ifdeffery

20 months agox86,static_call: Fix static-call vs return-thunk
Peter Zijlstra [Fri, 22 Sep 2023 10:12:25 +0000 (10:12 +0000)]
x86,static_call: Fix static-call vs return-thunk

Commit

  7825451fa4dc ("static_call: Add call depth tracking support")

failed to realize the problem fixed there is not specific to call depth
tracking but applies to all return-thunk uses.

Move the fix to the appropriate place and condition.

Fixes: ee88d363d156 ("x86,static_call: Use alternative RET encoding")
Reported-by: David Kaplan <David.Kaplan@amd.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Reviewed-by: Ingo Molnar <mingo@kernel.org>
Tested-by: Borislav Petkov (AMD) <bp@alien8.de>
Cc: <stable@kernel.org>
20 months agox86/alternatives: Remove faulty optimization
Josh Poimboeuf [Tue, 5 Sep 2023 05:04:54 +0000 (22:04 -0700)]
x86/alternatives: Remove faulty optimization

The following commit

  095b8303f383 ("x86/alternative: Make custom return thunk unconditional")

made '__x86_return_thunk' a placeholder value.  All code setting
X86_FEATURE_RETHUNK also changes the value of 'x86_return_thunk'.  So
the optimization at the beginning of apply_returns() is dead code.

Also, before the above-mentioned commit, the optimization actually had a
bug It bypassed __static_call_fixup(), causing some raw returns to
remain unpatched in static call trampolines.  Thus the 'Fixes' tag.

Fixes: d2408e043e72 ("x86/alternative: Optimize returns patching")
Signed-off-by: Josh Poimboeuf <jpoimboe@kernel.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Acked-by: Borislav Petkov (AMD) <bp@alien8.de>
Link: https://lore.kernel.org/r/16d19d2249d4485d8380fb215ffaae81e6b8119e.1693889988.git.jpoimboe@kernel.org
20 months agoMerge branch 'acpi-processor'
Rafael J. Wysocki [Fri, 22 Sep 2023 16:34:34 +0000 (18:34 +0200)]
Merge branch 'acpi-processor'

Merge a fix for recently introduced uninitialized memory access in the
ACPI processor driver from Michal Wilczynski.

* acpi-processor:
  ACPI: processor: Fix uninitialized access of buf in acpi_set_pdc_bits()