Commit Graph

996532 Commits

Author SHA1 Message Date
Jiapeng Zhong
231ee8bd83 Bluetooth: fix coccicheck warnings debugfs
Use DEFINE_DEBUGFS_ATTRIBUTE rather than DEFINE_SIMPLE_ATTRIBUTE
for debugfs files.

Reported-by: Abaci Robot<abaci@linux.alibaba.com>
Signed-off-by: Jiapeng Zhong <abaci-bugfix@linux.alibaba.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
2021-01-29 16:51:35 +01:00
Dylan Van Assche
684ceb81dc staging: vc4_services: bcm2835-audio: Add SNDRV_PCM_INFO_BATCH flag
Playing audio with PulseAudio and the bcm2835-pcm driver results
in distorted sound. Timer-based scheduling does not properly work
with bcm2835-pcm since configuring PulseAudio with tsched=0
avoids this problem.

Setting the SNDRV_PCM_INFO_BATCH flag prevents PulseAudio to use
timer-based scheduling by default. Settings this flag makes audio
works out of the box.

Based on: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=7f2430cda819a9ecb1df5a0f3ef4f1c20db3f811

Signed-off-by: Dylan Van Assche <me@dylanvanassche.be>
Link: https://lore.kernel.org/r/20210127174348.10192-1-me@dylanvanassche.be
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-01-29 16:50:56 +01:00
Pali Rohár
6ece0f7dbd arm64: dts: marvell: armada-37xx: Add SATA comphy into main armada-37xx.dtsi file
SATA on A3720 SOC can use only comphy2, so move this definition from board
specific DTS file armada-3720-espressobin.dtsi into main A3720 SOC file
armada-37xx.dtsi.

Signed-off-by: Pali Rohár <pali@kernel.org>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
2021-01-29 16:50:28 +01:00
Colin Ian King
d730b1e1c3 staging: net: wimax: i2400m: fw: remove redundant initialization of variable result
The variable result is being initialized with a value that is never
read and it is being updated later with a new value.  The initialization
is redundant and can be removed.

Signed-off-by: Colin Ian King <colin.king@canonical.com>
Addresses-Coverity: ("Unused value")
Link: https://lore.kernel.org/r/20210128173703.645328-1-colin.king@canonical.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-01-29 16:45:57 +01:00
Marcin Wojtas
e8ff9d5996 arm64: dts: cn913x-db: enable MMC HS400
This patch adds necessary flags in the device tree
which enable HS400 mode on AP807 MMC controller
on the CN913x-DB board.

Signed-off-by: Marcin Wojtas <mw@semihalf.com>
Signed-off-by: Konstantin Porotchkin <kostap@marvell.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
2021-01-29 16:44:47 +01:00
Konstantin Porotchkin
6c55091335 arm64: dts: change AP807 SDHCI compatibility string
This patch adds new compatible string to AP807 DTSI to avoid
its SDHCI controller to run in "slow mode" with disabled UHS.

Signed-off-by: Marcin Wojtas <mw@semihalf.com>
Signed-off-by: Konstantin Porotchkin <kostap@marvell.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
2021-01-29 16:44:34 +01:00
Marek Behún
a9d9bfcadf arm64: dts: armada-3720-turris-mox: rename u-boot mtd partition to a53-firmware
The partition called "u-boot" in reality contains TF-A and U-Boot, and
TF-A is before U-Boot.

Rename this parition to "a53-firmware" to avoid confusion for users,
since they cannot simply build U-Boot from U-Boot repository and flash
the resulting image there. Instead they have to build the firmware with
the sources from the mox-boot-builder repository [1] and flash the
a53-firmware.bin binary there.

[1] https://gitlab.nic.cz/turris/mox-boot-builder

Signed-off-by: Marek Behún <kabel@kernel.org>
Fixes: 7109d817db ("arm64: dts: marvell: add DTS for Turris Mox")
Cc: Gregory CLEMENT <gregory.clement@bootlin.com>
Cc: linux-arm-kernel@lists.infradead.org
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
2021-01-29 16:40:29 +01:00
Hans de Goede
219991e6be Bluetooth: Add new HCI_QUIRK_NO_SUSPEND_NOTIFIER quirk
Some devices, e.g. the RTL8723BS bluetooth part, some USB attached devices,
completely drop from the bus on a system-suspend. These devices will
have their driver unbound and rebound on resume (when the dropping of
the bus gets detected) and will show up as a new HCI after resume.

These devices do not benefit from the suspend / resume handling work done
by the hci_suspend_notifier. At best this unnecessarily adds some time to
the suspend/resume time. But this may also actually cause problems, if the
code doing the driver unbinding runs after the pm-notifier then the
hci_suspend_notifier code will try to talk to a device which is now in
an uninitialized state.

