Commit graph

1,398,251 commits

Author SHA1 Message Date
Douglas Anderson
0c9fc6e652 arm64: errata: Add KRYO 2XX/3XX/4XX silver cores to Spectre BHB safe list
Qualcomm has confirmed that, much like Cortex A53 and A55, KRYO
2XX/3XX/4XX silver cores are unaffected by Spectre BHB. Add them to
the safe list.

Fixes: 558c303c97 ("arm64: Mitigate spectre style branch history side channels")
Cc: stable@vger.kernel.org
Cc: Scott Bauer <sbauer@quicinc.com>
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Acked-by: Trilok Soni <quic_tsoni@quicinc.com>
Link: https://lore.kernel.org/r/20250107120555.v4.3.Iab8dbfb5c9b1e143e7a29f410bce5f9525a0ba32@changeid
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2025-03-14 17:58:25 +00:00
Douglas Anderson
e403e85383 arm64: errata: Assume that unknown CPUs _are_ vulnerable to Spectre BHB
The code for detecting CPUs that are vulnerable to Spectre BHB was
based on a hardcoded list of CPU IDs that were known to be affected.
Unfortunately, the list mostly only contained the IDs of standard ARM
cores. The IDs for many cores that are minor variants of the standard
ARM cores (like many Qualcomm Kyro CPUs) weren't listed. This led the
code to assume that those variants were not affected.

Flip the code on its head and instead assume that a core is vulnerable
if it doesn't have CSV2_3 but is unrecognized as being safe. This
involves creating a "Spectre BHB safe" list.

As of right now, the only CPU IDs added to the "Spectre BHB safe" list
are ARM Cortex A35, A53, A55, A510, and A520. This list was created by
looking for cores that weren't listed in ARM's list [1] as per review
feedback on v2 of this patch [2]. Additionally Brahma A53 is added as
per mailing list feedback [3].

NOTE: this patch will not actually _mitigate_ anyone, it will simply
cause them to report themselves as vulnerable. If any cores in the
system are reported as vulnerable but not mitigated then the whole
system will be reported as vulnerable though the system will attempt
to mitigate with the information it has about the known cores.

[1] https://developer.arm.com/Arm%20Security%20Center/Spectre-BHB
[2] https://lore.kernel.org/r/20241219175128.GA25477@willie-the-truck
[3] https://lore.kernel.org/r/18dbd7d1-a46c-4112-a425-320c99f67a8d@broadcom.com

Fixes: 558c303c97 ("arm64: Mitigate spectre style branch history side channels")
Cc: stable@vger.kernel.org
Reviewed-by: Julius Werner <jwerner@chromium.org>
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Link: https://lore.kernel.org/r/20250107120555.v4.2.I2040fa004dafe196243f67ebcc647cbedbb516e6@changeid
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2025-03-14 17:58:25 +00:00
Douglas Anderson
ed1ce84124 arm64: errata: Add QCOM_KRYO_4XX_GOLD to the spectre_bhb_k24_list
Qualcomm Kryo 400-series Gold cores have a derivative of an ARM Cortex
A76 in them. Since A76 needs Spectre mitigation via looping then the
Kyro 400-series Gold cores also need Spectre mitigation via looping.

Qualcomm has confirmed that the proper "k" value for Kryo 400-series
Gold cores is 24.

Fixes: 558c303c97 ("arm64: Mitigate spectre style branch history side channels")
Cc: stable@vger.kernel.org
Cc: Scott Bauer <sbauer@quicinc.com>
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Acked-by: Trilok Soni <quic_tsoni@quicinc.com>
Link: https://lore.kernel.org/r/20250107120555.v4.1.Ie4ef54abe02e7eb0eee50f830575719bf23bda48@changeid
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2025-03-14 17:58:25 +00:00
Isaku Yamahata
adafea1106 KVM: x86: Add infrastructure for secure TSC
Add guest_tsc_protected member to struct kvm_arch_vcpu and prohibit
changing TSC offset/multiplier when guest_tsc_protected is true.

X86 confidential computing technology defines protected guest TSC so that
the VMM can't change the TSC offset/multiplier once vCPU is initialized.
SEV-SNP defines Secure TSC as optional, whereas TDX mandates it.

KVM has common logic on x86 that tries to guess or adjust TSC
offset/multiplier for better guest TSC and TSC interrupt latency
at KVM vCPU creation (kvm_arch_vcpu_postcreate()), vCPU migration
over pCPU (kvm_arch_vcpu_load()), vCPU TSC device attributes
(kvm_arch_tsc_set_attr()) and guest/host writing to TSC or TSC adjust MSR
(kvm_set_msr_common()).

The current x86 KVM implementation conflicts with protected TSC because the
VMM can't change the TSC offset/multiplier.
Because KVM emulates the TSC timer or the TSC deadline timer with the TSC
offset/multiplier, the TSC timer interrupts is injected to the guest at the
wrong time if the KVM TSC offset is different from what the TDX module
determined.

Originally this issue was found by cyclic test of rt-test [1] as the
latency in TDX case is worse than VMX value + TDX SEAMCALL overhead.  It
turned out that the KVM TSC offset is different from what the TDX module
determines.

Disable or ignore the KVM logic to change/adjust the TSC offset/multiplier
somehow, thus keeping the KVM TSC offset/multiplier the same as the
value of the TDX module.  Writes to MSR_IA32_TSC are also blocked as
they amount to a change in the TSC offset.

[1] https://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git

Reported-by: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com>
Message-ID: <3a7444aec08042fe205666864b6858910e86aa98.1728719037.git.isaku.yamahata@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2025-03-14 13:55:44 -04:00
Isaku Yamahata
5f3b30b2b0 KVM: x86: Push down setting vcpu.arch.user_set_tsc
Push down setting vcpu.arch.user_set_tsc to true from kvm_synchronize_tsc()
to __kvm_synchronize_tsc() so that the two callers don't have to modify
user_set_tsc directly as preparation.

Later, prohibit changing TSC synchronization for TDX guests to modify
__kvm_synchornize_tsc() change.  We don't want to touch caller sites not to
change user_set_tsc.

Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com>
Message-ID: <62b1a7a35d6961844786b6e47e8ecb774af7a228.1728719037.git.isaku.yamahata@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2025-03-14 13:55:32 -04:00
James Clark
2fdbf2ff38 arm64/sysreg: Enforce whole word match for open/close tokens
Opening and closing tokens can also match on words with common prefixes
like "Endsysreg" vs "EndsysregFields". This could potentially make the
script go wrong in weird ways so make it fall through to the fatal
unhandled statement catcher if it doesn't fully match the current
block.

Closing ones also get expect_fields(1) to ensure nothing other than
whitespace follows.

Signed-off-by: James Clark <james.clark@linaro.org>
Acked-by: Will Deacon <will@kernel.org>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Link: https://lore.kernel.org/r/20250115162600.2153226-3-james.clark@linaro.org
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2025-03-14 17:54:44 +00:00
James Clark
00cb1e01cd arm64/sysreg: Fix unbalanced closing block
This is a sysreg block so close it with one. This doesn't make a
difference to the output because the script only matches on the
beginning of the word to close blocks which is correct by coincidence
here.

