Commit graph

1109569 commits

Author SHA1 Message Date
Sean Anderson
043dce4e42 arm64: dts: layerscape: Add SFP node for TA 2.1 devices
This adds an appropriate SFP node for Trust Architecture 2.1 devices.

Signed-off-by: Sean Anderson <sean.anderson@seco.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2022-07-05 09:05:44 +08:00
Sean Anderson
04069a86bf ARM: dts: layerscape: Add SFP node for TA 2.1 devices
This adds an appropriate SFP node for Trust Architecture 2.1 devices.

Signed-off-by: Sean Anderson <sean.anderson@seco.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2022-07-05 09:04:14 +08:00
Yang Yingliang
63f9815307 soc: fsl: guts: check return value after calling of_iomap() in fsl_guts_get_soc_uid()
of_iomap() may return NULL, so we need check the return value.

Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Reviewed-by: Michael Walle <michael@walle.cc>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2022-07-05 08:41:55 +08:00
Yang Yingliang
edf12b913a soc: fsl: guts: fix return value check in fsl_guts_init()
In case of error, of_iomap() returns NULL pointer not ERR_PTR().
The IS_ERR() test in the return value check should be replaced
with NULL test and return -ENOMEM as error value.

Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Reviewed-by: Michael Walle <michael@walle.cc>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2022-07-05 08:41:20 +08:00
Linus Walleij
c6aaccf1c9 ARM: dts: ux500: Drop unused i2c power domain supply
This regulator supply is replaced by the proper power
domain.

Reported-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20220701225339.814962-1-linus.walleij@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2022-07-05 01:07:29 +02:00
Samuel Holland
79471f29ec dt-bindings: display: sun4i: Fix D1 pipeline count
When adding the bindings for the D1 display engine, I missed the
condition for the number of pipelines. D1 has two mixers, so it
will have two pipeline references.

Fixes: ae5a5d26c1 ("dt-bindings: display: Add D1 display engine compatibles")
Signed-off-by: Samuel Holland <samuel@sholland.org>
Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Link: https://lore.kernel.org/r/20220702032921.22433-1-samuel@sholland.org
2022-07-04 22:41:26 +02:00
Mark Brown
900bd8cb85 arm64: defconfig: Enable Allwinner built in CODECs
Allwinner provide an audio CODEC as part of their SoCs which is used on a
number of designs, enable the driver as part of defconfig in order to
improve coverage of this in the various automated testing systems.

Signed-off-by: Mark Brown <broonie@kernel.org>
Reviewed-by: Samuel Holland <samuel@sholland.org>
Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Link: https://lore.kernel.org/r/20220701112213.1765599-1-broonie@kernel.org
2022-07-04 22:25:02 +02:00
Samuel Holland
b8eb2df19f arm64: dts: allwinner: a64: orangepi-win: Fix LED node name
"status" does not match any pattern in the gpio-leds binding. Rename the
node to the preferred pattern. This fixes a `make dtbs_check` error.

Signed-off-by: Samuel Holland <samuel@sholland.org>
Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Link: https://lore.kernel.org/r/20220702132816.46456-1-samuel@sholland.org
2022-07-04 22:14:23 +02:00
Linus Torvalds
c1084b6c56 ARM: SoC fixes for v5.19, part 2
Another set of minor patches for Arm DTS files and soc specific drivers:
 
  - More reference counting bug fixes for DT nodes, and other
    trivial code fixes
 
  - Multiple code fixes for the Arm SCMI firmware driver to improve
    compatibility with firmware implementations.
 
  - A patch series for at91 to address power management issues from
    using the wrong DT compatible properties.
 
  - A series of patches to fix pad settings for NXP imx8mp to leave the
    configuration untouched from the boot loader
 
  - Additional DT fixes for qualcomm and NXP platforms
 
  - A boot time fix for stm32mp15 DT
 
  - Konrad Dybcio becomes an additional reviewer for the Qualcomm
    platforms
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmLDCBUACgkQmmx57+YA
 GNnWoRAAkyuPRlFCOz7Ul5XcywCpNfeqBnHyCs+s1zASK5N00OIEA0knxmk+HEbo
 NLELeH8yHAPVOgjT4J2FSB756QPq7zOs8LjcGTxYwPbAxxBAHKtbVujh56UMxg19
 zhIE99WyGhF8rkwciHelTsHRdWdFcVEy1NCdxJSsH5SW2EQZiMsOWT7uRIe8xBFH
 XIXOmLAwNGvFVLKI+43ZQZFErZd2wFDv6oZ8eIrLAr0I2A7/ak66DKEzT7a7EcdU
 ozzcxi64QqDHcTHQGGGCx3qFIqkPs/qKOY4kweNnEqjzu9pQyiZxw+tBCFOu/EyB
 FgSsZy7qvT/lsl34Ty07Mu4Ztf41KfJqtq1h71YHwgD1vV17FZHHg5SNH+FctIgH
 t4DkisiJ6nKNB1czEq4YjYqlxt2UECmdOypLlZSGbjvip/TWnxEO7dm13nv9jO2I
 wnTLUbq03ZG3ijW72f8hFkBi8JsXUVed5OJ99f8CzOOOFuzmuraWNzKSKtcV7vqJ
 rLilZEu+LFmY+qt6ZemANz+V9oMM3WfOJocFQWGCgT+jwwNcIdmyB1EFChocamDG
 nBphxXgFepGj5sStimy/b20QkU2kyQpZCd0VUKwbvMqTqp0Tk1BceP/WLKmgQLjY
 dp8a9dunazGRKlzztZRqUIwVRY/bjszPpVby/BQzwdoOIVkKg94=
 =5KYh
 -----END PGP SIGNATURE-----

Merge tag 'soc-fixes-5.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc

Pull ARM SoC fixes from Arnd Bergmann:
 "Another set of minor patches for Arm DTS files and soc specific
  drivers:

   - More reference counting bug fixes for DT nodes, and other trivial
     code fixes

   - Multiple code fixes for the Arm SCMI firmware driver to improve
     compatibility with firmware implementations.

   - A patch series for at91 to address power management issues from
     using the wrong DT compatible properties.

   - A series of patches to fix pad settings for NXP imx8mp to leave the
     configuration untouched from the boot loader

   - Additional DT fixes for qualcomm and NXP platforms

   - A boot time fix for stm32mp15 DT

   - Konrad Dybcio becomes an additional reviewer for the Qualcomm
     platforms"

