Commit graph

1,169,205 commits

Author SHA1 Message Date
Arnd Bergmann
27269ac4f6
Merge tag 'stm32-dt-for-v6.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32 into soc/dt
STM32 DT for v6.2, round 1

Highlights:
----------

- MPU:
  - ST boards:
    - Add MCP23017 IO expander support on stm32mp135f-dk board.
    - Add stm32g0 support for USB typeC on stm32mp135f-dk
    - Add USB (EHCI / OTG) on stm32mp135f-dk
    - Add ADC support on stm32mp135f-dk
    - Add USB2514B onboard hub on stm32mp157c-ev1

  - DH:
    - Fix severals Yaml DT validation issues

* tag 'stm32-dt-for-v6.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32: (28 commits)
  ARM: dts: stm32: Rename mdio0 to mdio on DHCOR Testbench board
  ARM: dts: stm32: add mcp23017 IO expander on I2C1 on stm32mp135f-dk
  ARM: dts: stm32: add mcp23017 pinctrl entry for stm32mp13
  ARM: dts: stm32: enable USB OTG in dual role mode on stm32mp135f-dk
  ARM: dts: stm32: add pins for stm32g0 typec controller on stm32mp13
  ARM: dts: stm32: enable USB Host EHCI on stm32mp135f-dk
  ARM: dts: stm32: enable USB HS phys on stm32mp135f-dk
  ARM: dts: stm32: add fixed regulators to support usb on stm32mp135f-dk
  ARM: dts: stm32: add USB OTG HS support on stm32mp131
  ARM: dts: stm32: add UBSH EHCI and OHCI support on stm32mp131
  ARM: dts: stm32: add USBPHYC and dual USB HS PHY support on stm32mp131
  ARM: dts: stm32: add PWR fixed regulators on stm32mp131
  ARM: dts: stm32: Fix AV96 WLAN regulator gpio property
  ARM: dts: stm32: add adc support on stm32mp135f-dk
  ARM: dts: stm32: add dummy vdd_adc regulator on stm32mp135f-dk
  ARM: dts: stm32: add adc pins muxing on stm32mp135f-dk
  ARM: dts: stm32: add adc support to stm32mp13
  ARM: dts: stm32: Drop MMCI interrupt-names
  ARM: dts: stm32: update vbus-supply of usbphyc_port0 on stm32mp157c-ev1
  ARM: dts: stm32: add support for USB2514B onboard hub on stm32mp157c-ev1
  ...

Link: https://lore.kernel.org/r/3235e5be-d89f-f76c-5e25-5d1210feb857@foss.st.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-11-21 15:02:32 +01:00
Arnd Bergmann
4614161b06
Merge tag 'hisi-arm64-dt-for-6.2' of https://github.com/hisilicon/linux-hisi into soc/dt
ARM64: DT: HiSilicon ARM64 DT updates for 6.2

- Add missing cache-level properties

* tag 'hisi-arm64-dt-for-6.2' of https://github.com/hisilicon/linux-hisi:
  arm64: dts: Update cache properties for hisilicon

Link: https://lore.kernel.org/r/63744D38.9010700@hisilicon.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-11-21 15:02:17 +01:00
Arnd Bergmann
efa0b8251f
Merge tag 'imx-dt64-6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into soc/dt
i.MX arm64 device tree update for 6.2:

- New device trees for i.MX8MM based Cloos PHG and WB15 SoM/EVK.
- A set of tqma8mpql/mba8mpxl changes, adding USB Host, PCIe, PWM fan
  support.
- Rename DTB overlay source files from .dts to .dtso.
- A series from Frank Li to add USB, ADC, FlexSPI, LPSPI support for
  i.MX8DXL.
- A couple of librem5-devkit changes, switching LED to use PWM and using
  function and color properties for LED.
- Enable wakeup-source for USB PHY for i.MX8MM/N EVK.
- A set of random changes from Marcel Ziswiler to improve i.MX8M based
  Verdin device trees.
- A series from Marek Vasut to update Data Modul i.MX8M Mini eDM SBC and
  DH electronics i.MX8M Plus DHCOM, modeling PMIC to SNVS RTC clock
  path, dropping QCA clk_out setup, adding bluetooth UART, etc.
- A bunch of changes from Peng Fan to add LPSPI, TPM etc for i.MX93,
  update i.MX8MP/N EVK with UART, I2C addition.
- Update cache properties per DeviceTree Specification v0.3.
- Add gpio-ranges property for i.MX8DXL and i.MX8Q LSIO Subsystem.
- Misc small and random changes.

* tag 'imx-dt64-6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (60 commits)
  arm64: dts: freescale: Rename DTB overlay source files from .dts to .dtso
  arm64: dts: imx8mm-evk: add vcc supply for pca6416
  arm64: dts: imx8m[m,q]-evk: change to use off-on-delay-us in regulator
  arm64: dts: imx8mn-evk: enable uart1
  arm64: dts: imx8mn-evk: add i2c gpio recovery settings
  arm64: dts: imx8mn-evk: set off-on-delay-us in regulator
  arm64: dts: imx8mn-evk: update vdd_soc dvs voltage
  arm64: dts: imx8mp-evk: enable I2C2 node
  arm64: dts: imx8mp-evk: enable fspi nor on imx8mp evk
  arm64: dts: imx8mp-evk: enable uart1/3 ports
  ARM64: dts: imx8mp-evk: add pwm support
  arm64: dts: imx8mp: add mlmix power domain
  arm64: dts: imx8mq: fix dtschema warning for imx7-csi
  arm64: dts: Update cache properties for freescale
  arm64: dts: imx8mm-phg: Add initial board support
  arm64: dts: imx8qxp-ss-lsio: add gpio-ranges property
  arm64: dts: imx8qm-ss-lsio: add gpio-ranges property
  arm64: dts: imx8dxl-ss-lsio: add gpio-ranges property
  arm64: dts: imx8dxl_evk: add lpspi0 support
  arm64: dts: imx8dxl: add lpspi support
  ...

