Commit Graph

1169205 Commits (887185649c7ee8a9cc2d4e94de92bbbae6cd3747)

Author SHA1 Message Date
Feng Tang b7082cdfc4 clocksource: Suspend the watchdog temporarily when high read latency detected
Bugs have been reported on 8 sockets x86 machines in which the TSC was
wrongly disabled when the system is under heavy workload.

 [ 818.380354] clocksource: timekeeping watchdog on CPU336: hpet wd-wd read-back delay of 1203520ns
 [ 818.436160] clocksource: wd-tsc-wd read-back delay of 181880ns, clock-skew test skipped!
 [ 819.402962] clocksource: timekeeping watchdog on CPU338: hpet wd-wd read-back delay of 324000ns
 [ 819.448036] clocksource: wd-tsc-wd read-back delay of 337240ns, clock-skew test skipped!
 [ 819.880863] clocksource: timekeeping watchdog on CPU339: hpet read-back delay of 150280ns, attempt 3, marking unstable
 [ 819.936243] tsc: Marking TSC unstable due to clocksource watchdog
 [ 820.068173] TSC found unstable after boot, most likely due to broken BIOS. Use 'tsc=unstable'.
 [ 820.092382] sched_clock: Marking unstable (818769414384, 1195404998)
 [ 820.643627] clocksource: Checking clocksource tsc synchronization from CPU 267 to CPUs 0,4,25,70,126,430,557,564.
 [ 821.067990] clocksource: Switched to clocksource hpet

This can be reproduced by running memory intensive 'stream' tests,
or some of the stress-ng subcases such as 'ioport'.

The reason for these issues is the when system is under heavy load, the
read latency of the clocksources can be very high.  Even lightweight TSC
reads can show high latencies, and latencies are much worse for external
clocksources such as HPET or the APIC PM timer.  These latencies can
result in false-positive clocksource-unstable determinations.

These issues were initially reported by a customer running on a production
system, and this problem was reproduced on several generations of Xeon
servers, especially when running the stress-ng test.  These Xeon servers
were not production systems, but they did have the latest steppings
and firmware.

Given that the clocksource watchdog is a continual diagnostic check with
frequency of twice a second, there is no need to rush it when the system
is under heavy load.  Therefore, when high clocksource read latencies
are detected, suspend the watchdog timer for 5 minutes.

Signed-off-by: Feng Tang <feng.tang@intel.com>
Acked-by: Waiman Long <longman@redhat.com>
Cc: John Stultz <jstultz@google.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Stephen Boyd <sboyd@kernel.org>
Cc: Feng Tang <feng.tang@intel.com>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-01-24 15:12:48 -08:00
Chuang Wang 685b64e4d6 tracing/osnoise: Use built-in RCU list checking
list_for_each_entry_rcu() has built-in RCU and lock checking.

Pass cond argument to list_for_each_entry_rcu() to silence false lockdep
warning when CONFIG_PROVE_RCU_LIST is enabled.

Execute as follow:

 [tracing]# echo osnoise > current_tracer
 [tracing]# echo 1 > tracing_on
 [tracing]# echo 0 > tracing_on

The trace_types_lock is held when osnoise_tracer_stop() or
timerlat_tracer_stop() are called in the non-RCU read side section.
So, pass lockdep_is_held(&trace_types_lock) to silence false lockdep
warning.

Link: https://lkml.kernel.org/r/20221227023036.784337-1-nashuiliang@gmail.com

Cc: Masami Hiramatsu <mhiramat@kernel.org>
Fixes: dae181349f ("tracing/osnoise: Support a list of trace_array *tr")
Acked-by: Daniel Bristot de Oliveira <bristot@kernel.org>
Signed-off-by: Chuang Wang <nashuiliang@gmail.com>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
2023-01-24 18:11:41 -05:00
SeongJae Park 1c7b394a56 Docs/sound/index: Add missing SPDX License Identifier
Add missing SPDX License Identifier for sound documentation index file.

Signed-off-by: SeongJae Park <sj@kernel.org>
Acked-by: Takashi Iwai <tiwai@suse.de>
Link: https://lore.kernel.org/r/20230122213650.187710-9-sj@kernel.org
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
2023-01-24 15:28:52 -07:00
SeongJae Park 4f46ae9f3a Docs/driver-api/index: Add missing SPDX License Identifier
Add missing SPDX License Identifier for driver-api documentation index
file.

Signed-off-by: SeongJae Park <sj@kernel.org>
Link: https://lore.kernel.org/r/20230122213650.187710-3-sj@kernel.org
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
2023-01-24 15:28:28 -07:00
SeongJae Park 941c95fdd6 Docs/subsystem-apis: Remove '[The ]Linux' prefixes from titles of listed documents
Some documents that listed on subsystem-apis have 'Linux' or 'The Linux'
title prefixes.  It's duplicated information, and makes finding the
document of interest with human eyes not easy.  Remove the prefixes from
the titles.

Signed-off-by: SeongJae Park <sj@kernel.org>
Acked-by: Iwona Winiarska <iwona.winiarska@intel.com>
Acked-by: Bjorn Helgaas <bhelgaas@google.com>
Link: https://lore.kernel.org/r/20230122184834.181977-1-sj@kernel.org
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
2023-01-24 15:27:08 -07:00
Jeffrey Hugo c70313cd17 docs: accel: Fix debugfs path
The device specific directory in debugfs does not have "accel".  For
example, the documentation says device 0 should have a debugfs entry as
/sys/kernel/debug/accel/accel0/ but in reality the entry is
/sys/kernel/debug/accel/0/

Fix the documentation to match the implementation.

Fixes: 8c5577a5cc ("doc: add documentation for accel subsystem")
Signed-off-by: Jeffrey Hugo <quic_jhugo@quicinc.com>
Reviewed-by: Oded Gabbay <ogabbay@kernel.org>
Link: https://lore.kernel.org/r/1674145568-31513-1-git-send-email-quic_jhugo@quicinc.com
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
2023-01-24 15:23:25 -07:00
Carlos Bilbao 3abd57ccdd docs/sp_SP: Add process email-clients translation
Translate the following document into Spanish:

- process/email-clients.rst

Signed-off-by: Carlos Bilbao <carlos.bilbao@amd.com>
Link: https://lore.kernel.org/r/20230117144722.31195-1-carlos.bilbao@amd.com
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
2023-01-24 15:22:42 -07:00
Yoann Congal 5d18c23c76 Documentation: kprobetrace: Split paragraphs
Add an empty line to force the output to split paragraphs like it is
splitin the REST source.

Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Reviewed-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Link: https://lore.kernel.org/r/20230121225304.1711635-4-yoann.congal@smile.fr
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
2023-01-24 15:00:34 -07:00
Yoann Congal 015b5162be Documentation: kprobetrace: Fix code block markup
This display the following code extract as a code block instead of a
normal paragraph.

Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Reviewed-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Link: https://lore.kernel.org/r/20230121225304.1711635-3-yoann.congal@smile.fr
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
2023-01-24 15:00:28 -07:00
Yoann Congal 776b32b756 Documentation: kprobetrace: Fix some typos
* Uncapitalise tracepoint
* Hyphen in *-based
* Plurals
* fetch-args -> fetchargs
* 2bytes hex -> 2-byte hex
* .. -> .
* arch -> architecture

Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Reviewed-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Link: https://lore.kernel.org/r/20230121225304.1711635-2-yoann.congal@smile.fr
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
2023-01-24 15:00:17 -07:00
Nicolas Saenz Julienne e9faf9b0b0 ARM: add multi_v7_lpae_defconfig
The only missing configuration option preventing us from using
multi_v7_defconfig with the Raspberry Pi 4 is ARM_LPAE. It's needed as
the PCIe controller found on the SoC depends on 64bit addressing, yet
can't be included as not all v7 boards support LPAE.

Introduce multi_v7_lpae_defconfig, built off multi_v7_defconfig, which will
avoid us having to duplicate and maintain multiple similar configurations.