* tag 'soc-fixes-5.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (42 commits)
  soc: qcom: smem: use correct format characters
  ARM: dts: stm32: add missing usbh clock and fix clk order on stm32mp15
  ARM: dts: stm32: delete fixed clock node on STM32MP15-SCMI
  ARM: dts: stm32: DSI should use LSE SCMI clock on DK1/ED1 STM32 board
  ARM: dts: stm32: use the correct clock source for CEC on stm32mp151
  ARM: dts: stm32: fix pwr regulators references to use scmi
  soc: ixp4xx/npe: Fix unused match warning
  ARM: at91: pm: Mark at91_pm_secure_init as __init
  ARM: at91: fix soc detection for SAM9X60 SiPs
  ARM: dts: at91: sama5d2_icp: fix eeprom compatibles
  ARM: dts: at91: sam9x60ek: fix eeprom compatible and size
  ARM: at91: pm: use proper compatibles for sama7g5's rtc and rtt
  ARM: at91: pm: use proper compatibles for sam9x60's rtc and rtt
  ARM: at91: pm: use proper compatible for sama5d2's rtc
  arm64: dts: qcom: msm8992-*: Fix vdd_lvs1_2-supply typo
  firmware: arm_scmi: Remove usage of the deprecated ida_simple_xxx API
  firmware: arm_scmi: Fix response size warning for OPTEE transport
  arm64: dts: imx8mp-icore-mx8mp-edim2.2: correct pad settings
  arm64: dts: imx8mp-phyboard-pollux-rdk: correct i2c2 & mmc settings
  arm64: dts: imx8mp-phyboard-pollux-rdk: correct eqos pad settings
  ...
2022-07-04 10:41:59 -07:00
Jiang Jian
4977636d44 m68k: q40: Align '*' in comments
The '*' in the comment is not aligned.

Signed-off-by: Jiang Jian <jiangjian@cdjrlc.com>
Link: https://lore.kernel.org/r/20220621050627.13666-1-jiangjian@cdjrlc.com
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
2022-07-04 19:37:59 +02:00
Rafael J. Wysocki
ca62229162 Merge back earlier cpufreq material for 5.20. 2022-07-04 19:30:58 +02:00
Krzysztof Kozlowski
acfc34f008
spi: dt-bindings: zynqmp-qspi: add missing 'required'
During the conversion the bindings lost list of required properties.

Fixes: c58db2abb1 ("spi: convert Xilinx Zynq UltraScale+ MPSoC GQSPI bindings to YAML")
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Michal Simek <michal.simek@amd.com>
Link: https://lore.kernel.org/r/20220704130618.199231-2-krzysztof.kozlowski@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
2022-07-04 16:58:00 +01:00
Krzysztof Kozlowski
6eee27c598
spi: dt-bindings: cadence: add missing 'required'
During the conversion the bindings lost list of required properties.

Fixes: aa7968682a ("spi: convert Cadence SPI bindings to YAML")
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Michal Simek <michal.simek@amd.com>
Link: https://lore.kernel.org/r/20220704130618.199231-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
2022-07-04 16:57:59 +01:00
Dmitry Osipenko
9fc33eaaa9 drm/panfrost: Fix shrinker list corruption by madvise IOCTL
Calling madvise IOCTL twice on BO causes memory shrinker list corruption
and crashes kernel because BO is already on the list and it's added to
the list again, while BO should be removed from the list before it's
re-added. Fix it.

Cc: stable@vger.kernel.org
Fixes: 013b651013 ("drm/panfrost: Add madvise and shrinker support")
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Steven Price <steven.price@arm.com>
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Signed-off-by: Steven Price <steven.price@arm.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220630200601.1884120-3-dmitry.osipenko@collabora.com
2022-07-04 16:38:00 +01:00
Dmitry Osipenko
fb6e0637ab drm/panfrost: Put mapping instead of shmem obj on panfrost_mmu_map_fault_addr() error
When panfrost_mmu_map_fault_addr() fails, the BO's mapping should be
unreferenced and not the shmem object which backs the mapping.