This commit adds a new HCI_QUIRK_NO_SUSPEND_NOTIFIER quirk which allows
drivers to opt-out of the hci_suspend_notifier when they know beforehand
that their device will be fully re-initialized / reprobed on resume.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Abhishek Pandit-Subedi <abhishekpandit@chromium.org>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
2021-01-29 16:37:00 +01:00
Arnd Bergmann
ed8878041a SoC changes for omaps for v5.12 merge window
Update email address for Roger and fix a typo
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCAAvFiEEkgNvrZJU/QSQYIcQG9Q+yVyrpXMFAmAScJIRHHRvbnlAYXRv
 bWlkZS5jb20ACgkQG9Q+yVyrpXNHRw//W+0WzIbx/1dEGwUfjZvZm7vJ0SiCCKsf
 gEzwmUFlKY7yQohnZ2Qp2Fy7aOOOa7MqGpv/pg5aa4FNoCO2ajAGy7K7gCo5kiFq
 KGmn6v8NNdILra0LaUjfogiSmbgnYZossK1lyi4nNKn5Ed0jT+a79SUAqTiKTaLi
 x39YOSllWIRVVki4rfoPHP/CnZQpWk4J9UOV69Bdd5mlPNPhzbPYs0VW1+6Q4W2m
 rViiLRF3amxkAwmnOdXdxK/6u3s+9pe/8sD3X4HZI6bUE+VSmUUGIBGZhTyp3j41
 zwS/tgG9GqAhQ9dvh9VBQC6ZrVOb4nHd6NKINr6osX4BEDnjt83Cpu4crCgD9ECh
 ox8lZwnCLt5VtokARcAgwrVX2vbPiPHF4BY8zVR2qBazj0489nb2sU9FwKM1hLx5
 HJ8O0+9dNMd0qthBz0JktLOFBodGUMVsY6XNue6yAWT8/6g0rJA5eOIqcE6a5/JM
 4ttwmVCQ009Rv33drkPPf2IdYHLxRsckHOwt1wqthZCGNgtzl/YhkjbLtaEmo93L
 AXpeZghJXjXALijWskpVE412ogZ5ueM7P7LEC3Tl2aIYvDowM527i8RZFT7jtS4y
 r7GFr4EQWy1+jcBt6EBWPJwWmy1xwYF2WDoRsVS8SVbYapk/SBAbFe/PjIFTImHo
 BX+NAsSNE9E=
 =QsAV
 -----END PGP SIGNATURE-----

Merge tag 'omap-for-v5.12/soc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/soc

SoC changes for omaps for v5.12 merge window

Update email address for Roger and fix a typo

* tag 'omap-for-v5.12/soc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: OMAP2+: fix spellint typo
  MAINTAINERS: Update address for OMAP GPMC driver

Link: https://lore.kernel.org/r/pull-1611845066-809577@atomide.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-01-29 16:33:06 +01:00
Arnd Bergmann
2226c89413 Devicetree changes for omaps for v5.12 merge window
This includes the following earlier patches that were considered too
 late for v5.11 as discussed between Arnd and me on freenode #armlinux
 in December:
 
 - More updates to use cpsw switchdev driver
 
 - Enable gta04 PMIC power management
 
 - Updates for dra7 for ECC support, 1.8GHz speed and keep the
   ldo0 regulator always on as specified in the data manual
 
 And then we have the new devicetree changes:
 
 - Configure the original Amazon Echo to for audio
 
 - Configure missing thermal interrupt for omap4430
 
 - Configure mapphone devices for passive thermal cooling, and add
   1.2GHz mode.
 
 - Correct omap4430 sgx clock rate to use the runtime Android kernel
   value, the earlier value was for a lower power operating point
 
 - Drop turbo mode for 1GHz omap3 variants as we now have passive
   cooling configured
 
 - Update email address for Javier
 
 - Add new MYIR Tech Limited board support
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCAAvFiEEkgNvrZJU/QSQYIcQG9Q+yVyrpXMFAmASaj4RHHRvbnlAYXRv
 bWlkZS5jb20ACgkQG9Q+yVyrpXO7mBAAj/5zpwT9PS565m+GQZ9Ng8M/xYrIHMDw
 lQDwzCAHMab4ZMN1fw3PhXUl9Wvnwm4UIlnqELx9BLFtCaFUOFulgj62wkeb9VLT
 hqvOTCEXeK3CvLzcT1RxOnw9YedUOm+E0p8hWujM6PhqaN93LvlqMiS+ZotbQ7LT
 sjB/2GYoHJ1+xZlS13+Gylf5MlHN0iisSMFMAX6hMoLxX2FXsDTuef45cTe9Jy3/
 tH8O/W5CHe61dspPFft4L7W4rjkRDNztv/35TRIqb1qq7a8s7Lk1LJLjlMXCTk+Z
 Y6lPTsUv8+HGldpEEPM+I9P26l9+LZcsCv39veM2YpamnJ4Ln5KzOSjX5I3J3UK+
 BOADh8Va/04g/+JsJrVxBUs3Z7Edxz//cXnaMPZfp8OW1g2vgAJkjwWcukYVArmL
 /OmscZpuKELpflvdZa+puLXNUgVqSKlvR3Rq49MAeji1RhyEUMHdCQVibd/urnJr
 ngwg319JE2mgOtQqmZgsp0xyYE6sh141xhZRdK2X1kvvsjMjNirrbQ6JLCGZLoYv
 rWL7Psh4n+DvpzBk/Y+fow1/8A/lg3XK7Pd1XhB5Kes+EIQSFFSGnD7ZIrSJitGj
 aem+uqIijOE2egN5nBDHM6sbYgTQEIr41Y2fE3LbvjdBZBQfZA0NqIGiobgRt4mv
 MnLRfJ/+ZtY=
 =HqBS
 -----END PGP SIGNATURE-----

