linux-block.git
11 months agoarm64: dts: imx95: add pcie[0,1] and pcie-ep[0,1] support
Frank Li [Thu, 20 Jun 2024 16:16:20 +0000 (12:16 -0400)]
arm64: dts: imx95: add pcie[0,1] and pcie-ep[0,1] support

Add pcie[0,1] and pcie-ep[0,1] support.

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
11 months agoarm64: dts: imx95: add '#address-cells' and '#size-cells' for all i2c
Frank Li [Thu, 20 Jun 2024 16:16:19 +0000 (12:16 -0400)]
arm64: dts: imx95: add '#address-cells' and '#size-cells' for all i2c

Add '#address-cells' and '#size-cells' for all I2C to avoid duplicate these
at every board files.

Reviewed-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
11 months agoarm64: dts: fsl-ls1043a-rdb: use common spi-cs-setup(hold)-delay-ns
Frank Li [Mon, 24 Jun 2024 18:55:29 +0000 (14:55 -0400)]
arm64: dts: fsl-ls1043a-rdb: use common spi-cs-setup(hold)-delay-ns

Use SPI common properties 'spi-cs-setup-delay-ns' and
'spi-cs-hold-delay-ns', mark private properties 'fsl,spi-cs-sck-delay'
and 'fsl,spi-sck-cs-delay' as deprecated.

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
11 months agoarm64: dts: imx93-11x11-evk: reorder lpi2c2, lpi2c3, mu1 and mu2 label
Joy Zou [Thu, 20 Jun 2024 02:26:37 +0000 (10:26 +0800)]
arm64: dts: imx93-11x11-evk: reorder lpi2c2, lpi2c3, mu1 and mu2 label

Reorder lpi2c2, lpi2c3, mu1 and mu2 label in alphabetical order.

Signed-off-by: Joy Zou <joy.zou@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
11 months agoarm64: dts: imx93-11x11-evk: fix duplicated lpi2c3 labels
Joy Zou [Thu, 20 Jun 2024 02:26:36 +0000 (10:26 +0800)]
arm64: dts: imx93-11x11-evk: fix duplicated lpi2c3 labels

Move node "rtc@53" to existed "&lpi2c3" and remove redundant
"&lpi2c3" label.

Signed-off-by: Joy Zou <joy.zou@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
11 months agoMerge tag 'imx-fixes-6.10' into imx/dt64
Shawn Guo [Mon, 1 Jul 2024 14:21:22 +0000 (22:21 +0800)]
Merge tag 'imx-fixes-6.10' into imx/dt64

i.MX fixes for 6.10:

- Fix GPIO number for reg_usdhc2_vmmc on imx8qm-mek board.
- Enable hysteresis for SODIMM_17 pin on imx8mm-verdin board to increase
  immunity against noise.
- Remove 'no-sdio' property for uSDHC2 on imx93-11x11-evk board, so that
  SDIO cards could also work.
- Fix BT shutdown GPIO for imx8mp-venice-gw73xx-2x board.
- Fix panel node deleting on imx53-qsb-hdmi, as /delete-node/ directive
  doesn't really delete a node in a DT overlay.
- Fix TC9595 input clock on DH i.MX8M Plus DHCOM SoM.
- Fix GPU speed for imx8mm-verdin board by enabling overdrive mode in
  the SOM dtsi.

11 months agoarm64: dts: imx8mp: Fix pgc vpu locations
Adam Ford [Wed, 19 Jun 2024 10:10:44 +0000 (05:10 -0500)]
arm64: dts: imx8mp: Fix pgc vpu locations

The various pgv_vpu nodes have a mismatch between the value after
the @ symbol and what is referenced by 'reg' so reorder the nodes
to align.

Fixes: df680992dd62 ("arm64: dts: imx8mp: add vpu pgc nodes")
Suggested-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Adam Ford <aford173@gmail.com>
Reviewd-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
11 months agoarm64: dts: imx8mp-venice-gw74xx: add DP83867 configuration
Tim Harvey [Tue, 18 Jun 2024 20:09:01 +0000 (13:09 -0700)]
arm64: dts: imx8mp-venice-gw74xx: add DP83867 configuration

The GW7400 has an onboard DP83867 RGMII GbE PHY:
 - add RGMII delay and FIFO configuration
 - add LED configuration required to use them via netdev trigger:
   two LED's (LED1 and LED2, skipping LED0).

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
11 months agoarm64: dts: imx8mp-venice-gw702x: add support for PHY LED's
Tim Harvey [Tue, 18 Jun 2024 20:05:52 +0000 (13:05 -0700)]
arm64: dts: imx8mp-venice-gw702x: add support for PHY LED's

The GW702x SoM has an onboard DP83867 RGMII GbE PHY that drives two
LED's (LED1 and LED2, skipping LED0). Add the appropriate dt bindings to
allow these PHY LED's to be controlled via a netdev trigger.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
11 months agoarm64: dts: imx8mm-venice-gw700x: add support for PHY LED's
Tim Harvey [Tue, 18 Jun 2024 20:02:54 +0000 (13:02 -0700)]
arm64: dts: imx8mm-venice-gw700x: add support for PHY LED's

The GW700x SoM has an onboard DP83867 RGMII GbE PHY that drives two
LED's (LED1 and LED2, skipping LED0). Add the appropriate dt bindings to
allow these PHY LED's to be controlled via a netdev trigger.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
11 months agoarm64: dts: freescale: imx8m*-venice-*: fix gw,gsc dt-schema warnings
Tim Harvey [Tue, 18 Jun 2024 17:21:51 +0000 (10:21 -0700)]
arm64: dts: freescale: imx8m*-venice-*: fix gw,gsc dt-schema warnings

Fix the dt-schema warnings due to #address-cells/#size-cells being
unnecessary when there are no children with reg cells.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
11 months agoarm64: dts: imx8mp: Fix pgc_mlmix location
Adam Ford [Mon, 17 Jun 2024 22:39:51 +0000 (17:39 -0500)]
arm64: dts: imx8mp: Fix pgc_mlmix location

The pgc_mlmix shows a power-domain@24, but the reg value is
IMX8MP_POWER_DOMAIN_MLMIX which is set to 4.

The stuff after the @ symbol should match the stuff referenced
by 'reg' so reorder the pgc_mlmix so it to appear as power-domain@4.

Fixes: 834464c8504c ("arm64: dts: imx8mp: add mlmix power domain")
Fixes: 4bedc468b725 ("arm64: dts: imx8mp: Add NPU Node")
Signed-off-by: Adam Ford <aford173@gmail.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Reviewed-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
11 months agoarm64: dts: imx8dxl-evk: add imx8dxl_cm4, lsio mu5, related memory region
Frank Li [Mon, 17 Jun 2024 18:47:07 +0000 (14:47 -0400)]
arm64: dts: imx8dxl-evk: add imx8dxl_cm4, lsio mu5, related memory region

Add imx8dxl_cm4, lsio mu5 and related memory region.

Reviewed-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
11 months agoarm64: dts: freescale: add TQMa8MPQL on MBa8MP-RAS314
Martin Schmiedel [Mon, 17 Jun 2024 08:12:29 +0000 (10:12 +0200)]
arm64: dts: freescale: add TQMa8MPQL on MBa8MP-RAS314

This adds support for TQMa8MPQL module on MBa8MP-RAS314 board.

Signed-off-by: Martin Schmiedel <Martin.Schmiedel@tq-group.com>
Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: imx8dxl-ss-conn: add gpmi nand
Frank Li [Mon, 20 May 2024 16:09:17 +0000 (12:09 -0400)]
arm64: dts: imx8dxl-ss-conn: add gpmi nand

Update gpmi nand and dma_apbh interrupt number for imx8dxl.

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: imx8-ss-conn: add gpmi nand node
Frank Li [Mon, 20 May 2024 16:09:16 +0000 (12:09 -0400)]
arm64: dts: imx8-ss-conn: add gpmi nand node

Add gpmi nand support.

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: freescale: Support i.MX93 9x9 Quick Start Board
Peng Fan [Mon, 17 Jun 2024 03:11:45 +0000 (11:11 +0800)]
arm64: dts: freescale: Support i.MX93 9x9 Quick Start Board

Add the board device tree with sdhc1/2, cm33, mu, lpuart1, lpi2c1/2,
usb enabled and etc, which to support the i.MX 93 quick start evaluation
kit that provides a low-cost platform to evaluate the i.MX 93 applications
processors in a 9x9mm package.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: imx8qm-mek: fix gpio number for reg_usdhc2_vmmc
Frank Li [Fri, 14 Jun 2024 15:06:32 +0000 (11:06 -0400)]
arm64: dts: imx8qm-mek: fix gpio number for reg_usdhc2_vmmc

The gpio in "reg_usdhc2_vmmc" should be 7 instead of 19.