Signed-off-by: James Clark <james.clark@linaro.org>
Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Acked-by: Will Deacon <will@kernel.org>
Link: https://lore.kernel.org/r/20250115162600.2153226-2-james.clark@linaro.org
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2025-03-14 17:54:44 +00:00
Arnd Bergmann
56beaf1444 Samsung DTS ARM64 changes for v6.15
1. Google GS101:
  - Disable GSA core pinctrl because its registers are not available for
    normal world.
  - Add APM (Active Power Management) mailbox and the ACPM firmware nodes.
  - Add new boards: Google Pixel 6 Pro (Raven).
  - Enable framebuffer and reboot-mode.
 
 2. Exynos990:
  - Add PERIS clock controller, MCT timer
 
 3. Exynos8895:
  - Define all remaining serial engine (USI) and syscon nodes, add MMC.
  - Enable microSD and touchsreen on Samsung Galaxy S8 (dreamlte).
 
 4. ExynosAutov920: Add UFS and CPU cache information.
 
 5. Various cleanups.
 
 This includes two topic branches with DT bindings, which might be shared
 with other trees depending on needs:
 1. for-v6.15/samsung-clk-dt-bindings with Exynos990 clock controller
    header constants.
 2. for-v6.15/samsung-soc-dt-bindings with Exynos USI serial engines
    header constants rework.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmfN4bEQHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD1wy7EACAh54/LUmLUP2RDSVPAXsYXkyiL+xbvdWQ
 Twa0rp6szLxfuTxQgH3oPGKuQ9f/zHJ+ZgXzf5gTUDlIxhvY2TCoKTNKbEaobDSW
 pCRoBKYogpqeJ7UBC9uTwZlWvI6flbgb7riFYUa2sOFbwCid0rvlo/TeqR8OTuWj
 NkYI6jfjRWD9qbriW+B9xPW2tgb+jMQGlUKDbDcaF9TRK4XEhLmHiQWudnUXbdSR
 LuJgBu7+T0CRwiUymp3IMeNK8Qxcv/2MdqYHZjIwX2S4Ftv2u+JbRBViUROOsEQX
 Rd8LztrLtyyRiqS4Jchc29XPDAEiiWIkJhbdJW5k3Kffk2ADAQznQSgSYhQ7kdzB
 nAKhGOstCITUnec9nQuS/hzT7wnpOkpBjRCiZfdKV66Rp2b32rDcNskwvUaRu1oV
 lclzHJWnGQRtTNQ2AQBE4t4Cl+79UopO1r5Y4F4q4VM5zTcp4VttLJdt4NQIq6Mk
 mgSC8U9aa4YmB+wWthTIaASXI2ml4xj/DA75QdBbIgVNNvyJPiaFQvBsJW1jQ5E9
 ZzScu9nju3SjOezDtEZLk3aLRrE8D8bB9lWYveim7m3HsmVFTsYBqrr8uWJrlwma
 kzqPOlLSzVgEomM7mRC/OgjVg70ds6krDR+sDhYC3y0w0Xdgx9nwIKFDGBLBO0QQ
 p0225H4AGA==
 =RKN2
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmfUa6EACgkQYKtH/8kJ
 UieFAhAAyE7m6jdNTkJStfCQjIXHbxdi6yKogmkduUpZzcIm0Wb5yShey6Sv6Boc
 HLLI8QG56o81pKshhn4yJSfphT7M0gSauhvEBl8xAgli6ysZ9MGhRaL+OqM2xvPO
 6x2csEpWEvKSLjtrFWOUg9F0szParJh29DwjzM9xapjjLG2UB2+pLgNYOCAy4xt8
 2cRUbTCIHM2AwfNL1wRIJG07Ji68QLCQAiPnuLBzUnvm4xvDxk6QXNcS1+kHLalS
 /AdPGsOPrcnll2b5uuvcysmSmRdN2urUCLMWx1dBed3JqmsSwXVGW7IdV0i0c4da
 cwPDkwu6IVM+fAV225DSwQ7TDUK+mVblyx84vW2SeVY5QZy60zlIJz2wx7cX0+yd
 rkVAIRmucXcwDd4YT5gZiCfPXph0C0GRIHlefalSOG1dyJmH7NaO1YezdfSqtFcQ
 ksCBFB+VUUZlslxd3hd9fj9Hj4sDoaqH8U2v4/6uT1nuD+ujoP4nKKgf+tapn1Zu
 JhEzApiv+Yr22n8DhZMiBs8F7toldlUmN4lIDEkq2PqnXxYYTZ7FpNLKRofXlxAE
 NKVKm4RWGMjWLl4i9svKOyKwh9VzktxwOxlZBVqYMWDmV/LLm0+394VIRcbAA6Ij
 IOqjJzWxidSTDHjF9wM9aCT/BfnqynBULRpqStyjEZZyBg51ei8=
 =tdEq
 -----END PGP SIGNATURE-----

Merge tag 'samsung-dt64-6.15' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into soc/dt

Samsung DTS ARM64 changes for v6.15

1. Google GS101:
 - Disable GSA core pinctrl because its registers are not available for
   normal world.
 - Add APM (Active Power Management) mailbox and the ACPM firmware nodes.
 - Add new boards: Google Pixel 6 Pro (Raven).
 - Enable framebuffer and reboot-mode.

2. Exynos990:
 - Add PERIS clock controller, MCT timer

3. Exynos8895:
 - Define all remaining serial engine (USI) and syscon nodes, add MMC.
 - Enable microSD and touchsreen on Samsung Galaxy S8 (dreamlte).

4. ExynosAutov920: Add UFS and CPU cache information.

5. Various cleanups.

This includes two topic branches with DT bindings, which might be shared
with other trees depending on needs:
1. for-v6.15/samsung-clk-dt-bindings with Exynos990 clock controller
   header constants.
2. for-v6.15/samsung-soc-dt-bindings with Exynos USI serial engines
   header constants rework.

* tag 'samsung-dt64-6.15' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux: (25 commits)
  arm64: dts: tesla: Change labels to lower-case
  arm64: dts: exynos: gs101: Change labels to lower-case
  arm64: dts: exynosautov920: add ufs phy for ExynosAutov920 SoC
  arm64: dts: exynosautov920: add CPU cache information
  arm64: dts: exynos: gs101: add ACPM protocol node
  arm64: dts: exynos: gs101: add AP to APM mailbox node
  arm64: dts: exynos: gs101: add SRAM node
  arm64: dts: exynos: gs101: add reboot-mode support (SYSIP_DAT0)
  arm64: dts: exynos: gs101: align poweroff writes with downstream
  arm64: dts: exynos: gs101: drop explicit regmap from reboot nodes
  arm64: dts: exynos8895: Rename PMU nodes to fixup sorting
  arm64: dts: exynos8895-dreamlte: enable support for the touchscreen
  arm64: dts: exynos8895-dreamlte: enable support for microSD storage
  arm64: dts: exynos8895: add a node for mmc
  arm64: dts: exynos8895: define all usi nodes
  arm64: dts: exynos8895: add syscon nodes for peric0/1 and fsys0/1
  arm64: dts: exynos990: Rename and sort PMU nodes
  arm64: dts: exynos990: Add CMU_PERIS and MCT nodes
  dt-bindings: soc: samsung: usi: add USIv1 and samsung,exynos8895-usi
  dt-bindings: clock: exynos990: Add CMU_PERIS block
  ...

Link: https://lore.kernel.org/r/20250309185601.10616-2-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-03-14 18:47:13 +01:00
Arnd Bergmann
93aa01ba32 Apple SoC DT updates for 6.15, final batch:
- Added touchbar screen nodes for M1/M2 platforms
 - Added backlight nodes for iPhone, iPad and iPod touch
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQS3vz815OHsEaWy0u9EEX0kKnUe6QUCZ816bQAKCRBEEX0kKnUe
 6VRXAQCmKIcMtty/S1Sg5tTs9VOskW2txSyM2o0PTzTIxwgkoQD+Oa8nohI/m5+H
 Q28T20faWDAS4nb3GaWtGNkbV8H6WAw=
 =N9oK
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmfUa3kACgkQYKtH/8kJ
 Uiftrw//XFd255D1fMXG93tYfXcOqPpCm8aXPw8tGob9fGYRftwOHg6z9epy5lr0
 JyZhJFuM8wCoQCeqmzH9PhArHGIyv7O6MvoTTIsxnIup4oqpJmSnUT0VC/vq7Aa7
 0sGre6okbIoAnUCK8w6R5PtyO7/qTDTLqCZEqK0pPX8SdzFNmPKus1lEk/3qDhDF
 G8SPP7avhNwsbuRMxfmjw4MCPUav4qlKJ/LmKCVsTyXPqDZ+TLd9QmDqTWsoyEDf
 a0cenzYSTrGYzyThNjHjYA9qcDDSKaQnENUy5Wab2gLEfGsx1XT7GR3jwlaWkwM7
 f8GS0f3iIdK5i9K1t3HDTy3AmFtol1+vNxyOCEMWPRUG5BMdt42u3z2czEYWZqep
 7aBg5XH26AObuxybi8/7qcIs3+1zlGv8MgVMTuYYCF2HClgMZuCvPAQYx1fW3EPz
 6UbQhfiVAVXLoTtpoj/WuESIkiuu1hzIypwK4cfNXEwBDRAtz57GcTfnmpWcBmah
 H3wBHNXkNriQuFECCzdqfCAMi25YCWBz0JTiA2JPCB9d4Uk0f0DVEbogyU4XKEtV
 6MlM2+6838MsDCBh22ECqtR5eVJPAUwAzw29XaMx1H6n5UoiImSmM9RSIt2byuRv
 Ig7hnV+29Vc0dtnWcmorHgFBdQwkLIPimao2D0ssGSc60B0EHJM=
 =Chp2
 -----END PGP SIGNATURE-----

Merge tag 'asahi-soc-dt-6.15-v3' of https://github.com/AsahiLinux/linux into soc/dt

Apple SoC DT updates for 6.15, final batch:

- Added touchbar screen nodes for M1/M2 platforms
- Added backlight nodes for iPhone, iPad and iPod touch

* tag 'asahi-soc-dt-6.15-v3' of https://github.com/AsahiLinux/linux:
  arm64: dts: apple: t8015: Add backlight nodes
  arm64: dts: apple: t8010: Add backlight nodes
  arm64: dts: apple: s800-0-3: Add backlight nodes
  arm64: dts: apple: t7000: Add backlight nodes
  arm64: dts: apple: s5l8960x: Add backlight nodes
  arm64: dts: apple: Add touchbar screen nodes

Link: https://lore.kernel.org/r/20250309113212.48137-1-sven@svenpeter.dev
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-03-14 18:46:33 +01:00
Paolo Bonzini
46c49372e1 KVM: x86: move vm_destroy callback at end of kvm_arch_destroy_vm
TDX needs to free the TDR control structures last, after all paging structures
have been torn down; move the vm_destroy callback at a suitable place.
The new place is also okay for AMD; the main difference is that the
MMU has been torn down and, if anything, that is better done before
the SNP ASID is released.