Needless to say the Raspberry Pi 4 is not the only platform that can
benefit from this new configuration.

Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Link: https://lore.kernel.org/r/20230124110213.3221264-11-alexander.stein@ew.tq-group.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-01-24 22:11:41 +01:00
Nicolas Saenz Julienne a400c287ce kbuild: Add config fragment merge functionality
So far this function was only used locally in powerpc, some other
architectures might benefit from it. Move it into
scripts/Makefile.defconf.

Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Link: https://lore.kernel.org/r/20230124110213.3221264-10-alexander.stein@ew.tq-group.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-01-24 22:11:41 +01:00
Alexander Stein af8bd00831 ARM: multi_v7_defconfig: Add options to support TQMLS102xA series
Enable drivers used on TQMLS102xA + MBLS1021A.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Link: https://lore.kernel.org/r/20230124110213.3221264-9-alexander.stein@ew.tq-group.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-01-24 22:11:39 +01:00
Eddie James d9b6c322fd
ARM: dts: aspeed: Fix pca9849 compatible
Missed a digit in the PCA9849 compatible string.

Signed-off-by: Eddie James <eajames@linux.ibm.com>
Fixes: 65b697e5de ("ARM: dts: aspeed: Add IBM Bonnell system BMC devicetree")
Link: https://lore.kernel.org/r/20220826194457.164492-1-eajames@linux.ibm.com
Signed-off-by: Joel Stanley <joel@jms.id.au>
Link: https://lore.kernel.org/r/20230118051736.246714-1-joel@jms.id.au
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-01-24 22:07:58 +01:00
Linus Torvalds fb6e71db53 nfsd-6.2 fixes:
- Nail another UAF in NFSD's filecache
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEKLLlsBKG3yQ88j7+M2qzM29mf5cFAmPPYLoACgkQM2qzM29m
 f5cFXhAAmSn3h41br0tW0vn3fkDVqJpY5y1GsT31llT833CvxoEG+dERWmfFqwaT
 rfNAnfFJjJdOmLEos2KmkABP/9HLUHo3ePgqS9MXEDouHPVdnPEKLYNxB+kp/535
 +NUDEm7HrcxnctZEcWdGuprmdbSexZeE4ng2lEmbvaiWRQRhBoJS59iM2YfHcN77
 7bVz0jrCEYklGSwtfN0wzq9O4VeFPzRhESfycV1LV4ZvUwTNd5vGl1zBWs9ydxWN
 kBET/222Bd1rGuvoNFEWcK/dQFDtPrz1tiXH06IHthPvd70BP1z25sOmNfcQHrPp
 7gfGJD03PnC2CPVg8Uuou2e1/Je3/Ib+3V2cQJwUWWVWw1GDdwWrk3LG4+esRbdv
 OP2qT0dw5uHOuoECwehc/mDyYv2QIIzkXUjxlMNL2WqCxXlKgxO/4lpcvryMlbw6
 WHcMV9miCzkA1bK2d8QNisqkNTIQBsWzfrMbXZ9zeQnahrz981Y25OYdXjYIbRyC
 itliKYty4L9mS0z2gu5Y6WNBTk9bWItkq2GIIhjWo3K4UAccgfQSn+f6rXX5wNjP
 M1P2+QTtb3fMyepbYyDH0KM3wOtROA1MycFvWLSt9sobwiIa/Mt/1mMfcxHtdFEB
 85rDxB+zeWqXA5xbzowI3KcmkuHta1QLfBXY9f4x5nLKFduGwAM=
 =1Wj9
 -----END PGP SIGNATURE-----

Merge tag 'nfsd-6.2-5' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux

Pull nfsd fix from Chuck Lever:

 - Nail another UAF in NFSD's filecache

* tag 'nfsd-6.2-5' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux:
  nfsd: don't free files unconditionally in __nfsd_file_cache_purge
2023-01-24 12:58:47 -08:00
Arnd Bergmann 1ba4a8a6ce Samsung SoC bindings changes for v6.3
1. System Controller: use dedicated/specific compatibles to identify
    different controllers with different register layout (Exynos, Tesla
    FSD). Extend the bindings with missing clocks.
 2. Correct maintainers entry for Tesla FSD DTS.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmPNKvQQHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD1+w3D/9MahHErC7kreMDmG17BdAvUIIt2836bPtM
 DV/R188txcoE5opBTasm81UmOgZdfvT5kTBgqq509yIFodv48HMLraGNIQY7Dsz4
 TcYJHUWMg6qokhxd0KZ52mRnMs4xsZYxWXHk52tDnEnMv7dvTp9fXGBEfJdOLXYp
 pcQbO3ydNiHdrFY0jktE5vU2h990ZanDUPCKsI5VZQRPpwXFWk7Dju/zmEakNAnC
 5fr3xBCyE5i16/TZaUWzFfR8B0dcooFGLz4Q9A69FnEZ1Qj7lgYS9Xje3Gsorl6U
 TKIKsQYulu8W0wR0Lg2Ahn6wvHTTjei9Ows7Of8sOeXREjdomhooDJ2hZ8XsjSNg
 LVPuyRnE9YTA3K+yM2CdH56pgjLzxufN4oHZIKRoCseiZPm1tQeVb2gGbHv6249X
 x68jQM/svijUqqmGWT2ez8Xlx9g5i6OVD566ZvsWv/Cp3bQdteAfDU6QbJkqtrku
 th+N7D7+HWSOuorzlhBGvEKJvJIJpYlTR6VbeZZBuhwKX8oXcCU7baKZEa72134p
 uDjVihmmn1Da6FAXhDcU7KFL1nWWXIeiiITy2OMCx/cjeQTNC6mT5xNKX/wLoqMd
 ra/m1vIijDfxZZcLr1YR+s/8wg5WUMUmR0NCsA3RCAfsgzQw0f9HkVroCHfnbm2W
 pUoQZxfUAg==
 =P1xE
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmPQRlAACgkQmmx57+YA
 GNl8ow/9HkBlf4IbiFRxnntNPlro5DWDQU0yqj0txCwHgswEhzwKuaBeBOysjL6F
 nzaCRkl+oOqVCrscSH5AjOd7Gg4bgMAuOmr6RwGg1QIBItE2fEaCzwERTfA3pfd3
 2o/x+DCXbLohguZZSVjD0wuQsG4Ub2SFGm5Tj8QmpBFNJGC1uL1sy3w2UEgHJ7AK
 P9SWqqBTKuFuXU6/ebOMM7x2vmHGJEZj5sGewLeyZ0g4N3/5kby9hiITKI1Cns0N
 rRUHS9PpyqIogUntHGiswCsK7X02W+i6oskRfWPx06DAefwTVlZNyYscdvOXdX3B
 SE3F/8mxNPbwN5N5JVwuVKJh6e8+XOoYEtrY/jrG3PASdelgjdHKWY6R+lbDskXM
 LKkfSr9Yghl7710ekVIUhWH+9Z7RHibcx1LMpAwh3k6loNIX+dyblw+tWR9yHNnc
 Sn3rl/g29OVI3DrK5fwfKkzg/mvtsTRrcotL/EAN6s06yC4as6d6rNpUxGkPDFz7
 0x+n/RkoRlkC5fj6s1Ge/IXV/KZW0OHoF6R0utXDSOphB6riXNk/G74XyTIrP64R
 f6l9YC9gtCTwoWs6u1smH9/N2NGAnbdUIxuu3SFdAHUQMyt4xXEwwWV9xp+PAIth
 KBDmSd219IA8WumwoEgLZzMU64rkBhmyHc3qC4X2F/9gGOZSzhg=
 =5ZEc
 -----END PGP SIGNATURE-----

Merge tag 'samsung-drivers-6.3' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into arm/dt

Samsung SoC bindings changes for v6.3

1. System Controller: use dedicated/specific compatibles to identify
   different controllers with different register layout (Exynos, Tesla
   FSD). Extend the bindings with missing clocks.
2. Correct maintainers entry for Tesla FSD DTS.

* tag 'samsung-drivers-6.3' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  MAINTAINERS: arm64: tesla: correct pattern for directory
  dt-bindings: soc: samsung: exynos-sysreg: correct indentation for deprecated
  dt-bindings: soc: samsung: exynos-sysreg: add dedicated SYSREG compatibles to Exynosautov9
  dt-bindings: soc: samsung: exynos-sysreg: add dedicated SYSREG compatibles to Exynos850
  dt-bindings: soc: samsung: exynos-sysreg: Add tesla FSD sysreg compatibles
  dt-bindings: soc: samsung: exynos-sysreg: add clocks for Exynos850
  dt-bindings: soc: samsung: exynos-sysreg: add dedicated SYSREG compatibles to Exynos5433
  dt-bindings: soc: samsung: exynos-sysreg: split from syscon