Cc: stable@vger.kernel.org
Fixes: 307fd14d4b14 ("arm64: dts: imx: add imx8qm mek support")
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: freescale: add i.MX95 19x19 EVK minimal board dts
Peng Fan [Mon, 17 Jun 2024 02:56:37 +0000 (10:56 +0800)]
arm64: dts: freescale: add i.MX95 19x19 EVK minimal board dts

Add a minimal dts for i.MX95 19x19 EVK board:
 - lpuart1 as console
 - sdhc1/2 as storage

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: freescale: add i.MX95 basic dtsi
Peng Fan [Mon, 17 Jun 2024 02:56:36 +0000 (10:56 +0800)]
arm64: dts: freescale: add i.MX95 basic dtsi

i.MX95 features 6 A55 Cores, ARM Mali GPU, ISP, ML acceleration NPU,
and Edgelock secure enclave security. This patch is to add a minimal
dtsi, with cpu cores, scmi, gic, uart, mu, sdhc, lpi2c added.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: imx8mm-iot-gateway: Add initial support
Fabio Estevam [Sun, 16 Jun 2024 17:21:49 +0000 (14:21 -0300)]
arm64: dts: imx8mm-iot-gateway: Add initial support

Add the initial support for the CompuLab i.MX8MM IoT Gateway board,
which is based on the Compulab's UCM-iMX8M-Mini SoM.

Board URL:
https://www.compulab.com/products/iot-gateways/iot-gate-imx8-industrial-arm-iot-gateway/

SoM URL:
https://www.compulab.com/products/computer-on-modules/ucm-imx8m-mini-nxp-i-mx-8m-mini-som-system-on-module-computer/

Signed-off-by: Fabio Estevam <festevam@denx.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: layerscape: change thermal node name
Frank Li [Thu, 13 Jun 2024 22:24:12 +0000 (18:24 -0400)]
arm64: dts: layerscape: change thermal node name

Add thermal subfix for thermal node name to fix DTB_CHECK warning:

    thermal-zones: '...' do not match any of the regexes:
    '^[a-zA-Z][a-zA-Z0-9\\-]{1,12}-thermal$'

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: layerscape: Change node name from 'esdhc' to 'mmc'
Frank Li [Thu, 13 Jun 2024 14:32:07 +0000 (10:32 -0400)]
arm64: dts: layerscape: Change node name from 'esdhc' to 'mmc'

Use common node name 'mmc' to fix DTB_CHECK warning.
Add compatible string 'fsl,ls2080a-esdhc' for fsl-lx2160a.

arch/arm64/boot/dts/freescale/fsl-ls1012a-frdm.dtb: esdhc@1560000: $nodename:0: 'esdhc@1560000' does not match '^mmc(@.*)?$'
arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dtb: esdhc@1560000: $nodename:0: 'esdhc@1560000' does not match '^mmc(@.*)?$'
arch/arm64/boot/dts/freescale/fsl-ls1046a-frwy.dtb: esdhc@1560000: $nodename:0: 'esdhc@1560000' does not match '^mmc(@.*)?$'
arch/arm64/boot/dts/freescale/fsl-ls1088a-qds.dtb: esdhc@2140000: $nodename:0: 'esdhc@2140000' does not match '^mmc(@.*)?$'
arch/arm64/boot/dts/freescale/fsl-ls2080a-qds.dtb: esdhc@2140000: $nodename:0: 'esdhc@2140000' does not match '^mmc(@.*)?$'
arch/arm64/boot/dts/freescale/fsl-lx2160a-honeycomb.dtb: esdhc@2140000: compatible:0: 'fsl,esdhc' is not one of ['fsl,mpc8536-esdhc', 'fsl,mpc8378-esdhc', 'fsl,p2020-esdhc', 'fsl,p4080-esdhc', 'fsl,t1040-esdhc', 'fsl,t4240-esdhc', 'fsl,ls1012a-esdhc', 'fsl,ls1028a-esdhc', 'fsl,ls1088a-esdhc', 'fsl,ls1043a-esdhc', 'fsl,ls1046a-esdhc', 'fsl,ls2080a-esdhc']
        from schema $id: http://devicetree.org/schemas/mmc/fsl,esdhc.yaml#
arch/arm64/boot/dts/freescale/fsl-lx2160a-honeycomb.dtb: esdhc@2140000: $nodename:0: 'esdhc@2140000' does not match '^mmc(@.*)?$'

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: imx8mp-msc-sm2s: Add HDMI output
Luca Ceresoli [Wed, 12 Jun 2024 10:17:27 +0000 (12:17 +0200)]
arm64: dts: imx8mp-msc-sm2s: Add HDMI output

Enable the HDMI output of the MSC SM2-MB-EP1 carrier board based the
SM2S-IMX8PLUS SMARC module.

Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: freescale: imx8mp-verdin: add HDMI support
Francesco Dolcini [Mon, 10 Jun 2024 14:10:01 +0000 (16:10 +0200)]
arm64: dts: freescale: imx8mp-verdin: add HDMI support

Enable HDMI output on Verdin iMX8MP on all the supported carrier boards
(dev, dahlia, mallow and yavia).

HDMI DDC I2C is used in regular I2C mode, see link on the related
dt-bindings patch.

Fix CEC and HPD pinctrl, having a pull-down on HPD and a pull-up on CEC.

Link: https://lore.kernel.org/all/20240515062753.111746-1-marex@denx.de/
Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: imx8mp-debix-model-a: Enable HDMI output
Christopher Obbard [Mon, 10 Jun 2024 23:42:38 +0000 (00:42 +0100)]
arm64: dts: imx8mp-debix-model-a: Enable HDMI output

Enable the HDMI output on the Debix Model A SBC, using the HDMI encoder
present in the i.MX8MP SoC.

This has been tested with a generic 1080p HDMI display, along with a
smaller 1280x800 HDMI display.

Signed-off-by: Christopher Obbard <chris.obbard@collabora.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Tested-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: imx8: use defines for interrupts
Krzysztof Kozlowski [Wed, 5 Jun 2024 15:30:20 +0000 (17:30 +0200)]
arm64: dts: imx8: use defines for interrupts

Replace hard-coded interrupt flags with standard defines for
readability.  No changes in resulting DTBs.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: ls208xa: use defines for timer interrupts
Krzysztof Kozlowski [Wed, 5 Jun 2024 15:30:19 +0000 (17:30 +0200)]
arm64: dts: ls208xa: use defines for timer interrupts

Replace hard-coded interrupt parts (GIC, flags) with standard defines
for readability.  No changes in resulting DTBs.  The comment was saying
interrupt was active low, but the actual used value was active high, so
assume that the code, not the comment, is correct.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: freescale: use defines for interrupts
Krzysztof Kozlowski [Wed, 5 Jun 2024 15:30:18 +0000 (17:30 +0200)]
arm64: dts: freescale: use defines for interrupts

Replace hard-coded interrupt parts (GIC, flags) with standard defines
for readability.  No changes in resulting DTBs.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: ls1028a-rdb: Add EEPROM nodes to I2C bus
Mike Looijmans [Tue, 4 Jun 2024 06:27:22 +0000 (08:27 +0200)]
arm64: dts: ls1028a-rdb: Add EEPROM nodes to I2C bus

The LS1028ARDB board contains three EEPROM devices, for
storing boot code, DDR SPD and board information. Add the
missing entries to the devicetree.

Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: freescale: imx8mm-verdin: enable hysteresis on slow input pin
Max Krummenacher [Mon, 3 Jun 2024 14:00:45 +0000 (16:00 +0200)]
arm64: dts: freescale: imx8mm-verdin: enable hysteresis on slow input pin

SODIMM 17 can be used as an edge triggered interrupt supplied from an
off board source.

Enable hysteresis on the pinmuxing to increase immunity against noise
on the signal.

Fixes: 60f01b5b5c7d ("arm64: dts: imx8mm-verdin: update iomux configuration")
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: imx8mp-beacon-kit: Fix errors found from CHECK_DTBS
Adam Ford [Sat, 1 Jun 2024 13:52:29 +0000 (08:52 -0500)]
arm64: dts: imx8mp-beacon-kit: Fix errors found from CHECK_DTBS

The adv7535 has some unnecessary entries which can be removed since
they were not setup properly anyway and the defaults work just fine.
Removing them and adding some required regulators make the errors
detected from CHECK_DTBS go away:

 reg-names:1: 'edid' was expected
 reg-names:2: 'cec' was expected
 'avdd-supply' is a required property
 'dvdd-supply' is a required property
 'pvdd-supply' is a required property
 'a2vdd-supply' is a required property
 'v3p3-supply' is a required property

Signed-off-by: Adam Ford <aford173@gmail.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: ls2160a: Change I2C clock name to ipg to fix DTB_CHECK warning
Frank Li [Fri, 31 May 2024 21:50:17 +0000 (17:50 -0400)]
arm64: dts: ls2160a: Change I2C clock name to ipg to fix DTB_CHECK warning