Extracted from a patch by Yan Zhao.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2025-03-14 13:45:36 -04:00
Arnd Bergmann
d1221aeb5a New boards: MNT-Reform2 laptop (rk3588), OrangePi5-Ultra (rk3588),
Radxa Rock 4D (rk3576), Firefly ROC-RK3576-PC, Photonicat (rk3568)
 
 New overlays: Video-adapters for Theobroma boards and one adapter used
 in hw test scenarios.
 
 Interesting bigger changes contain clock support for rk3528; support for
 the hdmi1 controller as well as hdmi-audio support on both controllers on
 rk3588; the hdmi-receiver of the rk3588 landed, and rk3576 got basic
 graphics support and can now do hdmi output.
 
 Another big block is that we're now doing overlays way better and are
 including build-testing for applied overlays to the base dtb - similar
 to how other arches already do this.
 
 Of cours a big list of more controllers for rk3576 (nvmem, sfc), rk3588
 (rng, spdif, regulator for gpu power-domain) and rk3528 (saradc, pinctrl)
 
 And a huge number of board-level improvements and additions.
 -----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCAAuFiEE7v+35S2Q1vLNA3Lx86Z5yZzRHYEFAmfMhrcQHGhlaWtvQHNu
 dGVjaC5kZQAKCRDzpnnJnNEdgS+yCACGOX4BatsdndoOWcr+SeySPVq8CWGONLyk
 WPPFC/2JA/a+oFr1YurPZW3+mVfL1ZVauqO7NZluE+6CJOc8+FqobkMOIvJJv15J
 jqhGGFLy83IUVwErgGpaxtwQNNPoQahSJuEDmv161knThRaTIjW1w/nrVcEMhSWp
 YX73mKQcV2jUbQC/wfJzcryhAA5WJP4NGkPhO34PEyASiSbxsCpHIrWaZb1/EfBP
 4nI6mSr1FpQgNsByUQPlSTbN5Yja9/BBWRZ42MIIyPlKKw/TqnMcW4eeHqhA5DS8
 nNbZpHnc0Oz6SPAgSSQj0RYRf2UhubxH46ileWBuMf7IG049Sl/J
 =yF4g
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmfUas0ACgkQYKtH/8kJ
 UicarRAAuLrdhmWzSJCLo+Cot4LUzh8+l9DRpsmr++wkUyHDpDY/n6y78xqPpPE/
 6Xq2PiVRypr7A/4wQn+7zYFjujlMYTceyMGGoyMwh3iQXD/u4OrEtHlOir1YEPS9
 zEf7c7Lk6e0WgA1S4tTbKkH7OK7+M8S9fiFW9UCXTvK9+Xp1CjXSKuDlHqvXqDOs
 HQtZ587868iYj05hBgLavD0Wucedo+ntuYGMnF0a3zPf2m2q4dc5irdoAAVpwMyJ
 LhCt59rSR0ZfqviW/pgOg1d5B86cVDzi4CCB6b81MQnE0T0/B19lt68nwB8b+Yu0
 MqKoIGt3WWN0SJH4taTt0VGwSwKqtymqyVl1bemCwNwxT5cNmRqcQCxaglTKInQg
 RBkPuxK//HnknD1nHtWBi47iBpCQW88waG91WivY2iaJCa317C3B+m76iMdBIDGR
 ZkjymDjtrEHekJuyJH4ksDqyR0FI/WPWotO9Xpa0yscm92N3Ld/ghqtUw7guDy97
 cdSLl4HYSl5cM3eWlBuyeq4pvFnWQ8IXObO4UdoNYNBS/cE9rV/OYqiXxoRAEVey
 i3gUsgHtcmyfVnnqGuFC/6obC9LGWJq4xnyccsPERI6dEDERhjCx9xNjUuxblfT5
 kNzxBK8a8FpSoQjJ47nJat/xMIwPoWBlOsGp7joKcRYBXmgGChs=
 =EFnK
 -----END PGP SIGNATURE-----

Merge tag 'v6.15-rockchip-dts64-1' of https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into soc/dt

New boards: MNT-Reform2 laptop (rk3588), OrangePi5-Ultra (rk3588),
Radxa Rock 4D (rk3576), Firefly ROC-RK3576-PC, Photonicat (rk3568)

New overlays: Video-adapters for Theobroma boards and one adapter used
in hw test scenarios.

Interesting bigger changes contain clock support for rk3528; support for
the hdmi1 controller as well as hdmi-audio support on both controllers on
rk3588; the hdmi-receiver of the rk3588 landed, and rk3576 got basic
graphics support and can now do hdmi output.

Another big block is that we're now doing overlays way better and are
including build-testing for applied overlays to the base dtb - similar
to how other arches already do this.

Of cours a big list of more controllers for rk3576 (nvmem, sfc), rk3588
(rng, spdif, regulator for gpu power-domain) and rk3528 (saradc, pinctrl)

And a huge number of board-level improvements and additions.

* tag 'v6.15-rockchip-dts64-1' of https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: (89 commits)
  arm64: dts: rockchip: Add SPI NOR device on the ROCK 4D
  arm64: dts: rockchip: Add SFC nodes for rk3576
  arm64: dts: rockchip: Add maskrom button to Radxa E20C
  arm64: dts: rockchip: Add SARADC node for RK3528
  arm64: dts: rockchip: Add user button to Radxa E20C
  arm64: dts: rockchip: Add leds node to Radxa E20C
  arm64: dts: rockchip: Add HDMI support for rock-4d
  arm64: dts: rockchip: enable SCMI clk for RK3528 SoC
  arm64: dts: rockchip: Enable HDMI receiver on rock-5b
  arm64: dts: rockchip: Add device tree support for HDMI RX Controller
  arm64: dts: rockchip: Add rk3528 QoS register node
  dt-bindings: mfd: syscon: Add rk3528 QoS register compatible
  arm64: dts: rockchip: add MNT Reform 2 laptop
  dt-bindings: arm: rockchip: Add MNT Reform 2 (RCORE)
  dt-bindings: soc: rockchip: Add RK3528 VPU GRF syscon
  dt-bindings: soc: rockchip: Add RK3528 VO GRF syscon
  arm64: dts: rockchip: Enable hdmi out display for rk3576-evb-v10
  arm64: dts: rockchip: Enable hdmi display on sige5
  arm64: dts: rockchip: Add hdmi for rk3576
  arm64: dts: rockchip: Add vop for rk3576
  ...

Link: https://lore.kernel.org/r/13791512.uLZWGnKmhe@phil
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-03-14 18:43:41 +01:00
Arnd Bergmann
ae960a2d85 arm64: tegra: Device tree changes for v6.15-rc1
This contains a patch to remove an unusable key that was erroneously
 exposed as well as a fix to support GPUs with a large amount of video
 memory on IGX Orin.
 
 Finally, some additional devices, such as a temperature sensor, are
 enabled on Jetson TX1, the output voltage of some pins is adjusted and
 the VDD_LCD_1V8_DIS power supply now uses the correct enable GPIO.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmfLL9MACgkQ3SOs138+
 s6Eoeg/+IEbLEwrIe1YugGzBF99Bhyaffvbh8GM/tp/EUyyrwOvzN1ROk7EFbtSY
 WyHWPoajqyUvCccHG+ZaB/tLIVjgHZH3SZ2WZuoI7q0mc1n8yBkw3qdw/WcVh9ud
 LeTaFR6059TE3cVZBDeO5AUsamo7EZLoypLY6WKZe/4VEC2SCcs3ouF1j6AazONa
 yTFmALoj1s4Aerr2kJfn5HMOYh1aEfmMqm3g+RnXcp/WRGnkoh1L0St+9n30krC/
 rZfWPM8o06jTu+SJmYJOWcXaHFs5rroV4MWZg0joez1tMZY3pHTBrJSZO1z+hizK
 8p7FtNbUILcVo9PXFZ5lOfm0l08mQ5Xl2YkWoSsXbxbc42UAALlhfN5fmbJ1v2sv
 iRxuaXoNlFoVrvEagGY4r0J/pPLU0OuAGIemob/oY42+eRVIUbixZ9naBlB8yMqh
 SaQ9ciTwdqq+EYvjgj/6HKC9cGr8MMtZEfkN3oLCD0gqt6Lzq9OH5f1x6/0YI3JX
 7B72rfwukT3o0mRcJIUz3D/2W9FHQXZydoExeRIGm8o0bDFzFRi/gf4zgW1LI64/
 DdgnUK7I6R7fgcJRwgPTe1OmhyCbP865KhgDGuPR8DvctAiGeK0PdAwXYIbDi0OP
 8yHsUHVzEh7tPMhu9dQR/oL0OwL7ngVYWSjZ0NRbaDw8eaD0Nks=
 =f5mG
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmfUaooACgkQYKtH/8kJ
 UifbuRAAuv5D14B2Aqnx24EDIPX4ztabKekBINWC1bMcMqqMOTgiWqsxRg07qT8J
 eKV1MMAquk889MqsrKhr48EKX4QznboFkZwI4UrLd+kzM02puZOQtkrRkTKL02Q4
 p9zAScx6MIhQseuY10+GfYC6d1y+F89qzrSoDKvD4kMEblNOqT/54iZwPtDiYZi5
 04+Ou0/96ikV89M6p6MRcl6R3QanA85rJwHiS+3DW+JFz0VGQ39Dmi3N9ubT5Psp
 prjodBjtfgzKvuArjVa2RiRe6jwPFtQiOiUEr60mjUJCxOZrkgWTzK6PCyGpiBd9
 9TUkSMss7lB2d4AXVOgQtMxo5yyGD2L6X+2FPWTQstvo5Je/iDhVPkPQUTAWwZB4
 WLVzhLXLE5jd/zto80Q5icKVIllGRsJeW/pythIDr9YkpB6Zo/lq8MH/ycJtP1R2
 ku1quhJYJ8gp1GE6iwYB3JgCD7gluvDZ/kkVMfZH3vOcUSp4PZ1OMSLhg+a/sUYZ
 Pv9l2GlUQ5C6H6yf/F8VQKLT5xZCo/iQw6AdJlPCv0r+hNxgDjvhcURO7V1zxRbt
 Y6DwChii2SXJyYu/Cvd4KW6Kn3603OxzcJEcb+/3tC9gzdBVGtU1LOnvyic7rmZm
 9iqIht8NtHreshVt/VEriUFwbs/w3IcHZUZ6hZNduFF8ZvM9Mw8=
 =0hwA
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-6.15-arm64-dt-v2' of https://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into soc/dt