Cc: stable@vger.kernel.org
Fixes: bdefca2d8d ("drm/panfrost: Add the panfrost_gem_mapping concept")
Reviewed-by: Steven Price <steven.price@arm.com>
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Signed-off-by: Steven Price <steven.price@arm.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220630200601.1884120-2-dmitry.osipenko@collabora.com
2022-07-04 16:38:00 +01:00
Steven Price
8490cad4dc drm/rockchip: Detach from ARM DMA domain in attach_device
Since commit 1ea2a07a53 ("iommu: Add DMA ownership management
interfaces") the Rockchip display driver on the Firefly RK3288 fails to
initialise properly. This is because ARM DMA domain is still attached.

Let's follow the lead of exynos and tegra and add code to explicitly
remove the ARM domain before attaching a new one.

Fixes: 1ea2a07a53 ("iommu: Add DMA ownership management interfaces")
Suggested-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Steven Price <steven.price@arm.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Link: https://patchwork.freedesktop.org/patch/msgid/20220615154830.555422-1-steven.price@arm.com
2022-07-04 17:17:35 +02:00
Muchun Song
b77d5b1b83 mm: slab: optimize memcg_slab_free_hook()
Most callers of memcg_slab_free_hook() already know the slab,  which could
be passed to memcg_slab_free_hook() directly to reduce the overhead of an
another call of virt_to_slab().  For bulk freeing of objects, the call of
slab_objcgs() in the loop in memcg_slab_free_hook() is redundant as well.
Rework memcg_slab_free_hook() and build_detached_freelist() to reduce
those unnecessary overhead and make memcg_slab_free_hook() can handle bulk
freeing in slab_free().

Move the calling site of memcg_slab_free_hook() from do_slab_free() to
slab_free() for slub to make the code clearer since the logic is weird
(e.g. the caller need to judge whether it needs to call
memcg_slab_free_hook()). It is easy to make mistakes like missing calling
of memcg_slab_free_hook() like fixes of:

  commit d1b2cf6cb8 ("mm: memcg/slab: uncharge during kmem_cache_free_bulk()")
  commit ae085d7f93 ("mm: kfence: fix missing objcg housekeeping for SLAB")

This optimization is mainly for bulk objects freeing.  The following numbers
is shown for 16-object freeing.

                           before      after
  kmem_cache_free_bulk:   ~430 ns     ~400 ns

The overhead is reduced by about 7% for 16-object freeing.

Signed-off-by: Muchun Song <songmuchun@bytedance.com>
Reviewed-by: Hyeonggon Yoo <42.hyeyoo@gmail.com>
Link: https://lore.kernel.org/r/20220429123044.37885-1-songmuchun@bytedance.com
Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
2022-07-04 17:13:05 +02:00
Vasily Averin
b347aa7b57 mm/tracing: add 'accounted' entry into output of allocation tracepoints
Slab caches marked with SLAB_ACCOUNT force accounting for every
allocation from this cache even if __GFP_ACCOUNT flag is not passed.
Unfortunately, at the moment this flag is not visible in ftrace output,
and this makes it difficult to analyze the accounted allocations.

This patch adds boolean "accounted" entry into trace output,
and set it to 'true' for calls used __GFP_ACCOUNT flag and
for allocations from caches marked with SLAB_ACCOUNT.
Set it to 'false' if accounting is disabled in configs.

Signed-off-by: Vasily Averin <vvs@openvz.org>
Acked-by: Shakeel Butt <shakeelb@google.com>
Acked-by: Roman Gushchin <roman.gushchin@linux.dev>
Acked-by: Muchun Song <songmuchun@bytedance.com>
Reviewed-by: Hyeonggon Yoo <42.hyeyoo@gmail.com>
Link: https://lore.kernel.org/r/c418ed25-65fe-f623-fbf8-1676528859ed@openvz.org
Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
2022-07-04 17:11:27 +02:00
Stéphane Graber
0c7e0d699e tools/vm/slabinfo: Handle files in debugfs
Commit 64dd68497b relocated and renamed the alloc_calls and
free_calls files from /sys/kernel/slab/NAME/*_calls over to
/sys/kernel/debug/slab/NAME/*_calls but didn't update the slabinfo tool
with the new location.

This change will now have slabinfo look at the new location (and filenames)
with a fallback to the prior files.

Fixes: 64dd68497b ("mm: slub: move sysfs slab alloc/free interfaces to debugfs")
Cc: stable@vger.kernel.org
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Tested-by: Stéphane Graber <stgraber@ubuntu.com>
Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
2022-07-04 17:10:15 +02:00
Xiongwei Song
efb9352700 mm/slub: Simplify __kmem_cache_alias()
There is no need to do anything if sysfs_slab_alias() return nonzero
value after getting a mergeable cache.

Signed-off-by: Xiongwei Song <xiongwei.song@windriver.com>
Reviewed-by: Muchun Song <songmuchun@bytedance.com>
Link: https://lore.kernel.org/all/e5ebc952-af17-321f-5343-bc914d47c931@suse.cz/
Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
2022-07-04 17:08:47 +02:00
Michael Riesch
9eee552fd8 arm64: dts: rockchip: enable hdmi tx audio on rock-3a
Enable the I2S0 controller and the hdmi-sound node on the Radxa
ROCK3 Model A.

Signed-off-by: Michael Riesch <michael.riesch@wolfvision.net>
Link: https://lore.kernel.org/r/20220614230354.3756364-2-michael.riesch@wolfvision.net
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2022-07-04 17:06:46 +02:00
Michael Riesch
ea452bc0e6 arm64: dts: rockchip: enable hdmi tx audio on rk3568-evb1-v10
Enable the I2S0 controller and the hdmi-sound node on the Rockchip
RK3568 EVB1.

Signed-off-by: Michael Riesch <michael.riesch@wolfvision.net>
Link: https://lore.kernel.org/r/20220614230354.3756364-1-michael.riesch@wolfvision.net
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2022-07-04 17:06:46 +02:00
Jiapeng Chong
d1ca263d0d mm, slab: fix bad alignments
As reported by coccicheck:

./mm/slab.c:3253:2-59: code aligned with following code on line 3255.

Reported-by: Abaci Robot <abaci@linux.alibaba.com>
Signed-off-by: Jiapeng Chong <jiapeng.chong@linux.alibaba.com>
Acked-by: Hyeonggon Yoo <42.hyeyoo@gmail.com>
Acked-by: David Rientjes <rientjes@google.com>
Reviewed-by: Muchun Song <songmuchun@bytedance.com>
Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
2022-07-04 17:04:37 +02:00
Liu Ying
1dbc790b4d drm/bridge: fsl-ldb: Drop DE signal polarity inversion
It's unnecessary to invert input data enable signal polarity
according to the output one. Let's drop the inversion.
Since ->atomic_check() does nothing more than the inversion,
it can be dropped entirely as well.

Without this patch, 'koe,tx26d202vm0bwa' LVDS panel connected
with i.MX8MP EVK board does not show any data on screen.

Fixes: 463db5c2ed ("drm: bridge: ldb: Implement simple Freescale i.MX8MP LDB bridge")
Cc: Andrzej Hajda <andrzej.hajda@intel.com>
Cc: Neil Armstrong <narmstrong@baylibre.com>
Cc: Robert Foss <robert.foss@linaro.org>
Cc: Laurent Pinchart <Laurent.pinchart@ideasonboard.com>
Cc: Jonas Karlman <jonas@kwiboo.se>
Cc: Jernej Skrabec <jernej.skrabec@gmail.com>
Cc: David Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: Marek Vasut <marex@denx.de>
Cc: NXP Linux Team <linux-imx@nxp.com>
Signed-off-by: Liu Ying <victor.liu@nxp.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220701065634.4027537-4-victor.liu@nxp.com
2022-07-04 16:17:07 +02:00
Liu Ying
57ef278ef1 drm/bridge: fsl-ldb: Enable split mode for LVDS dual link
When LVDS dual link is used, we have to enable the LDB_CTRL_SPLIT_MODE bit.

Fixes: 463db5c2ed ("drm: bridge: ldb: Implement simple Freescale i.MX8MP LDB bridge")
Cc: Andrzej Hajda <andrzej.hajda@intel.com>
Cc: Neil Armstrong <narmstrong@baylibre.com>
Cc: Robert Foss <robert.foss@linaro.org>
Cc: Laurent Pinchart <Laurent.pinchart@ideasonboard.com>
Cc: Jonas Karlman <jonas@kwiboo.se>
Cc: Jernej Skrabec <jernej.skrabec@gmail.com>
Cc: David Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: Marek Vasut <marex@denx.de>
Cc: NXP Linux Team <linux-imx@nxp.com>
Signed-off-by: Liu Ying <victor.liu@nxp.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220701065634.4027537-3-victor.liu@nxp.com
2022-07-04 16:17:06 +02:00
Liu Ying
591129d3db drm/bridge: fsl-ldb: Fix mode clock rate validation
With LVDS dual link, up to 160MHz mode clock rate is supported.
With LVDS single link, up to 80MHz mode clock rate is supported.
Fix mode clock rate validation by swapping the maximum mode clock
rates of the two link modes.

Fixes: 463db5c2ed ("drm: bridge: ldb: Implement simple Freescale i.MX8MP LDB bridge")
Cc: Andrzej Hajda <andrzej.hajda@intel.com>
Cc: Neil Armstrong <narmstrong@baylibre.com>
Cc: Robert Foss <robert.foss@linaro.org>
Cc: Laurent Pinchart <Laurent.pinchart@ideasonboard.com>
Cc: Jonas Karlman <jonas@kwiboo.se>
Cc: Jernej Skrabec <jernej.skrabec@gmail.com>
Cc: David Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: Marek Vasut <marex@denx.de>
Cc: NXP Linux Team <linux-imx@nxp.com>
Signed-off-by: Liu Ying <victor.liu@nxp.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220701065634.4027537-2-victor.liu@nxp.com
2022-07-04 16:17:05 +02:00
Arnd Bergmann
e0ed9e6725 SoC changes omaps for v5.20 merge window
SoC changes omaps mostly for missing of_node_put() calls and cosmetic
 Kconfig changes. These can be all merged when suitable, there is no urgent
 need to merge this as fixes.
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCAAvFiEEkgNvrZJU/QSQYIcQG9Q+yVyrpXMFAmLCkd8RHHRvbnlAYXRv
 bWlkZS5jb20ACgkQG9Q+yVyrpXO9AA/9FriN2g7xcDEZ3oLe9rsDZXHy1PBEL8FQ
 I3sUqKyR9bSO6B+okNOvmyrq70A9prJNctHBGGYM+bUfnZ2YdxiKDl1P7cGxV2FU
 u5UMrMoEZNwmplz8iqYi++LEVdQOp7Dox/7Ne6+20kjCLlMVuxJXu84PB7KmiXpa
 wOafsptss5PmJ1hAXX2n9Z8MxlOpJnHgS+ZMif5ifBqnFc5PXbPoz8ConA0lRIVE
 qFXsxya1rpW5+JWcxn2JysePqpGxqKFaYW3CPZ/a156rj5Lxm1emk8W++9K+eT2N
 /TtsAK2D8vXRSP5a5+yx7GZRwEepCQPPhJGwi6NJAM/LzMH0+qx+0gaiF2++1W1Z
 KKJUJiqS5U+WcxKUTZIOBpf0JS4aUjX+WakTAhe0WjqqlBqfKGAiwjm1LHpVh81x
 MgFDeE5txJ4cEdaPV0yX4PN2DzvvLA0aB4zlQhFpOz0phoNJLqXWxqLF4RnLvow3
 l1fSajIXZoIVUP+2peoEZbYtBV1bNd3Iy4M/qQxsZhQPIsSPEF3BSwR5mvTEAg5J
 FfMhCbx6O8X5t2mq7mY7iFVniNjkOFf/+EQeRKRJIzgMFhxv/hDM4xZ5DZtEqnT9
 uGWDW8aEFdHPvo6HlmHKEzr9Cy+AN4C88zdH9eC/xr1LMJqzNgIXClrj7/FHFMgC
 88DbzDmcR1s=
 =VRjB
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmLC778ACgkQmmx57+YA
 GNlXpxAAu4LSlppwNWmBrYOn6aTYwStN5G2dN+fkCTupLJLpwA+Qgb2mJEX2n4Os
 kpOay2S8e7TIp79SwPQOM9+NRq04JXcIxJMOm5eynjVh0e0IaS8rwg1X+VZgf8g6
 76YQCTV1UfmYWL4baQRQ76kLFFw3Ft23Xhv+tIZ43Wt+HTFFDSdv593f+VkqAIO2
 EwN5lCazitrDzCbOUlheDyfRyjqBBuQgvNbw6sFddtA6VHRsUMYpswNDeAavpufx
 oR5GULemRAZdv7VqtFks9xcVd6MTIe3KMD76uJCNYhCWTVF9bKc0SP+vBHdBk4lP
 JFv+nFNn2C75A2p8++osNAlgyfCjbeEMZZi8R+7wO5CK0IVWw6dXvhwFGWa5+eUo
 EQNIxdgjHxTu2Nh/FVkGdNzZhKP13/SQlaAr6xlRrzS+t8gezr2w1xsp67wJAQTi
 g9MKLHWKKjTI0pYvnbnNEpxPj8TTdkL8F08NKwGdqPUBBPPWAm/TBoZkOYVyGgds
 7Ap0RBOUPhvNFMNSX2VHNZYvgmMkzGy8mev3fEoYU9pVPEzZG7bKDNSGJ1ZjMeoL
 4mODlQgAQke02qniPDsnphLkVhVIYQLIh/hJqVv03SmUDQY925VYu6HgakO+YSLy
 dfXd6c0C38si03YT83QisddLjZNQ8RvJg5/s2Drf+s6+hUw0O7Q=
 =F3V1
 -----END PGP SIGNATURE-----

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

SoC changes omaps for v5.20 merge window

SoC changes omaps mostly for missing of_node_put() calls and cosmetic
Kconfig changes. These can be all merged when suitable, there is no urgent
need to merge this as fixes.

* tag 'omap-for-v5.20/soc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: OMAP2+: Kconfig: Fix indentation
  ARM: OMAP2+: Fix refcount leak in omap3xxx_prm_late_init
  ARM: OMAP2+: pdata-quirks: Fix refcount leak bug
  ARM: OMAP2+: display: Fix refcount leak bug
  ARM: OMAP2+: Fix refcount leak in omapdss_init_of

Link: https://lore.kernel.org/r/pull-1656918583-2801@atomide.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-04 15:48:47 +02:00
Cristian Marussi
b27d04d5a5 firmware: arm_scmi: Use fast channel tracing
Make use of SCMI fast channel event tracing.

Link: https://lore.kernel.org/r/20220704102241.2988447-7-cristian.marussi@arm.com
Signed-off-by: Cristian Marussi <cristian.marussi@arm.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
2022-07-04 14:28:43 +01:00
Cristian Marussi
e699eb9b4f include: trace: Add SCMI fast channel tracing
All the currently defined SCMI events are meant to trace only regular SCMI
transfers based on SCMI messages exchanges; SCMI transactions based on
fast channels, where used, are completely invisible from the tracing point
of view.

Add support to trace fast channel transactions; while doing that avoid
exposing full shared memory location addresses.

Link: https://lore.kernel.org/r/20220704102241.2988447-6-cristian.marussi@arm.com
Signed-off-by: Cristian Marussi <cristian.marussi@arm.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
2022-07-04 14:28:43 +01:00
Cristian Marussi
855aa26e5f firmware: arm_scmi: Add SCMI v3.1 powercap fast channels support
Add SCMIv3.1 powercap protocol fast channel support using common helpers
provided by the SCMI core with scmi_proto_helpers_ops operations.

Link: https://lore.kernel.org/r/20220704102241.2988447-5-cristian.marussi@arm.com
Signed-off-by: Cristian Marussi <cristian.marussi@arm.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
2022-07-04 14:28:42 +01:00
Cristian Marussi
6f9ea4dabd firmware: arm_scmi: Generalize the fast channel support
Generalize existing fast channel support used in the perf protocol and
make it available to possibly any protocol refactoring the common code
into a couple of new scmi_proto_helpers_ops routines.

Make perf protocol use this new infrastructure.

No functional change.

Link: https://lore.kernel.org/r/20220704102241.2988447-4-cristian.marussi@arm.com
Signed-off-by: Cristian Marussi <cristian.marussi@arm.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
2022-07-04 14:28:42 +01:00
Cristian Marussi
0316f99c47 firmware: arm_scmi: Add SCMI v3.1 powercap protocol basic support
Add support for SCMI v3.1 powercap protocol, with the exception of powercap
fast channels, exposing all the new related powercap protocol operations as
usual in include/linux/scmi_protocol.h.

Link: https://lore.kernel.org/r/20220704102241.2988447-3-cristian.marussi@arm.com
Signed-off-by: Cristian Marussi <cristian.marussi@arm.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
2022-07-04 14:28:42 +01:00
Cristian Marussi
451d8457bc dt-bindings: firmware: arm,scmi: Add support for powercap protocol
Add new SCMI v3.1 powercap protocol bindings definitions and example.

Link: https://lore.kernel.org/r/20220704102241.2988447-2-cristian.marussi@arm.com
Cc: Rob Herring <robh+dt@kernel.org>
Cc: devicetree@vger.kernel.org
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Cristian Marussi <cristian.marussi@arm.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
2022-07-04 14:28:42 +01:00
Cristian Marussi
2c4b97fee9 firmware: arm_scmi: Add SCMI System Power Control driver
Add an SCMI System Power control driver to handle platform's requests
carried by SYSTEM_POWER_STATE_NOTIFIER notifications: such platform
requested system-wide power state transitions are handled accordingly,
gracefully or forcefully, depending on the notifications' message flags.

Graceful requests are relayed to userspace using the same Kernel API used
to handle ACPI Shutdown bus events.

Link: https://lore.kernel.org/r/20220704101933.2981635-5-cristian.marussi@arm.com
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Cristian Marussi <cristian.marussi@arm.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
2022-07-04 14:28:42 +01:00
Cristian Marussi
d91079995f firmware: arm_scmi: Add devm_protocol_acquire helper
Add a method to get hold of a protocol, causing it to be initialized and
its resource accounting updated, without getting access to its operations
and handle.

Some protocols, like SCMI SystemPower, do not expose any protocol ops to
the kernel OSPM agent but still need to be at least initialized. This
helper avoids the need to invoke a full devm_get_protocol() only to get
the protocol initialized while throwing away unused the protocol ops and
handle.

Link: https://lore.kernel.org/r/20220704101933.2981635-4-cristian.marussi@arm.com
Signed-off-by: Cristian Marussi <cristian.marussi@arm.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
2022-07-04 14:28:42 +01:00
Cristian Marussi
7097f29819 firmware: arm_scmi: Add SCMI v3.1 System Power extensions
Add support for SCMIv3.1 System Power optional timeout field while
dispatching SYSTEM_POWER_STATE_NOTIFIER notification.

Link: https://lore.kernel.org/r/20220704101933.2981635-3-cristian.marussi@arm.com
Signed-off-by: Cristian Marussi <cristian.marussi@arm.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
2022-07-04 14:28:42 +01:00
Cristian Marussi
a0db3962fb firmware: arm_scmi: Support only one single system power device
In order to minimize SCMI platform fw-side complexity, only one single SCMI
platform should be in charge of SCMI SystemPower protocol communications
with the OSPM. Enforce the existence of one single unique device associated
with SystemPower protocol across any possible number of SCMI platforms, and
warn if a system tries to register different SystemPower devices from
multiple platforms.

Link: https://lore.kernel.org/r/20220704101933.2981635-2-cristian.marussi@arm.com
Signed-off-by: Cristian Marussi <cristian.marussi@arm.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
2022-07-04 14:28:42 +01:00
Cristian Marussi
b60e088682 firmware: arm_scmi: Use new SCMI full message tracing
Add full message tracing for all transmitted and successfully received SCMI
commands, replies and notifications.

Link: https://lore.kernel.org/r/20220630173135.2086631-3-cristian.marussi@arm.com
Signed-off-by: Cristian Marussi <cristian.marussi@arm.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
2022-07-04 14:28:42 +01:00
Cristian Marussi
2bd0467074 include: trace: Add SCMI full message tracing
Add a distinct trace event to dump full SCMI message headers and payloads.

Link: https://lore.kernel.org/r/20220630173135.2086631-2-cristian.marussi@arm.com
Signed-off-by: Cristian Marussi <cristian.marussi@arm.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
2022-07-04 14:28:42 +01:00
Sudeep Holla
689640efc0 firmware: arm_scpi: Ensure scpi_info is not assigned if the probe fails
When scpi probe fails, at any point, we need to ensure that the scpi_info
is not set and will remain NULL until the probe succeeds. If it is not
taken care, then it could result use-after-free as the value is exported
via get_scpi_ops() and could refer to a memory allocated via devm_kzalloc()
but freed when the probe fails.

Link: https://lore.kernel.org/r/20220701160310.148344-1-sudeep.holla@arm.com
Cc: stable@vger.kernel.org # 4.19+
Reported-by: huhai <huhai@kylinos.cn>
Reviewed-by: Jackie Liu <liuyun01@kylinos.cn>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
2022-07-04 14:28:42 +01:00
Arnd Bergmann
9b47c57437 Devicetree changes omaps for v5.20 merge window
Just one devicetree change to add EEPROM regulator for BeagleBone Black.
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCAAvFiEEkgNvrZJU/QSQYIcQG9Q+yVyrpXMFAmLCk0QRHHRvbnlAYXRv
 bWlkZS5jb20ACgkQG9Q+yVyrpXOudRAAygyTaiJo3p2wrKzekz1d2CNeQX9Fifr6
 QTBzu5m0qKJRhCJk4gVXD1l4UmGFYZRZFGUGHtRjH+FwZXDVbne+rLPxxX4prGTL
 aFAy/Fw12tq3T23BN+P9gh+lEHIgDEoqvQsBsKVqxLM7DUthSLesXcN5mNhKd3fO
 BgKe87VYQkEHKfvglefyctfvRpvu6X8BcApBXOmmZ+xWV1WtKoJ2jLDbUZgQVW3B
 ZH9ltgIOJDC2Chip9nKlBVDsBrU3yRj1RwJdh2yfQ0gtf865svcxcLnH9JLqDXCN
 F3hcY5Zk4pyMKo3U6Ew270Aufdy1ANToDnPbnYE8j8oArDb3PrVRFjoNP1ZR/tI9
 nquUmSCaSMyVHkq2Ei20ZXWLBpo0CWF7iWz+d4QAR1gdbsjb2ufftWoihHDbO8lm
 H3hRwRYVslPeczUSP70rXQLhE+gZVZz/FaDq4W5Yv7DdIUr1nOrGOPNZqgQLwPDM
 qjkH75oGDZlkgF5eQJmJtp+y2oTLOmoR+zTtWsqR7rzkeR+tUdvSvVhQIiMz9Tu9
 u0buz8s28vvTkpCIkon06W3WV6GbQPKL5/zveJWE7+4rL1b2gAH/lpgBrymxMuY5
 QPunLxIKVVrP/3DAN48+sBTaYDfZfYckH9u32WlZnjHljAh8DMmuACbd43Z0UBnP
 ZaTot6unkNM=
 =mDfg
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmLC3eEACgkQmmx57+YA
 GNmoKQ//Yc06J01ItIMSbvU6bnaqa3m6DfDqZcBhKeq2FIBh0t35WE/3LYvUPeQi
 zwjMPuwGqMmt1zdhbtIiIAeCu10Kymw1QJKH5NPwaXT96gqIBidu+VPVWKcm73nV
 nT7axRxaH0wZv7MN19KxeDu+biCXmV0jtfhHLzdsZ8ZH/29vKX76vmPnvoSiVPKj
 YYtmKUh7TVvQcfJqLcEnDgubj2iC+Er2mnbaBCYgLPJPYYRIHBiK1a0XSF1jVyKs
 OUs7k2bd2G32+Fyosdaf21kW2XQ3dggZo9YhP1Rql6p6Td/AV4lcaQ8XjcwY5q7z
 evU/IjjkXMlqf7tgTj9OrOv4qk0NbUSfASmY8my0H/j32Xg/heuXVBSPnvvdGw21
 OyenEhrM7Cemk/7LjUHCnY+E7UgP6+IzQMs4Lj0Km8s70b0+oaV8GpZT/IVzDBFP
 Dy+GfQ51fuF3btRnZJlyk1Ddts63ZvHaxhkX/OcdaldFJxo2OuYRvfNrjmee1OE5
 gETDGZ4pmk0PMdZBBAPgodZ05mTPxANGXVi7yfA4iyK1Dpxkb3IC0TK5WsiAHwBz
 fA8RDkz+DhBNvn1ajIa50bcSxx5Bz1HnS+E5RGBw1jKUA0vdOMzIubNaMzwwbkjm
 4CxCgbK/LcYIHYRyS+ssDibsp89FOS3iweM6d1zG9PlmUpayBHU=
 =aRd5
 -----END PGP SIGNATURE-----

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

Devicetree changes omaps for v5.20 merge window

Just one devicetree change to add EEPROM regulator for BeagleBone Black.

* tag 'omap-for-v5.20/dt-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: dts: am33xx: Map baseboard EEPROM on BeagleBone Black

Link: https://lore.kernel.org/r/pull-1656918942-515224@atomide.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-04 14:32:33 +02:00
Arnd Bergmann
c0d1a7bd65 STM32 DT fixes for v5.19, round 2
Highlights:
 -----------
 
  -Fixes STM32MP15:
   - Add missing usbh clock and fix clk order for usbh to avoid PLL
     issue.
   - Fix SCMI version: use scmi regulator and update missing SCMI
     clocks to be able to correcly boot.
 -----BEGIN PGP SIGNATURE-----
 
 iQJRBAABCgA7FiEEctl9+nxzUSUqdELdf5rJavIecIUFAmLCmuAdHGFsZXhhbmRy
 ZS50b3JndWVAZm9zcy5zdC5jb20ACgkQf5rJavIecIXZQBAAoX68LeCnEUxX92ww
 2nwZppOCMIIt93s60V66spqA6v3NNvUH/uRfK+yZrZbMsRcUTz4iSMHfTDpcjquK
 GCOobqjSwnxfIWbAcNzVaiCLApHND42eOnGegjip88qcF9xyiOUul0g3IlVZ1/0G
 QJBur3ULDYudBodssn52XrHrOD1gnq+QcBN5LnIfu2oz/CDWSOotR5weZR88OA5O
 1JI63nDQkIDVg2e40/SF1X1E8GZ65oaP4Cedkc9yi7Gxw44rFkVZKH7Km/4yzVgR
 5OfMXoq9Dp4gDPBdxrhVVvKYDl1mKF0H9n5xRx4vvvPFAGkX5R6rnoRii4VXYbrl
 7YSbCNh3SjJM7COenxck9TWOm6OO+6JiQWpl3cvi4HaPhKsBbXBZzQEmWZUxzhxd
 MCxmUQUxvBw/BjGMoW1HczZjxCzCaDwuKldvye3RvKErMwuWq3+PtucBMfxUtsSf
 dxj87BYFAW7jax0GN3Je7exT4BO4p/SEJ2bS/x9uZKwSQTwl7w3TFKyr7moj51T7
 H+1WOxkaQ0xG9H7Dqxol0vGD8DPsLNiXFQj0+aP8QXHWoBQEH2Loolh0WGMbTVrN
 OP+HP8OyuiKsKA3mM1aUSg4UFUaK4feaf3l75VxISYOpUwa3fK/WgCfhQgbZDGjy
 HGaRbvlgws9c8c81QGUIGsVDdWU=
 =JpmO
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmLC3R8ACgkQmmx57+YA
 GNnHrhAAnZLp1j5NQU/Sk464ilb9sqA2fDqLyQb+IEtO4rMa/ggd22mngCSTYa26
 hPTKAvAoNgmydLT3MMF7xozRUa865HlGx3sU+pRPT9DSkOxmagOEe8J5ZNTIYkAw
 nA10scojdly7DYRzBt1kFve5C3rjA2QS1A/kuSVSQKUBl7EbjcC3YjVALvnPoe+K
 vAVYU1Ol74hDLOPIG4miitFe8AqInbLkSnJ9KXPmSjZ2JwiGY0ppGoVK+FnT+fTp
 WDF4pqo91OUzQO19luvzPvnwgn6OK22GeCq/Q6g94RvhMpY63QgUJAC9LvJrCUVz
 tGztEWuVvEK7ExnxuasBhRl2EDA7A8ajRU3GocgUFmf5seB92+03JBv1HzkOJ+rb
 tJhprp8HAHHjyn+V7AAph2QRfWq4oegjkFY5DaVQPkwvN4uEVcJihKZYqHCE8P2z
 fdlDab82RO7+XUDUa/qsWQZ0UVxqI/AHnxbFn5EaW4j2RDBaV2E0dXSNiKlKnbM/
 uPaZNNuw5Jv67VpL+GFMiBQcq7kHd3EqLmSnaTo/AjVEcMosJx8uFIHUJpoKdrSg
 NGPwRHfx0Jesy+93sGT54XjdfCYXiSa3mZuZX/FQl8Fu7/UIVTmRiYOlyonh0aFk
 Yg6rYgbQKjRdwcpFuatWdefr7tRzDMNJ0d+6r2nzrpydvDgATr0=
 =FqVy
 -----END PGP SIGNATURE-----

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

STM32 DT fixes for v5.19, round 2

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

 -Fixes STM32MP15:
  - Add missing usbh clock and fix clk order for usbh to avoid PLL
    issue.
  - Fix SCMI version: use scmi regulator and update missing SCMI
    clocks to be able to correcly boot.

* tag 'stm32-dt-for-v5.19-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32:
  ARM: dts: stm32: add missing usbh clock and fix clk order on stm32mp15
  ARM: dts: stm32: delete fixed clock node on STM32MP15-SCMI
  ARM: dts: stm32: DSI should use LSE SCMI clock on DK1/ED1 STM32 board
  ARM: dts: stm32: use the correct clock source for CEC on stm32mp151
  ARM: dts: stm32: fix pwr regulators references to use scmi

Link: https://lore.kernel.org/r/1259e082-a3a4-96a5-ec9c-05dbb893a746@foss.st.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-04 14:29:19 +02:00
Bill Wendling
0ec29ccf94 soc: qcom: smem: use correct format characters
When compiling with -Wformat, clang emits the following warnings:

drivers/soc/qcom/smem.c:847:41: warning: format specifies type 'unsigned
short' but the argument has type 'unsigned int' [-Wformat]
                        dev_err(smem->dev, "bad host %hu\n", remote_host);
                                                     ~~~     ^~~~~~~~~~~
                                                     %u
./include/linux/dev_printk.h:144:65: note: expanded from macro 'dev_err'
        dev_printk_index_wrap(_dev_err, KERN_ERR, dev, dev_fmt(fmt), ##__VA_ARGS__)
                                                               ~~~     ^~~~~~~~~~~
./include/linux/dev_printk.h:110:23: note: expanded from macro 'dev_printk_index_wrap'
                _p_func(dev, fmt, ##__VA_ARGS__);                       \
                             ~~~    ^~~~~~~~~~~
drivers/soc/qcom/smem.c:852:47: warning: format specifies type 'unsigned
short' but the argument has type 'unsigned int' [-Wformat]
                        dev_err(smem->dev, "duplicate host %hu\n", remote_host);
                                                           ~~~     ^~~~~~~~~~~
                                                           %u
./include/linux/dev_printk.h:144:65: note: expanded from macro 'dev_err'
        dev_printk_index_wrap(_dev_err, KERN_ERR, dev, dev_fmt(fmt), ##__VA_ARGS__)
                                                               ~~~     ^~~~~~~~~~~
./include/linux/dev_printk.h:110:23: note: expanded from macro 'dev_printk_index_wrap'
                _p_func(dev, fmt, ##__VA_ARGS__);                       \
                             ~~~    ^~~~~~~~~~~

The types of these arguments are unconditionally defined, so this patch
updates the format character to the correct one and change type of
remote_host to "u16" to match with other types.

Signed-off-by: Bill Wendling <morbo@google.com>
Tested-by: Justin Stitt <jstitt007@gmail.com>
Reviewed-by: Justin Stitt <jstitt007@gmail.com>
Link: https://github.com/ClangBuiltLinux/linux/issues/378
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-04 14:26:51 +02:00
Takashi Iwai
dd84cfff3c ASoC: Fixes for v5.19
A collection of fixes for v5.19, quite large but nothing major - a good
 chunk of it is more stuff that was identified by mixer-test regarding
 event generation.
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCgAdFiEEreZoqmdXGLWf4p/qJNaLcl1Uh9AFAmK12zAACgkQJNaLcl1U
 h9C1MQf/Z2R0KmA73QWqSut9IXwUGpAvPQJtx8hOUKkA7efQNcK4xywa0CbnmFLp
 kUAAXD5FhpPkZpLDAmjpTVgmgB6Wep2FX5LM5YnUgC4/sha3OpnBPD3ryGVuhJ2b
 X/70GfflZRmlLCzp4UALieqgRjXb/Lk6gqeCNOzr6A5ewYLq4/1h4rPRaWluZ4MQ
 kjL4TXYfRXbK1g39EQMelV/HEgRiZ5NhnoujtOfQGZa8iUF9r9EAmD3PKqR0kp8d
 vUD4nxt7PuQW+ksdnJuRsBII3/MwrkF8S5lgfyBW80C71YeGVaba0Ty05oTF2u2H
 GAWHfoGTw1dDnI3JwcI+7ZT6zX+HpA==
 =3OmW
 -----END PGP SIGNATURE-----

Merge tag 'asoc-fix-v5.19-rc3' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus

ASoC: Fixes for v5.19

A collection of fixes for v5.19, quite large but nothing major - a good
chunk of it is more stuff that was identified by mixer-test regarding
event generation.
2022-07-04 14:14:04 +02:00
Egor Vorontsov
2307a0e1ca ALSA: usb-audio: Add quirk for Fiero SC-01 (fw v1.0.0)
The patch applies the same quirks used for SC-01 at firmware v1.1.0 to
the ones running v1.0.0, with respect to hard-coded sample rates.

I got two more units and successfully tested the patch series with both
firmwares.

The support is now complete (not accounting ASIO).

Signed-off-by: Egor Vorontsov <sdoregor@sdore.me>
Link: https://lore.kernel.org/r/20220627100041.2861494-2-sdoregor@sdore.me
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2022-07-04 14:12:11 +02:00
Egor Vorontsov
4fb7c24f69 ALSA: usb-audio: Add quirk for Fiero SC-01
Fiero SC-01 is a USB sound card with two mono inputs and a single
stereo output. The inputs are composed into a single stereo stream.

The device uses a vendor-provided driver on Windows and does not work
at all without it. The driver mostly provides ASIO functionality, but
also alters the way the sound card is queried for sample rates and
clocks.

ALSA queries those failing with an EPIPE (same as Windows 10 does).
Presumably, the vendor-provided driver does not query it at all, simply
matching by VID:PID. Thus, I consider this a buggy firmware and adhere
to a set of fixed endpoint quirks instead.

The soundcard has an internal clock. Implicit feedback mode is required
for the playback.

I have updated my device to v1.1.0 from a Windows 10 VM using a vendor-
provided binary prior to the development, hoping for it to just begin
working. The device provides no obvious way to downgrade the firmware,
and regardless, there's no binary available for v1.0.0 anyway.

Thus, I will be getting another unit to extend the patch with support
for that. Expected to be a simple copy-paste of the existing one,
though.

There were no previous reports of that device in context of Linux
anywhere. Other issues have been reported though, but that's out of the
scope.

Signed-off-by: Egor Vorontsov <sdoregor@sdore.me>
Link: https://lore.kernel.org/r/20220627100041.2861494-1-sdoregor@sdore.me
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2022-07-04 14:11:41 +02:00
Tim Crawford
11bea26929 ALSA: hda/realtek: Add quirk for Clevo L140PU
Fixes headset detection on Clevo L140PU.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20220624144109.3957-1-tcrawford@system76.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2022-07-04 14:08:48 +02:00
John Veness
6e2c9105e0 ALSA: usb-audio: Add quirks for MacroSilicon MS2100/MS2106 devices
Treat the claimed 96kHz 1ch in the descriptors as 48kHz 2ch, so that
the audio stream doesn't sound mono. Also fix initial stream
alignment, so that left and right channels are in the correct order.

Signed-off-by: John Veness <john-linux@pelago.org.uk>
Link: https://lore.kernel.org/r/20220624140757.28758-1-john-linux@pelago.org.uk
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2022-07-04 14:08:03 +02:00
Thomas Zimmermann
bf43e4521f drm/aperture: Run fbdev removal before internal helpers
Always run fbdev removal first to remove simpledrm via
sysfb_disable(). This clears the internal state. The later call
to drm_aperture_detach_drivers() then does nothing. Otherwise,
with drm_aperture_detach_drivers() running first, the call to
sysfb_disable() uses inconsistent state.

Example backtrace show below:

[   11.663422] ==================================================================
[   11.663426] BUG: KASAN: use-after-free in device_del+0x79/0x5f0
[   11.663435] Read of size 8 at addr ffff888108185050 by task systemd-udevd/311
[   11.663440] CPU: 0 PID: 311 Comm: systemd-udevd Tainted: G            E     5
	.19.0-rc2-1-default+ #1689
[   11.663445] Hardware name: HP ProLiant DL120 G7, BIOS J01 04/21/2011
[   11.663447] Call Trace:
[   11.663449]  <TASK>
[   11.663451]  ? device_del+0x79/0x5f0
[   11.663456]  dump_stack_lvl+0x5b/0x73
[   11.663462]  print_address_description.constprop.0+0x1f/0x1b0
[   11.663468]  ? device_del+0x79/0x5f0
[   11.663471]  ? device_del+0x79/0x5f0
[   11.663475]  print_report.cold+0x3c/0x21c
[   11.663481]  ? lock_acquired+0x87/0x1e0
[   11.663484]  ? lock_acquired+0x87/0x1e0
[   11.663489]  ? device_del+0x79/0x5f0
[   11.663492]  kasan_report+0xbf/0xf0
[   11.663498]  ? device_del+0x79/0x5f0
[   11.663503]  device_del+0x79/0x5f0
[   11.663509]  ? device_remove_attrs+0x170/0x170
[   11.663514]  ? lock_is_held_type+0xe8/0x140
[   11.663523]  platform_device_del.part.0+0x19/0xe0
[   11.663530]  platform_device_unregister+0x1c/0x30
[   11.663535]  sysfb_disable+0x2d/0x70
[   11.663540]  remove_conflicting_framebuffers+0x1c/0xf0
[   11.663546]  remove_conflicting_pci_framebuffers+0x130/0x1a0
[   11.663554]  drm_aperture_remove_conflicting_pci_framebuffers+0x86/0xb0
[   11.663561]  ? mgag200_pci_remove+0x30/0x30 [mgag200]
[   11.663578]  mgag200_pci_probe+0x2d/0x140 [mgag200]

Reported-by: Zack Rusin <zackr@vmware.com>
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
Reviewed-by: Zack Rusin <zackr@vmware.com>
Fixes: ee7a69aa38 ("fbdev: Disable sysfb device registration when removing conflicting FBs")
Cc: Javier Martinez Canillas <javierm@redhat.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: Helge Deller <deller@gmx.de>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: Zhen Lei <thunder.leizhen@huawei.com>
Cc: Changcheng Deng <deng.changcheng@zte.com.cn>
Link: https://patchwork.freedesktop.org/patch/msgid/20220617121027.30273-1-tzimmermann@suse.de
(cherry picked from commit fb84efa28a)
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
2022-07-04 13:35:08 +02:00
haibinzhang (张海斌)
af483947d4 arm64: fix oops in concurrently setting insn_emulation sysctls
emulation_proc_handler() changes table->data for proc_dointvec_minmax
and can generate the following Oops if called concurrently with itself:

 | Unable to handle kernel NULL pointer dereference at virtual address 0000000000000010
 | Internal error: Oops: 96000006 [#1] SMP
 | Call trace:
 | update_insn_emulation_mode+0xc0/0x148
 | emulation_proc_handler+0x64/0xb8
 | proc_sys_call_handler+0x9c/0xf8
 | proc_sys_write+0x18/0x20
 | __vfs_write+0x20/0x48
 | vfs_write+0xe4/0x1d0
 | ksys_write+0x70/0xf8
 | __arm64_sys_write+0x20/0x28
 | el0_svc_common.constprop.0+0x7c/0x1c0
 | el0_svc_handler+0x2c/0xa0
 | el0_svc+0x8/0x200

To fix this issue, keep the table->data as &insn->current_mode and
use container_of() to retrieve the insn pointer. Another mutex is
used to protect against the current_mode update but not for retrieving
insn_emulation as table->data is no longer changing.

Co-developed-by: hewenliang <hewenliang4@huawei.com>
Signed-off-by: hewenliang <hewenliang4@huawei.com>
Signed-off-by: Haibin Zhang <haibinzhang@tencent.com>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Link: https://lore.kernel.org/r/20220128090324.2727688-1-hewenliang4@huawei.com
Link: https://lore.kernel.org/r/9A004C03-250B-46C5-BF39-782D7551B00E@tencent.com
Signed-off-by: Will Deacon <will@kernel.org>
2022-07-04 12:18:47 +01:00