dt_binding require I2C's clock name is "ipg". Change it to "ipg" from "i2c"
to fix below DTB_CHECK warning.
arch/arm64/boot/dts/freescale/fsl-lx2162a-qds.dtb: i2c@2010000: clock-names:0: 'ipg' was expected

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: ls208xa: Change I2C clock name to ipg to fix DTB_CHECK warning
Frank Li [Fri, 31 May 2024 21:50:16 +0000 (17:50 -0400)]
arm64: dts: ls208xa: Change I2C clock name to ipg to fix DTB_CHECK warning

dt_binding require I2C's clock name is "ipg". Change it to "ipg" from "i2c"
to fix below DTB_CHECK warning.
arch/arm64/boot/dts/freescale/fsl-ls2088a-qds.dtb: i2c@2000000: clock-names:0: 'ipg' was expected

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: ls1043a: Change I2C clock name to ipg to fix DTB_CHECK warning
Frank Li [Fri, 31 May 2024 21:50:15 +0000 (17:50 -0400)]
arm64: dts: ls1043a: Change I2C clock name to ipg to fix DTB_CHECK warning

dt_binding require I2C's clock name is "ipg". Change it to "ipg" from "i2c"
to fix below DTB_CHECK warning.
arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dtb: i2c@2190000: clock-names:0: 'ipg' was expecte

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: ls1012a: Reorder sai dma-names to clean up DTB_CHECK warning
Frank Li [Fri, 31 May 2024 21:50:14 +0000 (17:50 -0400)]
arm64: dts: ls1012a: Reorder sai dma-names to clean up DTB_CHECK warning

Change order of sai's dma-names to clearn up below DTB_CHECK warning.

   arch/arm64/boot/dts/freescale/fsl-ls1012a-frdm.dtb: sai@2b50000: dma-names:1: 'tx' was expected
   arch/arm64/boot/dts/freescale/fsl-ls1012a-frdm.dtb: sai@2b60000: dma-names:1: 'tx' was expected

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: imx93-11x11-evk: Remove the 'no-sdio' property
Fabio Estevam [Wed, 29 May 2024 03:48:54 +0000 (00:48 -0300)]
arm64: dts: imx93-11x11-evk: Remove the 'no-sdio' property

The usdhc2 port is connected to the microSD slot. The presence of the
'no-sdio' property prevents Wifi SDIO cards, such as CMP9010-X-EVB [1]
to be detected.

Remove the 'no-sdio' property so that SDIO cards could also work.

[1] https://www.nxp.com/products/wireless-connectivity/wi-fi-plus-bluetooth-plus-802-15-4/cmp9010-x-evb-iw416-usd-interface-evaluation-board:CMP9010-X-EVB

Fixes: e37907bd8294 ("arm64: dts: freescale: add i.MX93 11x11 EVK basic support")
Signed-off-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: imx8mp: Add imx8mp-specific irqsteer compatible
Alexander Stein [Tue, 28 May 2024 07:11:41 +0000 (09:11 +0200)]
arm64: dts: imx8mp: Add imx8mp-specific irqsteer compatible

i.MX8MP irqsteer has power-domain support, so use a dedicated compatible.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: freescale: imx8mp-verdin: don't limit i2c2 max. clock
Max Krummenacher [Mon, 27 May 2024 16:03:46 +0000 (18:03 +0200)]
arm64: dts: freescale: imx8mp-verdin: don't limit i2c2 max. clock

Verdin I2C2 may be used to access other I2C devices apart from serving
as an HDMI DDC channel.
Thus do not limit the used I2C clock frequency to 10kHz in the module
specific device tree part.
If an overlay configures i2c2 as DDC the overlay is also responsible
to cope with an appropriate I2C clock.

Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: freescale: imx8mm-verdin: don't limit i2c2 max. clock
Max Krummenacher [Mon, 27 May 2024 16:03:45 +0000 (18:03 +0200)]
arm64: dts: freescale: imx8mm-verdin: don't limit i2c2 max. clock

Verdin I2C2 may be used to access other I2C devices apart from serving
as an HDMI DDC channel.
Thus do not limit the used I2C clock frequency to 10kHz in the module
specific device tree part.
If an overlay configures i2c2 as DDC the overlay is also responsible
to cope with an appropriate I2C clock.

Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: phygate-tauri-l: add overlays for RS232 and RS485
Parthiban Nallathambi [Sat, 25 May 2024 17:18:54 +0000 (22:48 +0530)]
arm64: dts: phygate-tauri-l: add overlays for RS232 and RS485

UART2 and UART4 can used in following combination,

2 x RS232:
- UART2 and UART4 without flow control
- MUX selection GPIO3_20 must be held low

1 x RS232 + 1 x RS485:
- UART2 - RS232
- UART4 - RS485
- MUX selection GPIO3_20 must be held high
- RE/DE for RS485 controlled with GPIO3_25

1 x RS232 with flow control:
- UART2 - RS232
- MUX selection GPIO3_20 must be held low

Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: phygate-tauri-l: enable pcie phy
Parthiban Nallathambi [Sat, 25 May 2024 17:18:53 +0000 (22:48 +0530)]
arm64: dts: phygate-tauri-l: enable pcie phy

I210 intel ethernet controller is connected to PCIe. Enable the PHY
to use the ethernet controller.

Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: freescale: imx8mp-venice-gw73xx-2x: fix BT shutdown GPIO
Tim Harvey [Wed, 22 May 2024 21:38:28 +0000 (14:38 -0700)]
arm64: dts: freescale: imx8mp-venice-gw73xx-2x: fix BT shutdown GPIO

Fix the invalid BT shutdown GPIO (gpio1_io3 not gpio4_io16)

Fixes: 716ced308234 ("arm64: dts: freescale: Add imx8mp-venice-gw73xx-2x")
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: freescale: ls1028a: Reorder sai dma-names to fix warning
Frank Li [Mon, 20 May 2024 20:41:32 +0000 (16:41 -0400)]
arm64: dts: freescale: ls1028a: Reorder sai dma-names to fix warning

Reorder the SAI dma-names to ensure "rx" precedes "tx" as required to fixes
the DTB_CHECK warning.

arch/arm64/boot/dts/freescale/fsl-ls1028a-rdb.dtb: audio-controller@f100000: dma-names:1: 'tx' was expected
from schema $id: http://devicetree.org/schemas/sound/fsl,sai.yaml#
arm64/boot/dts/freescale/fsl-ls1028a-rdb.dtb: audio-controller@f110000: dma-names:1: 'tx' was expected

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: freescale: ls1028a: Remove undocumented 'fsl,ls-pcie-ep'
Frank Li [Mon, 20 May 2024 20:41:31 +0000 (16:41 -0400)]
arm64: dts: freescale: ls1028a: Remove undocumented 'fsl,ls-pcie-ep'

Remove the undocumented compatible string 'fsl,ls-pcie-ep' property from
the ls1028a device tree source to fix DTB_CHECK warnings.

arch/arm64/boot/dts/freescale/fsl-ls1028a-rdb.dtb: pcie-ep@3400000: compatible: ['fsl,ls1028a-pcie-ep', 'fsl,ls-pcie-ep'] is too long
from schema $id: http://devicetree.org/schemas/pci/fsl,layerscape-pcie-ep.yaml#

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: imx8mq-librem5: Don't wake up on volume key press
Guido Günther [Mon, 20 May 2024 10:57:05 +0000 (12:57 +0200)]
arm64: dts: imx8mq-librem5: Don't wake up on volume key press

The only key that should wake up the phone is power button press. This
prevents accidental wakeup due to e.g. pressing the buttons in the
pocket or backpack and is in line what userspace uses to unblank the
device.

Signed-off-by: Guido Günther <agx@sigxcpu.org>
Reviewed-by: Martin Kepplinger <martink@posteo.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: imx8mp-tqma8mpql-mba8mpxl: Remove unused ocram node
Alexander Stein [Thu, 16 May 2024 11:23:43 +0000 (13:23 +0200)]
arm64: dts: imx8mp-tqma8mpql-mba8mpxl: Remove unused ocram node

This node is unused and origins from downstream kernel where it is
used for the DSP.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm: dts: imx53-qsb-hdmi: Disable panel instead of deleting node
Liu Ying [Tue, 14 May 2024 03:07:18 +0000 (11:07 +0800)]
arm: dts: imx53-qsb-hdmi: Disable panel instead of deleting node

We cannot use /delete-node/ directive to delete a node in a DT
overlay.  The node won't be deleted effectively.  Instead, set
the node's status property to "disabled" to achieve something
similar.

Fixes: eeb403df953f ("ARM: dts: imx53-qsb: add support for the HDMI expander")
Signed-off-by: Liu Ying <victor.liu@nxp.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: imx8mp: Enable HDMI on i.MX8MP DHCOM PDK2 and PDK3
Marek Vasut [Tue, 14 May 2024 01:06:42 +0000 (03:06 +0200)]
arm64: dts: imx8mp: Enable HDMI on i.MX8MP DHCOM PDK2 and PDK3