arm64: tegra: Device tree changes for v6.15-rc1

This contains a patch to remove an unusable key that was erroneously
exposed as well as a fix to support GPUs with a large amount of video
memory on IGX Orin.

Finally, some additional devices, such as a temperature sensor, are
enabled on Jetson TX1, the output voltage of some pins is adjusted and
the VDD_LCD_1V8_DIS power supply now uses the correct enable GPIO.

* tag 'tegra-for-6.15-arm64-dt-v2' of https://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  arm64: tegra: p2180: Add TMP451 temperature sensor node
  arm64: tegra: p2597: Enable TCA9539 as IRQ controllers
  arm64: tegra: Define pinmuxing for gpio pads on Tegra210
  arm64: tegra: p2597: Fix gpio for vdd-1v8-dis regulator
  arm64: tegra: Resize aperture for the IGX PCIe C5 slot
  arm64: tegra: Remove the Orin NX/Nano suspend key

Link: https://lore.kernel.org/r/20250307174938.3456275-1-thierry.reding@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-03-14 18:42:34 +01:00
Veronika Molnarova
02ba09c8ab perf test stat_all_pmu.sh: Correctly check 'perf stat' result
Test case "stat_all_pmu.sh" is not correctly checking 'perf stat' output
due to a poor design. Firstly, having the 'set -e' option with a trap
catching the sigexit causes the shell to exit immediately if 'perf stat' ends
with any non-zero value, which is then caught by the trap reporting an
unexpected signal. This causes events that should be parsed by the if-else
statement to be caught by the trap handler and are reported as errors:

    $ perf test -vv "perf all pmu"
    Testing i915/actual-frequency/
    Unexpected signal in main
    Error:
    Access to performance monitoring and observability operations is limited.

Secondly, the if-else branches are not exclusive as the checking if the
event is present in the output log covers also the "<not supported>"
events, which should be accepted, and also the "Bad name events", which
should be rejected.

Remove the "set -e" option from the test case, correctly parse the
"perf stat" output log and check its return value. Add the missing
outputs for the 'perf stat' result and also add logs messages to
report the branch that parsed the event for more info.

Fixes: 7e73ea4029 ("perf test: Ignore security failures in all PMU test")
Signed-off-by: Veronika Molnarova <vmolnaro@redhat.com>
Tested-by: Qiao Zhao <qzhao@redhat.com>
Link: https://lore.kernel.org/r/20241122231233.79509-1-vmolnaro@redhat.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
2025-03-14 10:41:34 -07:00
Yujie Liu
fa9bc517af perf script: Update brstack syntax documentation
The following commits added new fields/flags to the branch stack field
list:

commit 1f48989cdc ("perf script: Output branch sample type")
commit 6ade6c6460 ("perf script: Show branch speculation info")
commit 1e66dcff7b ("perf script: Add not taken event for branch stack")

Update brstack syntax documentation to be consistent with the latest
branch stack field list. Improve the descriptions to help users
interpret the fields accurately.

Signed-off-by: Yujie Liu <yujie.liu@intel.com>
Reviewed-by: Leo Yan <leo.yan@arm.com>
Reviewed-by: Sandipan Das <sandipan.das@amd.com>
Link: https://lore.kernel.org/r/20250312072329.419020-1-yujie.liu@intel.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
2025-03-14 10:41:08 -07:00
Arnd Bergmann
bbfdbbd626 dt-bindings: Changes for v6.15-rc1
This adds compatible strings for Tegra114 HDA and Tegra124 MIPI.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmfLGt0ACgkQ3SOs138+
 s6FTzhAAot07K2AnHF3pOLM/+HjKvjD1xW1EQDBIIhr6rAAjEIHh/7/7dNL/b8XS
 1cCgk+CA/p/7weqgSfP6WX7k5gyM+AADd+GyBN4F7KbXaHzikja+Va5x9RuJAFr5
 Xfy/xQmcvWxEgwJJTwJdB+CNMtkC53Hm0Wd3SxbW5UgwDHWgDpPozSLQTjCyHKpx
 aBls0yIf+Sp3oQjL/kfOpXcZ5PwStyNHBrJbMi9qG5IXfb37cxKnP7iUzLH2mWSk
 iVtcw4/edonvuhgUZ1kiP8RxPzai017DVH+wrqmU3UglNC+dmLzTKur8ZrL1PKFH
 +ikBVJ+MaEi1P+lODgFPZufiv+9akv8VrE4c0I58aVGi6r99IXdmICns/60k2Aam
 0HmRuYbCCJeRNNnheJt1pZ73APceItUBijpoG1a8AY0a11wuuOTIfb6v8Q9DCDVb
 oa3OdXTjr06L+WLMVyxWHl10lwE9HBTmx39MsEiCNqNT1/hO6rVhV1DvV+dLuvaQ
 /yS2gVXKtLEuL3PY88+yOdwZ3qEhJykOK9JL7CLdxTJUE4jutxKPg7bM8s1stIEW
 bQn+6cihvr0Y53Ef6EwPz02XfMfwt5f02kS6l05wd25yGhUA0e0FRV8ulTR+8rWW
 vDs8lhxHsy4pZxCC6XmJ6VFsiAL1m/QlxGWZyrwu8Z11B7FNVKc=
 =OADk
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmfUaSEACgkQYKtH/8kJ
 Uicntw/+MRsQ3RbWwuxEj8lotmXYnPJlhinCVrCotHJ5rdSWwBat4RXPH4cu6x0+
 pKLgcQpnVHCobONk9M3be6mzp0B7DaykQQg/3L6oYzanmjxBDtjEn4Yy2IPTAh48
 MzWz3Q1Eu+lKo9IAMTTDo4kQzkNSAP9tJBfm30s5GXw6C4Z1J6yNOzybNuHrZxCT
 B1V0LQklPLCkPmHSK5KjwJF0s4C+BTKo64Nm60i0eMKBEL5/NLCwbt/oDrDe/W+t
 GGLKgnacbswutjxSLeyXKPFhFwKwlOBSLUFK3v2TjtJFbnPtspigVGLrWUie7tS0
 69BJzLZYenbtGqOaSb+JV12/48EpT6hiEa6DiJo3RByDlN70Ao6yU2hUPekwWD1t
 OjJG4t/iCoBDSlYF5vWDadzsJOv78oxeqzJ0jXjIfqb9cInTnWB5YM1sTTzZA1Mb
 o299sbxcrFA8GOsCachFAeS0Q5A3tb11UrnS6/8uA454n8yg9bcwcl2JhknClmoh
 9XQUb5jAebX8eZAoUboAe+Eq4XTTgVsPvtmKpxMplXp7FiOy7VvFj3Sk5p+DmaQf
 FtMFGiComkT3jqjQe9D6TUJJ3rfmFamCNVc1+hjW2KYx8LqKMtcNOyJvvlTLJtrB
 MLbOPlA8RgispMW1rTvdLvOHmxt5U4oQY2Ta16EZH3ndD5JTebI=
 =veWQ
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-6.15-dt-bindings' of https://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into soc/dt

dt-bindings: Changes for v6.15-rc1

This adds compatible strings for Tegra114 HDA and Tegra124 MIPI.

* tag 'tegra-for-6.15-dt-bindings' of https://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  dt-bindings: Document Tegra114 HDA support
  dt-bindings: display: tegra: Document Tegra124 MIPI