Link: https://lore.kernel.org/r/20221119125733.32719-5-shawnguo@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-11-21 15:01:51 +01:00
Arnd Bergmann
4be0308a51 i.MX arm device tree update for 6.2:
- New device tree for Kobo Aura 2 E-Boot reader which is built on i.MX6SL
   SoC.
 - Enable backlight and boost support for imx6sl-tolino-shine2hd.
 - Enable CYTTSP5 touchscreen support for E60K02.
 - Enable Silergy SY7636A EPD PMIC on imx7d-remarkable2 epaper tablet.
 - Add watchdog property 'fsl,suspend-in-wait' for i.MX6UL Phytec Phycore
   SoM to avoid watchdog triggering in 'freeze' low power mode.
 - Correct the polarity of AT86RF233 reset line for vf610-zii-dev-rev-c
   board.
 - A bunch of Colibri device tree updates from Marcel Ziswiler and Philippe
   Schenker, correct USBH_PEN property, remove spurious debounce property,
   add USB dual-role switching, and some cosmetic change.
 - Other small and random changes.
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmN4lhQUHHNoYXduZ3Vv
 QGtlcm5lbC5vcmcACgkQUFdYWoewfM7MMQf/f8fspQVkdbGXq3uDZBelUhNjXL7q
 sVV97tI5hh/dxXqQd6oyHGgXGu6vER7UwDKJfYQ3Sq7FwA1CSLD1lNKpMQnB1+f5
 gJgO7SomMzIaDVqtg2NtOIZMnvHT+Sq3P8RC+/uQjLO79eXg60faH1D/FcLpTQij
 mjOhqiFnpnWxZ6IzrhEow27bunppaGUn37dS38Qq9dJGwbjeU5EcctL21Wxl+K5g
 FM9Pf5Ls+869FRnTMNbOPm2oyQZcm2q38+mzWazZslfIyz7A/1oC2iW5ekNK82fb
 YucpOp5U6je+JNHotgy3qCB9dnBZhLpUpkb9n31HU1jPfm8FJ7cB3Btwfg==
 =2F+o
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmN7hKQACgkQmmx57+YA
 GNm05Q/+NpOrC46ThpBxSPbCQml5mpGZ1Y8la5h5Wx8DSYCxfekqg+f7jU8xUNXN
 82ue4dFNYExZ/b1Uho7/PqmwYw59w4tD3O0SLOCalKfEpFlft38r9YgkS7wCwgca
 73tRJydVPr3ZgpNGKeHv17R1FHIB8GHCT1JgY7llJxWMr5Aw970fowsxB6ffRgy7
 Ptw3Br81Kj9z3ioNMKrgq+yNh8WKaBC43DuldF80jyqnOWHB6QVia3486/pLvTUV
 BDG3LttfTC5kVwlK6KExBVw5/6nm7UJ8jG5bK+S+MXu9w6itX8LuluI2RRJmBEQf
 PyNYlz4ODGvRR47HFesr8M0hv2NefTZy+UI1Zhy27a7PsaW7hGBse+vfqfd6kOKY
 8HR5Jkj3QWjhqSFZCHPgBiWc8gkE7bdqq936aNSXdYyQrHXuGrvkAFDVYUiZZzub
 YLJkdoJeGgaxYPf8387jLyCyVVQuulAu/nMY7zjgManCMsUNG6bOAZ52kNM1DY0Z
 byl4qgBCmpW7uJFJTzY+JHD6SMe05blRjj/zTMeeOuYLcxfaO4Q49xyhvAsaE4F8
 Nsm+glsHrjwRBdH2Vn8gbxbAo/LEzCy0bN0h7kgxWGvFY7i+hJF9E39qfJH7JK4w
 VHZiA214QuOXjmPo67A8OHgDoNSjy/bEMRbhE52EORvmQAE/YgQ=
 =Z4g7
 -----END PGP SIGNATURE-----

Merge tag 'imx-dt-6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into soc/dt

i.MX arm device tree update for 6.2:

- New device tree for Kobo Aura 2 E-Boot reader which is built on i.MX6SL
  SoC.
- Enable backlight and boost support for imx6sl-tolino-shine2hd.
- Enable CYTTSP5 touchscreen support for E60K02.
- Enable Silergy SY7636A EPD PMIC on imx7d-remarkable2 epaper tablet.
- Add watchdog property 'fsl,suspend-in-wait' for i.MX6UL Phytec Phycore
  SoM to avoid watchdog triggering in 'freeze' low power mode.
- Correct the polarity of AT86RF233 reset line for vf610-zii-dev-rev-c
  board.
- A bunch of Colibri device tree updates from Marcel Ziswiler and Philippe
  Schenker, correct USBH_PEN property, remove spurious debounce property,
  add USB dual-role switching, and some cosmetic change.
- Other small and random changes.

* tag 'imx-dt-6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  ARM: dts: colibri-imx6ull: Enable dual-role switching
  ARM: dts: imx: e60k02: Add touchscreen
  ARM: dts: imx6qdl-sabre: Add mmc aliases
  ARM: dts: imx6ul/ull: suspend i.MX6UL watchdog in wait mode
  ARM: dts: imx7d-remarkable2: Enable silergy,sy7636a
  ARM: dts: imx6sl-tolino-shine2hd: Add backlight boost
  ARM: dts: imx6sl-tolino-shine2hd: Add backlight
  ARM: dts: colibri-imx7: fix confusing naming
  ARM: dts: colibri-imx6ull: add -hog to gpio hogs
  ARM: dts: colibri-imx6ull: enable default peripherals
  ARM: dts: colibri-imx6ull: keep peripherals disabled
  ARM: dts: ls1021: correct indentation
  ARM: dts: vf610-zii-dev-rev-c: fix polarity of at86rf233 reset line
  ARM: dts: imx7-colibri: remove spurious debounce property
  ARM: dts: colibri-imx6: specify usbh_pen gpio being active-low
  ARM: dts: colibri-imx6: move vbus-supply to module level device tree
  ARM: dts: colibri-imx6: usb dual-role switching
  ARM: dts: imx: Add devicetree for Kobo Aura 2