Enable HDMI output on i.MX8MP DHCOM PDK2 and PDK3. The I2C5 on PDK2 and
I2C mux port 1 on PDK3 respectively are used in regular I2C mode instead
of HDMI DDC mode to permit connection of other I2C devices on those buses.
The pinctrl_hdmi node is part of the SoM DTSI already.

Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: imx8mp: Fix TC9595 input clock on DH i.MX8M Plus DHCOM SoM
Marek Vasut [Sat, 15 Jun 2024 08:00:43 +0000 (16:00 +0800)]
arm64: dts: imx8mp: Fix TC9595 input clock on DH i.MX8M Plus DHCOM SoM

The IMX8MP_CLK_CLKOUT2 supplies the TC9595 bridge with 13 MHz reference
clock. The IMX8MP_CLK_CLKOUT2 is supplied from IMX8MP_AUDIO_PLL2_OUT.
The IMX8MP_CLK_CLKOUT2 operates only as a power-of-two divider, and the
current 156 MHz is not power-of-two divisible to achieve 13 MHz.

To achieve 13 MHz output from IMX8MP_CLK_CLKOUT2, set IMX8MP_AUDIO_PLL2_OUT
to 208 MHz, because 208 MHz / 16 = 13 MHz.

Fixes: 20d0b83e712b ("arm64: dts: imx8mp: Add TC9595 bridge on DH electronics i.MX8M Plus DHCOM")
Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: imx8mp-evk: add bt-sco sound card support
Shengjiu Wang [Thu, 9 May 2024 05:14:58 +0000 (13:14 +0800)]
arm64: dts: imx8mp-evk: add bt-sco sound card support

Add bt-sco sound card, which is used by BT HFP case.
It supports wb profile as default

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: imx8mp: Initialize audio PLLs from audiomix subsystem
Shengjiu Wang [Thu, 9 May 2024 05:14:57 +0000 (13:14 +0800)]
arm64: dts: imx8mp: Initialize audio PLLs from audiomix subsystem

Initialize audio PLL1 as the parent clock for 8kHz series rates,
audio PLL2 as the parent clock for 11kHz series rates. that PLL1
and PLL2 can together support full range of audio sample rates.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: imx8mp-evk: Add MX8-DLVDS-LCD1 display module support
Liu Ying [Wed, 8 May 2024 10:00:13 +0000 (18:00 +0800)]
arm64: dts: imx8mp-evk: Add MX8-DLVDS-LCD1 display module support

MX8-DLVDS-LCD1 display module integrates a KOE TX26D202VM0BWA LCD panel
and a touch IC.  Add an overlay to support the LCD panel on i.MX8MP EVK.
Specify 148.5MHz clock frequency in panel-timing node to accommodate
3.5-fold 519.75MHz media_ldb clock which is derived from 1.0395GHz
video_pll1 clock.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: freescale: imx8mm-verdin: Fix GPU speed
Joao Paulo Goncalves [Tue, 7 May 2024 14:35:55 +0000 (11:35 -0300)]
arm64: dts: freescale: imx8mm-verdin: Fix GPU speed

The GPU clock was reduced on iMX8MM SOC device tree to prevent boards
that don't support GPU overdrive from being out of specification. However,
this caused a regression in GPU speed for the Verdin iMX8MM, which does
support GPU overdrive. This patch fixes this by enabling overdrive mode
in the SOM dtsi.

Fixes: 1f794d3eed53 ("arm64: dts: imx8mm: Reduce GPU to nominal speed")
Signed-off-by: Joao Paulo Goncalves <joao.goncalves@toradex.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: imx8qm: Add GPU nodes
Christian Gmeiner [Fri, 3 May 2024 21:22:48 +0000 (23:22 +0200)]
arm64: dts: imx8qm: Add GPU nodes

Add the DT node for the GPU core found on the i.MX8QM.

etnaviv-gpu 53100000.gpu: model: GC7000, revision: 6009
[drm] Initialized etnaviv 1.4.0 20151214 for etnaviv on minor 0

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: imx8qm-mek: add fec2 support
Frank Li [Thu, 25 Apr 2024 20:24:46 +0000 (16:24 -0400)]
arm64: dts: imx8qm-mek: add fec2 support

Add fec2 support.

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: imx8qm: add ocopt and fec_mac[0,1]
Frank Li [Thu, 25 Apr 2024 20:24:45 +0000 (16:24 -0400)]
arm64: dts: imx8qm: add ocopt and fec_mac[0,1]

add ocotp ad fec_mac[0,1] for imx8qm.

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: imx8qm-mek: add lsio mu5 and mu6
Frank Li [Thu, 25 Apr 2024 20:24:44 +0000 (16:24 -0400)]
arm64: dts: imx8qm-mek: add lsio mu5 and mu6

Add lsio mu5 and mu6.

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: imx8qm-mek: add flexcan support
Frank Li [Thu, 25 Apr 2024 20:24:43 +0000 (16:24 -0400)]
arm64: dts: imx8qm-mek: add flexcan support

Add flexcan[1,2,3] support for imx8qm-mek board.

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: imx8qm-mek: add cm41_i2c and children devices
Frank Li [Thu, 25 Apr 2024 20:24:42 +0000 (16:24 -0400)]
arm64: dts: imx8qm-mek: add cm41_i2c and children devices

Add cm41_i2c and devices under it for imx8qm-mek board.

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: imx8qm-mek: add i2c0 and children devices
Frank Li [Thu, 25 Apr 2024 20:24:41 +0000 (16:24 -0400)]
arm64: dts: imx8qm-mek: add i2c0 and children devices

Add i2c0 and all devices under it for imx8qm-mek board.

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: imx8x: add cm41 subsystem dtsi
Frank Li [Thu, 25 Apr 2024 20:24:40 +0000 (16:24 -0400)]
arm64: dts: imx8x: add cm41 subsystem dtsi

Add cm41 subsystem dtsi for iMX8X chips.

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: imx8qm-mek: add sai and wm8960 support
Frank Li [Thu, 25 Apr 2024 20:24:39 +0000 (16:24 -0400)]
arm64: dts: imx8qm-mek: add sai and wm8960 support

Add sai[0,1,6,7], wm8960 and asrc0 support.

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: imx8qm-ss-audio: add audio nodes
Frank Li [Thu, 25 Apr 2024 20:24:38 +0000 (16:24 -0400)]
arm64: dts: imx8qm-ss-audio: add audio nodes

Add i.MX8QM audio related nodes and update eDMA[0,1]'s information.

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: imx8-ss-audio: remove memory-region = <&dsp_reserved>;
Frank Li [Thu, 25 Apr 2024 20:24:37 +0000 (16:24 -0400)]
arm64: dts: imx8-ss-audio: remove memory-region = <&dsp_reserved>;

Different boards have different DDR memory sizes and layouts for reserved
memory. This change reduces future dependencies to add 'imx8qm-ss-audio'.

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: imx8dxl-evk: add audio nodes
Frank Li [Thu, 25 Apr 2024 15:34:43 +0000 (11:34 -0400)]
arm64: dts: imx8dxl-evk: add audio nodes

Add audio nodes for imx8dxl-evk boards.

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: imx8dxl-ss-adma: update audio node power domains and IRQ number
Frank Li [Thu, 25 Apr 2024 15:34:42 +0000 (11:34 -0400)]
arm64: dts: imx8dxl-ss-adma: update audio node power domains and IRQ number

The power domains of i.MX8DXL's acm is difference i.MX8QXP. IRQ number of
sai[0..3] and spdif0 are also difference.

Update power domains information for i.MX8DXL.

Update sai[0..3] and spdif0's IRQ number for i.MX8DXL.

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: imx8dxl-ss-adma: delete unused node
Frank Li [Thu, 25 Apr 2024 15:34:41 +0000 (11:34 -0400)]
arm64: dts: imx8dxl-ss-adma: delete unused node

Delete unused node in adma subsystem.

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: freescale: tqma8xx: Add partitions subnode to spi-nor
Alexander Stein [Tue, 23 Apr 2024 11:31:51 +0000 (13:31 +0200)]
arm64: dts: freescale: tqma8xx: Add partitions subnode to spi-nor

The bootloader adds MTD partitions in this subnode if present, or in the
spi-nor node itself otherwise.
Setting #size-cells in MTD nodes itself is deprecated by mtd.yaml.
Fix all this by adding an empty partitions node which the bootloader will
fill with configured MTD partitions. Remove the deprecated properties
as well.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: freescale: tqma8mq: Add partitions subnode to spi-nor
Alexander Stein [Tue, 23 Apr 2024 11:31:50 +0000 (13:31 +0200)]
arm64: dts: freescale: tqma8mq: Add partitions subnode to spi-nor