Link: https://lore.kernel.org/r/20230122122605.30720-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-01-24 21:57:52 +01:00
Arnd Bergmann 0d01e09022 Memory controller drivers for v6.3
1. TI Emif: simplify device_get_match_data().
 2. Renesas RPC IF:
    - Few fixes (decouple driver's private data structure from other
      drivers; unbind and rebind due to triggering managed resources
      allocation from other drivers);
    - Bigger rework around improved runtime Power Management.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmPOZpEQHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD1xpND/9m8gnfZwEd3k8cK1BqMa4aeNXTMOSTuK0N
 THl1LUnydwqsxUQIPwWbFt16e0hJLDZLR/z6cKHKpBxMoZM5JIquGuL40UV2RwDA
 gI8Kpb2EJnmi95U0usoS4UtksePQ60FO3w5o++ivZHUfiHF0HPUxq7b5KTwxP1Y7
 bb9ytKKuQhLbZWX/fipJRJAzp6BjjY+2pIlarWtplyZ1fcuDlfBoAMsIikbWEz41
 R3/vyDILIi4Es62qLjsRJktn1dLdrzLT2CWcjQA+ksZeUT5aDveigbj6I0QGnYK8
 3aI6A1UQQq8hFvXb1FvMNmfDyuWeX/QBaPH35VXJwm7jhuHd9MzEpXw9m7KyKysk
 FaI0Wy0Y+0dEzsvthSfpl0WoTwaigjoWwcfot1jQrfofRglvp+BrMLuIjjFjVtH5
 elHZhPQ7h7DIQ7QfcSQ+JTaHT9HUDMZ6O/qc3xhTKtQGuDOZq9Jk3F6LO5i8VMy8
 AKY6u/MDOsTUfIqD4skJRqjzweobR/96y/7NKGK4BVlLYZ6QF0N0B2drDdpBTefY
 7RLCkDecwH/B4ruaPpVTuBRIP2DpGAh9zYQ0/YaCwoUZ0cy+1ZzUlSmKPu20fNWx
 fvIRLlYq9C0UzdOTnM3cYfwWduO8KmQN+Gqg01ijLS3GV3BVxaX7Kr90vdaDgydz
 hS+kEYVN0A==
 =3qrc
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmPQRdMACgkQmmx57+YA
 GNnjZQ//bHpFs5J1f7WCpdrEmy4lw5/d2RS87g9PoY3Q3nNXrMLxu8pwrezCvUdf
 J2ok31hEH5g6GZ0RX3SmZ8w82enzpth99MiTuVtYe/QFQ54UC6evhsW9cNaJAIl9
 CV1AfEFRNLrnlLoD97Hxe/qWiniqKZtL+5VwLA3dkS1TZtIshcPgCf8npExODSj5
 1n4vl7tJOx+iTvatxHesRNNOiIolFeXHlgBpMhrbc2MQFJaVQxchSCW79pu/Sgt6
 J8T//a4T7gabqe804DdKRmz7toCWXXcCpCe2RLRBqAL2K7WJTPe7b4kVTBygiIyY
 V7TtVtYbm7KAZ0tdgtXHDWR0SQq+hcGrkrVb4jZHiDT3o+dzx/aFGLIQvP4UNAKW
 BjdKhJa/SQg2V4QpSJGxrymltqTpq4Mj6WLWxYRV88YfvzHd4YdiOPfRNwh35hHT
 ihVmBrRwWnVtcNzjRAc3DA3WTucd4TcD4mbijRvIB2mN4nxQIL7QPkCT5EKVywq0
 zoIyBLZDYieluRdubcAje0Kt/b0yq1WYyE6xulYDgdMPSravZU4lFwzuVofDnzKa
 jHcc7vuhjrOEOj0ajPazZKOebe8OmcI/u836iazhOC0Bf60+cNAkuBUPe9mlOQ/9
 9RaHw8qTxzPxl8nfROtcVgsPYqDHzXuMSdBhutJvC6lPUcQfyr0=
 =Pt1B
 -----END PGP SIGNATURE-----

Merge tag 'memory-controller-drv-6.3-2' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl into soc/drivers

Memory controller drivers for v6.3

1. TI Emif: simplify device_get_match_data().
2. Renesas RPC IF:
   - Few fixes (decouple driver's private data structure from other
     drivers; unbind and rebind due to triggering managed resources
     allocation from other drivers);
   - Bigger rework around improved runtime Power Management.

* tag 'memory-controller-drv-6.3-2' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl:
  memory: ti-emif-pm: Use device_get_match_data() to simplify the code
  memory: renesas-rpc-if: Remove Runtime PM wrappers
  memory: renesas-rpc-if: Pass device instead of rpcif to rpcif_*()
  memory: renesas-rpc-if: Improve Runtime PM handling
  memory: renesas-rpc-if: Always use dev in rpcif_probe()
  memory: renesas-rpc-if: Move resource acquisition to .probe()
  memory: renesas-rpc-if: Split-off private data from struct rpcif

Link: https://lore.kernel.org/r/20230123105330.63709-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-01-24 21:55:47 +01:00
Linus Torvalds 50306df38a Update the MAINTAINERS file entry for fscrypt
-----BEGIN PGP SIGNATURE-----
 
 iIoEABYIADIWIQSacvsUNc7UX4ntmEPzXCl4vpKOKwUCY88exxQcZWJpZ2dlcnNA
 Z29vZ2xlLmNvbQAKCRDzXCl4vpKOK2GqAQD5N14vXZ7Xpn2B4pAK1bD9QTBpzFdD
 NC+iC7Da9euEswD/WBCOw92Ce9N5IV3Yea9M5TsNTBF459+7F1N85TLjEg4=
 =hYmO
 -----END PGP SIGNATURE-----

Merge tag 'fscrypt-for-linus' of git://git.kernel.org/pub/scm/fs/fscrypt/linux

Pull fscrypt MAINTAINERS entry update from Eric Biggers:
 "Update the MAINTAINERS file entry for fscrypt"

* tag 'fscrypt-for-linus' of git://git.kernel.org/pub/scm/fs/fscrypt/linux:
  MAINTAINERS: update fscrypt git repo
2023-01-24 12:53:26 -08:00
Petr Pavlu 0254127ab9 module: Don't wait for GOING modules
During a system boot, it can happen that the kernel receives a burst of
requests to insert the same module but loading it eventually fails
during its init call. For instance, udev can make a request to insert
a frequency module for each individual CPU when another frequency module
is already loaded which causes the init function of the new module to
return an error.