Merge tag 'omap-for-v5.12/dt-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/dt

Devicetree changes for omaps for v5.12 merge window

This includes the following earlier patches that were considered too
late for v5.11 as discussed between Arnd and me on freenode #armlinux
in December:

- More updates to use cpsw switchdev driver

- Enable gta04 PMIC power management

- Updates for dra7 for ECC support, 1.8GHz speed and keep the
  ldo0 regulator always on as specified in the data manual

And then we have the new devicetree changes:

- Configure the original Amazon Echo to for audio

- Configure missing thermal interrupt for omap4430

- Configure mapphone devices for passive thermal cooling, and add
  1.2GHz mode.

- Correct omap4430 sgx clock rate to use the runtime Android kernel
  value, the earlier value was for a lower power operating point

- Drop turbo mode for 1GHz omap3 variants as we now have passive
  cooling configured

- Update email address for Javier

- Add new MYIR Tech Limited board support

* tag 'omap-for-v5.12/dt-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: dts: am335x-myirtech-*: Add DT for AM335X MYIR Tech Limited board
  ARM: dts: omap3-igep: Change email address in copyright notice
  ARM: dts: omap36xx: Remove turbo mode for 1GHz variants
  ARM: dts: omap443x: Correct sgx clock to 307.2MHz as used on motorola vendor kernel
  ARM: dts: motorola-mapphone: Add 1.2GHz OPP
  ARM: dts: motorola-mapphone: Configure lower temperature passive cooling
  ARM: dts: Configure missing thermal interrupt for 4430
  ARM: dts: omap3-echo: Add speaker sound card support
  ARM: dts: dra71-evm: mark ldo0 regulator as always on
  ARM: dts: dra76x: add support for OPP_PLUS
  ARM: dts: am574x-idk: add support for EMIF1 ECC
  ARM: dts: omap3-gta04: fix twl4030-power settings
  ARM: dts: am335x-evm/evmsk/icev2: switch to new cpsw switch drv
  ARM: dts: am33xx-l4: add dt node for new cpsw switchdev driver

Link: https://lore.kernel.org/r/pull-1611845066-809577@atomide.com-2
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-01-29 16:31:25 +01:00
Arnd Bergmann
86a24899c2 STM32 DT updates for v5.12, round 1
Highlights:
 ----------
 
 MCU part:
  -Rename mmc nodes to match with yaml validation.
 
 MPU part:
  -Rename mmc nodes to match with yaml validation.
  -Move vdda1v1 & vdda1v8 (used by usbphyc) from boards files
   to SoC dtsi file.
 
  -LXA:
   -Fix leds schema for yaml validation.
 
  -DH:
   -Enable SDMMC1 internal pull-ups and disable CKIN feedabck clock
    on DHCOM.
   -Add SDMMC1 init state inorder to use some gpios during probing phase.
   -Disable KS8851 and FMC on PicoITX board.
 -----BEGIN PGP SIGNATURE-----
 
 iQJRBAABCgA7FiEEctl9+nxzUSUqdELdf5rJavIecIUFAmATyQUdHGFsZXhhbmRy
 ZS50b3JndWVAZm9zcy5zdC5jb20ACgkQf5rJavIecIX84BAAlVkBo4MqpaSDUVTS
 TGdwGoZMWmY848xb5x5RSMhXoDPgqOCWNF+iprhUii7QT6jgZMxy5JkwXFFpaK7K
 aIGYyegx/7BoUiyhEnzLHDO2brqzbwy6bRwVpVeqPFgPrOW7Tv6lfN9kpA06EQJ8
 nQNpGlXrcmeiCmD/iGX50JGC5X2ldqcLjAIEdgvGzRd/pGkyFkh6WIAvTf1wkgvi
 BqM5swKNWVeB3PloSxqfU5YE4ZBNkdjyjPCaIqB47or3WztyBaqH3KlEYTwwcJcw
 EaARNkl2sLvuu5p2CEpYwjW0TPG/RivQFpAYDTOGEjAOzZ4C2tWnQQzDTdlAIsCp
 FgrpWF9R/k43ea11Wr9A/vgh2kimQbBJtr5OoohxsxzxM/RqvFXBPzmm+sAGCgJ6
 YH8AEeKYECDLr4Xw1F05sAibWJsUWX8dktbtG2ZRa7JT5AshzaISDbQmt1qUiRG4
 duxDmaW3Gh0AYBXVVA0bH1hmIADVn2OjfryNHM3LFIELiowZwYY6VxksYVD2VF8l
 uqkSxoYp041luJDXJEAWCKcGzlBprVoqpjzNiasKKPlTFmgh9qMLI6f5zM7tHNCM
 0Bvt4kCGT9yJAJMJV/UvYwYuiCHan8ZMkbEjJCx4FQcTQnJ8NMKVTdASsZT6917A
 aFkwN46HsDoAWL/3GOeUPhKnazo=
 =j5vm
 -----END PGP SIGNATURE-----