The bootloader adds MTD partitions in this subnode if present, or in the
spi-nor node itself otherwise.
Setting #size-cells in MTD nodes itself is deprecated by mtd.yaml.
Fix all this by adding an empty partitions node which the bootloader will
fill with configured MTD partitions. Remove the deprecated properties
as well.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: freescale: tqma8mpql: Add partitions subnode to spi-nor
Alexander Stein [Tue, 23 Apr 2024 11:31:49 +0000 (13:31 +0200)]
arm64: dts: freescale: tqma8mpql: Add partitions subnode to spi-nor

The bootloader adds MTD partitions in this subnode if present, or in the
spi-nor node itself otherwise.
Setting #size-cells in MTD nodes itself is deprecated by mtd.yaml.
Fix all this by adding an empty partitions node which the bootloader will
fill with configured MTD partitions. Remove the deprecated properties
as well.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: freescale: tqma8mqnl: Add partitions subnode to spi-nor
Alexander Stein [Tue, 23 Apr 2024 11:31:48 +0000 (13:31 +0200)]
arm64: dts: freescale: tqma8mqnl: Add partitions subnode to spi-nor

The bootloader adds MTD partitions in this subnode if present, or in the
spi-nor node itself otherwise.
Setting #size-cells in MTD nodes itself is deprecated by mtd.yaml.
Fix all this by adding an empty partitions node which the bootloader will
fill with configured MTD partitions. Remove the deprecated properties
as well.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: freescale: tqma8mqml: Add partitions subnode to spi-nor
Alexander Stein [Tue, 23 Apr 2024 11:31:47 +0000 (13:31 +0200)]
arm64: dts: freescale: tqma8mqml: Add partitions subnode to spi-nor

The bootloader adds MTD partitions in this subnode if present, or in the
spi-nor node itself otherwise.
Setting #size-cells in MTD nodes itself is deprecated by mtd.yaml.
Fix all this by adding an empty partitions node which the bootloader will
fill with configured MTD partitions. Remove the deprecated properties
as well.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: freescale: tqma9352: Add partitions subnode to spi-nor
Alexander Stein [Tue, 23 Apr 2024 11:31:46 +0000 (13:31 +0200)]
arm64: dts: freescale: tqma9352: Add partitions subnode to spi-nor

The bootloader adds MTD partitions in this subnode if present, or in the
spi-nor node itself otherwise. Direct children cause warnings like:
425e0000.spi: ofpart partition /soc@0/bus@42000000/spi@425e0000/flash@0/
  partition@600000 (/soc@0/bus@42000000/spi@425e0000/flash@0) #size-cells
  is wrongly set to <0>, assuming <1> for parsing partitions.

This is due flexspi node having #size-cells = <0>. Setting #size-cells in
MTD nodes itself is deprecated by mtd.yaml.
Fix all this by adding an empty partitions node which the bootloader will
fill with configured MTD partitions.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: mba93xxca: Add USB support
Alexander Stein [Tue, 23 Apr 2024 09:33:41 +0000 (11:33 +0200)]
arm64: dts: mba93xxca: Add USB support

This adds support for both USB host and USB Type-C ports. This includes
the on-board USB hub. Remove the gpio-hog for USB_RESET# as well.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: mba93xxla: Add USB support
Alexander Stein [Tue, 23 Apr 2024 09:33:40 +0000 (11:33 +0200)]
arm64: dts: mba93xxla: Add USB support

This adds support for both USB host and USB Type-C ports. This includes
the on-board USB hub.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
12 months agoarm64: dts: imx8mp-beacon-kit: Enable HDMI bridge HPD
Adam Ford [Tue, 5 Mar 2024 00:48:58 +0000 (18:48 -0600)]
arm64: dts: imx8mp-beacon-kit: Enable HDMI bridge HPD

The DSI to HDMI bridge supports hot-plut-detect, but the
driver didn't previously support a shared IRQ GPIO.  With
the driver updated, the interrupt can be added to the bridge.

Signed-off-by: Adam Ford <aford173@gmail.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
13 months agoLinux 6.10-rc1 v6.10-rc1
Linus Torvalds [Sun, 26 May 2024 22:20:12 +0000 (15:20 -0700)]
Linux 6.10-rc1

13 months agomm: percpu: Include smp.h in alloc_tag.h
Kent Overstreet [Fri, 24 May 2024 15:42:09 +0000 (11:42 -0400)]
mm: percpu: Include smp.h in alloc_tag.h

percpu.h depends on smp.h, but doesn't include it directly because of
circular header dependency issues; percpu.h is needed in a bunch of low
level headers.

This fixes a randconfig build error on mips:

  include/linux/alloc_tag.h: In function '__alloc_tag_ref_set':
  include/asm-generic/percpu.h:31:40: error: implicit declaration of function 'raw_smp_processor_id' [-Werror=implicit-function-declaration]

Reported-by: kernel test robot <lkp@intel.com>
Fixes: 24e44cc22aa3 ("mm: percpu: enable per-cpu allocation tagging")
Closes: https://lore.kernel.org/oe-kbuild-all/202405210052.DIrMXJNz-lkp@intel.com/
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
13 months agoMerge tag 'perf-tools-fixes-for-v6.10-1-2024-05-26' of git://git.kernel.org/pub/scm...
Linus Torvalds [Sun, 26 May 2024 16:54:26 +0000 (09:54 -0700)]
Merge tag 'perf-tools-fixes-for-v6.10-1-2024-05-26' of git://git./linux/kernel/git/perf/perf-tools

Pull perf tool fix from Arnaldo Carvalho de Melo:
 "Revert a patch causing a regression.

  This made a simple 'perf record -e cycles:pp make -j199' stop working
  on the Ampere ARM64 system Linus uses to test ARM64 kernels".

* tag 'perf-tools-fixes-for-v6.10-1-2024-05-26' of git://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools:
  Revert "perf parse-events: Prefer sysfs/JSON hardware events over legacy"

13 months agoRevert "perf parse-events: Prefer sysfs/JSON hardware events over legacy"
Arnaldo Carvalho de Melo [Sun, 26 May 2024 11:13:21 +0000 (08:13 -0300)]
Revert "perf parse-events: Prefer sysfs/JSON hardware events over legacy"

This reverts commit 617824a7f0f73e4de325cf8add58e55b28c12493.

This made a simple 'perf record -e cycles:pp make -j199' stop working on
the Ampere ARM64 system Linus uses to test ARM64 kernels, as discussed
at length in the threads in the Link tags below.

The fix provided by Ian wasn't acceptable and work to fix this will take
time we don't have at this point, so lets revert this and work on it on
the next devel cycle.

Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Bhaskar Chowdhury <unixbhaskar@gmail.com>
Cc: Ethan Adams <j.ethan.adams@gmail.com>
Cc: Ian Rogers <irogers@google.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: James Clark <james.clark@arm.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Kan Liang <kan.liang@linux.intel.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Thomas Richter <tmricht@linux.ibm.com>
Cc: Tycho Andersen <tycho@tycho.pizza>
Cc: Yang Jihong <yangjihong@bytedance.com>
Link: https://lore.kernel.org/lkml/CAHk-=wi5Ri=yR2jBVk-4HzTzpoAWOgstr1LEvg_-OXtJvXXJOA@mail.gmail.com
Link: https://lore.kernel.org/lkml/CAHk-=wiWvtFyedDNpoV7a8Fq_FpbB+F5KmWK2xPY3QoYseOf_A@mail.gmail.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
13 months agoMerge tag '6.10-rc-smb3-fixes-part2' of git://git.samba.org/sfrench/cifs-2.6
Linus Torvalds [Sun, 26 May 2024 05:33:10 +0000 (22:33 -0700)]
Merge tag '6.10-rc-smb3-fixes-part2' of git://git.samba.org/sfrench/cifs-2.6

Pull smb client fixes from Steve French:

 - two important netfs integration fixes - including for a data
   corruption and also fixes for multiple xfstests

 - reenable swap support over SMB3

* tag '6.10-rc-smb3-fixes-part2' of git://git.samba.org/sfrench/cifs-2.6:
  cifs: Fix missing set of remote_i_size
  cifs: Fix smb3_insert_range() to move the zero_point
  cifs: update internal version number
  smb3: reenable swapfiles over SMB3 mounts

13 months agoMerge tag 'mm-hotfixes-stable-2024-05-25-09-13' of git://git.kernel.org/pub/scm/linux...
Linus Torvalds [Sat, 25 May 2024 22:10:33 +0000 (15:10 -0700)]
Merge tag 'mm-hotfixes-stable-2024-05-25-09-13' of git://git./linux/kernel/git/akpm/mm

Pull misc fixes from Andrew Morton:
 "16 hotfixes, 11 of which are cc:stable.

  A few nilfs2 fixes, the remainder are for MM: a couple of selftests
  fixes, various singletons fixing various issues in various parts"