Link: https://lore.kernel.org/r/20250307162332.3451523-3-thierry.reding@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-03-14 18:36:33 +01:00
Rob Herring (Arm)
58fcd0b729
arm64: dts: amd/seattle: Drop undocumented "spi-controller" properties
"spi-controller" is not a documented property nor used anywhere, so drop
it.

Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20250306-dt-amd-fixes-v1-4-011c423ba99a@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-03-14 18:34:14 +01:00
Rob Herring (Arm)
6268ac369b
arm64: dts: amd/seattle: Fix bus, mmc, and ethernet node names
Use preferred node names for bus, mmc, and ethernet.

Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20250306-dt-amd-fixes-v1-3-011c423ba99a@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-03-14 18:34:14 +01:00
Rob Herring (Arm)
8945ed5c8e
arm64: dts: amd/seattle: Move and simplify fixed clocks
The fixed clocks are not part of "simple-bus", so move them out of the
bus to the top-level. In the process, use the preferred node names of
"clock-<freq>". There's also little reason to have multiple fixed
clocks at the same frequencies, so remove them keeping the labels
to minimize the change.

Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20250306-dt-amd-fixes-v1-2-011c423ba99a@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-03-14 18:34:13 +01:00
Rob Herring (Arm)
bae2bdde42
arm64: dts: amd/seattle: Base Overdrive B1 on top of B0 version
AMD Overdrive B1 version is just more peripherals enabled over B0
version. Rework the B1 .dts to use the B0 .dts.

Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://lore.kernel.org/r/20250306-dt-amd-fixes-v1-1-011c423ba99a@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-03-14 18:34:13 +01:00
Arnd Bergmann
14833afa5b Renesas DTS updates for v6.15 (take two)
- Add GPU support for the RZ/V2H(P) SoC and the RZ/V2H EVK board.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCZ8sSMQAKCRCKwlD9ZEnx
 cDdSAQCkYv8LTN4DrlZjOxaUjFabUv4i10e6hA8IKmud9EKwggD/dqAShG/m0b3v
 kKvVfxKDWnd7jTyH6vpCeAiw5HcKuQY=
 =mfSx
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmfUaGsACgkQYKtH/8kJ
 UichTg//RiZCAdT6HWZF4lbw5OH+CaDtG5DGlgvZOmIHQa9UYPJRnk4s0sp6PZ7t
 b15ohnpWssBcSoJVH5dWeplHY2Y7H59shV+8jf+sf8OCOiGsAPfjZmkhpZyb+sci
 jNCfT0QcrDEnEMa6jET9oLfWmj3g8h0lK03SixkH4vCCLVqKIlo2gfbW9IxwPyeY
 SaL/bOoY/ycH3+01klRAPCrINiUqC2JRHhkUnoa9lwKH4AZRYmktvKayZNrn+lTE
 kldcDrEl6RghLPaQBPHpmgVv1TuwYqvlOT18TUsjHZjBdpckbWuiOyItmDFPK+G6
 k57vVDmAqWmY+MmWq90zC74JZryx6Gj65bZOHjvAAsDP7XWPVvmmY00pKZf044nr
 SIUUxw6RdCvE02dGovLEzh8cf1Cel5rYwZaoZ4G754CEzI9M/TtbJODCCWxNl2IX
 5hg7s/qB6qEohdEcBIHyCzel+ZMBMznha1Y5mSzYa17g/5Gxg3iAoGWFgGWJhQcq
 npGf28xb0+crUHb98uCgPpSCc+ba/iMQZ+zIUrXUL4GYjFDsUPWaEKYfYv35bPHS
 p8xrZUw8dOLGwu2h0WIyA822ytzkfh2wigA2r63cDi+mu0+S8HvmxM40ujtZpzTH
 p1Z1oB/OcpRXzz4Xa1cvsvfhx/ht80iXXoyqHFpM1ounWC4gI0w=
 =3lmS
 -----END PGP SIGNATURE-----

Merge tag 'renesas-dts-for-v6.15-tag2' of https://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into soc/dt

Renesas DTS updates for v6.15 (take two)

  - Add GPU support for the RZ/V2H(P) SoC and the RZ/V2H EVK board.

* tag 'renesas-dts-for-v6.15-tag2' of https://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  arm64: dts: renesas: r9a09g057h44-rzv2h-evk: Enable Mali-G31
  arm64: dts: renesas: r9a09g057: Add Mali-G31 GPU node

Link: https://lore.kernel.org/r/cover.1741362039.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-03-14 18:33:31 +01:00
Yicong Yang
eed4583bcf arm64: Kconfig: Enable HOTPLUG_SMT
Enable HOTPLUG_SMT for SMT control.

Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: Pierre Gondois <pierre.gondois@arm.com>
Reviewed-by: Dietmar Eggemann <dietmar.eggemann@arm.com>
Signed-off-by: Yicong Yang <yangyicong@hisilicon.com>
Reviewed-by: Sudeep Holla <sudeep.holla@arm.com>
Link: https://lore.kernel.org/r/20250311075143.61078-5-yangyicong@huawei.com
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2025-03-14 17:31:05 +00:00
Yicong Yang
e6b18ebfaf arm64: topology: Support SMT control on ACPI based system
For ACPI we'll build the topology from PPTT and we cannot directly
get the SMT number of each core. Instead using a temporary xarray
to record the heterogeneous information (from ACPI_PPTT_ACPI_IDENTICAL)
and SMT information of the first core in its heterogeneous CPU cluster
when building the topology. Then we can know the largest SMT number
in the system. If a homogeneous system's using ACPI 6.2 or later,
all the CPUs should be under the root node of PPTT. There'll be
only one entry in the xarray and all the CPUs in the system will
be assumed identical.

The framework's SMT control provides two interface to the users [1]
through /sys/devices/system/cpu/smt/control
(Documentation/ABI/testing/sysfs-devices-system-cpu):

1) enable SMT by writing "on" and disable by "off"
2) enable SMT by writing max_thread_number or disable by writing 1

Both method support to completely disable/enable the SMT cores so both
work correctly for symmetric SMT platform and asymmetric platform with
non-SMT and one type SMT cores like:

core A: 1 thread
core B: X (X!=1) threads

Note that for a theoretically possible multiple SMT-X (X>1) core
platform the SMT control is also supported as expected but only
by writing the "on/off" method.

Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: Hanjun Guo <guohanjun@huawei.com>
Reviewed-by: Pierre Gondois <pierre.gondois@arm.com>
Reviewed-by: Dietmar Eggemann <dietmar.eggemann@arm.com>
Signed-off-by: Yicong Yang <yangyicong@hisilicon.com>
Reviewed-by: Sudeep Holla <sudeep.holla@arm.com>
Link: https://lore.kernel.org/r/20250311075143.61078-4-yangyicong@huawei.com
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2025-03-14 17:31:05 +00:00
Yicong Yang
5deb9c789a arch_topology: Support SMT control for OF based system
On building the topology from the devicetree, we've already gotten the
SMT thread number of each core. Update the largest SMT thread number
and enable the SMT control by the end of topology parsing.

The framework's SMT control provides two interface to the users through
/sys/devices/system/cpu/smt/control
(Documentation/ABI/testing/sysfs-devices-system-cpu):

1) enable SMT by writing "on" and disable by "off"
2) enable SMT by writing max_thread_number or disable by writing 1

Both method support to completely disable/enable the SMT cores so both
work correctly for symmetric SMT platform and asymmetric platform with
non-SMT and one type SMT cores like:

core A: 1 thread
core B: X (X!=1) threads

Note that for a theoretically possible multiple SMT-X (X>1) core
platform the SMT control is also supported as expected but only
by writing the "on/off" method.