Merge tag 'stm32-dt-for-v5.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32 into arm/dt

STM32 DT updates for v5.12, round 1

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

MCU part:
 -Rename mmc nodes to match with yaml validation.

MPU part:
 -Rename mmc nodes to match with yaml validation.
 -Move vdda1v1 & vdda1v8 (used by usbphyc) from boards files
  to SoC dtsi file.

 -LXA:
  -Fix leds schema for yaml validation.

 -DH:
  -Enable SDMMC1 internal pull-ups and disable CKIN feedabck clock
   on DHCOM.
  -Add SDMMC1 init state inorder to use some gpios during probing phase.
  -Disable KS8851 and FMC on PicoITX board.

* tag 'stm32-dt-for-v5.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32:
  ARM: dts: stm32: add #clock-cells property to usbphyc node on stm32mp151
  ARM: dts: stm32: remove usbphyc ports vdda1v1 & vdda1v8 on stm32mp15 boards
  ARM: dts: stm32: add usbphyc vdda1v1 and vdda1v8 supplies on stm32mp151
  ARM: dts: stm32: Add STM32MP1 I2C6 SDA/SCL pinmux
  ARM: dts: stm32: Rename mmc controller nodes to mmc@
  ARM: dts: stm32: Enable voltage translator auto-detection on DHCOM
  ARM: dts: stm32: Add additional init state for SDMMC1 pins
  ARM: dts: stm32: Disable KS8851 and FMC on PicoITX board
  ARM: dts: stm32: Fix schema warnings for pwm-leds on lxa-mc1
  ARM: dts: stm32: Disable SDMMC1 CKIN feedback clock on DHCOM
  ARM: dts: stm32: Enable internal pull-ups for SDMMC1 on DHCOM SoM
  ARM: dts: stm32: Fix GPIO hog flags on DHCOM DRC02
  ARM: dts: stm32: Fix GPIO hog flags on DHCOM PicoITX
  ARM: dts: stm32: Fix GPIO hog names on DHCOM
  ARM: dts: stm32: Disable optional TSC2004 on DRC02 board
  ARM: dts: stm32: Disable WP on DHCOM uSD slot
  ARM: dts: stm32: Connect card-detect signal on DHCOM
  ARM: dts: stm32: Fix polarity of the DH DRC02 uSD card detect

Link: https://lore.kernel.org/r/5e8897a0-8f68-5e41-bfa0-ccdf1e23a3c1@foss.st.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-01-29 16:29:20 +01:00
Rafael J. Wysocki
b584b7e963 Merge branch 'acpi-sysfs'
* acpi-sysfs:
  ACPI: sysfs: Prefer "compatible" modalias
2021-01-29 16:28:48 +01:00
Yannick Fertre
f1f9580527 ARM: multi_v7_defconfig: add STM32 CEC support
Enable CEC support for STMicroelectronics as loadable module.

Signed-off-by: Yannick Fertre <yannick.fertre@foss.st.com>
Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com>
Link: https://lore.kernel.org/r/20210129084842.29123-1-alexandre.torgue@foss.st.com'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-01-29 16:28:33 +01:00
Arnd Bergmann
e53686bbdf Renesas driver updates for v5.12
- Miscellaneous fixes and improvements.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCYBPLkwAKCRCKwlD9ZEnx
 cHv5AQDnbzuWc3MzRcNTiUUZMmG/uyqJjwxvhJu4rJuKJ7sJYAD9FaYr501/rHEq
 of3PAwGHgxUM7iYq6ZUyrYCpJhdonAY=
 =LABS
 -----END PGP SIGNATURE-----