* tag 'mm-hotfixes-stable-2024-05-25-09-13' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm:
  mm/ksm: fix possible UAF of stable_node
  mm/memory-failure: fix handling of dissolved but not taken off from buddy pages
  mm: /proc/pid/smaps_rollup: avoid skipping vma after getting mmap_lock again
  nilfs2: fix potential hang in nilfs_detach_log_writer()
  nilfs2: fix unexpected freezing of nilfs_segctor_sync()
  nilfs2: fix use-after-free of timer for log writer thread
  selftests/mm: fix build warnings on ppc64
  arm64: patching: fix handling of execmem addresses
  selftests/mm: compaction_test: fix bogus test success and reduce probability of OOM-killer invocation
  selftests/mm: compaction_test: fix incorrect write of zero to nr_hugepages
  selftests/mm: compaction_test: fix bogus test success on Aarch64
  mailmap: update email address for Satya Priya
  mm/huge_memory: don't unpoison huge_zero_folio
  kasan, fortify: properly rename memintrinsics
  lib: add version into /proc/allocinfo output
  mm/vmalloc: fix vmalloc which may return null if called with __GFP_NOFAIL

13 months agoMerge tag 'irq-urgent-2024-05-25' of git://git.kernel.org/pub/scm/linux/kernel/git...
Linus Torvalds [Sat, 25 May 2024 21:48:40 +0000 (14:48 -0700)]
Merge tag 'irq-urgent-2024-05-25' of git://git./linux/kernel/git/tip/tip

Pull irq fixes from Ingo Molnar:

 - Fix x86 IRQ vector leak caused by a CPU offlining race

 - Fix build failure in the riscv-imsic irqchip driver
   caused by an API-change semantic conflict

 - Fix use-after-free in irq_find_at_or_after()

* tag 'irq-urgent-2024-05-25' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  genirq/irqdesc: Prevent use-after-free in irq_find_at_or_after()
  genirq/cpuhotplug, x86/vector: Prevent vector leak during CPU offline
  irqchip/riscv-imsic: Fixup riscv_ipi_set_virq_range() conflict

13 months agoMerge tag 'x86-urgent-2024-05-25' of git://git.kernel.org/pub/scm/linux/kernel/git...
Linus Torvalds [Sat, 25 May 2024 21:40:09 +0000 (14:40 -0700)]
Merge tag 'x86-urgent-2024-05-25' of git://git./linux/kernel/git/tip/tip

Pull x86 fixes from Ingo Molnar:

 - Fix regressions of the new x86 CPU VFM (vendor/family/model)
   enumeration/matching code

 - Fix crash kernel detection on buggy firmware with
   non-compliant ACPI MADT tables

 - Address Kconfig warning

* tag 'x86-urgent-2024-05-25' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86/cpu: Fix x86_match_cpu() to match just X86_VENDOR_INTEL
  crypto: x86/aes-xts - switch to new Intel CPU model defines
  x86/topology: Handle bogus ACPI tables correctly
  x86/kconfig: Select ARCH_WANT_FRAME_POINTERS again when UNWINDER_FRAME_POINTER=y

13 months agoMerge tag 'for-linus-6.10-1' of https://github.com/cminyard/linux-ipmi
Linus Torvalds [Sat, 25 May 2024 21:32:29 +0000 (14:32 -0700)]
Merge tag 'for-linus-6.10-1' of https://github.com/cminyard/linux-ipmi

Pull ipmi updates from Corey Minyard:
 "Mostly updates for deprecated interfaces, platform.remove and
  converting from a tasklet to a BH workqueue.

  Also use HAS_IOPORT for disabling inb()/outb()"

* tag 'for-linus-6.10-1' of https://github.com/cminyard/linux-ipmi:
  ipmi: kcs_bmc_npcm7xx: Convert to platform remove callback returning void
  ipmi: kcs_bmc_aspeed: Convert to platform remove callback returning void
  ipmi: ipmi_ssif: Convert to platform remove callback returning void
  ipmi: ipmi_si_platform: Convert to platform remove callback returning void
  ipmi: ipmi_powernv: Convert to platform remove callback returning void
  ipmi: bt-bmc: Convert to platform remove callback returning void
  char: ipmi: handle HAS_IOPORT dependencies
  ipmi: Convert from tasklet to BH workqueue

13 months agoMerge tag 'ceph-for-6.10-rc1' of https://github.com/ceph/ceph-client
Linus Torvalds [Sat, 25 May 2024 21:23:58 +0000 (14:23 -0700)]
Merge tag 'ceph-for-6.10-rc1' of https://github.com/ceph/ceph-client

Pull ceph updates from Ilya Dryomov:
 "A series from Xiubo that adds support for additional access checks
  based on MDS auth caps which were recently made available to clients.

  This is needed to prevent scenarios where the MDS quietly discards
  updates that a UID-restricted client previously (wrongfully) acked to
  the user.

  Other than that, just a documentation fixup"

* tag 'ceph-for-6.10-rc1' of https://github.com/ceph/ceph-client:
  doc: ceph: update userspace command to get CephFS metadata
  ceph: add CEPHFS_FEATURE_MDS_AUTH_CAPS_CHECK feature bit
  ceph: check the cephx mds auth access for async dirop
  ceph: check the cephx mds auth access for open
  ceph: check the cephx mds auth access for setattr
  ceph: add ceph_mds_check_access() helper
  ceph: save cap_auths in MDS client when session is opened

13 months agoMerge tag 'ntfs3_for_6.10' of https://github.com/Paragon-Software-Group/linux-ntfs3
Linus Torvalds [Sat, 25 May 2024 21:19:01 +0000 (14:19 -0700)]
Merge tag 'ntfs3_for_6.10' of https://github.com/Paragon-Software-Group/linux-ntfs3

Pull ntfs3 updates from Konstantin Komarov:
 "Fixes:
   - reusing of the file index (could cause the file to be trimmed)
   - infinite dir enumeration
   - taking DOS names into account during link counting
   - le32_to_cpu conversion, 32 bit overflow, NULL check
   - some code was refactored

  Changes:
   - removed max link count info display during driver init

  Remove:
   - atomic_open has been removed for lack of use"

* tag 'ntfs3_for_6.10' of https://github.com/Paragon-Software-Group/linux-ntfs3:
  fs/ntfs3: Break dir enumeration if directory contents error
  fs/ntfs3: Fix case when index is reused during tree transformation
  fs/ntfs3: Mark volume as dirty if xattr is broken
  fs/ntfs3: Always make file nonresident on fallocate call
  fs/ntfs3: Redesign ntfs_create_inode to return error code instead of inode
  fs/ntfs3: Use variable length array instead of fixed size
  fs/ntfs3: Use 64 bit variable to avoid 32 bit overflow
  fs/ntfs3: Check 'folio' pointer for NULL
  fs/ntfs3: Missed le32_to_cpu conversion
  fs/ntfs3: Remove max link count info display during driver init
  fs/ntfs3: Taking DOS names into account during link counting
  fs/ntfs3: remove atomic_open
  fs/ntfs3: use kcalloc() instead of kzalloc()

13 months agoMerge tag '6.10-rc-ksmbd-server-fixes' of git://git.samba.org/ksmbd
Linus Torvalds [Sat, 25 May 2024 21:15:39 +0000 (14:15 -0700)]
Merge tag '6.10-rc-ksmbd-server-fixes' of git://git.samba.org/ksmbd

Pull smb server fixes from Steve French:
 "Two ksmbd server fixes, both for stable"

* tag '6.10-rc-ksmbd-server-fixes' of git://git.samba.org/ksmbd:
  ksmbd: ignore trailing slashes in share paths
  ksmbd: avoid to send duplicate oplock break notifications

13 months agoMerge tag 'rtc-6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux
Linus Torvalds [Sat, 25 May 2024 20:33:53 +0000 (13:33 -0700)]
Merge tag 'rtc-6.10' of git://git./linux/kernel/git/abelloni/linux

Pull RTC updates from Alexandre Belloni:
 "There is one new driver and then most of the changes are the device
  tree bindings conversions to yaml.

  New driver:
   - Epson RX8111

  Drivers:
   - Many Device Tree bindings conversions to dtschema
   - pcf8563: wakeup-source support"

* tag 'rtc-6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux:
  pcf8563: add wakeup-source support
  rtc: rx8111: handle VLOW flag
  rtc: rx8111: demote warnings to debug level
  rtc: rx6110: Constify struct regmap_config
  dt-bindings: rtc: convert trivial devices into dtschema
  dt-bindings: rtc: stmp3xxx-rtc: convert to dtschema
  dt-bindings: rtc: pxa-rtc: convert to dtschema
  rtc: Add driver for Epson RX8111
  dt-bindings: rtc: Add Epson RX8111
  rtc: mcp795: drop unneeded MODULE_ALIAS
  rtc: nuvoton: Modify part number value
  rtc: test: Split rtc unit test into slow and normal speed test
  dt-bindings: rtc: nxp,lpc1788-rtc: convert to dtschema
  dt-bindings: rtc: digicolor-rtc: move to trivial-rtc
  dt-bindings: rtc: alphascale,asm9260-rtc: convert to dtschema
  dt-bindings: rtc: armada-380-rtc: convert to dtschema
  rtc: cros-ec: provide ID table for avoiding fallback match