Reviewed-by: Pierre Gondois <pierre.gondois@arm.com>
Reviewed-by: Dietmar Eggemann <dietmar.eggemann@arm.com>
Signed-off-by: Yicong Yang <yangyicong@hisilicon.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: Sudeep Holla <sudeep.holla@arm.com>
Link: https://lore.kernel.org/r/20250311075143.61078-3-yangyicong@huawei.com
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2025-03-14 17:31:05 +00:00
Yicong Yang
4b455f5994 cpu/SMT: Provide a default topology_is_primary_thread()
Currently if architectures want to support HOTPLUG_SMT they need to
provide a topology_is_primary_thread() telling the framework which
thread in the SMT cannot offline. However arm64 doesn't have a
restriction on which thread in the SMT cannot offline, a simplest
choice is that just make 1st thread as the "primary" thread. So
just make this as the default implementation in the framework and
let architectures like x86 that have special primary thread to
override this function (which they've already done).

There's no need to provide a stub function if !CONFIG_SMP or
!CONFIG_HOTPLUG_SMT. In such case the testing CPU is already
the 1st CPU in the SMT so it's always the primary thread.

Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: Pierre Gondois <pierre.gondois@arm.com>
Reviewed-by: Dietmar Eggemann <dietmar.eggemann@arm.com>
Signed-off-by: Yicong Yang <yangyicong@hisilicon.com>
Reviewed-by: Sudeep Holla <sudeep.holla@arm.com>
Link: https://lore.kernel.org/r/20250311075143.61078-2-yangyicong@huawei.com
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2025-03-14 17:31:02 +00:00
David Lechner
45d5fe1c53 ARM: davinci: da850: fix selecting ARCH_DAVINCI_DA8XX
Chips in the DA850 family need to have ARCH_DAVINCI_DA8XX to be selected
in order to enable some peripheral drivers.

This was accidentally removed in a previous commit.

Fixes: dec85a9516 ("ARM: davinci: clean up platform support")
Signed-off-by: David Lechner <dlechner@baylibre.com>
Acked-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-03-14 18:24:05 +01:00
Arnd Bergmann
5c81649d70 Reset controller fixes for v6.14
* Fix lan966x boot with internal CPU by stopping reset-microchip-sparx5
   from indirectly calling devm_request_mem_region() on a memory region
   shared with other devices.
 -----BEGIN PGP SIGNATURE-----
 
 iI0EABYIADUWIQRRO6F6WdpH1R0vGibVhaclGDdiwAUCZ9RakhcccC56YWJlbEBw
 ZW5ndXRyb25peC5kZQAKCRDVhaclGDdiwPnVAQCGYzOCh0I3PuJ1gu6aOOQE2U9+
 kXY8q/vjAvODZVXvQAD8D/tpmvz/LhmWQx0DNDPQMBxzgbYZUO8B8I53DnGpJQY=
 =FS6A
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmfUYm4ACgkQYKtH/8kJ
 UiesTw/7BsZI3LNazGxZdGJ2XUgltKDdLDbTiicVttXFbDR03JZJDgzAo/CPVRrK
 buW1DSPg2N6U7QANj0DA7R+U6pLDclWWPjOAvZ1X37QE8b3rjB9eagDfmSDZZMxR
 EZc0cE/lG116GwbgayJRgaqkZAOENnmt18Z5Iz0a94nkll/w5oGrxemqiGEzBNe7
 L73xWtplosSkGRi8vhGEWHjFMxoeNPe4vdec7VzczeuHIhwLfSoRMMHZhMY6x6y/
 Du7ACQkN8sz1XJmROg+rpikt8i0QUO4QMP+II6lV6PQyX67gSLfsnaGlesQgeAIq
 b5CQy6iA8nhl5XU2lUs65DeqREoSiomgO+uBYkpqkq8hCNoMyvX7ud/epYh5UpSS
 LwoDbkXNv9AfIDeJUEPokvBOWwBq+U9bZuucsm2oly0MsidU/mKBEK5ghBzl1DDl
 hFl2A/bcNbk2Rmu0xnPUb2UEbMKnyomFlgPBFUFWL50S//u6yRFk0XN8/ePRbwkU
 lJe0DINydkZkad6YS3THJ/QH8e987kzMQ6wc5sb1LvfOjWvfjgt75cbZZrOHEyNO
 FgrsP5LkXAK+CN0E8fKE42bLx+vArrnviGdQXJp+Ojpclk9U4rupjo2wG86wMejI
 SUgoXA+OOgLrv+Na3tPVT+V9aKsDqqfNw6rlmgkvMp88dwfEjy8=
 =noiy
 -----END PGP SIGNATURE-----

Merge tag 'reset-fixes-for-v6.14' of git://git.pengutronix.de/pza/linux into arm/fixes

Reset controller fixes for v6.14

* Fix lan966x boot with internal CPU by stopping reset-microchip-sparx5
  from indirectly calling devm_request_mem_region() on a memory region
  shared with other devices.

* tag 'reset-fixes-for-v6.14' of git://git.pengutronix.de/pza/linux:
  reset: mchp: sparx5: Fix for lan966x

Link: https://lore.kernel.org/r/20250314164401.743984-1-p.zabel@pengutronix.de
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-03-14 18:07:58 +01:00
Huisong Li
262666c04b
soc: hisilicon: kunpeng_hccs: Fix incorrect string assembly
String assembly should use sysfs_emit_at() instead of sysfs_emit().

Fixes: 23fe8112a2 ("soc: hisilicon: kunpeng_hccs: Add used HCCS types sysfs")
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Huisong Li <lihuisong@huawei.com>
Link: https://lore.kernel.org/r/20250314100143.3377268-1-lihuisong@huawei.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-03-14 18:03:55 +01:00
Arnd Bergmann
cfe614f522 Renesas fixes for v6.14
- Fix possible misalignment breaking SMP bring-up.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCZ9GFlAAKCRCKwlD9ZEnx
 cLITAPoDrzKKYYzRG4BhCWTCRInijXb2cYj2dmVcsbx6ve+Z1wD/fDqSKz34kfaX
 JqAuaYYTNJM5bcFdRMKpXL3fgEO6fQ0=
 =LYE6
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmfUYOgACgkQYKtH/8kJ
 UieBTBAAlP5Qc5YWWscUa/BBAweD4WgeBE5CjmIS1Mcovl/8NcWx4+YSW7Lhc8FK
 FgMOK9rOYFIdw48mP3NLHIGMPIeIC9YvCWndMDAsJg6Ms0Nu6fZrMfHea457LI/d
 XujMM609dKqPoGAJiL8yIDt9rZL5H6n9/h268nmmoVc4NccBP2LxaovjHwNvYUdO
 VC+a758olSSu4fEnhKerZojIwjGIi6rC+N+qTocEPbLBE2s+5H40IhKGMcoMiuUR
 erY96909Au4gXvWBu0dTn0+b+pOMxGXJ26fKBp+uKIwhTjLlz5l7ejIzihnxe3X/
 ZXM/00rz6waKOtO/HmZeus5YxBnP+4xJtN+t1v7LcHwanlEoczPZC1KnU32Pmhdo
 xkLxNUMdx6wQ1Pk5SOYAMMrxgLyP+whKDabplboE++6eJrBmhSzOh7DZmOusr34l
 xwSJppIjpoE+ZtJ5l1ChnVT2/a4Ma/bj/miOYXY9b9sKpTQGRa2PvmFkYPRqeGgF
 uWEQRAzuVoM+KY/r+wpW8trynz7DPTp06ohKvJgHxsN2p3T/6ln0jKuYNDPia2y2
 HfG2WcgVPeoMgsSo3wQw39zkvmXAcBEHW6Mk5tw1u3P8iE5+fMheYNjYXe7Xuihf
 j7qtZDVB+dNylxWUromRLNKd1Hub3wg0fDOOzK6gr/VYGvFDWGE=
 =ibgX
 -----END PGP SIGNATURE-----

Merge tag 'renesas-fixes-for-v6.14-tag1' of https://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into arm/fixes

Renesas fixes for v6.14

  - Fix possible misalignment breaking SMP bring-up.

* tag 'renesas-fixes-for-v6.14-tag1' of https://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  ARM: shmobile: smp: Enforce shmobile_smp_* alignment

Link: https://lore.kernel.org/r/cover.1741785482.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-03-14 18:01:28 +01:00
Anshuman Khandual
51ecb29f7a arm64/mm: Define PTDESC_ORDER
Address bytes shifted with a single 64 bit page table entry (any page table
level) has been always hard coded as 3 (aka 2^3 = 8). Although intuitive it
is not very readable or easy to reason about. Besides it is going to change
with D128, where each 128 bit page table entry will shift address bytes by
4 (aka 2^4 = 16) instead.

Let's just formalise this address bytes shift value into a new macro called
PTDESC_ORDER establishing a logical abstraction, thus improving readability
as well. While here re-organize EARLY_LEVEL macro along with its dependents
for better clarity. This does not cause any functional change. Also replace
all (PAGE_SHIFT - PTDESC_ORDER) instances with PTDESC_TABLE_SHIFT.

Cc: Will Deacon <will@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Andrey Ryabinin <ryabinin.a.a@gmail.com>
Cc: Alexander Potapenko <glider@google.com>
Cc: Andrey Konovalov <andreyknvl@gmail.com>
Cc: Dmitry Vyukov <dvyukov@google.com>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Ryan Roberts <ryan.roberts@arm.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Cc: kasan-dev@googlegroups.com
Acked-by: Ard Biesheuvel <ardb@kernel.org>
Reviewed-by: Ryan Roberts <ryan.roberts@arm.com>
Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
Link: https://lore.kernel.org/r/20250311045710.550625-1-anshuman.khandual@arm.com
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2025-03-14 17:01:23 +00:00
Arnd Bergmann
c221dcc769 Qualcomm driver fixes for v6.14
Fixes a locking issue in the PDR implementation, which manifest itself
 as transaction timeouts during the startup procedure for some
 remoteprocs.
 
 A registration race is fixed in the custom efivars implementation,
 resolving reported NULL pointer dereferences.
 
 Error handling related to tzmem allocation is corrected, to ensure that
 the allocation error is propagated.
 
 Lastly a trivial merge mistake in pmic_glink is addressed.
 -----BEGIN PGP SIGNATURE-----
 
 iQJJBAABCAAzFiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmfPntcVHGFuZGVyc3Nv
 bkBrZXJuZWwub3JnAAoJEAsfOT8Nma3FpaAQALArEyFsJ+YpCL6zu89Hc0CAzpdi
 cRscXIvR7elGIV5c+/XiSRhsF7nLHJ3NoqI0EC9mLZpG60VRKV3rEtbRAhJUpx9E
 SFuFeeq1YYoBwlt4MTIua3cZJB4d0zxrqBMT/EdqmwY7saFCL7S6ElLunClGejwv
 Pf/KxnP0eQtwufhyycvlhpKnX5HeynNiI0Nv7fdRlUizWXkiZitH34ZB3rwMrjM8
 E264qMz3H8+nc1ZY1Nout6uURDgHXs/kNaUY5KMTP1ntv3a8Xgck6Po91y8jQ52Q
 UdE5IcyWG+obI2XBFjZVtCuLNC1E833Si0eIErrFQjePUnv647FEXQwiuxdgyMS+
 ky7abqighG8oK8926dB8WHVc8pQ44+I1JT/nylbG6U/wSpoh5NKNSW41b0fjzfmJ
 VERTU2muF2KZoI034uXlnx6OH7OSxBUdO3ZeMlGscGA/yzpU8OTuLcHy6miHhKxL
 LRaW5nMOm7+yBhGzGVRaxzKeOOo96mx6Vd86ymTbpFOlMxNtVmYP8aldfy9GI6Qx
 5cgGqKD4Pn4VTO4qhvxZrLVVO9MHxcN/GTPf3oCeLmhnh4oNpvi9qg77KsfHJJGP
 2BHhXN/8dQdagZTMFDlS7z1E9fWTTHIzMMc9YLt11UmpBoOImdDldezxpah7Nu/1
 NucMfUBufouasN92
 =QoB8
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmfUYLkACgkQYKtH/8kJ
 UifNQRAAxWwmLr5aNWQpzHyQ/fc3oDX9gCV7alxdQvYeTjMhotcFXPgwA8WX9U0+
 1hEUbFcrCk56xX14enHnI+NJAWWvKFT4Z1aLCqSXiU5K2RnaG7AGhLaJbdDLTFX6
 9+wYCljK5orFIUMTLuc+G7ZqOFcnhhUq9qbEGL5vKTYuuFWjrBadyadYz+wAWg/8
 tbzk9P4QLvfEkCQR4Xpgh5OOR3TYY34LgS8U79nKP/ClrzeVI1CGCNFlV5/hvdxA
 ORdB1azumlh1/fXEGfw9rm9hy6VcGEN7zGugqu78Ol+DO2OsVNwBZGMKO6oJeDlO
 jNQLfl69eHYkCsNCQ6gHTqVEuI3MGfjSZofmeG/K1FiYmWDNu3hVXp3pVYMi09yc
 pJNFAjGEib4HDlmJiX32eGOJrRYBdukFEMxZWVHTcRm1HVs+f5MwZ/rExD9yRzbE
 VJ+uq7+7Xd0y4pByFxbJ4LdMXvEU2oeG9DAnA70xYaAWST3Fq8R9q6i72R/+8rdz
 JvCSbngh52eG14hvCClfZLgsef7557DhBJvcbVmb3KJjIYeOw9GI12RpR2fz3rOk
 6bArIYdVglbL3Anpugxrf5vdcWDsjI0bEGSimjV3wIeqVp65XsscGAG9SyMPZCTo
 9lntpPrrw2fSFKBDjxO8j8MmUl3ClguiTfUqNUtC75cubUS0Ce8=
 =mQFt
 -----END PGP SIGNATURE-----

Merge tag 'qcom-drivers-fixes-for-6.14' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into arm/fixes

Qualcomm driver fixes for v6.14

Fixes a locking issue in the PDR implementation, which manifest itself
as transaction timeouts during the startup procedure for some
remoteprocs.

A registration race is fixed in the custom efivars implementation,
resolving reported NULL pointer dereferences.

Error handling related to tzmem allocation is corrected, to ensure that
the allocation error is propagated.

Lastly a trivial merge mistake in pmic_glink is addressed.

* tag 'qcom-drivers-fixes-for-6.14' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
  soc: qcom: pdr: Fix the potential deadlock
  firmware: qcom: uefisecapp: fix efivars registration race
  firmware: qcom: scm: Fix error code in probe()
  soc: qcom: pmic_glink: Drop redundant pg assignment before taking lock

Link: https://lore.kernel.org/r/20250311022509.1232678-1-andersson@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-03-14 18:00:41 +01:00
Arnd Bergmann
82645d8a34 Qualcomm Arm64 Devicetree fixes for v6.14
Revert the change to marking SDM845 SMMU dma-coherent, as this is
 reported not to be true.
 -----BEGIN PGP SIGNATURE-----
 
 iQJJBAABCAAzFiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmfPOecVHGFuZGVyc3Nv
 bkBrZXJuZWwub3JnAAoJEAsfOT8Nma3Fad8P/1QzDN8Ce3q/z2nIP/C53XLbW0VX
 RnFeGOqv9E2hZmlnB8n7N7OPe0tje+UTvM+2rogiQtxx1rgmbLdeoiLTB/L7I+jt
 PQHTtpKbISAZhyxvvY2siU51bWmQOZvzovPufPkChUhEPgl3TvDrh4uME+XVV/ii
 l8rbr5Yi8HFChPSKZnxOLYcpRFv/01Cx1/IoQOyo/lY/SlLpXqpNmPNOMvY8exfw
 6n4tAsRc5EheZxViuAqzZZz5X/xEry6hQRKgcUCN4YJJ42/5VL5KhC5J8qIl/ZPQ
 sTFyBOBOZi/0iKBBpfmCqk//Qf75ReMDLpIACFJnXHJi2GkEQBqrR+TIYvgXq2BQ
 f2be8u+Td54LjUesHWDa9e/yh4s5+0/S0c4+AIc3O6hmcZjoWlcFsPIlMohvNtmW
 Z7coDYcS0K5dR+yWMxZHasT2D/tjZnATWCmLeR/BBv/j7CjrfNQ/vNcV716usZd0
 0eJV1XqLA55by+6gyiEJxM+rx49Y8kNl9n55YpAM/gR+qzJ+GO0yxHJI/J6PM25M
 /dvXSUOGiyJnSK/MoiJauEm41E23x5AajKUFSIbPusqZFyUXoOmXVZ6OdlMXMaTv
 dRxnAEO+3oJlksI1pKvGmQvRGUo3JhYEdwNhyf/K5sQG8WhbIQDknbbxp+CC74IP
 rQm/hB4zN1MnSbRr
 =ux8B
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmfUYJMACgkQYKtH/8kJ
 Uif1XxAAxYfIGjwrfAP42tbBN7TiYlZq2ChnP1VoXdo7DCYqOGxqiqD1BYDlkUtW
 YArFSWQJLJEsq+ULIYd7vEFMTMPgVrQBGnz6LpbDEVHNczInkRvO51Yys9zMlNYh
 pdTXZPzTgflnci1eJu9PUL8duFyk2z6Xa6E3uhe7It1e8AQKSQGPdEKEYnxIuq0N
 uLpunHEqtZSK+KYkkQJVvQitfPULtnPeug5njrdFzG8jEqn9QF+PH+SOcJmXiLRX
 97hDpB8nv7bX4MIDLCBd5nli4X7nCT1x5k8V/WHoKsoKFZOMLanz4nlcLWo+jAWa
 jlR4q+EbBNQ0jxtQQU5xoKH1Hrr8Myy0ZCKUXxcX0q5CTnmBH6PTcb6ox58MUu5p
 Qkc3GMM8XIslik9omGfESClqY1nZit0pNThhzLWQW/gmBG6hYvUmd+irnqGI61ST
 HfTRv9ahZl19ZAIpnGrMKnIXvouMEW8zDoJQ6bRgqUveX3sV0BLbcFurfpH11KOf
 y35pfNzyVFTDtSVGROIh4KeiZNOQJjbDsHwwNxNzZPyX+RHxBwwmRjTSYrL1PES+
 3BGUwYwQ1EuMqTGED+YN/Ns5ZYUglU4Gv5YNewjlHKsywaOqEYiXohGwQE5utKZX
 uOkZG2LI9IHp3sxeARf/Ab6EK7VcCD0ySNw537ghldti4ROkYKk=
 =Kr2P
 -----END PGP SIGNATURE-----

Merge tag 'qcom-arm64-fixes-for-6.14' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into arm/fixes

Qualcomm Arm64 Devicetree fixes for v6.14

Revert the change to marking SDM845 SMMU dma-coherent, as this is
reported not to be true.

* tag 'qcom-arm64-fixes-for-6.14' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
  Revert "arm64: dts: qcom: sdm845: Affirm IDR0.CCTW on apps_smmu"

Link: https://lore.kernel.org/r/20250310191409.1208520-1-andersson@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-03-14 18:00:03 +01:00
Chen Ni
83a0237859 accel/qaic: Remove redundant 'flush_workqueue()' calls
'destroy_workqueue()' already drains the queue before destroying it, so
there is no need to flush it explicitly.

Remove the redundant 'flush_workqueue()' calls.

This was generated with coccinelle:

@@
expression E;
@@
- flush_workqueue(E);
  destroy_workqueue(E);

Signed-off-by: Chen Ni <nichen@iscas.ac.cn>
Reviewed-by: Jeff Hugo <jeff.hugo@oss.qualcomm.com>
Signed-off-by: Jeff Hugo <jeff.hugo@oss.qualcomm.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20250312073404.1429992-1-nichen@iscas.ac.cn
2025-03-14 10:59:53 -06:00
Roger Quadros
edcccc6892
memory: omap-gpmc: drop no compatible check
We are no longer depending on legacy device trees so
drop the no compatible check for NAND and OneNAND
nodes.

Suggested-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Roger Quadros <rogerq@kernel.org>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://lore.kernel.org/r/20250114-omap-gpmc-drop-no-compatible-check-v1-1-262c8d549732@kernel.org
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-03-14 17:59:17 +01:00
Stephan Gerhold
b49e37de8e arm64: dts: qcom: x1e80100-crd: Drop duplicate DMIC supplies
The WCD938x codec provides two controls for each of the MIC_BIASn outputs:

 - "MIC BIASn" enables an internal regulator to generate the output
   with a configurable voltage (qcom,micbiasN-microvolt).

 - "VA MIC BIASn" enables "pull-up mode" that bypasses the internal
   regulator and directly outputs fixed 1.8V from the VDD_PX pin.
   This is intended for low-power VA (voice activation) use cases.

The audio-routing setup for the X1E80100 CRD currently specifies both
as power supplies for the DMICs, but only one of them can be active
at the same time. In practice, only the internal regulator is used
with the current setup because the driver prefers it over pull-up mode.

Make this more clear by dropping the redundant routes to the pull-up
"VA MIC BIASn" supply. There is no functional difference except that we
skip briefly switching to pull-up mode when shutting down the microphone.

Fixes: 4442a67eed ("arm64: dts: qcom: x1e80100-crd: add sound card")
Signed-off-by: Stephan Gerhold <stephan.gerhold@linaro.org>
Link: https://lore.kernel.org/r/20241203-x1e80100-va-mic-bias-v1-2-0dfd4d9b492c@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-03-14 11:58:23 -05:00
Stephan Gerhold
a2e617f4e6 arm64: dts: qcom: sc8280xp-x13s: Drop duplicate DMIC supplies
The WCD938x codec provides two controls for each of the MIC_BIASn outputs:

 - "MIC BIASn" enables an internal regulator to generate the output
   with a configurable voltage (qcom,micbiasN-microvolt).

 - "VA MIC BIASn" enables "pull-up mode" that bypasses the internal
   regulator and directly outputs fixed 1.8V from the VDD_PX pin.
   This is intended for low-power VA (voice activation) use cases.

The audio-routing setup for the ThinkPad X13s currently specifies both
as power supplies for the DMICs, but only one of them can be active
at the same time. In practice, only the internal regulator is used
with the current setup because the driver prefers it over pull-up mode.

Make this more clear by dropping the redundant routes to the pull-up
"VA MIC BIASn" supply. There is no functional difference except that we
skip briefly switching to pull-up mode when shutting down the microphone.

Fixes: 2e498f35c3 ("arm64: dts: qcom: sc8280xp-x13s: fix va dmic dai links and routing")
Signed-off-by: Stephan Gerhold <stephan.gerhold@linaro.org>
Link: https://lore.kernel.org/r/20241203-x1e80100-va-mic-bias-v1-1-0dfd4d9b492c@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-03-14 11:58:23 -05:00
Abel Vesa
ace6b365cf arm64: dts: qcom: x1e78100-t14s: Add OLED variant
Since the Lenovo Thinkpad T14s Gen6 is available with an OLED, add
dedicated a dedicated dts for it.

This is needed because the backlight is handled differently for OLED
panels when compared to LCD ones.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
Link: https://lore.kernel.org/r/20250314140325.4143779-4-abel.vesa@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-03-14 11:58:23 -05:00
Abel Vesa
31eff589d0 arm64: dts: qcom: x1e78100-t14s: Add LCD variant with backlight support
Due to the fact that Lenovo Thinkpad T14s Gen6 is available with both
OLED and LCD, the backlight control differs HW-wise. For the LCD variant,
the panel's backlight is controlled via one of the PWMs provided by the
PMK8550 PMIC. For the OLED variant, the backlight is internal to the
panel and therefore it is not described in devicetree.

For this reason, create a generic dtsi for the T14s by renaming the
existing dts. While at it, add a node name to panel and drop the enable
gpio and pinctrl properties from the panel node. Then add the LCD variant
dts file with the old name and describe all backlight related nodes.

So the existing dts will now be used for LCD variant while for OLED new
dts will be added.

Tested-by: Sebastian Reichel <sre@kernel.org>
Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
Link: https://lore.kernel.org/r/20250314140325.4143779-3-abel.vesa@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-03-14 11:58:23 -05:00
Abel Vesa
26cc0304d1 dt-bindings: arm: qcom: Document Lenovo ThinkPad T14s Gen 6 LCD and OLED
Due to the difference in how the panel backlight is being handled
between the OLED variant and LCD one, it is required to have two
separate DTBs.

So document the compatible string for both the OLED and LCD variants.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
Link: https://lore.kernel.org/r/20250314140325.4143779-2-abel.vesa@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-03-14 11:58:23 -05:00
Luca Weiss
6c6d55f41c arm64: dts: qcom: qcm6490-fairphone-fp5: Add touchscreen node
Add a node for the GT9897 touchscreen found on this smartphone connected
via SPI.

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
Link: https://lore.kernel.org/r/20250312-fp5-touchscreen-v2-1-4bed270e0065@fairphone.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-03-14 11:58:23 -05:00
Jyothi Kumar Seerapu
515551e656 arm64: dts: qcom: sm8750: Correct clocks property for uart14 node
Correct the clocks property for the uart14 node to fix UART functionality
on QUP2_SE6. The current failure is due to an incorrect clocks assignment.

Change the clocks property to GCC_QUPV3_WRAP2_S6_CLK to resolve the issue.

Signed-off-by: Jyothi Kumar Seerapu <quic_jseerapu@quicinc.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Fixes: 068c3d3c83 ("arm64: dts: qcom: Add base SM8750 dtsi")
Link: https://lore.kernel.org/r/20250312104358.2558-1-quic_jseerapu@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-03-14 11:58:22 -05:00
Krishna Kurapati
7a54680f19 arm64: dts: qcom: qcs6490-rb3gen2: Add orientation gpio
Specify orientation GPIO to the PMIC GLINK node.

Signed-off-by: Krishna Kurapati <krishna.kurapati@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20250312100544.1510190-1-krishna.kurapati@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-03-14 11:58:22 -05:00
Manikanta Mylavarapu
4001b1bffd arm64: dts: qcom: ipq5424: add reserved memory region for bootloader
In IPQ5424, the bootloader collects the system RAM contents upon a crash
for post-morterm analysis. If we don't reserve the memory region used by
the bootloader, linux will consume it. Upon the next boot after a crash,
the bootloader will be loaded in the same region, which could lead to the
loss of some data. sometimes, we may miss out critical information.
Therefore, let's reserve the region used by the bootloader.

Signed-off-by: Manikanta Mylavarapu <quic_mmanikan@quicinc.com>
Reviewed-by: Kathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20250312094948.3376126-1-quic_mmanikan@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-03-14 11:58:22 -05:00
Pratyush Brahma
28ef67df36 arm64: dts: qcom: qcs8300: Add device node for gfx_smmu
Add the device node for gfx smmu that is required for gpu
specific address translations.

Signed-off-by: Pratyush Brahma <quic_pbrahma@quicinc.com>
Link: https://lore.kernel.org/r/20250310-b4-branch-gfx-smmu-v6-2-15c60b8abd99@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-03-14 11:58:22 -05:00
Manish Nagar
64f8541e7a arm64: dts: qcom: qcs8300-ride: Enable second USB controller on QCS8300 Ride
Enable secondary USB controller on QCS8300 Ride platform. Since it is a
Type-A port, the dr_mode has been set to "host". The VBUS to connected
peripherals is provided by TPS2559QWDRCTQ1 regulator connected to the
port. The regulator has an enable pin controlled by PMM8650. Model it as
fixed regulator and keep it Always-On at boot, since the regulator is
GPIO controlled regulator.

Co-developed-by: Krishna Kurapati <krishna.kurapati@oss.qualcomm.com>
Signed-off-by: Krishna Kurapati <krishna.kurapati@oss.qualcomm.com>
Signed-off-by: Manish Nagar <quic_mnagar@quicinc.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20250310104743.976265-1-quic_mnagar@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-03-14 11:58:22 -05:00
Xilin Wu
28f997b899 arm64: dts: qcom: sm8250: Fix CPU7 opp table
There is a typo in cpu7_opp9. Fix it to get rid of the following
errors.

[    0.198043] cpu cpu7: Voltage update failed freq=1747200
[    0.198052] cpu cpu7: failed to update OPP for freq=1747200

Fixes: 8e0e8016cb ("arm64: dts: qcom: sm8250: Add CPU opp tables")
Signed-off-by: Xilin Wu <wuxilin123@gmail.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20250308-fix-sm8250-cpufreq-v1-1-8a0226721399@gmail.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-03-14 11:58:22 -05:00
Johan Hovold
ee95bcc588 arm64: dts: qcom: x1e80100-crd: add gpio-keys label for lid switch
Add a gpio-keys label for the lid-switch for consistency and to separate
it from the volume-up key (e.g. in /proc/interrupts).

Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20250307171222.7470-3-johan+linaro@kernel.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-03-14 11:58:22 -05:00
Johan Hovold
9eca3fd5c3 arm64: dts: qcom: x1e80100-crd: add support for volume-up key
Add support for the keypad volume-up key on the debug extension board.

This is useful to have when testing PMIC interrupt handling, and the key
can also be used to wake up from deep suspend states (CX shutdown).

Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Link: https://lore.kernel.org/r/20250307171222.7470-2-johan+linaro@kernel.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-03-14 11:58:22 -05:00
Konrad Dybcio
8cd4b0f6bc arm64: dts: qcom: x1e001de-devkit: Drop clock-names from PS8830
The preemptively-merged node contains a property absent from the final
bindings. Remove it.

Signed-off-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Fixes: 019e1ee32f ("arm64: dts: qcom: x1e001de-devkit: Enable external DP support")
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20250306-topic-dt_bindings_fixups-v1-11-0c84aceb0ef9@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-03-14 11:58:22 -05:00
Konrad Dybcio
57aac7bd09 arm64: dts: qcom: x1e80100-romulus: Drop clock-names from PS8830
The preemptively-merged node contains a property absent from the final
bindings. Remove it.

Signed-off-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Fixes: b16ee3d0cd ("arm64: dts: qcom: x1e80100-romulus: Set up PS8830s")
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20250306-topic-dt_bindings_fixups-v1-10-0c84aceb0ef9@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-03-14 11:58:22 -05:00
Konrad Dybcio
6d61708286 arm64: dts: qcom: x1e80100-dell-xps13-9345: Drop clock-names from PS8830
The preemptively-merged node contains a property absent from the final
bindings. Remove it.

Signed-off-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Fixes: bd2dbbb1f3 ("arm64: dts: qcom: x1e80100-dell-xps13-9345: Introduce retimer support")
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20250306-topic-dt_bindings_fixups-v1-9-0c84aceb0ef9@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-03-14 11:58:22 -05:00