Since commit 6e6de3dee5 ("kernel/module.c: Only return -EEXIST for
modules that have finished loading"), the kernel waits for modules in
MODULE_STATE_GOING state to finish unloading before making another
attempt to load the same module.

This creates unnecessary work in the described scenario and delays the
boot. In the worst case, it can prevent udev from loading drivers for
other devices and might cause timeouts of services waiting on them and
subsequently a failed boot.

This patch attempts a different solution for the problem 6e6de3dee5
was trying to solve. Rather than waiting for the unloading to complete,
it returns a different error code (-EBUSY) for modules in the GOING
state. This should avoid the error situation that was described in
6e6de3dee5 (user space attempting to load a dependent module because
the -EEXIST error code would suggest to user space that the first module
had been loaded successfully), while avoiding the delay situation too.

This has been tested on linux-next since December 2022 and passes
all kmod selftests except test 0009 with module compression enabled
but it has been confirmed that this issue has existed and has gone
unnoticed since prior to this commit and can also be reproduced without
module compression with a simple usleep(5000000) on tools/modprobe.c [0].
These failures are caused by hitting the kernel mod_concurrent_max and can
happen either due to a self inflicted kernel module auto-loead DoS somehow
or on a system with large CPU count and each CPU count incorrectly triggering
many module auto-loads. Both of those issues need to be fixed in-kernel.

[0] https://lore.kernel.org/all/Y9A4fiobL6IHp%2F%2FP@bombadil.infradead.org/

Fixes: 6e6de3dee5 ("kernel/module.c: Only return -EEXIST for modules that have finished loading")
Co-developed-by: Martin Wilck <mwilck@suse.com>
Signed-off-by: Martin Wilck <mwilck@suse.com>
Signed-off-by: Petr Pavlu <petr.pavlu@suse.com>
Cc: stable@vger.kernel.org
Reviewed-by: Petr Mladek <pmladek@suse.com>
[mcgrof: enhance commit log with testing and kmod test result interpretation ]
Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
2023-01-24 12:52:52 -08:00
Linus Torvalds 5149394c89 Update the MAINTAINERS file entry for fsverity
-----BEGIN PGP SIGNATURE-----
 
 iIoEABYIADIWIQSacvsUNc7UX4ntmEPzXCl4vpKOKwUCY88euhQcZWJpZ2dlcnNA
 Z29vZ2xlLmNvbQAKCRDzXCl4vpKOK+yQAP4wWnC29X3t6kQC4+T2hlw+MOuZBdfd
 dm70qTNd6itL7QD8DToDCGm6gt6IqunjIllUBGfEU2oyeKU5MT7SVITfnAo=
 =4W3N
 -----END PGP SIGNATURE-----

Merge tag 'fsverity-for-linus' of git://git.kernel.org/pub/scm/fs/fsverity/linux

Pull fsverity MAINTAINERS entry update from Eric Biggers:
 "Update the MAINTAINERS file entry for fsverity"

* tag 'fsverity-for-linus' of git://git.kernel.org/pub/scm/fs/fsverity/linux:
  MAINTAINERS: update fsverity git repo, list, and patchwork
2023-01-24 12:51:49 -08:00
Arnd Bergmann f938b29d27 Arm SCMI updates for v6.3
The main addition is a unified userspace interface for SCMI irrespective
 of the underlying transport and along with some changed to refactor the
 SCMI stack probing sequence.
 
 1. SCMI unified userspace interface
 
    This is to have a unified way of testing an SCMI platform firmware
    implementation for compliance, fuzzing etc., from the perspective of
    the non-secure OSPM irrespective of the underlying transport supporting
    SCMI. It is just for testing/development and not a feature intended fo
    use in production.
 
    Currently an SCMI Compliance Suite[1] can only work by injecting SCMI
    messages using the mailbox test driver only which makes it transport
    specific and can't be used with any other transport like virtio,
    smc/hvc, optee, etc. Also the shared memory can be transport specific
    and it is better to even abstract/hide those details while providing
    the userspace access. So in order to scale with any transport, we need
    a unified interface for the same.
 
    In order to achieve that, SCMI "raw mode support" is being added through
    debugfs which is more configurable as well. A userspace application
    can inject bare SCMI binary messages into the SCMI core stack; such
    messages will be routed by the SCMI regular kernel stack to the backend
    platform firmware using the configured transport transparently. This
    eliminates the to know about the specific underlying transport
    internals that will be taken care of by the SCMI core stack itself.
    Further no additional changes needed in the device tree like in the
    mailbox-test driver.
 
 [1] https://gitlab.arm.com/tests/scmi-tests
 
 2. Refactoring of the SCMI stack probing sequence
 
    On some platforms, SCMI transport can be provide by OPTEE/TEE which
    introduces certain dependency in the probe ordering. In order to address
    the same, the SCMI bus is split into its own module which continues to
    be initialized at subsys_initcall, while the SCMI core stack, including
    its various transport backends (like optee, mailbox, virtio, smc), is
    now moved into a separate module at module_init level.
 
    This allows the other possibly dependent subsystems to register and/or
    access SCMI bus well before the core SCMI stack and its dependent
    transport backends.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEunHlEgbzHrJD3ZPhAEG6vDF+4pgFAmPKvdkACgkQAEG6vDF+
 4pgB0g//eU5S0aTgt8XlwDmdjeu+mNrj68QHKINq9CS7PmBs37So0IdLJ+CpqJlo
 VSmk2kI5oLWz/u3N92QQY9RXM4hvO95kiPKuyO8NsoPWrfjBZH3rKcgEpRquZjrt
 TdBUPd2aqoKhFqkUzxs5lNEZOV/R6mm0q+i9dD4RIRKP9Tjrlm3jYDSMFnW3/QMJ
 OR3Ub0e/4Lj3QyNUxrUqwpdjTiAqXimCW7LWZ2fwY5kPxcL4wedAfQS3zGa5m8Wk
 htqRTXmYtSVKAZ/oFUPDOHuZUNqn0ZdNI7guEPgzo90+pJs0yQUQf/wtc+X9quXZ
 /FUGaVSTzlvcl1MPJPTPQ9d7dJH8lR0+nxzovkBSoMX/tNByuVtBUpNiclu8seob
 CqbywRtASkd0g6dKHHEIylwj0FpRSYBLJEcE6jXhxfvXt+sCDZbDSUpWaGGZnNqO
 oj8FhEmRk/t/d+ZEkn6MlRgy5uiJSv4GstNQ5V/ZSz3vhp1u2Sl7y8xAcuVsqXyH
 Dok6iM9GoSdskCdSICk5iA2ESC5s+1IiDd2PnSwWz+yj9HbmWKwU0nKgRRWvDUZh
 jJYWAvcwuh3SQ/sN/FNTVsxQt/x5V3L/K7oe2o983l0Lq8k9WB0mEBAyRidxAlVj
 TpfXbe9CDqJtoF85Bslb7eS++iGADkVvmWAqjqUQddFQR++Dj2w=
 =yLSu
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmPQQ0QACgkQmmx57+YA
 GNlYsRAAr/qGRRSiOtTYZi0yPmSuGCYb4xORbJHS00gD3aRzrehtsf//av4WyeyM
 cGpeR/2OIa66/M7wIjKM7lHXBdzFxLgwAM9DkexVwY1i7w6ExDZFClX7UhlgmwiM
 LbsApqHYW/DhAnOBL7SXPQkDIcTifURvOZCOJ0NJg5HOn+DeRP5UPEE5Xbqt0+yc
 JUnKC2eqN15G/BWJCWtmfZVXwMKtWB8ScU2HJeoEjjH7d31XvWvw5z0upyhlEQvb
 lqhFgKftEY+boEfbz86AoZoBY8EWFdqB8RvcNOmReU8hyequjnrK/ykQq9EAAMmo
 LbxNkW72zN727ji3O7onX8zWjqYLKjV3FC/cuNah//USQa8nPvq4atXf+D7my0fC
 Rm9ZF3ztHQjTgMVlmm/uAU3c4BxEcwHMnppEoYvxa23ErSt+hp2aJvfDfseMAYFW
 2iie4KAR03WeHnspYioa88PHj83SeT9AsHxf+PCdXkXgzl74HDVrt/8gpLQMmu4Q
 BTkwTF3QvEry5c6uF7yI/oOuQq06Y03miN5GEQKtqTIIpn3g/tJs0GJot0nUPZ0f
 xJJ+mlOcoc76zwaDARcGJO0yzX9qJt4I+/HS39BLvMt2EfbZ3IXlSsQu7esd5p2V
 6xokmygD5rZY92CMd3SPpJ4xRBHUN6PIFb1GUyJmg9xoghDwjXs=
 =jvm3
 -----END PGP SIGNATURE-----

Merge tag 'scmi-updates-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into soc/drivers

Arm SCMI updates for v6.3

The main addition is a unified userspace interface for SCMI irrespective
of the underlying transport and along with some changed to refactor the
SCMI stack probing sequence.

1. SCMI unified userspace interface

   This is to have a unified way of testing an SCMI platform firmware
   implementation for compliance, fuzzing etc., from the perspective of
   the non-secure OSPM irrespective of the underlying transport supporting
   SCMI. It is just for testing/development and not a feature intended fo
   use in production.

   Currently an SCMI Compliance Suite[1] can only work by injecting SCMI
   messages using the mailbox test driver only which makes it transport
   specific and can't be used with any other transport like virtio,
   smc/hvc, optee, etc. Also the shared memory can be transport specific
   and it is better to even abstract/hide those details while providing
   the userspace access. So in order to scale with any transport, we need
   a unified interface for the same.

   In order to achieve that, SCMI "raw mode support" is being added through
   debugfs which is more configurable as well. A userspace application
   can inject bare SCMI binary messages into the SCMI core stack; such
   messages will be routed by the SCMI regular kernel stack to the backend
   platform firmware using the configured transport transparently. This
   eliminates the to know about the specific underlying transport
   internals that will be taken care of by the SCMI core stack itself.
   Further no additional changes needed in the device tree like in the
   mailbox-test driver.

[1] https://gitlab.arm.com/tests/scmi-tests

2. Refactoring of the SCMI stack probing sequence

   On some platforms, SCMI transport can be provide by OPTEE/TEE which
   introduces certain dependency in the probe ordering. In order to address
   the same, the SCMI bus is split into its own module which continues to
   be initialized at subsys_initcall, while the SCMI core stack, including
   its various transport backends (like optee, mailbox, virtio, smc), is
   now moved into a separate module at module_init level.

   This allows the other possibly dependent subsystems to register and/or
   access SCMI bus well before the core SCMI stack and its dependent
   transport backends.

* tag 'scmi-updates-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux: (31 commits)
  firmware: arm_scmi: Clarify raw per-channel ABI documentation
  firmware: arm_scmi: Add per-channel raw injection support
  firmware: arm_scmi: Add the raw mode co-existence support
  firmware: arm_scmi: Call raw mode hooks from the core stack
  firmware: arm_scmi: Reject SCMI drivers when configured in raw mode
  firmware: arm_scmi: Add debugfs ABI documentation for raw mode
  firmware: arm_scmi: Add core raw transmission support
  firmware: arm_scmi: Add debugfs ABI documentation for common entries
  firmware: arm_scmi: Populate a common SCMI debugfs root
  debugfs: Export debugfs_create_str symbol
  include: trace: Add platform and channel instance references
  firmware: arm_scmi: Add internal platform/channel identifiers
  firmware: arm_scmi: Move errors defs and code to common.h
  firmware: arm_scmi: Add xfer helpers to provide raw access
  firmware: arm_scmi: Add flags field to xfer
  firmware: arm_scmi: Refactor scmi_wait_for_message_response
  firmware: arm_scmi: Refactor polling helpers
  firmware: arm_scmi: Refactor xfer in-flight registration routines
  firmware: arm_scmi: Split bus and driver into distinct modules
  firmware: arm_scmi: Introduce a new lifecycle for protocol devices
  ...

Link: https://lore.kernel.org/r/20230120162152.1438456-1-sudeep.holla@arm.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-01-24 21:44:52 +01:00
Arnd Bergmann faa4cd063b Renesas driver updates for v6.3
- Add missing A3DUL power domain on R-Car V4H.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCY8KnnwAKCRCKwlD9ZEnx
 cI+nAQDokjvgK6jo/UIuxXGNTRuIIxW5npU0kRhBryu1Gd+bAAD+Kdh07sNLX+zH
 c2auh8uCjVGBSEgsx694iCkwe4EDpgY=
 =+wZQ
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmPQQuEACgkQmmx57+YA
 GNnvoQ//Zc8YUMNBJBMrSRap59xNOV3pN0tcWzPSmPiwfYBr7xyNEpwiVcQvGLEv
 1/BCiwx2BwKQ/hKVIhR5Dr4SArWjKjp6g67yf02Rmpv5RFLiaBhGc8jMpdW8iZma
 C/4JGFCCRc6iaVsFSPRyaeUdEjMoQ1/2hJF/XfN1M4Pb3Nxgd3IqovVoGEjzZTSD
 lAKvo0RNoBtBrGl/hXe8Kc79nUNLXOQrLDXHehLAHXyvOBjVxlpBV0T32E/MIDmt
 VCY+xKHhL3sif2dH8EEq18dxDMn6Nul2Xy4IsKpLGHoZExRySKaTdDr3OqQ0XGfB
 Dr4MG9hD9Q181ZNpq/9E0V05K1+f+s3TqJBWmFYi2yiggIjolhNHnRHimn3noYU8
 0RCYsROiTSnjU3+JDlfVfF0kRZb73UMuTDH9rdE1S6itve0f8b12LPRWM/gkfmwS
 wv/LInHNDYc+XAoajiS5AjJ9cJMWjfPqfQRakuX3mIaI9s7tVVgCo/T4AGg4Dogs
 iHFyJ3G1BGq3BCsLVefnND2X3P6ZpJYVHhZRPb11RK6ML0IXAguCFfCXa84Wiit5
 gY3zgMUOinKT86CJlLk1xVZQkyY3YKibOIVXdQZ+cXEER2e+id2UcKFNmFpiueHU
 6zdxuz8ftqpkhVN1RadGuAJF+sqjUhnWBS6dZNCx9JZkuaxv61I=
 =DhZ7
 -----END PGP SIGNATURE-----

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

Renesas driver updates for v6.3

  - Add missing A3DUL power domain on R-Car V4H.

* tag 'renesas-drivers-for-v6.3-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  soc: renesas: r8a779g0-sysc: Add missing A3DUL power domain
  dt-bindings: power: r8a779g0: Add missing A3DUL power domain

Link: https://lore.kernel.org/r/cover.1673702291.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-01-24 21:43:13 +01:00
Krzysztof Kozlowski 69d8a5f884
arm64: drop redundant "ARMv8" from Kconfig option title
All these platforms are ARMv8 or newer and choosing the platforms in
menuconfig is much easier if the titles start with something specific.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20230120125722.270722-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-01-24 21:42:23 +01:00
Linus Torvalds 854f0912f8 ext4: make xattr char unsignedness in hash explicit
Commit f3bbac3247 ("ext4: deal with legacy signed xattr name hash
values") added a hashing function for the legacy case of having the
xattr hash calculated using a signed 'char' type.  It left the unsigned
case alone, since it's all implicitly handled by the '-funsigned-char'
compiler option.

However, there's been some noise about back-porting it all into stable
kernels that lack the '-funsigned-char', so let's just make that at
least possible by making the whole 'this uses unsigned char' very
explicit in the code itself.  Whether such a back-port is really
warranted or not, I'll leave to others, but at least together with this
change it is technically sensible.

Also, add a 'pr_warn_once()' for reporting the "hey, signedness for this
hash calculation has changed" issue.  Hopefully it never triggers except
for that xfstests generic/454 test-case, but even if it does it's just
good information to have.

If for no other reason than "we can remove the legacy signed hash code
entirely if nobody ever sees the message any more".

Cc: Sasha Levin <sashal@kernel.org>
Cc: Eric Biggers <ebiggers@kernel.org>
Cc: Andreas Dilger <adilger@dilger.ca>
Cc: Theodore Ts'o <tytso@mit.edu>,
Cc: Jason Donenfeld <Jason@zx2c4.com>
Cc: Masahiro Yamada <masahiroy@kernel.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2023-01-24 12:38:45 -08:00
Linus Walleij 91aa6280e3
ARM: ep93xx: Convert to use descriptors for GPIO LEDs
This converts the EP93xx to use GPIO descriptors for the
LEDs.

Cc: Nikita Shubin <nikita.shubin@maquefel.me>
Cc: Alexander Sverdlin <alexander.sverdlin@gmail.com>
Cc: Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Lukasz Majewski <lukma@denx.de>
Tested-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20230111132210.134478-1-linus.walleij@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-01-24 21:37:47 +01:00
Arnd Bergmann e62f40452d One clean-up for omap1 for v6.3
One non-urgent change to use platform_device_put() instead of
 platform_device_unregister().
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCAAvFiEEkgNvrZJU/QSQYIcQG9Q+yVyrpXMFAmPP2wURHHRvbnlAYXRv
 bWlkZS5jb20ACgkQG9Q+yVyrpXN84g/+L7nYUvwGhT7ERvAxlnZmYFqjGHBcIPrP
 /utu8YfqNh/nJeF1CJ0Kfb1j3cCw4AOp0sx05kEwHBZq6zvulaOtFWyH/3o3qo7q
 EAgrbj/4FXAKV7lkWpZFf/80EAKv40SIt7WlgxoBTzRndps/OJtTq+zIGacNlaBq
 FdFMGNOvesyoMJmQxnnUkZFkEFJRImwwSMo0VwyJMo6ZmN/ocEAJuBfzFTWzWCHQ
 hbB/69Mqn76P/wzPqMK2n5MJCvZohV+H2f0+sH4igieK/JyfOTFtZyMn4bMZ21FT
 izou2KPxnqqq7UUi0EYzWGtOv2C5NYQicNmEpCwkOKht4ip84jfHqL4s1EqwSQ3R
 5sULZrmSDAtYR898UxwKHl+4Dmuic/LwkFtwCvy3RKeyHlAVCHy9rERQa4hfPcBW
 XeJQYSqzoYeJsAs+0EwmJC+57kWLCR0p53e9+qwjLqx7p+KDdcC0MvNhuxNUTFFz
 7JxBZkL5R0KvpkN4IvIbRX210FqpvuEGlzPpJSA4yDNU2pOKcLuqUbJM/BKEfOSR
 DV2kp9AL1FMBpFlbdAWnsnHc0++/o5L+OI1ATXI9TUy+oPr6eLN7Z9cwOs8e9oHW
 GqqYodxmINoK4wTWjbyh0zNaqqcjnMTJ/HpM5rgPt9uBNQoGKUpdlgVVT+paxxIw
 +Y4XmcOILSc=
 =C0Tt
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmPQQJMACgkQmmx57+YA
 GNmGuA/8CaMKN6tdO2n8lNqUt8+yocPxDzF6YIxuILfSEOy3ZrzPhnMbRM+CS24I
 34qeobOcsmaEhUApgLfG7Kno2AOaCfpFUaZ5d2oHB2EAO+vCkYKEWL3+LD2yxYBs
 QM/h+HN0dByEi4rzq3gm4Cyx0y8KfGeMDmxkr5/MVp5ldX0C0B62PrQrlH3ZeGYn
 ukGWPHoSLolyR+nVYGtq4jNeNZb3JL/rgS2WjEq86Wu35g4HjyixPIBNcf87e6L8
 iAmwaZQ2nOsRukn7WN3J/blZFmYS4n/kkdMyPc03UYVUwadbT+zzMiwhBJg8Km9F
 wz8a5QyGFgjgWhH4DhU1/S3idhpyeVYo43PEQWk7uIXTdo/KM8+TECbiLUVAdsns
 ZPPABKqmpNb0oWtecAEXOm+jWU61Eh19zabEmYrlcxsCECDuSjcmiAJSw6lA+fhs
 ioDEy0goCqUOy2d8Z2O0gs4d1vXWjMz+dbTpbpsDTZMA5xahCuCZiPjr38OzFsD4
 0fVW1FtoBs/D04oZLIrkS+RFcyITCYa0P9qUfYMuUo8FCu70+2HZ5TZlpW1TuCLv
 nuqGnUUonMJMJlC02JTbMoU0b0+ley+FxFk+k3ild7YmvRRX9dM2/CSZFZGhTgce
 nPPDLMF1jYDEb9Omojdu4cnXv4vK4Q8R7/M/OCp1dJncj4KhR0Q=
 =BAMH
 -----END PGP SIGNATURE-----

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

One clean-up for omap1 for v6.3

One non-urgent change to use platform_device_put() instead of
platform_device_unregister().

* tag 'omap-for-v6.3/omap1-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: OMAP1: call platform_device_put() in error case in omap1_dm_timer_init()

Link: https://lore.kernel.org/r/pull-1674566532-427457@atomide.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-01-24 21:33:23 +01:00
Arnd Bergmann fc939b172e Clean-up for omaps for v6.3
Non-urgent fixes for missing of_node_put() and clk_put(), drop few
 unnecessary includes, and fix a typo. None of these are urgent and
 can be merged along with other clean-up when suitable.
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCAAvFiEEkgNvrZJU/QSQYIcQG9Q+yVyrpXMFAmPP2k0RHHRvbnlAYXRv
 bWlkZS5jb20ACgkQG9Q+yVyrpXP23BAAjDvc/xh+pdLSWrGLvbfLCtiXTX/VnUyy
 76MIwJshm5tUWYyOLHPh2GwnqnAP9mbmjmwRfbCqOOh7ZtTq/8GQl+IJyh7Z8HSt
 qsjwnDLBq9Hz2V41jUhSr3mlG7UVkETePbJ3s2+hQzry5zAic54+O1BgRXwTrlsj
 UXSCe155Q52FTUxfnScNFYRtJLVVjYTTkRnvkrG/sE7YoyPCnSHyQEyl9QGn7Kfi
 3tkXLLgwnhqap88Gym8QKY4UKXvdmM1cyuhc3dRZFbFc1WKnG8Yl5WT+L6DV9Zu4
 6tk4JsalFTFvbYe0MWwWYXH8EgLUlstIMgWqO7PuwVXZ49TOszpiFPmAf9/ilUi7
 J27uilUGhO7zYi9cyQWWDWmqdh7N5yJE5zbnSyq1GheTv0o+sChN3tuUp5v0JNgE
 nUBloNC/kPoQmc6XulVL05mC5nxXTRT7UnA9sN40llsS7C0BuU8eQCTo3Nn2+eiX
 qW/gJ6JKHcnRx6bPyjGc0ARiWJrn37fblFyk88i/TZrAbSUzNjs6cqpscat7lobH
 HlmbESK+yiG9YeIf/YWnWj5nPMYB8aKqh73nWavRpDfR1giz2nW0Rbwf4fwD6XSt
 f6EsH3gfNuwNFpZlZgGUGQIxOyfYxuX8G54D/B3t36ahdONd32QG9vpEN7GKIIgT
 c9cJUBYrLxo=
 =9VPI
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmPQQFEACgkQmmx57+YA
 GNmWDBAAnGa9WEmjkLMbqjt+vFe9OPvcw3g+wZs5jgdMsy7LyBD3tMABC4HZ+5zj
 AvJzisXw7BF2Bjk9ax/OB4cscumKbLTc+BPibtMyIA5DOkJFdIz7g8eos6paAErd
 H0++BMkWd2S2pteisRbpOjbQ5ZhBdC66F3dm1PB/ggLJBJgJQi0m7+c+F71dmhQR
 bKxj5oXWdDQOIi4/Utd6VfHbDyFse6urL+usvkL3qDxUSRzyvmRdrM/XQKNc1gG8
 cezRTCJbi4fXkifHoCYS9tFFnURKgyfZ7KjotU1BaGCfxIPulDsbhdcjoxTwZDMB
 bMb9/aw7IwBPMQVLj+2zhTYOalDlHNTnjPm3b35EcfVOE0O1kC5lvjIH9sMeUiL1
 hwkSKr49R7oDmSjfDB02MIidgJhIARSrutGBtD+7bxqPrxRnOymg1VcQ58sW09B1
 GsHrdgwOO0XHjS0OWVf8B5U3PFSAL2M47iMRXQ5+b2uDQ80Pu6qokpdklTRZ0wCB
 ycTaAP+ouaHbCR40+RaG3rTK8ad+IpDdJERMM0KNg0t/LGrUk2o8BJK014ySWHav
 n0dNnrvk54gtrHtugVG+qZmxVn6djx9FS1D/mj3AyuSUtLCaaEwc71Sl/jynVbUT
 IUYu8OvEPUsrf1QzeZQYcBCVBUa07fe7Ubwy8AIcf/GgSn9gZ8Q=
 =Ib7d
 -----END PGP SIGNATURE-----

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

Clean-up for omaps for v6.3

Non-urgent fixes for missing of_node_put() and clk_put(), drop few
unnecessary includes, and fix a typo. None of these are urgent and
can be merged along with other clean-up when suitable.

* tag 'omap-for-v6.3/cleanup-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: OMAP2+: Fix spelling typos in comment
  ARM: OMAP2+: Remove unneeded #include <linux/pinctrl/machine.h>
  ARM: OMAP2+: Remove unneeded #include <linux/pinctrl/pinmux.h>
  ARM: OMAP2+: Fix memory leak in realtime_counter_init()
  ARM: OMAP2+: omap4-common: Fix refcount leak bug

Link: https://lore.kernel.org/r/pull-1674566471-434733@atomide.com-2
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-01-24 21:32:17 +01:00
Srinivas Pandruvada 6757a7abe4 thermal: intel: int340x: Protect trip temperature from concurrent updates
Trip temperatures are read using ACPI methods and stored in the memory
during zone initializtion and when the firmware sends a notification for
change. This trip temperature is returned when the thermal core calls via
callback get_trip_temp().

But it is possible that while updating the memory copy of the trips when
the firmware sends a notification for change, thermal core is reading the
trip temperature via the callback get_trip_temp(). This may return invalid
trip temperature.

To address this add a mutex to protect the invalid temperature reads in
the callback get_trip_temp() and int340x_thermal_read_trips().

Fixes: 5fbf7f27fa ("Thermal/int340x: Add common thermal zone handler")
Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Cc: 5.0+ <stable@vger.kernel.org> # 5.0+
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2023-01-24 21:28:19 +01:00
Daniel Lezcano fee19c6921 thermal: intel: intel_pch: Use generic trip points
The thermal framework gives the possibility to register the trip
points along with the thermal zone.  When that is done, no get_trip_*
callbacks are needed and they can be removed.

Convert the existing callbacks content logic into generic trip points
initialization code and register them along with the thermal zone.

In order to consolidate the code, use an ACPI trip library function
to populate a generic trip point.

Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Reviewed-by: Zhang Rui <rui.zhang@intel.com>
[ rjw: Subject and changelog edits, rebase ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Tested-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
2023-01-24 21:13:42 +01:00
Rafael J. Wysocki 7a0e397488 thermal: ACPI: Add ACPI trip point routines
Add library routines to populate a generic thermal trip point
structure with data obtained by evaluating a specific object in the
ACPI Namespace.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Co-developed-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Tested-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
2023-01-24 21:13:42 +01:00
Tim Zimmermann 40dc192908 thermal: intel: intel_pch: Add support for Wellsburg PCH
Add the PCI ID for the Wellsburg C610 series chipset PCH.

The driver can read the temperature from the Wellsburg PCH with only
the PCI ID added and no other modifications.

Signed-off-by: Tim Zimmermann <tim@linux4.de>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2023-01-24 21:13:25 +01:00
Rafael J. Wysocki 8ef0ca4a17 Merge back other thermal control material for 6.3.
* thermal: (734 commits)
  thermal: core: call put_device() only after device_register() fails
  Linux 6.2-rc4
  kbuild: Fix CFI hash randomization with KASAN
  firmware: coreboot: Check size of table entry and use flex-array
  kallsyms: Fix scheduling with interrupts disabled in self-test
  ata: pata_cs5535: Don't build on UML
  lockref: stop doing cpu_relax in the cmpxchg loop
  x86/pci: Treat EfiMemoryMappedIO as reservation of ECAM space
  efi: tpm: Avoid READ_ONCE() for accessing the event log
  io_uring: lock overflowing for IOPOLL
  ALSA: pcm: Move rwsem lock inside snd_ctl_elem_read to prevent UAF
  iommu/mediatek-v1: Fix an error handling path in mtk_iommu_v1_probe()
  iommu/iova: Fix alloc iova overflows issue
  iommu: Fix refcount leak in iommu_device_claim_dma_owner
  iommu/arm-smmu-v3: Don't unregister on shutdown
  iommu/arm-smmu: Don't unregister on shutdown
  iommu/arm-smmu: Report IOMMU_CAP_CACHE_COHERENCY even betterer
  platform/x86: thinkpad_acpi: Fix profile mode display in AMT mode
  ALSA: usb-audio: Fix possible NULL pointer dereference in snd_usb_pcm_has_fixed_rate()
  platform/x86: int3472/discrete: Ensure the clk/power enable pins are in output mode
  ...
2023-01-24 21:12:49 +01:00
Gustavo Sousa 81f66500f7 drm/i915/dmc: Use unversioned path for ADLP
The new DMC release for ADLP (v2.18) in linux-firmware adopted the new
convention of using unversioned filenames, so update the driver code for
that new release. Keep the latest versioned path as fallback so we do
not cause regressions.

Signed-off-by: Gustavo Sousa <gustavo.sousa@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230123182021.31239-3-gustavo.sousa@intel.com
2023-01-24 14:43:09 -05:00
Gustavo Sousa ff6f11afd7 drm/i915/dmc: Prepare to use unversioned paths
New DMC releases in linux-firmware will stop using version number in
blob filenames. This new convention provides the following benefits:

  1. It simplifies code maintenance, as new DMC releases for a platform
     using the new convention will always use the same filename for the
     blob.

  2. It allows DMC to be loaded even if the target system does not have
     the most recent firmware installed.

Prepare the driver by:

  - Using the new convention for DMC_PATH() and renaming the currently
    used one to make it clear it is for the legacy scheme.

  - Implementing a fallback mechanism for future transitions from
    versioned to unversioned paths so that we do not cause a regression
    for systems not having the most up-to-date linux-firmware files.

v2:
  - Keep using request_firmware() instead of firmware_request_nowarn().
    (Jani)
v3:
  - Keep current DMC paths instead of directly using unversioned ones,
    so that we do not disturb initrd generation.
    (Lucas, Rodrigo)

Signed-off-by: Gustavo Sousa <gustavo.sousa@intel.com>
Cc: Jani Nikula <jani.nikula@intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230123182021.31239-2-gustavo.sousa@intel.com
2023-01-24 14:43:06 -05:00
Viresh Kumar 47e3f00074 thermal: core: Use device_unregister() instead of device_del/put()
Lets not open code device_unregister() unnecessarily.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Yang Yingliang <yangyingliang@huawei.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2023-01-24 20:22:55 +01:00
Viresh Kumar e398421fd0 thermal: core: Move cdev cleanup to thermal_release()
thermal_release() already frees cdev, let it do rest of the cleanup as
well in order to simplify the error paths in
__thermal_cooling_device_register().

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Yang Yingliang <yangyingliang@huawei.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2023-01-24 20:21:49 +01:00
Keith Busch 5a5754a499 nvme-pci: flush initial scan_work for async probe
The nvme device may have a namespace with the root partition, so make
sure we've completed scanning before returning from the async probe.

Fixes: eac3ef2629 ("nvme-pci: split the initial probe from the rest path")
Reported-by: Klaus Jensen <its@irrelevant.dk>
Signed-off-by: Keith Busch <kbusch@kernel.org>
Tested-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Tested-by: Klaus Jensen <k.jensen@samsung.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
2023-01-24 20:16:09 +01:00
Prashant Malani 478f32ab4d platform/chrome: cros_typec_vdm: Fix VDO copy
The usage of memcpy() affects the representation of the VDOs as they are
copied to the EC Host Command buffer. Specifically, all higher order
bits get dropped (for example: a VDO of 0x406 just gets copied as 0x6).

Avoid this by explicitly copying each VDO in the array. The number of
VDOs generated by alternate mode drivers in their VDMs is almost always
just 1 (apart from the header) so this doesn't affect performance in a
meaningful way).

Fixes: 40a9b13a09 ("platform/chrome: cros_typec_vdm: Add VDM send support")
Signed-off-by: Prashant Malani <pmalani@chromium.org>
Reviewed-by: Benson Leung <bleung@chromium.org>
Link: https://lore.kernel.org/r/20230113182626.1149539-1-pmalani@chromium.org
Signed-off-by: Prashant Malani <pmalani@chromium.org>
2023-01-24 19:02:38 +00:00
Victor Ding 13aba1e532 platform/chrome: cros_ec_typec: allow deferred probe of switch handles
`fwnode_typec_{retimer,mux,switch}_get()` could return `-EPROBE_DEFER`,
which is called from `cros_typec_get_switch_handles`. When this happens,
it does not indicate absence of switches; instead, it only hints that
probing of switches should occur at a later time.

Progagate `-EPROBE_DEFER` to upper layer logic so that they can re-try
probing switches as a better time.

Signed-off-by: Victor Ding <victording@chromium.org>
Reviewed-by: Benson Leung <bleung@chromium.org>
Reviewed-by: Guenter Roeck <groeck@chromium.org>
Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Link: https://lore.kernel.org/r/20230124075555.v3.1.I6c0a089123fdf143f94ef4cca8677639031856cf@changeid
Signed-off-by: Prashant Malani <pmalani@chromium.org>
2023-01-24 19:02:38 +00:00
ye xingchen 2eb398df77 KVM: x86: Replace IS_ERR() with IS_ERR_VALUE()
Avoid type casts that are needed for IS_ERR() and use
IS_ERR_VALUE() instead.

Signed-off-by: ye xingchen <ye.xingchen@zte.com.cn>
Link: https://lore.kernel.org/r/202211161718436948912@zte.com.cn
Signed-off-by: Sean Christopherson <seanjc@google.com>
2023-01-24 10:42:09 -08:00
Sean Christopherson 11df586d77 KVM: VMX: Handle NMI VM-Exits in noinstr region
Move VMX's handling of NMI VM-Exits into vmx_vcpu_enter_exit() so that
the NMI is handled prior to leaving the safety of noinstr.  Handling the
NMI after leaving noinstr exposes the kernel to potential ordering
problems as an instrumentation-induced fault, e.g. #DB, #BP, #PF, etc.
will unblock NMIs when IRETing back to the faulting instruction.

Reported-by: Peter Zijlstra <peterz@infradead.org>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lore.kernel.org/r/20221213060912.654668-8-seanjc@google.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
2023-01-24 10:36:41 -08:00
Sean Christopherson 4f76e86f7e KVM: VMX: Provide separate subroutines for invoking NMI vs. IRQ handlers
Split the asm subroutines for handling NMIs versus IRQs that occur in the
guest so that the NMI handler can be called from a noinstr section.  As a
bonus, the NMI path doesn't need an indirect branch.

Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lore.kernel.org/r/20221213060912.654668-7-seanjc@google.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
2023-01-24 10:36:41 -08:00
Sean Christopherson 54a3b70a75 x86/entry: KVM: Use dedicated VMX NMI entry for 32-bit kernels too
Use a dedicated entry for invoking the NMI handler from KVM VMX's VM-Exit
path for 32-bit even though using a dedicated entry for 32-bit isn't
strictly necessary.  Exposing a single symbol will allow KVM to reference
the entry point in assembly code without having to resort to more #ifdefs
(or #defines).  identry.h is intended to be included from asm files only
once, and so simply including idtentry.h in KVM assembly isn't an option.

Bypassing the ESP fixup and CR3 switching in the standard NMI entry code
is safe as KVM always handles NMIs that occur in the guest on a kernel
stack, with a kernel CR3.

Cc: Andy Lutomirski <luto@kernel.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Lai Jiangshan <jiangshanlai@gmail.com>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lore.kernel.org/r/20221213060912.654668-6-seanjc@google.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
2023-01-24 10:36:40 -08:00
Sean Christopherson 432727f1cb KVM: VMX: Always inline to_vmx() and to_kvm_vmx()
Tag to_vmx() and to_kvm_vmx() __always_inline as they both just reflect
the passed in pointer (the embedded struct is the first field in the
container), and drop the @vmx param from vmx_vcpu_enter_exit(), which
likely existed purely to make noinstr validation happy.

Amusingly, when the compiler decides to not inline the helpers, e.g. for
KASAN builds, to_vmx() and to_kvm_vmx() may end up pointing at the same
symbol, which generates very confusing objtool warnings.  E.g. the use of
to_vmx() in a future patch led to objtool complaining about to_kvm_vmx(),
and only once all use of to_kvm_vmx() was commented out did to_vmx() pop
up in the obj tool report.

  vmlinux.o: warning: objtool: vmx_vcpu_enter_exit+0x160: call to to_kvm_vmx()
                               leaves .noinstr.text section

Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lore.kernel.org/r/20221213060912.654668-5-seanjc@google.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
2023-01-24 10:36:40 -08:00
Sean Christopherson 11633f6950 KVM: VMX: Always inline eVMCS read/write helpers
Tag all evmcs_{read,write}() helpers __always_inline so that they can be
freely used in noinstr sections, e.g. to get the VM-Exit reason in
vcpu_vmx_enter_exit() (in a future patch).  For consistency and to avoid
more spot fixes in the future, e.g. see commit 010050a863 ("x86/kvm:
Always inline evmcs_write64()"), tag all accessors even though
evmcs_read32() is the only anticipated use case in the near future.  In
practice, non-KASAN builds are all but guaranteed to inline the helpers
anyways.

  vmlinux.o: warning: objtool: vmx_vcpu_enter_exit+0x107: call to evmcs_read32()
                               leaves .noinstr.text section

Reported-by: kernel test robot <lkp@intel.com>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lore.kernel.org/r/20221213060912.654668-4-seanjc@google.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
2023-01-24 10:36:27 -08:00
Sean Christopherson 8578f59657 KVM: VMX: Allow VM-Fail path of VMREAD helper to be instrumented
Allow instrumentation in the VM-Fail path of __vmcs_readl() so that the
helper can be used in noinstr functions, e.g. to get the exit reason in
vmx_vcpu_enter_exit() in order to handle NMI VM-Exits in the noinstr
section.  While allowing instrumentation isn't technically safe, KVM has
much bigger problems if VMREAD fails in a noinstr section.

Note, all other VMX instructions also allow instrumentation in their
VM-Fail paths for similar reasons, VMREAD was simply omitted by commit
3ebccdf373 ("x86/kvm/vmx: Move guest enter/exit into .noinstr.text")
because VMREAD wasn't used in a noinstr section at the time.

Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lore.kernel.org/r/20221213060912.654668-3-seanjc@google.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
2023-01-24 10:36:26 -08:00
Sean Christopherson fc9465be8a KVM: x86: Make vmx_get_exit_qual() and vmx_get_intr_info() noinstr-friendly
Add an extra special noinstr-friendly helper to test+mark a "register"
available and use it when caching vmcs.EXIT_QUALIFICATION and
vmcs.VM_EXIT_INTR_INFO.  Make the caching helpers __always_inline too so
that they can be used in noinstr functions.

A future fix will move VMX's handling of NMI exits into the noinstr
vmx_vcpu_enter_exit() so that the NMI is processed before any kind of
instrumentation can trigger a fault and thus IRET, i.e. so that KVM
doesn't invoke the NMI handler with NMIs enabled.

Cc: Peter Zijlstra <peterz@infradead.org>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lore.kernel.org/r/20221213060912.654668-2-seanjc@google.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
2023-01-24 10:35:38 -08:00
Alex Deucher f732e2b3c6 drm/amdgpu/vcn4: add missing encoder cap
VCN4.x supports AV1 encode.

Reviewed-by: Leo Liu <leo.liu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2023-01-24 13:26:26 -05:00
Aric Cyr acd82cb42b drm/amd/display: 3.2.220
This version brings along following fixes:
- Fix timing not changning when freesync video is enabled
- avoid disable otg when dig was disabled
- Properly reuse completion structure
- Pass DSC slice height to PSR FW
- merge dc_link_dp into dc_link
- move dp cts functions from dc_link_dp to link_dp_cts
- move dp irq handler functions from dc_link_dp to link_dp_irq_handler
- Enable AdaptiveSync in DC interface
- adjust MALL size available for DCN32 and DCN321
- Set init freq for DCFCLK DS
- Use |= when assigning wm_optimized_required
- move eDP panel control logic to link_edp_panel_control
- create accessories, hwss and protocols sub folders in link
- Disable SubVP for PSR panels

Acked-by: Alan Liu <HaoPing.Liu@amd.com>
Signed-off-by: Aric Cyr <aric.cyr@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2023-01-24 13:26:26 -05:00
Aurabindo Pillai 0f5f1ee45f drm/amd/display: Fix timing not changning when freesync video is enabled
[Why&How]
Switching between certain modes that are freesync video modes and those
are not freesync video modes result in timing not changing as seen by
the monitor due to incorrect timing being driven.

The issue is fixed by ensuring that when a non freesync video mode is
set, we reset the freesync status on the crtc.

Reviewed-by: Nicholas Kazlauskas <Nicholas.Kazlauskas@amd.com>
Acked-by: Alan Liu <HaoPing.Liu@amd.com>
Signed-off-by: Aurabindo Pillai <aurabindo.pillai@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2023-01-24 13:26:26 -05:00