Merge tag 'renesas-drivers-for-v5.12-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into arm/soc

Renesas driver updates for v5.12

  - Miscellaneous fixes and improvements.

* tag 'renesas-drivers-for-v5.12-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  soc: renesas: rcar-sysc: Mark device node OF_POPULATED after init
  soc: renesas: rcar-sysc: Use readl_poll_timeout_atomic()

Link: https://lore.kernel.org/r/20210129090815.2552425-3-geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-01-29 16:26:58 +01:00
Rosen Penev
46ecdfc183 ARM: dts: armada388-helios4: assign pinctrl to each fan
Split up the pins for each fan. This is needed in order to control them

Fixes: ced8025b56 ("ARM: dts: armada388-helios4")

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
2021-01-29 16:25:31 +01:00
Rosen Penev
e011c9025a ARM: dts: armada388-helios4: assign pinctrl to LEDs
Split up the pins to match earlier definitions. Allows LEDs to flash
properly.

Fixes: ced8025b56 ("ARM: dts: armada388-helios4")

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
2021-01-29 16:25:20 +01:00
Rosen Penev
4daff3e5b4 ARM: dts: armada-385-linksys: fix usage with newer devices
Newer Linksys boards might come with a Winbond W29N02GV which can be
configured in different ways. Make sure we configure it the same way
as the older chips so everything keeps working.

Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
2021-01-29 16:22:46 +01:00
Damien Le Moal
cd92cdb9c8 null_blk: cleanup zoned mode initialization
To avoid potential compilation problems, replaced the badly written
MB_TO_SECTS() macro (missing parenthesis around the argument use) with
the inline function mb_to_sects(). And while at it, simplify the
calculation of the total number of zones of the device using the
round_up() macro.

Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2021-01-29 07:49:22 -07:00
Lukas Bulwahn
f7bf5e24e0 block: drop removed argument from kernel-doc of blk_execute_rq()
Commit 684da7628d ("block: remove unnecessary argument from
blk_execute_rq") changes the signature of blk_execute_rq(), but misses
to adjust its kernel-doc.

Hence, make htmldocs warns on ./block/blk-exec.c:78:

  warning: Excess function parameter 'q' description in 'blk_execute_rq'

Drop removed argument from kernel-doc of blk_execute_rq() as well.

Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com>
Acked-by: Guoqing Jiang <Guoqing.jiang@cloud.ionos.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2021-01-29 07:43:29 -07:00
Lorenzo Bianconi
1755f6ad0f mt76: mt76_connac: move pm utility routines in mt76_connac_lib module
Move power_save common code shared between mt7663 and mt7921 in
mt76_connac module

Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2021-01-29 15:18:26 +01:00
Lorenzo Bianconi
b7dd3c2e58 mt76: mt76_connac: move pm data struct in mt76_connac.h
Move pm mt7663 data structure in mt76_connac.h introducing
mt76_connac_pm data struct. This is a preliminary patch to share pm code
between mt7663 and mt7921

Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2021-01-29 15:18:26 +01:00
Lorenzo Bianconi
55d4c19c93 mt76: mt76_connac: move WoW and suspend code in mt76_connac_mcu module
Move WoW and suspend code in mt76_connac_mcu module in order to be reused in
mt7615 and mt7921 drivers

Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2021-01-29 15:18:26 +01:00
Lorenzo Bianconi
399090ef96 mt76: mt76_connac: move hw_scan and sched_scan routine in mt76_connac_mcu module
Move hw_scan/sched_scan in mt76_connac_mcu module in order to be reused in
mt7615 and mt7921 drivers

Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2021-01-29 15:18:25 +01:00
Lorenzo Bianconi
d0e274af2f mt76: mt76_connac: create mcu library
Introduce mt76_connac common mcu library for code sharing between mt7615 and
mt7921 devices

Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2021-01-29 15:18:25 +01:00
Lorenzo Bianconi
85d9670453 mt76: introduce mt76_vif data structure
Introduce mt76_vif data structure to share common fields between
mt7615_vif and mt7921_vif and create a mcu common library

Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2021-01-29 15:18:25 +01:00
Lukas Bulwahn
7f31bee360 block: remove typo in kernel-doc of set_disk_ro()
Commit 52f019d43c ("block: add a hard-readonly flag to struct gendisk")
provides some kernel-doc for set_disk_ro(), but introduces a small typo.

Hence, make htmldocs warns on ./block/genhd.c:1441:

  warning: Function parameter or member 'read_only' not described in 'set_disk_ro'
  warning: Excess function parameter 'ready_only' description in 'set_disk_ro'

Remove that typo in the kernel-doc for set_disk_ro().

Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2021-01-29 07:15:50 -07:00
Miguel Ojeda
1074f8ec28 clang-format: Update with the latest for_each macro list
Re-run the shell fragment that generated the original list.

Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
2021-01-29 15:00:23 +01:00
Quanyang Wang
c351bb64cb gpiolib: free device name on error path to fix kmemleak
In gpiochip_add_data_with_key, we should check the return value of
dev_set_name to ensure that device name is allocated successfully
and then add a label on the error path to free device name to fix
kmemleak as below:

unreferenced object 0xc2d6fc40 (size 64):
  comm "kworker/0:1", pid 16, jiffies 4294937425 (age 65.120s)
  hex dump (first 32 bytes):
    67 70 69 6f 63 68 69 70 30 00 1a c0 54 63 1a c0  gpiochip0...Tc..
    0c ed 84 c0 48 ed 84 c0 3c ee 84 c0 10 00 00 00  ....H...<.......
  backtrace:
    [<962810f7>] kobject_set_name_vargs+0x2c/0xa0
    [<f50797e6>] dev_set_name+0x2c/0x5c
    [<94abbca9>] gpiochip_add_data_with_key+0xfc/0xce8
    [<5c4193e0>] omap_gpio_probe+0x33c/0x68c
    [<3402f137>] platform_probe+0x58/0xb8
    [<7421e210>] really_probe+0xec/0x3b4
    [<000f8ada>] driver_probe_device+0x58/0xb4
    [<67e0f7f7>] bus_for_each_drv+0x80/0xd0
    [<4de545dc>] __device_attach+0xe8/0x15c
    [<2e4431e7>] bus_probe_device+0x84/0x8c
    [<c18b1de9>] device_add+0x384/0x7c0
    [<5aff2995>] of_platform_device_create_pdata+0x8c/0xb8
    [<061c3483>] of_platform_bus_create+0x198/0x230
    [<5ee6d42a>] of_platform_populate+0x60/0xb8
    [<2647300f>] sysc_probe+0xd18/0x135c
    [<3402f137>] platform_probe+0x58/0xb8

Signed-off-by: Quanyang Wang <quanyang.wang@windriver.com>
Cc: stable@vger.kernel.org
Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
2021-01-29 14:59:10 +01:00
José Roberto de Souza
66a245092b drm/i915: Rename is_16gb_dimm to wm_lv_0_adjust_needed
As it now it is always required for GEN12+ the is_16gb_dimm name
do not make sense for GEN12+.

v2:
- Updated comment on top of "dram_info->wm_lv_0_adjust_needed =
!IS_GEN9_LP(i915);"

Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210128164312.91160-3-jose.souza@intel.com
2021-01-29 05:50:50 -08:00
José Roberto de Souza
5d0c938ec9 drm/i915/gen11+: Only load DRAM information from pcode
Up to now we were reading some DRAM information from MCHBAR register
and from pcode what is already not good but some GEN12(TGL-H and ADL-S)
platforms have MCHBAR DRAM information in different offsets.

This was notified to HW team that decided that the best alternative is
always apply the 16gb_dimm watermark adjustment for GEN12+ platforms
and read the remaning DRAM information needed to other display
programming from pcode.

So here moving the DRAM pcode function to intel_dram.c, removing
the duplicated fields from intel_qgv_info, setting and using
information from dram_info.

v2:
- bring back num_points to intel_qgv_info as num_qgv_point can be
overwritten in icl_get_qgv_points()
- add gen12_get_dram_info() and simplify gen11_get_dram_info()

Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210128164312.91160-2-jose.souza@intel.com
2021-01-29 05:50:49 -08:00
José Roberto de Souza
f0b29707ba drm/i915: Nuke not needed members of dram_info
Valid, ranks and bandwidth_kbps are set into dram_info but are not
used anywhere else so nuking it.

Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210128164312.91160-1-jose.souza@intel.com
2021-01-29 05:50:48 -08:00
Lee Jones
62a7c1c47a clk: imx: clk-imx31: Remove unused static const table 'uart_clks'
Fixes the following W=1 kernel build warning(s):

 drivers/clk/imx/clk-imx31.c:54:28: warning: ‘uart_clks’ defined but not used [-Wunused-const-variable=]

Cc: Michael Turquette <mturquette@baylibre.com>
Cc: Stephen Boyd <sboyd@kernel.org>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: NXP Linux Team <linux-imx@nxp.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: linux-clk@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2021-01-29 21:31:52 +08:00
Pawel Dembicki
42c2c06883 arm64: dts: fsl-ls1012a-frdm: add spi-uart device
This patch adds spi-uart controller  to LS1012A-FRDM board dts.
Device is equipped in SC16IS740 from NXP.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2021-01-29 21:30:09 +08:00
Pawel Dembicki
1ab66ad2d7 arm64: dts: fsl-ls1012a-rdb: add i2c devices
LS1012A-RDB equipped in some i2c devices:
  - 3x GPIO Expander: PCAL9555A (NXP)
  - Gyro: FXAS21002 (NXP)
  - Accelerometer: FXOS8700 (NXP)
  - Current & Power Monitor: INA220 (TI)

This patch add listed devices to dts.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2021-01-29 21:29:57 +08:00
Mathias Nyman
3c648d3deb xhci: handle halting transfer event properly after endpoint stop and halt raced.
If we receive a transfer event indicating that an endpoint should be
halted, but current endpoint state doesn't match it, then the halt might
be just resolved by the stop endpoint completion handler that detects the
halted endpoint due to a context state error.

In this case the TD we halted on is already moved to the cancelled TD list,
and should not be successfully completed and given back anymore.
Let the stop endpoint completion handler reset the endpoint, and then let
the reset endpoint handler give back the cancelled TD among all other
ones on the cancelled TD list

Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20210129130044.206855-28-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-01-29 14:16:52 +01:00
Mathias Nyman
51ee4a8430 xhci: Check for pending reset endpoint command before queueing a new one.
A halted endpoint can be detected both when transfer events complete, and
in stop endpoint command completion. Both these handlers will start
clearing up the halted endpoint and queue a reset endpoint command.

It's possible to get both events for the same halted endpoint if right
after a URB cancel queues a stop endpoint command the endpoint stalls.
Use the EP_HALTED flag to prevent resetting the endpoint twice.

Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20210129130044.206855-27-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-01-29 14:16:52 +01:00
Mathias Nyman
741eafb345 xhci: remove obsolete dequeue pointer moving code
xhci_find_new_dequeue_state() and xhci_queue_new_dequeue_state() are no
longer used afer introducing the move_dequeue_past_td() function.

also remove struct xhci_dequeue_state as its no longer used.

Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20210129130044.206855-26-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-01-29 14:16:51 +01:00
Mathias Nyman
d1dbfb942c xhci: introduce a new move_dequeue_past_td() function to replace old code.
Replace xhci_find_new_dequeue_state() and xhci_queue_new_dequeue_state()
functions with one combined function.
These function were always called after each other, and had a lot of extra
code just to pass the newly found dequeue state from the first function
to the other.

The new function also returns error in case there is a failure to
queue the new dequeue state. This way the caller can decide on
recovery measures to handle it.

Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20210129130044.206855-25-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-01-29 14:16:51 +01:00
Mathias Nyman
1174d44906 xhci: handle stop endpoint command completion with endpoint in running state.
Handle race where a stop endpoint command fails with "context state error"
as hardware hasn't actually started the ring yet after a previous urb
cancellation completed and restarted the endpoint.
Flushing the doorbell write that restart the endpoint reduced these cases,
but didn't completely resolve them.

Check if the ring is running in the stop endpoint completion handler, and
issue a new stop endpoint command in this case.

Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20210129130044.206855-24-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-01-29 14:16:51 +01:00
Mathias Nyman
9ebf300078 xhci: Fix halted endpoint at stop endpoint command completion
xhci 4.6.9: "A busy endpoint may asynchronously transition from the
Running to the Halted or Error state due to error conditions detected
while processing TRBs. A possible race condition may occur if software,
thinking an endpoint is in the running state, issues a Stop Endpoint
Command, however at the same time the xHC asynchronously transitions
the endpoint to the Halted or Error state. In this case, a Context
State Error may be generated for the command completion. Software
may verify that this case occurred by inspecting the EP State for
Halted or Error when a Stop Endpoint Command results in a Context
State Error."

Halted endpoints were not detected or handled at all in the stop endpoint
completion handler. A set TR Deq ptr command was bluntly queued instead
of resetting the endpoint first. The set TR Deq command would fail with
a context state error.

Fix this case by resetting the halted endpoint first to get it to a
stopped state instead of the halted (error) state.
Handle cancelled TDs once endpoint reset completes,
invalidating cancelled TDs on ring either by turning them to no-op,
or in case ring stopped on cancelled TD then move hardware dequeue pointer
past it, which will clear the cancelled TD from hw cache, and make sure
HW does not process it

Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20210129130044.206855-23-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-01-29 14:16:51 +01:00
Mathias Nyman
674f8438c1 xhci: split handling halted endpoints into two steps
Don't queue both a reset endpoint command and a
set TR deq command at once when handling a halted endpoint.

split this into two steps.
Initially only queue a reset endpoint command, and then if needed queue a
set TR deq command in the reset endpoint handler.

Note: This removes the RESET_EP_QUIRK handling which was added in
commit ac9d8fe7c6 ("USB: xhci: Add quirk for Fresco Logic xHCI hardware.")

This quirk was added in 2009 for prototype xHCI hardware meant for
evaluation purposes only, and should not reach consumers.
This hardware could not handle two commands queued at once, and had
bad data in the output context after a reset endpoint command.

After this patch two command are no longer queued at once, so that
part is solved  in this rewrite, but the workaround for bad data in the
output context solved by issuing an extra configure endpoint command is
bluntly removed.

Adding this workaround to the new rewrite just adds complexity, and I
think it's time to let this quirk go.
Print a debug message instead.

Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20210129130044.206855-22-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-01-29 14:16:51 +01:00
Mathias Nyman
7c6c334e6f xhci: move and rename xhci_cleanup_halted_endpoint()
Halted endpoints can be discoverd both when handling transfer events and
command completion events. Move code that handles halted endpoints before
both of those event handlers.

Rename the function to xhci_handle_halted_ep() to better describe
what it does. Try to reserve "cleanup" word in function names for last
stage cleanup activities.

No functional changes

Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20210129130044.206855-21-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-01-29 14:16:51 +01:00
Mathias Nyman
4db356924a xhci: turn cancelled td cleanup to its own function
Refactor handler for stop endpoint command completion. Yank out the part
that invalidates cancelled TDs and turn it into a separate function.

Invalidating cancelled TDs should be done while the ring is stopped,
but not exclusively in the stop endpoint command completeion handler.

We will need to invalidate TDs after resetting endpoints as well.

Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20210129130044.206855-20-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-01-29 14:16:51 +01:00
Mathias Nyman
a6ccd1fd4b xhci: store TD status in the td struct instead of passing it along
In cases where the TD can't be given back in current handler we want
to be able to store it until its time to return the TD.

Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20210129130044.206855-19-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-01-29 14:16:51 +01:00
Mathias Nyman
e1a298390e xhci: use xhci_td_cleanup() helper when giving back cancelled URBs
use the existing xhci_td_cleanup() to give back cancelled TDs when a
ring is stopped.

A minor change to make sure we don't try to remove an already removed
td from the list is needed as cancelled TDs are already removed from the
td_list immediatelty when it's cancelled.

Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20210129130044.206855-18-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-01-29 14:16:51 +01:00
Mathias Nyman
69eaf9e79f xhci: move xhci_td_cleanup so it can be called by more functions
No funtional changes

Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20210129130044.206855-17-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-01-29 14:16:51 +01:00
Mathias Nyman
d8ac95001b xhci: Add xhci_reset_halted_ep() helper function
Create a separate helper function to issue reset endpont commands
to clear halted endpoints.

This is useful for cases where a halted endpoint is discovered while
completing another command, and the endpoint halt needs to be cleared
with a endpoint reset first.

No functional changes

Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20210129130044.206855-16-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-01-29 14:16:51 +01:00
Mathias Nyman
b05dadb28f xhci: flush endpoint start to reduce race risk with stop endpoint command.
Stop endpoint command fails with "context state error" if the endpoint is
already stopped.

This case was observed when a previous URB cancel had just completed and
rang the doorbell to restart the ring, when a new URB cancel queued a stop
endpoint command.
>From xHC hardware pov the endpoint had not yet started, so the stop
endpoint command failed with context state error.
Right after this the doorbell ring took effect and ring was restarted.

Interrupt handler saw a stop endpoint command completion event with
"context state error" and discovered that the ring was back up in
running state.

flushing the write reduces these cases in stress testing, but does not
completely remove the issue.

Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20210129130044.206855-15-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-01-29 14:16:51 +01:00
Mathias Nyman
c716e8a5fa xhci: Check link TRBs when updating ring enqueue and dequeue pointers.
xhci driver relies on link TRBs existing in the correct places in TRB
ring buffers shared with the host controller.
The controller should not modify these link TRBs, but in theory a faulty
xHC could do it.

Add some basic sanity checks to avoid infinite loops in interrupt handler,
or accessing unallocated memory outside a ring segment due to missing or
misplaced link TRBs.

Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20210129130044.206855-14-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-01-29 14:16:50 +01:00
Mathias Nyman
0353810a04 xhci: avoid DMA double fetch when reading event trb type.
Instead of re-reading, masking and endianness correcting the same trb
several times to get the trb type from an event, just do it once and
store it in a local variable.

Also pass the trb_type directly to the vendor specific event handler,
avoiding one more similar read.

In addition to the security benefit this also cleans up the code
and helps readability.

Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20210129130044.206855-13-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-01-29 14:16:50 +01:00