Link: https://lore.kernel.org/r/20221119125733.32719-4-shawnguo@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-11-21 15:01:06 +01:00
Vishwanath Pai
c7aa1a76d4 netfilter: ipset: regression in ip_set_hash_ip.c
This patch introduced a regression: commit 48596a8ddc ("netfilter:
ipset: Fix adding an IPv4 range containing more than 2^31 addresses")

The variable e.ip is passed to adtfn() function which finally adds the
ip address to the set. The patch above refactored the for loop and moved
e.ip = htonl(ip) to the end of the for loop.

What this means is that if the value of "ip" changes between the first
assignement of e.ip and the forloop, then e.ip is pointing to a
different ip address than "ip".

Test case:
$ ipset create jdtest_tmp hash:ip family inet hashsize 2048 maxelem 100000
$ ipset add jdtest_tmp 10.0.1.1/31
ipset v6.21.1: Element cannot be added to the set: it's already added

The value of ip gets updated inside the  "else if (tb[IPSET_ATTR_CIDR])"
block but e.ip is still pointing to the old value.

Fixes: 48596a8ddc ("netfilter: ipset: Fix adding an IPv4 range containing more than 2^31 addresses")
Reviewed-by: Joshua Hunt <johunt@akamai.com>
Signed-off-by: Vishwanath Pai <vpai@akamai.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
2022-11-21 15:00:45 +01:00
Arnd Bergmann
3a8a1ab8f4 i.MX dt-bindings update for 6.2:
- New vendor prefix for Cloos and InnoComm.
 - New compatible for Cloos PHG board, InnoComm WB15 EVK and Kobo Aura 2.
 - Improve snvs-lpgpr bindings schema regarding i.MX8M SNVS LPGRP
   compatible strings.
 - Improve fsl-imx-cspi bindings schema for i.MX8MP ECSPI.
 - Add bindings schema for i.MX8M ANATOP device.
 - Update SCU firmware resource ID header by syncing with the latest
   available SCFW kit version 1.13.0.
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmN4j2gUHHNoYXduZ3Vv
 QGtlcm5lbC5vcmcACgkQUFdYWoewfM47OAf/Wzf7YIoFq8LNKJ/9ZCyVrcsK08dV
 axT7XUq5yDVbZJ2a1w0OzVJXBhF728/akN4WwmBz9UjJwsMUczNWY55GuKeEGeG5
 ukWtrDPHMnrIXJsxeS/pb5a1XRIWChC8rR+3kQ7g5uaKgClZ781fFNoOrmkwdJhS
 5bq4FxbAzf32RN3JTcuNHVktx5xLT2mqTea0SexaPQKbFM/nSxq1W/f/gJd7Bxix
 c0+ukM/wR8xz+qbZMNCjcvK+L+y159ZcURJkDHhpe+N2ljjCrQ/lUi6y8BPutK8b
 PLtAToVa10nWt6qaWKeHl+tLxhLjqO7OyVfz9IWHo+zE4pCBsJ/ip4TMrA==
 =uBMG
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmN7hBMACgkQmmx57+YA
 GNlPoA/+PMYAn4bvqcglA+I2llAHD2fTpxTJkeMRfxy8Tw3V7I3FCxrsQqcamLEZ
 IR3B+4jQrv/Mc4ZoO0015DaE7aA9BVWq0bhP8u+0FY7iKHyPyAtzo1VwrnBhwmiC
 MLLjxpgUbBFpJ4+sRB7VIbNYh/PqFzEPpUssRfOLIgQhCcW2c+71nIEW4fwZ42eM
 bwz2YinTnMwrP7xrrRvfhIvfUxPTQdB59/nE0QGp76f8r+LfpN6pA1a18mdUJVmg
 GwkretJ8F2atavoLxah3AWvEc1d1lhID3XcyzK2cRl8ovedqngPF2oyIxZWlYk0o
 e1ph3WwCFQhlMKnmrIN0H2ksuAoy/0TTHRIAHYP9PxQoKScazklILb3/7YQfh30R
 lQg3EouPxtEpgd3Mkl6tFpCfxzESS6J9ue6OOZyC+7ZCT7463pJ7pZgMKHx45tcy
 +roJHb3ztOTNMBL/yDPka6FR4P+scq1GgUI2s+idSrdnA4SQpr0j4k/1vvmII3TS
 aS/ZWK6bp8976RCuqET1GblqdSJIDZIQNeX4jxX70fE7egPxY9MIokjrFhNXxocv
 i52w5WBd7QBVXvRyHSq4mEyd2zmsn35exFntCmTeVttDZi3eiGPaaD80tCu4hUda
 ysYOid9nu32Gcn3T0vLXs2FnbfMQS2a8XMrbAfL1/nUmVL486zE=
 =1nTJ
 -----END PGP SIGNATURE-----

Merge tag 'imx-bindings-6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into soc/dt

i.MX dt-bindings update for 6.2:

- New vendor prefix for Cloos and InnoComm.
- New compatible for Cloos PHG board, InnoComm WB15 EVK and Kobo Aura 2.
- Improve snvs-lpgpr bindings schema regarding i.MX8M SNVS LPGRP
  compatible strings.
- Improve fsl-imx-cspi bindings schema for i.MX8MP ECSPI.
- Add bindings schema for i.MX8M ANATOP device.
- Update SCU firmware resource ID header by syncing with the latest
  available SCFW kit version 1.13.0.

* tag 'imx-bindings-6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  dt-bindings: arm: fsl: Add an entry for Cloos PHG board
  dt-bindings: vendor-prefixes: Add an entry for Cloos
  dt-bindings: nvmem: snvs-lpgpr: Fix i.MX8M compatible strings
  dt-bindings: spi: fsl-imx-cspi: update i.MX8MP binding
  dt-bindings: arm: fsl: add compatible string for Kobo Aura 2
  dt-bindings: clock: add i.MX8M Anatop
  dt-bindings: arm: fsl: Add InnoComm WB15 EVK
  dt-bindings: vendor-prefixes: Add prefix for InnoComm
  dt-bindings: firmware: imx: sync with SCFW kit v1.13.0

Link: https://lore.kernel.org/r/20221119125733.32719-3-shawnguo@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-11-21 14:58:41 +01:00
ChenXiaoSong
f7e942b5bb btrfs: qgroup: fix sleep from invalid context bug in btrfs_qgroup_inherit()
Syzkaller reported BUG as follows:

  BUG: sleeping function called from invalid context at
       include/linux/sched/mm.h:274
  Call Trace:
   <TASK>
   dump_stack_lvl+0xcd/0x134
   __might_resched.cold+0x222/0x26b
   kmem_cache_alloc+0x2e7/0x3c0
   update_qgroup_limit_item+0xe1/0x390
   btrfs_qgroup_inherit+0x147b/0x1ee0
   create_subvol+0x4eb/0x1710
   btrfs_mksubvol+0xfe5/0x13f0
   __btrfs_ioctl_snap_create+0x2b0/0x430
   btrfs_ioctl_snap_create_v2+0x25a/0x520
   btrfs_ioctl+0x2a1c/0x5ce0
   __x64_sys_ioctl+0x193/0x200
   do_syscall_64+0x35/0x80

Fix this by calling qgroup_dirty() on @dstqgroup, and update limit item in
btrfs_run_qgroups() later outside of the spinlock context.

CC: stable@vger.kernel.org # 4.9+
Reviewed-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: ChenXiaoSong <chenxiaosong2@huawei.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2022-11-21 14:57:52 +01:00
Jonathan Neuschäfer
270450a1b6 mtd: spi-nor: Fix formatting in spi_nor_read_raw() kerneldoc comment
It doesn't make sense to put "set" on its own line like that.

Signed-off-by: Jonathan Neuschäfer <j.neuschaefer@gmx.net>
Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com>
Acked-by: Pratyush Yadav <pratyush@kernel.org>
Link: https://lore.kernel.org/r/20221101162906.990125-1-j.neuschaefer@gmx.net
2022-11-21 15:53:28 +02:00
Maxim Korotkov
64c150339e pinctrl: single: Fix potential division by zero
There is a possibility of dividing by zero due to the pcs->bits_per_pin
if pcs->fmask() also has a value of zero and called fls
from asm-generic/bitops/builtin-fls.h or arch/x86/include/asm/bitops.h.
The function pcs_probe() has the branch that assigned to fmask 0 before
pcs_allocate_pin_table() was called

Found by Linux Verification Center (linuxtesting.org) with SVACE.

Fixes: 4e7e8017a8 ("pinctrl: pinctrl-single: enhance to configure multiple pins of different modules")
Signed-off-by: Maxim Korotkov <korotkov.maxim.s@gmail.com>
Reviewed-by: Tony Lindgren <tony@atomide.com>
Link: https://lore.kernel.org/r/20221117123034.27383-1-korotkov.maxim.s@gmail.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2022-11-21 14:41:52 +01:00
Filipe Manana
a11452a370 btrfs: send: avoid unaligned encoded writes when attempting to clone range
When trying to see if we can clone a file range, there are cases where we
end up sending two write operations in case the inode from the source root
has an i_size that is not sector size aligned and the length from the
current offset to its i_size is less than the remaining length we are
trying to clone.

Issuing two write operations when we could instead issue a single write
operation is not incorrect. However it is not optimal, specially if the
extents are compressed and the flag BTRFS_SEND_FLAG_COMPRESSED was passed
to the send ioctl. In that case we can end up sending an encoded write
with an offset that is not sector size aligned, which makes the receiver
fallback to decompressing the data and writing it using regular buffered
IO (so re-compressing the data in case the fs is mounted with compression
enabled), because encoded writes fail with -EINVAL when an offset is not
sector size aligned.

The following example, which triggered a bug in the receiver code for the
fallback logic of decompressing + regular buffer IO and is fixed by the
patchset referred in a Link at the bottom of this changelog, is an example
where we have the non-optimal behaviour due to an unaligned encoded write:

   $ cat test.sh
   #!/bin/bash

   DEV=/dev/sdj
   MNT=/mnt/sdj

   mkfs.btrfs -f $DEV > /dev/null
   mount -o compress $DEV $MNT

   # File foo has a size of 33K, not aligned to the sector size.
   xfs_io -f -c "pwrite -S 0xab 0 33K" $MNT/foo

   xfs_io -f -c "pwrite -S 0xcd 0 64K" $MNT/bar

   # Now clone the first 32K of file bar into foo at offset 0.
   xfs_io -c "reflink $MNT/bar 0 0 32K" $MNT/foo

   # Snapshot the default subvolume and create a full send stream (v2).
   btrfs subvolume snapshot -r $MNT $MNT/snap

   btrfs send --compressed-data -f /tmp/test.send $MNT/snap

   echo -e "\nFile bar in the original filesystem:"
   od -A d -t x1 $MNT/snap/bar

   umount $MNT
   mkfs.btrfs -f $DEV > /dev/null
   mount $DEV $MNT

   echo -e "\nReceiving stream in a new filesystem..."
   btrfs receive -f /tmp/test.send $MNT

   echo -e "\nFile bar in the new filesystem:"
   od -A d -t x1 $MNT/snap/bar

   umount $MNT

Before this patch, the send stream included one regular write and one
encoded write for file 'bar', with the later being not sector size aligned
and causing the receiver to fallback to decompression + buffered writes.
The output of the btrfs receive command in verbose mode (-vvv):

   (...)
   mkfile o258-7-0
   rename o258-7-0 -> bar
   utimes
   clone bar - source=foo source offset=0 offset=0 length=32768
   write bar - offset=32768 length=1024
   encoded_write bar - offset=33792, len=4096, unencoded_offset=33792, unencoded_file_len=31744, unencoded_len=65536, compression=1, encryption=0
   encoded_write bar - falling back to decompress and write due to errno 22 ("Invalid argument")
   (...)

This patch avoids the regular write followed by an unaligned encoded write
so that we end up sending a single encoded write that is aligned. So after
this patch the stream content is (output of btrfs receive -vvv):

   (...)
   mkfile o258-7-0
   rename o258-7-0 -> bar
   utimes
   clone bar - source=foo source offset=0 offset=0 length=32768
   encoded_write bar - offset=32768, len=4096, unencoded_offset=32768, unencoded_file_len=32768, unencoded_len=65536, compression=1, encryption=0
   (...)

So we get more optimal behaviour and avoid the silent data loss bug in
versions of btrfs-progs affected by the bug referred by the Link tag
below (btrfs-progs v5.19, v5.19.1, v6.0 and v6.0.1).

Link: https://lore.kernel.org/linux-btrfs/cover.1668529099.git.fdmanana@suse.com/
Reviewed-by: Boris Burkov <boris@bur.io>
Signed-off-by: Filipe Manana <fdmanana@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2022-11-21 14:41:41 +01:00
Christoph Hellwig
c51f0e6a12 btrfs: zoned: fix missing endianness conversion in sb_write_pointer
generation is an on-disk __le64 value, so use btrfs_super_generation to
convert it to host endian before comparing it.

Fixes: 12659251ca ("btrfs: implement log-structured superblock for ZONED mode")
CC: stable@vger.kernel.org # 5.15+
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Reviewed-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2022-11-21 14:40:40 +01:00
Niyas Sait
c21dd79e99 pinconf-generic: fix style issues in pin_config_param doc
Fixes following issues introduced in a  previous commit
to clarify values for pin config pull up and down types.

- replace spaces with tabs to be consistent with rest of the doc
- use capitalization for unit (ohms -> Ohms)

Signed-off-by: Niyas Sait <niyas.sait@linaro.org>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20221117123542.1154252-1-niyas.sait@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2022-11-21 14:38:28 +01:00
Michael Walle
0a92de16b6 mtd: spi-nor: sysfs: print JEDEC ID for generic flash driver
We don't have a database entry for the generic SPI-NOR flash driver and
thus we don't have a JEDEC ID to print. Print the (cached) JEDEC ID
instead.

Signed-off-by: Michael Walle <michael@walle.cc>
Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com>
Reviewed-by: Takahiro Kuwano <Takahiro.Kuwano@infineon.com>
Link: https://lore.kernel.org/r/20220810220654.1297699-8-michael@walle.cc
2022-11-21 15:37:16 +02:00
Michael Walle
773bbe1044 mtd: spi-nor: add generic flash driver
Our SFDP parsing is everything we need to support all basic operations
of a flash device. If the flash isn't found in our in-kernel flash
database, gracefully fall back to a driver described solely by its SFDP
tables.

Signed-off-by: Michael Walle <michael@walle.cc>
Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com>
Tested-by: Tudor Ambarus <tudor.ambarus@microchip.com>
Reviewed-by: Takahiro Kuwano <Takahiro.Kuwano@infineon.com>
Link: https://lore.kernel.org/r/20220810220654.1297699-7-michael@walle.cc
2022-11-21 15:37:16 +02:00
Michael Walle
39eece67a3 mtd: spi-nor: fix select_uniform_erase to skip 0 erase size
4bait will set the erase size to 0 if there is no corresponding
opcode for the 4byte erase. Fix spi_nor_select_uniform_erase to skip
the 0 erase size to avoid mtd device registration failure cases.

Reported-by: Jae Hyun Yoo <quic_jaehyoo@quicinc.com>
Signed-off-by: Michael Walle <michael@walle.cc>
Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com>
Link: https://lore.kernel.org/r/20220810220654.1297699-6-michael@walle.cc
2022-11-21 15:37:16 +02:00
Michael Walle
fa06bb26a4 mtd: spi-nor: move function declaration out of sfdp.h
sfdp.h should only contain constants related to the JEDEC SFDP
specification(s).

Signed-off-by: Michael Walle <michael@walle.cc>
Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com>
Reviewed-by: Takahiro Kuwano <Takahiro.Kuwano@infineon.com>
Link: https://lore.kernel.org/r/20220810220654.1297699-5-michael@walle.cc
2022-11-21 15:37:16 +02:00
Michael Walle
28ef767041 mtd: spi-nor: remember full JEDEC flash ID
At the moment, we print the JEDEC ID that is stored in our database. The
generic flash support won't have such an entry in our database. To find
out the JEDEC ID later we will have to cache it. There is also another
advantage: If the flash is found in the database, the ID could be
truncated because the ID of the entry is used which can be shorter. Some
flashes still holds valuable information in the bytes after the JEDEC ID
and come in handy during debugging of when coping with INFO6() entries.
These are not accessible for now.

Save a copy of the ID bytes after reading and display it via debugfs.

Signed-off-by: Michael Walle <michael@walle.cc>
Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com>
Reviewed-by: Takahiro Kuwano <Takahiro.Kuwano@infineon.com>
Link: https://lore.kernel.org/r/20220810220654.1297699-4-michael@walle.cc
2022-11-21 15:37:15 +02:00
Michael Walle
0d9270f276 mtd: spi-nor: sysfs: hide manufacturer if it is not set
The manufacturer may be optional when pure SFDP flashes are supported.
Hide the sysfs property if no manufacturer is set.

Signed-off-by: Michael Walle <michael@walle.cc>
Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com>
Reviewed-by: Takahiro Kuwano <Takahiro.Kuwano@infineon.com>
Link: https://lore.kernel.org/r/20220810220654.1297699-3-michael@walle.cc
2022-11-21 15:37:15 +02:00
Michael Walle
7d388551b6 mtd: spi-nor: hide jedec_id sysfs attribute if not present
Some non-jedec compliant flashes (like the Everspin flashes) don't have
an ID at all. Hide the attribute in this case.

Fixes: 36ac022862 ("mtd: spi-nor: add initial sysfs support")
Signed-off-by: Michael Walle <michael@walle.cc>
Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com>
Reviewed-by: Takahiro Kuwano <Takahiro.Kuwano@infineon.com>
Link: https://lore.kernel.org/r/20220810220654.1297699-2-michael@walle.cc
2022-11-21 15:37:15 +02:00
Ren Zhijie
c0f358fde3 pinctrl: pinctrl-loongson2: fix Kconfig dependency
If CONFIG_PINCTRL_LOONGSON2=y and CONFIG_OF is not set,
gcc complained about undefined reference:

drivers/pinctrl/pinctrl-loongson2.o: In function `pinconf_generic_dt_node_to_map_all':
pinctrl-loongson2.c:(.text+0x1c4): undefined reference to
`pinconf_generic_dt_node_to_map'

To fix this error, add depends on OF to
config PINCTRL_LOONGSON2.

Fixes: f73f88acbc ("pinctrl: pinctrl-loongson2: add pinctrl driver support")
Signed-off-by: Ren Zhijie <renzhijie2@huawei.com>
Link: https://lore.kernel.org/r/20221121132608.230645-1-renzhijie2@huawei.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2022-11-21 14:36:03 +01:00
Pawan Gupta
50bcceb772 x86/pm: Add enumeration check before spec MSRs save/restore setup
pm_save_spec_msr() keeps a list of all the MSRs which _might_ need
to be saved and restored at hibernate and resume. However, it has
zero awareness of CPU support for these MSRs. It mostly works by
unconditionally attempting to manipulate these MSRs and relying on
rdmsrl_safe() being able to handle a #GP on CPUs where the support is
unavailable.

However, it's possible for reads (RDMSR) to be supported for a given MSR
while writes (WRMSR) are not. In this case, msr_build_context() sees
a successful read (RDMSR) and marks the MSR as valid. Then, later, a
write (WRMSR) fails, producing a nasty (but harmless) error message.
This causes restore_processor_state() to try and restore it, but writing
this MSR is not allowed on the Intel Atom N2600 leading to:

  unchecked MSR access error: WRMSR to 0x122 (tried to write 0x0000000000000002) \
     at rIP: 0xffffffff8b07a574 (native_write_msr+0x4/0x20)
  Call Trace:
   <TASK>
   restore_processor_state
   x86_acpi_suspend_lowlevel
   acpi_suspend_enter
   suspend_devices_and_enter
   pm_suspend.cold
   state_store
   kernfs_fop_write_iter
   vfs_write
   ksys_write
   do_syscall_64
   ? do_syscall_64
   ? up_read
   ? lock_is_held_type
   ? asm_exc_page_fault
   ? lockdep_hardirqs_on
   entry_SYSCALL_64_after_hwframe

To fix this, add the corresponding X86_FEATURE bit for each MSR.  Avoid
trying to manipulate the MSR when the feature bit is clear. This
required adding a X86_FEATURE bit for MSRs that do not have one already,
but it's a small price to pay.

  [ bp: Move struct msr_enumeration inside the only function that uses it. ]

Fixes: 73924ec4d5 ("x86/pm: Save the MSR validity status at context setup")
Reported-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Reviewed-by: Dave Hansen <dave.hansen@linux.intel.com>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Cc: <stable@kernel.org>
Link: https://lore.kernel.org/r/c24db75d69df6e66c0465e13676ad3f2837a2ed8.1668539735.git.pawan.kumar.gupta@linux.intel.com
2022-11-21 14:16:16 +01:00
Shaokun Zhang
dcc7f001b4 MAINTAINERS: Update HiSilicon PMU maintainers
Now Qi Liu has left HiSilicon and will no longer access to the
necessary hardware and document, remove the mail and thanks for
her's work.
While add the new maintainer Jonathan Cameron, He is skilled with
kernel and enough knowledge of the driver.

Cc: Jonathan Cameron <jonathan.cameron@huawei.com>
Cc: Qi Liu <liuqi6124@gmail.com>
Cc: Will Deacon <will@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Shaokun Zhang <zhangshaokun@hisilicon.com>
Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Acked-by: Qi Liu <liuqi6124@gmail.com>
Link: https://lore.kernel.org/r/20221118065400.48836-1-zhangshaokun@hisilicon.com
Signed-off-by: Will Deacon <will@kernel.org>
2022-11-21 13:15:31 +00:00
David S. Miller
2c45455ea1 Merge branch 'mptcp-netlink'
Mat Martineau says:

====================
mptcp: More specific netlink command errors

This series makes the error reporting for the MPTCP_PM_CMD_ADD_ADDR netlink
command more specific, since there are multiple reasons the command could
fail.

Note that patch 2 adds a GENL_SET_ERR_MSG_FMT() macro to genetlink.h,
which is outside the MPTCP subsystem.

Patch 1 refactors in-kernel listening socket and endpoint creation to
simplify the second patch.

Patch 2 updates the error values returned by the in-kernel path manager
when it fails to create a local endpoint.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
2022-11-21 13:09:08 +00:00
Paolo Abeni
a3400e8746 mptcp: more detailed error reporting on endpoint creation
Endpoint creation can fail for a number of reasons; in case of failure
append the error number to the extended ack message, using a newly
introduced generic helper.

Additionally let mptcp_pm_nl_append_new_local_addr() report different
error reasons.

Reviewed-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-11-21 13:09:07 +00:00
Paolo Abeni
976d302fb6 mptcp: deduplicate error paths on endpoint creation
When endpoint creation fails, we need to free the newly allocated
entry and eventually destroy the paired mptcp listener socket.

Consolidate such action in a single point let all the errors path
reach it.

Reviewed-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-11-21 13:09:07 +00:00
Pawan Gupta
aaa65d17ee x86/tsx: Add a feature bit for TSX control MSR support
Support for the TSX control MSR is enumerated in MSR_IA32_ARCH_CAPABILITIES.
This is different from how other CPU features are enumerated i.e. via
CPUID. Currently, a call to tsx_ctrl_is_supported() is required for
enumerating the feature. In the absence of a feature bit for TSX control,
any code that relies on checking feature bits directly will not work.

In preparation for adding a feature bit check in MSR save/restore
during suspend/resume, set a new feature bit X86_FEATURE_TSX_CTRL when
MSR_IA32_TSX_CTRL is present. Also make tsx_ctrl_is_supported() use the
new feature bit to avoid any overhead of reading the MSR.

  [ bp: Remove tsx_ctrl_is_supported(), add room for two more feature
    bits in word 11 which are coming up in the next merge window. ]

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Reviewed-by: Dave Hansen <dave.hansen@linux.intel.com>
Cc: <stable@kernel.org>
Link: https://lore.kernel.org/r/de619764e1d98afbb7a5fa58424f1278ede37b45.1668539735.git.pawan.kumar.gupta@linux.intel.com
2022-11-21 14:08:20 +01:00
Kuniyuki Iwashima
7a7160edf1 net: Return errno in sk->sk_prot->get_port().
We assume the correct errno is -EADDRINUSE when sk->sk_prot->get_port()
fails, so some ->get_port() functions return just 1 on failure and the
callers return -EADDRINUSE instead.

However, mptcp_get_port() can return -EINVAL.  Let's not ignore the error.

Note the only exception is inet_autobind(), all of whose callers return
-EAGAIN instead.

Fixes: cec37a6e41 ("mptcp: Handle MP_CAPABLE options for outgoing connections")
Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-11-21 13:05:39 +00:00
Dan Carpenter
badbda1a01 octeontx2-af: cn10k: mcs: Fix copy and paste bug in mcs_bbe_intr_handler()
This code accidentally uses the RX macro twice instead of the RX and TX.

Fixes: 6c635f78c4 ("octeontx2-af: cn10k: mcs: Handle MCS block interrupts")
Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-11-21 13:04:28 +00:00
Kees Cook
764f848589 ipv4/fib: Replace zero-length array with DECLARE_FLEX_ARRAY() helper
Zero-length arrays are deprecated[1] and are being replaced with
flexible array members in support of the ongoing efforts to tighten the
FORTIFY_SOURCE routines on memcpy(), correctly instrument array indexing
with UBSAN_BOUNDS, and to globally enable -fstrict-flex-arrays=3.

Replace zero-length array with flexible-array member in struct key_vector.

This results in no differences in binary output.

[1] https://github.com/KSPP/linux/issues/78

Cc: Jakub Kicinski <kuba@kernel.org>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>
Cc: David Ahern <dsahern@kernel.org>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Paolo Abeni <pabeni@redhat.com>
Cc: "Gustavo A. R. Silva" <gustavoars@kernel.org>
Cc: netdev@vger.kernel.org
Signed-off-by: Kees Cook <keescook@chromium.org>
Reviewed-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Reviewed-by: David Ahern <dsahern@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-11-21 13:03:36 +00:00
Uwe Kleine-König
b8fadb3964 ipmi: ssif_bmc: Convert to i2c's .probe_new()
The probe function doesn't make use of the i2c_device_id * parameter so it
can be trivially converted.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Message-Id: <20221118224540.619276-606-uwe@kleine-koenig.org>
Signed-off-by: Corey Minyard <cminyard@mvista.com>
2022-11-21 06:59:41 -06:00
Daniel Díaz
bd5e1e4282 selftests/net: Find nettest in current directory
The `nettest` binary, built from `selftests/net/nettest.c`,
was expected to be found in the path during test execution of
`fcnal-test.sh` and `pmtu.sh`, leading to tests getting
skipped when the binary is not installed in the system, as can
be seen in these logs found in the wild [1]:

  # TEST: vti4: PMTU exceptions                                         [SKIP]
  [  350.600250] IPv6: ADDRCONF(NETDEV_CHANGE): veth_b: link becomes ready
  [  350.607421] IPv6: ADDRCONF(NETDEV_CHANGE): veth_a: link becomes ready
  # 'nettest' command not found; skipping tests
  #   xfrm6udp not supported
  # TEST: vti6: PMTU exceptions (ESP-in-UDP)                            [SKIP]
  [  351.605102] IPv6: ADDRCONF(NETDEV_CHANGE): veth_b: link becomes ready
  [  351.612243] IPv6: ADDRCONF(NETDEV_CHANGE): veth_a: link becomes ready
  # 'nettest' command not found; skipping tests
  #   xfrm4udp not supported

The `unicast_extensions.sh` tests also rely on `nettest`, but
it runs fine there because it looks for the binary in the
current working directory [2]:

The same mechanism that works for the Unicast extensions tests
is here copied over to the PMTU and functional tests.

[1] https://lkft.validation.linaro.org/scheduler/job/5839508#L6221
[2] https://lkft.validation.linaro.org/scheduler/job/5839508#L7958

Signed-off-by: Daniel Díaz <daniel.diaz@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-11-21 12:58:26 +00:00
Yoshihiro Shimoda
1cb5072632 net: ethernet: renesas: rswitch: Fix MAC address info
Smatch detected the following warning.

    drivers/net/ethernet/renesas/rswitch.c:1717 rswitch_init() warn:
    '%pM' cannot be followed by 'n'

The 'n' should be '\n'.

Reported-by: Dan Carpenter <error27@gmail.com>
Suggested-by: Geert Uytterhoeven <geert+renesas@glider.be>
Fixes: 3590918b5d ("net: ethernet: renesas: Add support for "Ethernet Switch"")
Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Reviewed-by: Saeed Mahameed <saeed@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-11-21 12:57:18 +00:00
Arnd Bergmann
26a1200241 i.MX drivers change for 6.2:
- Improve imx8m-blk-ctrl driver to allow deferred probe in case that
   'bus' genpd is not yet ready.
 - Add missing USB_1_PHY PD for i.MX scu-pd firmware driver.
 - Add GENPD_FLAG_ACTIVE_WAKEUP flag for i.MX8MM/N in GPCv2 driver, so
   that the power domain remains on if USB remote wakeup is enabled.
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmN4ijcUHHNoYXduZ3Vv
 QGtlcm5lbC5vcmcACgkQUFdYWoewfM5lRgf+ODRyVDspNDTrazYtvVgr7YVutIBu
 TMjlNPkUKiDtOEjwwCvm30vdKVeI/pWOFoBWCFfrzAcaMc6EGgNaPeO5LvN6NVHI
 ZIzr+gJEVfxbuF+oWpXxdKRl+iEbHy+d9952amhgHwG9Wo5dgEh6I5cCMmyvtJWm
 VBE1qZz6h8Nsj6dlWWPxh1U7aQoLSZeM7i0Dc/7JQfRPeohT5r6IZzNqbW4l40wP
 78ZE8jETMUsfjBKqAmgFqQs+NxGjxwTlPbpx5ZpL23Zj9CeB+C841aweIW0ZqCeX
 fYVqsxVKT5rVYlwZkKaMCtiJQGASPoTz4ZZtAsGoBsecxe/H8dpKF81EHA==
 =5Hgd
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmN7dQYACgkQmmx57+YA
 GNmuZw/9E9SstLZNBAossQOw/WnAgope6//f7RhsPHtDnvm2f826FkJwG6VAcvJS
 ctK8IlvjAHm9q4VVDW86R38aS5W7kyjnrwiNON0X/YW8dNPEciS7mSZzp+H5zw2a
 B0VDrSD0Eojt4ouHANQoLoDbjmz844K6X/N+CQsSr95u9elBy0SAx0QwXK3PM4Px
 sNSXcU6S1QU3WQ/tO0Wyl5yUYpv4Ow4nmTtQA+FqIA8Hz8ZC9+NEsnEWaVVNv9EA
 R1bCX4V39kfm7UyBp9adSAKSOLrbaSObiWSgM1zPmoxNPRkrAW4f3vIoNOjjuz9t
 ukwYpl5fpjT/FmMIuY9Ano+GSyPLTmeGSWXmtCggao/p29hHxoscMn+q2/Du/ZkJ
 HQBM8Qil7udQSzFyUaYjJ6QrX7LQReDpf0t/RQJSKldgSDYQM4qysJWqwOBsEq6r
 gcXrQ9/bHq+sQuHy8Jo0nDxgey/DTAhhsBPRWuqLcFjwR/BebuDWBbNyyBbjOa+v
 OVCi1oW8hF9GChV6ParELY+yAa3pxLTGsCfX9c5NcJZIGixvD5iOwSy+IlgudVni
 lBy7J39dHZTpDL+grPH63ijyL9Wct71SNx8WnYx1w1+EZcs/LBmWwXgXrbDm86Yg
 o3KWJqOFiXy325BF+rhzcNkLyNq1IjUPHkPCzqqI5W3NvZ66NU8=
 =8euY
 -----END PGP SIGNATURE-----

Merge tag 'imx-drivers-6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into soc/drivers

i.MX drivers change for 6.2:

- Improve imx8m-blk-ctrl driver to allow deferred probe in case that
  'bus' genpd is not yet ready.
- Add missing USB_1_PHY PD for i.MX scu-pd firmware driver.
- Add GENPD_FLAG_ACTIVE_WAKEUP flag for i.MX8MM/N in GPCv2 driver, so
  that the power domain remains on if USB remote wakeup is enabled.

* tag 'imx-drivers-6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  soc: imx: gpcv2: add GENPD_FLAG_ACTIVE_WAKEUP flag for usb of imx8mm/n
  firmware: imx: scu-pd: add missed USB_1_PHY pd
  soc: imx: imx8m-blk-ctrl: Defer probe if 'bus' genpd is not yet ready

Link: https://lore.kernel.org/r/20221119125733.32719-1-shawnguo@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-11-21 13:54:30 +01:00
Arnd Bergmann
cb667ad752 Renesas driver updates for v6.2 (take two)
- Add support for identifying the SoC revision on RZ/V2M.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCY3dffwAKCRCKwlD9ZEnx
 cDMNAP9Dh3nJoznrsXxLIeiPk0IhlsmwgseQrcivJqit1DhIxwEA+mg2VgCs5OEE
 r+bufQJElYSGx15r7UF/YZn90TSsPQY=
 =HjYI
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmN7dM4ACgkQmmx57+YA
 GNlTQg//bJ1aRxZJwxX8qcCwz82EJvaXIWu7S5xSeVLfGOFEURCB53IYHS9YiOi8
 10nH5Ee5/qLDDSJllGZJY3Y4JG2PurfUmFNpDmei1pM91wBm53+XhbSWrgff3fl+
 pbBlI/i8oszu6/HE9yRLVF3wDgCAIqwfkKQjGjlMsUNZfKv/Mqde6Y0EsoEwOe+5
 FQAHlSnFye3u3WiBc2Gg+ZNo3WsU/h3ORPEPk3zuOIq3f+di4DR1mKAr0rIwkW9/
 p16jq283KS8JEBafNuUM1P6GYXNdTNyMStib3vCOrwrCSVguYNXnSzN2mUmMBD1K
 15D+SgXJw76syBnZXJu18EjyWD1qgtFYLNLvMaqEo4o54LpxAC7uJfhVn6JFaLZj
 rk0tOWZ9YHBX1Vw4SOtPy7DYMDjIvmA6pgYwICWrc6J/aFa2J1nJItYWUkkKnc7w
 xJEvTVlP/1FPiKVeGYLrAy5+Ijpn45L5Wc0DROyVv0n5pJAJUanskZUAFMGWgS1y
 8sl4mkYwnDiujsx5l7BdgVvChcNAgt0r0R1FjhAUL+13I6VrHKKoRoNs0dV323wX
 k9SEyYig8Iupy2PJdViqki1bmVx/Kf+nc7znyBNNtuZxgZWSBvW3E0/pdsUOp3Sg
 MQm9Q6pGF2f9FTd29cJBKPZWGppGiYVLym8wPeAQDF0yF6neP6A=
 =z8Gm
 -----END PGP SIGNATURE-----

Merge tag 'renesas-drivers-for-v6.2-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into soc/drivers

Renesas driver updates for v6.2 (take two)

  - Add support for identifying the SoC revision on RZ/V2M.

* tag 'renesas-drivers-for-v6.2-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  soc: renesas: Identify RZ/V2M SoC

Link: https://lore.kernel.org/r/cover.1668788925.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-11-21 13:53:34 +01:00
Will Deacon
32d495b0c3 Revert "arm64/mm: Drop redundant BUG_ON(!pgtable_alloc)"
This reverts commit 9ed2b4616d.

Nathan reports early boot failures bisected to this change which look
related to the kPTI nG repainting. In any case, consolidating the
BUG_ON()s to a single location needs more thought, so revert the change
until this is figured out properly.

Link: https://lore.kernel.org/r/Y3pS5fdZ3MdLZ00t@dev-arch.thelio-3990X
Reported-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: Will Deacon <will@kernel.org>
2022-11-21 12:52:07 +00:00
Arnd Bergmann
f5014dcd93 Add missing __init/__exit annotations to OP-TEE driver
-----BEGIN PGP SIGNATURE-----
 
 iQJOBAABCgA4FiEEFV+gSSXZJY9ZyuB5LinzTIcAHJcFAmN3dr0aHGplbnMud2lr
 bGFuZGVyQGxpbmFyby5vcmcACgkQLinzTIcAHJdc+g//RsMRODDwkJQKECfudD8j
 LK0g0v5E2fqA23gZG14eD5v9UY6DSRyhL+DDxJGphsd/SlGV0lA5gn51usj7yu1c
 HFpN1y8k9Z3wYZGDxOnG+C5AR8hpRXsQtPRSd30HrgdHGuZwsNhuYCjQXMXKKYLB
 +w8/yjFj+3Zw54evs5mWHusyEa/kyldWcXuYXNgF9bxRYfxkj7yOSyPQROFGuzP9
 Lr4077Q+/P8nukZ+YubVvnsZ33hlWWykF5nwvhEr1RM7IugCKgEeuj12v2qJfZcR
 3ZccZIzk12oatNpX2PDwXlmrP9MvgD/xA86zt6BmPdaxRGm5E3phTMIlSbeS5Qwd
 jNpn1lUVg7O1R45NoUIdckTekp/vvIfbZuqHIoC0pHVFC0BENQHCLGGY9fo9vdqd
 fW5tSUmlU69fKqmgf/0gPAXKO7qVbASGNvh4nSf7Gv/qgf3446+Dw23b6kYeLm9j
 +kIFiAloXQJ9SFxTF2V5gk5PNcFuSLt1gE9y0DZg+WCHza9VZwoDnjmXUiQeyaa0
 LSsWd42u1YldAfLN1SZ24h1rCmgOenV/7WrVn16WAf5fgRQVmiutARA7K8d3aue3
 TR0sZtw7XGBOTMQWr2nQBOFYVJiM2rynMzLxKD35QHtaFD5fwzJsZvTElqUk7rqc
 /dDWHQmUlggEnECSJ5aP5Xs=
 =rzLm
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmN7cSkACgkQmmx57+YA
 GNnhoA/7BUAXgJqB8ZAWUaFw6HOsKQkltoJxjRK9vkeiHJUKEB5u0w97fHNVondk
 TqxqhceoB36AYBqOc7FECufcvRbmg80EVihyoH34qL8V+37kN+hU4WagImLAbQTF
 v2KXbe5X4JA4LTNt0KXWsPcTifkBaa/CVhYYArWxRpT33+WglMiVr7bJhJdXzQfu
 v7AuYfE+KZzK9aGBJl8gAoXluT59WmgQpxu1PmtsMT8SFeLS4pPYJ16CxjgFL8pW
 s1JaxJfoXuzDzqvUwknRzxxmcAYBI+HR8Cq4znlRaQJj4bKgaZhdMThrbJ9G2yqS
 7LtesfMLmBNJS7jlkLG4d12PvNgE21Kc0IrhJan2nesqiYEgn6WQngGb7Qx8niG2
 +5IZEY9Xdsvi6K6dFP3d1yUSl0yMP30HWo3puoiFsLoS5BWXJ48gXdbdTpF2170g
 KMdlJR6MwNoH83ULpRIC8KtchOrr4sJ9jj0B0RLhvlQVbMDI1lRK/BW5Gs0MbvPQ
 OgwaimDcH9Q3yHWB8K4FDwdAq8SMQxzQw0bO06wZad0nGyZAV9BwHTv9mdsOvGJB
 UBeYM3133Z9jnWk40Zn3Dk9gmbjokX9BlczGAyCANvqPH2zJTujm5JDrxgujUDkO
 9XhkHt8JLmxKZZNWZYcF2I+rCi2eClz7nmxUOP5XvPvTsI0doHY=
 =EDdl
 -----END PGP SIGNATURE-----

Merge tag 'optee-for-6.2' of https://git.linaro.org/people/jens.wiklander/linux-tee into soc/drivers

Add missing __init/__exit annotations to OP-TEE driver

* tag 'optee-for-6.2' of https://git.linaro.org/people/jens.wiklander/linux-tee:
  optee: Add __init/__exit annotations to module init/exit funcs

Link: https://lore.kernel.org/r/Y3d4CHWl3Ofx5OrX@jade
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-11-21 13:38:01 +01:00
Janis Schoetterl-Glausch
51098f0eb2 s390/cmpxchg: make loop condition for 1,2 byte cases precise
The cmpxchg implementation for 1 and 2 bytes consists of a 4 byte
cmpxchg loop. Currently, the decision to retry is imprecise, looping if
bits outside the target byte(s) change instead of retrying until the
target byte(s) differ from the old value.
E.g. if an attempt to exchange (prev_left_0 old_bytes prev_right_0) is
made and it fails because the word at the address is
(prev_left_1 x prev_right_1) where both x != old_bytes and one of the
prev_*_1 values differs from the respective prev_*_0 value, the cmpxchg
is retried, even if by a semantic equivalent to a normal cmpxchg, the
exchange would fail.
Instead exit the loop if x != old_bytes and retry otherwise.

Signed-off-by: Janis Schoetterl-Glausch <scgl@linux.ibm.com>
Link: https://lore.kernel.org/r/20221116144711.3811011-1-scgl@linux.ibm.com
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
2022-11-21 13:36:16 +01:00
Heiko Carstens
4148575abe s390/uaccess: add cmpxchg_user_key()
Add cmpxchg_user_key() which allows to execute a compare and exchange
on a user space address. This allows also to specify a storage key
which makes sure that key-controlled protection is considered.

This is based on a patch written by Janis Schoetterl-Glausch.

Link: https://lore.kernel.org/all/20220930210751.225873-2-scgl@linux.ibm.com
Cc: Janis Schoetterl-Glausch <scgl@linux.ibm.com>
Link: https://lore.kernel.org/r/Y2J8axs+bcQ2dO/l@osiris
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
2022-11-21 13:36:16 +01:00
Heiko Carstens
f39a8c4a22 s390/extable: add EX_TABLE_UA_LOAD_REGPAIR() macro
Add new exception table type which is able to handle register
pairs. If an exception is recognized on such an instruction the
specified register pair will be zeroed, and the specified error
register will be modified so it contains -EFAULT, similar to the
existing EX_TABLE_UA_LOAD_REG() macro.

Link: https://lore.kernel.org/r/Y2J8RSW2khWLgpPo@osiris
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
2022-11-21 13:36:15 +01:00
Heiko Carstens
e388d66f03 s390/cmpxchg: remove digits from input constraints
Instead of using a digit for input constraints simply initialize the
corresponding output operand in C code and use a "+" constraint
modifier.

Link: https://lore.kernel.org/r/Y2J8H82B6JhJhrp2@osiris
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
2022-11-21 13:36:15 +01:00
Heiko Carstens
ce968f6545 s390/cmpxchg: make variables local to each case label
Make variables local to each case label. This limits the scope of
variables and allows to use proper types everywhere.

Link: https://lore.kernel.org/r/Y2J7+HqgAZwnfxsh@osiris
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
2022-11-21 13:36:15 +01:00
Heiko Carstens
13f62e8438 s390/cmpxchg: use symbolic names for inline assembly operands
Make cmpxchg() inline assemblies more readable by using symbolic names
for operands.

Link: https://lore.kernel.org/r/Y2J7yzQYt/bjLQXY@osiris
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
2022-11-21 13:36:15 +01:00
Thierry Reding
1002a36112 arm64: tegra: Remove unneeded clock-names for Tegra132 PWM
There's only a single clock for this IP block, so it doesn't need a
clock-names property.

Signed-off-by: Thierry Reding <treding@nvidia.com>
2022-11-21 13:30:16 +01:00
Thierry Reding
132b552cba arm64: tegra: Fix up compatible string for SDMMC1 on Tegra234
The compatible string list for SDHCI on Tegra234 should be
"nvidia,tegra234-sdhci", followed by the "nvidia,tegra186-sdhci"
fallback. Use that consistently for all SDHCI controllers.

Signed-off-by: Thierry Reding <treding@nvidia.com>
2022-11-21 13:30:15 +01:00
Thierry Reding
d8e194786a arm64: tegra: Remove unused reset-names for QSPI
The Tegra QSPI controller uses a single reset line, so there's no need
for a reset-names property. Remove such properties.

Signed-off-by: Thierry Reding <treding@nvidia.com>
2022-11-21 13:30:15 +01:00
Thierry Reding
efe499d885 arm64: tegra: Fixup pinmux node names
Pinmux node names should have a pinmux- prefix and not use underscores.
Fix up some cases that didn't follow those rules.

Signed-off-by: Thierry Reding <treding@nvidia.com>
2022-11-21 13:30:15 +01:00
Thierry Reding
e9ddebc3a2 arm64: tegra: Remove reset-names for QSPI
The Tegra QSPI controllers use a single reset control, so reset-names is
not necessary and therefore not specified in the DT bindings. Drop the
property from device tree files to avoid validation warnings.

Signed-off-by: Thierry Reding <treding@nvidia.com>
2022-11-21 13:30:15 +01:00
Thierry Reding
b2fbcbe1ae arm64: tegra: Use correct compatible string for Tegra234 HDA
The Tegra234 HDA controller is not backwards-compatible with Tegra30, so
drop the corresponding compatible string from the list.

Signed-off-by: Thierry Reding <treding@nvidia.com>
2022-11-21 13:30:15 +01:00
Thierry Reding
7f0ea5acfc arm64: tegra: Use correct compatible string for Tegra194 HDA
The Tegra194 HDA controller is not backwards-compatible with Tegra30, so
drop the corresponding compatible string from the list.

Signed-off-by: Thierry Reding <treding@nvidia.com>
2022-11-21 13:30:14 +01:00
Thierry Reding
3d5d63e96a arm64: tegra: Use vbus-gpios property
Instead of using the deprecated vbus-gpio property, switch to using the
more standard vbus-gpios property.

Signed-off-by: Thierry Reding <treding@nvidia.com>
2022-11-21 13:30:14 +01:00