13 months agoMerge tag 'i3c/for-6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/i3c/linux
Linus Torvalds [Sat, 25 May 2024 20:28:29 +0000 (13:28 -0700)]
Merge tag 'i3c/for-6.10' of git://git./linux/kernel/git/i3c/linux

Pull i3c updates from Alexandre Belloni:
 "Runtime PM (power management) is improved and hot-join support has
  been added to the dw controller driver.

  Core:
   - Allow device driver to trigger controller runtime PM

  Drivers:
   - dw: hot-join support
   - svc: better IBI handling"

* tag 'i3c/for-6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/i3c/linux:
  i3c: dw: Add hot-join support.
  i3c: master: Enable runtime PM for master controller
  i3c: master: svc: fix invalidate IBI type and miss call client IBI handler
  i3c: master: svc: change ENXIO to EAGAIN when IBI occurs during start frame
  i3c: Add comment for -EAGAIN in i3c_device_do_priv_xfers()

13 months agoMerge tag 'jffs2-for-linus-6.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel...
Linus Torvalds [Sat, 25 May 2024 20:23:42 +0000 (13:23 -0700)]
Merge tag 'jffs2-for-linus-6.10-rc1' of git://git./linux/kernel/git/rw/ubifs

Pull jffs2 updates from Richard Weinberger:

 - Fix illegal memory access in jffs2_free_inode()

 - Kernel-doc fixes

 - print symbolic error names

* tag 'jffs2-for-linus-6.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs:
  jffs2: Fix potential illegal address access in jffs2_free_inode
  jffs2: Simplify the allocation of slab caches
  jffs2: nodemgmt: fix kernel-doc comments
  jffs2: print symbolic error name instead of error code

13 months agoMerge tag 'uml-for-linus-6.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git...
Linus Torvalds [Sat, 25 May 2024 20:17:48 +0000 (13:17 -0700)]
Merge tag 'uml-for-linus-6.10-rc1' of git://git./linux/kernel/git/uml/linux

Pull UML updates from Richard Weinberger:

 - Fixes for -Wmissing-prototypes warnings and further cleanup

 - Remove callback returning void from rtc and virtio drivers

 - Fix bash location

* tag 'uml-for-linus-6.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/uml/linux: (26 commits)
  um: virtio_uml: Convert to platform remove callback returning void
  um: rtc: Convert to platform remove callback returning void
  um: Remove unused do_get_thread_area function
  um: Fix -Wmissing-prototypes warnings for __vdso_*
  um: Add an internal header shared among the user code
  um: Fix the declaration of kasan_map_memory
  um: Fix the -Wmissing-prototypes warning for get_thread_reg
  um: Fix the -Wmissing-prototypes warning for __switch_mm
  um: Fix -Wmissing-prototypes warnings for (rt_)sigreturn
  um: Stop tracking host PID in cpu_tasks
  um: process: remove unused 'n' variable
  um: vector: remove unused len variable/calculation
  um: vector: fix bpfflash parameter evaluation
  um: slirp: remove set but unused variable 'pid'
  um: signal: move pid variable where needed
  um: Makefile: use bash from the environment
  um: Add winch to winch_handlers before registering winch IRQ
  um: Fix -Wmissing-prototypes warnings for __warp_* and foo
  um: Fix -Wmissing-prototypes warnings for text_poke*
  um: Move declarations to proper headers
  ...

13 months agoMerge tag 'drm-next-2024-05-25' of https://gitlab.freedesktop.org/drm/kernel
Linus Torvalds [Sat, 25 May 2024 00:28:02 +0000 (17:28 -0700)]
Merge tag 'drm-next-2024-05-25' of https://gitlab.freedesktop.org/drm/kernel

Pull drm fixes from Dave Airlie:
 "Some fixes for the end of the merge window, mostly amdgpu and panthor,
  with one nouveau uAPI change that fixes a bad decision we made a few
  months back.

  nouveau:
   - fix bo metadata uAPI for vm bind

  panthor:
   - Fixes for panthor's heap logical block.
   - Reset on unrecoverable fault
   - Fix VM references.
   - Reset fix.

  xlnx:
   - xlnx compile and doc fixes.

  amdgpu:
   - Handle vbios table integrated info v2.3

  amdkfd:
   - Handle duplicate BOs in reserve_bo_and_cond_vms
   - Handle memory limitations on small APUs

  dp/mst:
   - MST null deref fix.

  bridge:
   - Don't let next bridge create connector in adv7511 to make probe
     work"

* tag 'drm-next-2024-05-25' of https://gitlab.freedesktop.org/drm/kernel:
  drm/amdgpu/atomfirmware: add intergrated info v2.3 table
  drm/mst: Fix NULL pointer dereference at drm_dp_add_payload_part2
  drm/amdkfd: Let VRAM allocations go to GTT domain on small APUs
  drm/amdkfd: handle duplicate BOs in reserve_bo_and_cond_vms
  drm/bridge: adv7511: Attach next bridge without creating connector
  drm/buddy: Fix the warn on's during force merge
  drm/nouveau: use tile_mode and pte_kind for VM_BIND bo allocations
  drm/panthor: Call panthor_sched_post_reset() even if the reset failed
  drm/panthor: Reset the FW VM to NULL on unplug
  drm/panthor: Keep a ref to the VM at the panthor_kernel_bo level
  drm/panthor: Force an immediate reset on unrecoverable faults
  drm/panthor: Document drm_panthor_tiler_heap_destroy::handle validity constraints
  drm/panthor: Fix an off-by-one in the heap context retrieval logic
  drm/panthor: Relax the constraints on the tiler chunk size
  drm/panthor: Make sure the tiler initial/max chunks are consistent
  drm/panthor: Fix tiler OOM handling to allow incremental rendering
  drm: xlnx: zynqmp_dpsub: Fix compilation error
  drm: xlnx: zynqmp_dpsub: Fix few function comments

13 months agocifs: Fix missing set of remote_i_size
David Howells [Fri, 24 May 2024 14:23:36 +0000 (15:23 +0100)]
cifs: Fix missing set of remote_i_size

Occasionally, the generic/001 xfstest will fail indicating corruption in
one of the copy chains when run on cifs against a server that supports
FSCTL_DUPLICATE_EXTENTS_TO_FILE (eg. Samba with a share on btrfs).  The
problem is that the remote_i_size value isn't updated by cifs_setsize()
when called by smb2_duplicate_extents(), but i_size *is*.

This may cause cifs_remap_file_range() to then skip the bit after calling
->duplicate_extents() that sets sizes.

Fix this by calling netfs_resize_file() in smb2_duplicate_extents() before
calling cifs_setsize() to set i_size.

This means we don't then need to call netfs_resize_file() upon return from
->duplicate_extents(), but we also fix the test to compare against the pre-dup
inode size.

[Note that this goes back before the addition of remote_i_size with the
netfs_inode struct.  It should probably have been setting cifsi->server_eof
previously.]

Fixes: cfc63fc8126a ("smb3: fix cached file size problems in duplicate extents (reflink)")
Signed-off-by: David Howells <dhowells@redhat.com>
cc: Steve French <sfrench@samba.org>
cc: Paulo Alcantara <pc@manguebit.com>
cc: Shyam Prasad N <nspmangalore@gmail.com>
cc: Rohith Surabattula <rohiths.msft@gmail.com>
cc: Jeff Layton <jlayton@kernel.org>
cc: linux-cifs@vger.kernel.org
cc: netfs@lists.linux.dev
Signed-off-by: Steve French <stfrench@microsoft.com>
13 months agocifs: Fix smb3_insert_range() to move the zero_point
David Howells [Wed, 22 May 2024 08:38:48 +0000 (09:38 +0100)]
cifs: Fix smb3_insert_range() to move the zero_point

Fix smb3_insert_range() to move the zero_point over to the new EOF.
Without this, generic/147 fails as reads of data beyond the old EOF point
return zeroes.

Fixes: 3ee1a1fc3981 ("cifs: Cut over to using netfslib")
Signed-off-by: David Howells <dhowells@redhat.com>
cc: Shyam Prasad N <nspmangalore@gmail.com>
cc: Rohith Surabattula <rohiths.msft@gmail.com>
cc: Jeff Layton <jlayton@kernel.org>
cc: linux-cifs@vger.kernel.org
cc: netfs@lists.linux.dev
Signed-off-by: Steve French <stfrench@microsoft.com>
13 months agoMerge tag 'mm-stable-2024-05-24-11-49' of git://git.kernel.org/pub/scm/linux/kernel...
Linus Torvalds [Fri, 24 May 2024 19:47:28 +0000 (12:47 -0700)]
Merge tag 'mm-stable-2024-05-24-11-49' of git://git./linux/kernel/git/akpm/mm

Pull more mm updates from Andrew Morton:
 "Jeff Xu's implementation of the mseal() syscall"

* tag 'mm-stable-2024-05-24-11-49' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm:
  selftest mm/mseal read-only elf memory segment
  mseal: add documentation
  selftest mm/mseal memory sealing
  mseal: add mseal syscall
  mseal: wire up mseal syscall

13 months agomm/ksm: fix possible UAF of stable_node
Chengming Zhou [Mon, 13 May 2024 03:07:56 +0000 (11:07 +0800)]
mm/ksm: fix possible UAF of stable_node

The commit 2c653d0ee2ae ("ksm: introduce ksm_max_page_sharing per page
deduplication limit") introduced a possible failure case in the
stable_tree_insert(), where we may free the new allocated stable_node_dup
if we fail to prepare the missing chain node.

Then that kfolio return and unlock with a freed stable_node set...  And
any MM activities can come in to access kfolio->mapping, so UAF.

Fix it by moving folio_set_stable_node() to the end after stable_node
is inserted successfully.

Link: https://lkml.kernel.org/r/20240513-b4-ksm-stable-node-uaf-v1-1-f687de76f452@linux.dev
Fixes: 2c653d0ee2ae ("ksm: introduce ksm_max_page_sharing per page deduplication limit")
Signed-off-by: Chengming Zhou <chengming.zhou@linux.dev>
Acked-by: David Hildenbrand <david@redhat.com>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: Stefan Roesch <shr@devkernel.io>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
13 months agomm/memory-failure: fix handling of dissolved but not taken off from buddy pages
Miaohe Lin [Thu, 23 May 2024 07:12:17 +0000 (15:12 +0800)]
mm/memory-failure: fix handling of dissolved but not taken off from buddy pages

When I did memory failure tests recently, below panic occurs:

page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x8cee00
flags: 0x6fffe0000000000(node=1|zone=2|lastcpupid=0x7fff)
raw: 06fffe0000000000 dead000000000100 dead000000000122 0000000000000000
raw: 0000000000000000 0000000000000009 00000000ffffffff 0000000000000000
page dumped because: VM_BUG_ON_PAGE(!PageBuddy(page))
------------[ cut here ]------------
kernel BUG at include/linux/page-flags.h:1009!
invalid opcode: 0000 [#1] PREEMPT SMP NOPTI
RIP: 0010:__del_page_from_free_list+0x151/0x180
RSP: 0018:ffffa49c90437998 EFLAGS: 00000046
RAX: 0000000000000035 RBX: 0000000000000009 RCX: ffff8dd8dfd1c9c8
RDX: 0000000000000000 RSI: 0000000000000027 RDI: ffff8dd8dfd1c9c0
RBP: ffffd901233b8000 R08: ffffffffab5511f8 R09: 0000000000008c69
R10: 0000000000003c15 R11: ffffffffab5511f8 R12: ffff8dd8fffc0c80
R13: 0000000000000001 R14: ffff8dd8fffc0c80 R15: 0000000000000009
FS:  00007ff916304740(0000) GS:ffff8dd8dfd00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000055eae50124c8 CR3: 00000008479e0000 CR4: 00000000000006f0
Call Trace:
 <TASK>
 __rmqueue_pcplist+0x23b/0x520
 get_page_from_freelist+0x26b/0xe40
 __alloc_pages_noprof+0x113/0x1120
 __folio_alloc_noprof+0x11/0xb0
 alloc_buddy_hugetlb_folio.isra.0+0x5a/0x130
 __alloc_fresh_hugetlb_folio+0xe7/0x140
 alloc_pool_huge_folio+0x68/0x100
 set_max_huge_pages+0x13d/0x340
 hugetlb_sysctl_handler_common+0xe8/0x110
 proc_sys_call_handler+0x194/0x280
 vfs_write+0x387/0x550
 ksys_write+0x64/0xe0
 do_syscall_64+0xc2/0x1d0
 entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7ff916114887
RSP: 002b:00007ffec8a2fd78 EFLAGS: 00000246 ORIG_RAX: 0000000000000001
RAX: ffffffffffffffda RBX: 000055eae500e350 RCX: 00007ff916114887
RDX: 0000000000000004 RSI: 000055eae500e390 RDI: 0000000000000003
RBP: 000055eae50104c0 R08: 0000000000000000 R09: 000055eae50104c0
R10: 0000000000000077 R11: 0000000000000246 R12: 0000000000000004
R13: 0000000000000004 R14: 00007ff916216b80 R15: 00007ff916216a00
 </TASK>
Modules linked in: mce_inject hwpoison_inject
---[ end trace 0000000000000000 ]---

And before the panic, there had an warning about bad page state:

BUG: Bad page state in process page-types  pfn:8cee00
page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x8cee00
flags: 0x6fffe0000000000(node=1|zone=2|lastcpupid=0x7fff)
page_type: 0xffffff7f(buddy)
raw: 06fffe0000000000 ffffd901241c0008 ffffd901240f8008 0000000000000000
raw: 0000000000000000 0000000000000009 00000000ffffff7f 0000000000000000
page dumped because: nonzero mapcount
Modules linked in: mce_inject hwpoison_inject
CPU: 8 PID: 154211 Comm: page-types Not tainted 6.9.0-rc4-00499-g5544ec3178e2-dirty #22
Call Trace:
 <TASK>
 dump_stack_lvl+0x83/0xa0
 bad_page+0x63/0xf0
 free_unref_page+0x36e/0x5c0
 unpoison_memory+0x50b/0x630
 simple_attr_write_xsigned.constprop.0.isra.0+0xb3/0x110
 debugfs_attr_write+0x42/0x60
 full_proxy_write+0x5b/0x80
 vfs_write+0xcd/0x550
 ksys_write+0x64/0xe0
 do_syscall_64+0xc2/0x1d0
 entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7f189a514887
RSP: 002b:00007ffdcd899718 EFLAGS: 00000246 ORIG_RAX: 0000000000000001
RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f189a514887
RDX: 0000000000000009 RSI: 00007ffdcd899730 RDI: 0000000000000003
RBP: 00007ffdcd8997a0 R08: 0000000000000000 R09: 00007ffdcd8994b2
R10: 0000000000000000 R11: 0000000000000246 R12: 00007ffdcda199a8
R13: 0000000000404af1 R14: 000000000040ad78 R15: 00007f189a7a5040
 </TASK>

The root cause should be the below race:

 memory_failure
  try_memory_failure_hugetlb
   me_huge_page
    __page_handle_poison
     dissolve_free_hugetlb_folio
     drain_all_pages -- Buddy page can be isolated e.g. for compaction.
     take_page_off_buddy -- Failed as page is not in the buddy list.
     -- Page can be putback into buddy after compaction.
    page_ref_inc -- Leads to buddy page with refcnt = 1.

Then unpoison_memory() can unpoison the page and send the buddy page back
into buddy list again leading to the above bad page state warning.  And
bad_page() will call page_mapcount_reset() to remove PageBuddy from buddy
page leading to later VM_BUG_ON_PAGE(!PageBuddy(page)) when trying to
allocate this page.

Fix this issue by only treating __page_handle_poison() as successful when
it returns 1.

Link: https://lkml.kernel.org/r/20240523071217.1696196-1-linmiaohe@huawei.com
Fixes: ceaf8fbea79a ("mm, hwpoison: skip raw hwpoison page in freeing 1GB hugepage")
Signed-off-by: Miaohe Lin <linmiaohe@huawei.com>
Cc: Naoya Horiguchi <nao.horiguchi@gmail.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
13 months agomm: /proc/pid/smaps_rollup: avoid skipping vma after getting mmap_lock again
Yuanyuan Zhong [Thu, 23 May 2024 18:35:31 +0000 (12:35 -0600)]
mm: /proc/pid/smaps_rollup: avoid skipping vma after getting mmap_lock again

After switching smaps_rollup to use VMA iterator, searching for next entry
is part of the condition expression of the do-while loop.  So the current
VMA needs to be addressed before the continue statement.

Otherwise, with some VMAs skipped, userspace observed memory
consumption from /proc/pid/smaps_rollup will be smaller than the sum of
the corresponding fields from /proc/pid/smaps.

Link: https://lkml.kernel.org/r/20240523183531.2535436-1-yzhong@purestorage.com
Fixes: c4c84f06285e ("fs/proc/task_mmu: stop using linked list and highest_vm_end")
Signed-off-by: Yuanyuan Zhong <yzhong@purestorage.com>
Reviewed-by: Mohamed Khalfella <mkhalfella@purestorage.com>
Cc: David Hildenbrand <david@redhat.com>
Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>