Commit Graph

32219 Commits

Author SHA1 Message Date
Linus Torvalds
4a39ac5b7d Random number generator updates for Linux 6.12-rc1.
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEq5lC5tSkz8NBJiCnSfxwEqXeA64FAmboHyUACgkQSfxwEqXe
 A66wGQ/8DRIjBllwf1YuTWi4T6OcfoYxK6C9bXO6QPP5gzdTyFE9pvDuuPyad6+F
 FR086ydTHeodemz1dFiQCL9etcUaxo4+6FRKyXKF9/1ezGbTA5nJd0/fKJGlqbI2
 EoA4LNYHOsvCZk1BTpxRNWKeKphU9zQgQdSigy6Rx8p269UkGmIZjD1PtUc+vqfR
 Ox0dK/Cswyo236fRi5HzaoMntWI4vXgLfxty0e1R7tfbstkCxSKWAON1lo3uHgkA
 0HpJXWgWXAPt9gp++Fs/jGNpOqbt6IaKeV5f7CjYfvWhlFjNMhQxF+PbxknaZn/k
 K0gQsItOIoFTfbQdLDIdfnj9awMdLW8FB2A1WXHpNr9pVC4ickPb1bMTF/XRd0tm
 wBNu4BL0gklx6017KZg5uINMIduzMLGkBLRFiBW0en/sZMLTJTMg58BJn0CL1Pmh
 1ll/Q3ToSMHalvxU2OnJagTwh4fzzCEpK/hW9WiDO4jSCsMXyX0clinrCjNo1JfA
 tqgTWEy3uGtg+dg0Du9VD5JASbNQSJ0ZRnas5+qz10IRWWfTolrsk61dliXLQ4Sv
 tSryDtsE2znwJF1Krh4aHNSSVhD5/l/8QaXkf9aZc/kkaHxwsx83FuWnqw6nMz8c
 l4B2MbH0jUgsEqEyx+0iwk+FXE9kZKWumTVLjFZ6bRnq3q+uq0U=
 =mWCw
 -----END PGP SIGNATURE-----

Merge tag 'random-6.12-rc1-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/crng/random

Pull random number generator updates from Jason Donenfeld:
 "Originally I'd planned on sending each of the vDSO getrandom()
  architecture ports to their respective arch trees. But as we started
  to work on this, we found lots of interesting issues in the shared
  code and infrastructure, the fixes for which the various archs needed
  to base their work.

  So in the end, this turned into a nice collaborative effort fixing up
  issues and porting to 5 new architectures -- arm64, powerpc64,
  powerpc32, s390x, and loongarch64 -- with everybody pitching in and
  commenting on each other's code. It was a fun development cycle.

  This contains:

   - Numerous fixups to the vDSO selftest infrastructure, getting it
     running successfully on more platforms, and fixing bugs in it.

   - Additions to the vDSO getrandom & chacha selftests. Basically every
     time manual review unearthed a bug in a revision of an arch patch,
     or an ambiguity, the tests were augmented.

     By the time the last arch was submitted for review, s390x, v1 of
     the series was essentially fine right out of the gate.

   - Fixes to the the generic C implementation of vDSO getrandom, to
     build and run successfully on all archs, decoupling it from
     assumptions we had (unintentionally) made on x86_64 that didn't
     carry through to the other architectures.

   - Port of vDSO getrandom to LoongArch64, from Xi Ruoyao and acked by
     Huacai Chen.

   - Port of vDSO getrandom to ARM64, from Adhemerval Zanella and acked
     by Will Deacon.

   - Port of vDSO getrandom to PowerPC, in both 32-bit and 64-bit
     varieties, from Christophe Leroy and acked by Michael Ellerman.

   - Port of vDSO getrandom to S390X from Heiko Carstens, the arch
     maintainer.

  While it'd be natural for there to be things to fix up over the course
  of the development cycle, these patches got a decent amount of review
  from a fairly diverse crew of folks on the mailing lists, and, for the
  most part, they've been cooking in linux-next, which has been helpful
  for ironing out build issues.

  In terms of architectures, I think that mostly takes care of the
  important 64-bit archs with hardware still being produced and running
  production loads in settings where vDSO getrandom is likely to help.

  Arguably there's still RISC-V left, and we'll see for 6.13 whether
  they find it useful and submit a port"

* tag 'random-6.12-rc1-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/crng/random: (47 commits)
  selftests: vDSO: check cpu caps before running chacha test
  s390/vdso: Wire up getrandom() vdso implementation
  s390/vdso: Move vdso symbol handling to separate header file
  s390/vdso: Allow alternatives in vdso code
  s390/module: Provide find_section() helper
  s390/facility: Let test_facility() generate static branch if possible
  s390/alternatives: Remove ALT_FACILITY_EARLY
  s390/facility: Disable compile time optimization for decompressor code
  selftests: vDSO: fix vdso_config for s390
  selftests: vDSO: fix ELF hash table entry size for s390x
  powerpc/vdso: Wire up getrandom() vDSO implementation on VDSO64
  powerpc/vdso: Wire up getrandom() vDSO implementation on VDSO32
  powerpc/vdso: Refactor CFLAGS for CVDSO build
  powerpc/vdso32: Add crtsavres
  mm: Define VM_DROPPABLE for powerpc/32
  powerpc/vdso: Fix VDSO data access when running in a non-root time namespace
  selftests: vDSO: don't include generated headers for chacha test
  arm64: vDSO: Wire up getrandom() vDSO implementation
  arm64: alternative: make alternative_has_cap_likely() VDSO compatible
  selftests: vDSO: also test counter in vdso_test_chacha
  ...
2024-09-18 15:26:31 +02:00
Linus Torvalds
067610ebaa RCU pull request for v6.12
This pull request contains the following branches:
 
 context_tracking.15.08.24a: Rename context tracking state related
         symbols and remove references to "dynticks" in various context
         tracking state variables and related helpers; force
         context_tracking_enabled_this_cpu() to be inlined to avoid
         leaving a noinstr section.
 
 csd.lock.15.08.24a: Enhance CSD-lock diagnostic reports; add an API
         to provide an indication of ongoing CSD-lock stall.
 
 nocb.09.09.24a: Update and simplify RCU nocb code to handle
         (de-)offloading of callbacks only for offline CPUs; fix RT
         throttling hrtimer being armed from offline CPU.
 
 rcutorture.14.08.24a: Remove redundant rcu_torture_ops get_gp_completed
         fields; add SRCU ->same_gp_state and ->get_comp_state
         functions; add generic test for NUM_ACTIVE_*RCU_POLL* for
         testing RCU and SRCU polled grace periods; add CFcommon.arch
         for arch-specific Kconfig options; print number of update types
         in rcu_torture_write_types();
         add rcutree.nohz_full_patience_delay testing to the TREE07
         scenario; add a stall_cpu_repeat module parameter to test
         repeated CPU stalls; add argument to limit number of CPUs a
         guest OS can use in torture.sh;
 
 rcustall.09.09.24a: Abbreviate RCU CPU stall warnings during CSD-lock
         stalls; Allow dump_cpu_task() to be called without disabling
         preemption; defer printing stall-warning backtrace when holding
         rcu_node lock.
 
 srcu.12.08.24a: Make SRCU gp seq wrap-around faster; add KCSAN checks
         for concurrent updates to ->srcu_n_exp_nodelay and
         ->reschedule_count which are used in heuristics governing
         auto-expediting of normal SRCU grace periods and
         grace-period-state-machine delays; mark idle SRCU-barrier
         callbacks to help identify stuck SRCU-barrier callback.
 
 rcu.tasks.14.08.24a: Remove RCU Tasks Rude asynchronous APIs as they
         are no longer used; stop testing RCU Tasks Rude asynchronous
         APIs; fix access to non-existent percpu regions; check
         processor-ID assumptions during chosen CPU calculation for
         callback enqueuing; update description of rtp->tasks_gp_seq
         grace-period sequence number; add rcu_barrier_cb_is_done()
         to identify whether a given rcu_barrier callback is stuck;
         mark idle Tasks-RCU-barrier callbacks; add
         *torture_stats_print() functions to print detailed
         diagnostics for Tasks-RCU variants; capture start time of
         rcu_barrier_tasks*() operation to help distinguish a hung
         barrier operation from a long series of barrier operations.
 
 rcu_scaling_tests.15.08.24a:
         refscale: Add a TINY scenario to support tests of Tiny RCU
         and Tiny SRCU; Optimize process_durations() operation;
 
         rcuscale: Dump stacks of stalled rcu_scale_writer() instances;
         dump grace-period statistics when rcu_scale_writer() stalls;
         mark idle RCU-barrier callbacks to identify stuck RCU-barrier
         callbacks; print detailed grace-period and barrier diagnostics
         on rcu_scale_writer() hangs for Tasks-RCU variants; warn if
         async module parameter is specified for RCU implementations
         that do not have async primitives such as RCU Tasks Rude;
         make all writer tasks report upon hang; tolerate repeated
         GFP_KERNEL failure in rcu_scale_writer(); use special allocator
         for rcu_scale_writer(); NULL out top-level pointers to heap
         memory to avoid double-free bugs on modprobe failures; maintain
         per-task instead of per-CPU callbacks count to avoid any issues
         with migration of either tasks or callbacks; constify struct
         ref_scale_ops.
 
 fixes.12.08.24a: Use system_unbound_wq for kfree_rcu work to avoid
         disturbing isolated CPUs.
 
 misc.11.08.24a: Warn on unexpected rcu_state.srs_done_tail state;
         Better define "atomic" for list_replace_rcu() and
         hlist_replace_rcu() routines; annotate struct
         kvfree_rcu_bulk_data with __counted_by().
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQSi2tPIQIc2VEtjarIAHS7/6Z0wpQUCZt8+8wAKCRAAHS7/6Z0w
 pTqoAPwPN//tlEoJx2PRs6t0q+nD1YNvnZawPaRmdzgdM8zJogD+PiSN+XhqRr80
 jzyvMDU4Aa0wjUNP3XsCoaCxo7L/lQk=
 =bZ9z
 -----END PGP SIGNATURE-----

Merge tag 'rcu.release.v6.12' of git://git.kernel.org/pub/scm/linux/kernel/git/rcu/linux

Pull RCU updates from Neeraj Upadhyay:
 "Context tracking:
   - rename context tracking state related symbols and remove references
     to "dynticks" in various context tracking state variables and
     related helpers
   - force context_tracking_enabled_this_cpu() to be inlined to avoid
     leaving a noinstr section

  CSD lock:
   - enhance CSD-lock diagnostic reports
   - add an API to provide an indication of ongoing CSD-lock stall

  nocb:
   - update and simplify RCU nocb code to handle (de-)offloading of
     callbacks only for offline CPUs
   - fix RT throttling hrtimer being armed from offline CPU

  rcutorture:
   - remove redundant rcu_torture_ops get_gp_completed fields
   - add SRCU ->same_gp_state and ->get_comp_state functions
   - add generic test for NUM_ACTIVE_*RCU_POLL* for testing RCU and SRCU
     polled grace periods
   - add CFcommon.arch for arch-specific Kconfig options
   - print number of update types in rcu_torture_write_types()
   - add rcutree.nohz_full_patience_delay testing to the TREE07 scenario
   - add a stall_cpu_repeat module parameter to test repeated CPU stalls
   - add argument to limit number of CPUs a guest OS can use in
     torture.sh

  rcustall:
   - abbreviate RCU CPU stall warnings during CSD-lock stalls
   - Allow dump_cpu_task() to be called without disabling preemption
   - defer printing stall-warning backtrace when holding rcu_node lock

  srcu:
   - make SRCU gp seq wrap-around faster
   - add KCSAN checks for concurrent updates to ->srcu_n_exp_nodelay and
     ->reschedule_count which are used in heuristics governing
     auto-expediting of normal SRCU grace periods and
     grace-period-state-machine delays
   - mark idle SRCU-barrier callbacks to help identify stuck
     SRCU-barrier callback

  rcu tasks:
   - remove RCU Tasks Rude asynchronous APIs as they are no longer used
   - stop testing RCU Tasks Rude asynchronous APIs
   - fix access to non-existent percpu regions
   - check processor-ID assumptions during chosen CPU calculation for
     callback enqueuing
   - update description of rtp->tasks_gp_seq grace-period sequence
     number
   - add rcu_barrier_cb_is_done() to identify whether a given
     rcu_barrier callback is stuck
   - mark idle Tasks-RCU-barrier callbacks
   - add *torture_stats_print() functions to print detailed diagnostics
     for Tasks-RCU variants
   - capture start time of rcu_barrier_tasks*() operation to help
     distinguish a hung barrier operation from a long series of barrier
     operations

  refscale:
   - add a TINY scenario to support tests of Tiny RCU and Tiny
     SRCU
   - optimize process_durations() operation

  rcuscale:
   - dump stacks of stalled rcu_scale_writer() instances and
     grace-period statistics when rcu_scale_writer() stalls
   - mark idle RCU-barrier callbacks to identify stuck RCU-barrier
     callbacks
   - print detailed grace-period and barrier diagnostics on
     rcu_scale_writer() hangs for Tasks-RCU variants
   - warn if async module parameter is specified for RCU implementations
     that do not have async primitives such as RCU Tasks Rude
   - make all writer tasks report upon hang
   - tolerate repeated GFP_KERNEL failure in rcu_scale_writer()
   - use special allocator for rcu_scale_writer()
   - NULL out top-level pointers to heap memory to avoid double-free
     bugs on modprobe failures
   - maintain per-task instead of per-CPU callbacks count to avoid any
     issues with migration of either tasks or callbacks
   - constify struct ref_scale_ops

  Fixes:
   - use system_unbound_wq for kfree_rcu work to avoid disturbing
     isolated CPUs

  Misc:
   - warn on unexpected rcu_state.srs_done_tail state
   - better define "atomic" for list_replace_rcu() and
     hlist_replace_rcu() routines
   - annotate struct kvfree_rcu_bulk_data with __counted_by()"

* tag 'rcu.release.v6.12' of git://git.kernel.org/pub/scm/linux/kernel/git/rcu/linux: (90 commits)
  rcu: Defer printing stall-warning backtrace when holding rcu_node lock
  rcu/nocb: Remove superfluous memory barrier after bypass enqueue
  rcu/nocb: Conditionally wake up rcuo if not already waiting on GP
  rcu/nocb: Fix RT throttling hrtimer armed from offline CPU
  rcu/nocb: Simplify (de-)offloading state machine
  context_tracking: Tag context_tracking_enabled_this_cpu() __always_inline
  context_tracking, rcu: Rename rcu_dyntick trace event into rcu_watching
  rcu: Update stray documentation references to rcu_dynticks_eqs_{enter, exit}()
  rcu: Rename rcu_momentary_dyntick_idle() into rcu_momentary_eqs()
  rcu: Rename rcu_implicit_dynticks_qs() into rcu_watching_snap_recheck()
  rcu: Rename dyntick_save_progress_counter() into rcu_watching_snap_save()
  rcu: Rename struct rcu_data .exp_dynticks_snap into .exp_watching_snap
  rcu: Rename struct rcu_data .dynticks_snap into .watching_snap
  rcu: Rename rcu_dynticks_zero_in_eqs() into rcu_watching_zero_in_eqs()
  rcu: Rename rcu_dynticks_in_eqs_since() into rcu_watching_snap_stopped_since()
  rcu: Rename rcu_dynticks_in_eqs() into rcu_watching_snap_in_eqs()
  rcu: Rename rcu_dynticks_eqs_online() into rcu_watching_online()
  context_tracking, rcu: Rename rcu_dynticks_curr_cpu_in_eqs() into rcu_is_watching_curr_cpu()
  context_tracking, rcu: Rename rcu_dynticks_task*() into rcu_task*()
  refscale: Constify struct ref_scale_ops
  ...
2024-09-18 07:52:24 +02:00
Paolo Bonzini
c09dd2bb57 Merge branch 'kvm-redo-enable-virt' into HEAD
Register KVM's cpuhp and syscore callbacks when enabling virtualization in
hardware, as the sole purpose of said callbacks is to disable and re-enable
virtualization as needed.

The primary motivation for this series is to simplify dealing with enabling
virtualization for Intel's TDX, which needs to enable virtualization
when kvm-intel.ko is loaded, i.e. long before the first VM is created.

That said, this is a nice cleanup on its own.  By registering the callbacks
on-demand, the callbacks themselves don't need to check kvm_usage_count,
because their very existence implies a non-zero count.

Patch 1 (re)adds a dedicated lock for kvm_usage_count.  This avoids a
lock ordering issue between cpus_read_lock() and kvm_lock.  The lock
ordering issue still exist in very rare cases, and will be fixed for
good by switching vm_list to an (S)RCU-protected list.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2024-09-17 11:38:20 -04:00
Sebastian Andrzej Siewior
d8fccd9ca5 arm64: Allow to enable PREEMPT_RT.
It is really time.

arm64 has all the required architecture related changes, that have been
identified over time, in order to enable PREEMPT_RT. With the recent
printk changes, the last known road block has been addressed.

Allow to enable PREEMPT_RT on arm64.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Will Deacon <will@kernel.org>
Link: https://lore.kernel.org/all/20240906111841.562402-3-bigeasy@linutronix.de
2024-09-17 11:06:02 +02:00
Linus Torvalds
38ea77ab07 soc: defconfig updates for 6.12
The updates to the defconfig files are fairly small, enabling
 drivers for eight of the arm and riscv based platforms.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmboHkgACgkQYKtH/8kJ
 Uiedsw//ee8uHQj003iuqawzMn0oBKcjBO0MpDSanv3qL0Lm5yLZ4s1Nw2jNlsEd
 uiQytgkduiYwQ9hM4u19cAPi3xab1ruoj9wAp3kcx1dmEbjNP5QTwPkNiNwZIcMu
 f6Mz7SOTWwp1YWxAXqVU6usR6H3N7VR3P5XdNP/TBSS7MNW6bRPqiO6kAc4AT1H2
 RNik3m1kCQIPpX1pdYK2bnCFRIl+TIr2jrHV9B9zYKc1f/il4MuIjVP2U1WDQ10U
 r5xKCb8MrIQtju+aCfmYwYqUYQ95ptjSas1MwV0xURzxDL/x9B8wL+NDeNsomwJq
 vlk6vr3HtIsJduXylIxqQ5KY6q/uxJ9whmtU943mPdEZgp3nZeXbK+EHXT5KZbB3
 GAGaf//Pt/0+3jQA/qThD9+GF2OMxKUiyi4ZIezI4pj9VoB6uhittmHQlmPc0KvP
 8UpkaHiyztgO9R08XGvmQ03A6B0UdJMPFAy1onYZkyL+MhRF2a04D16nkLBGa2jU
 DvNo9ojqUfSEKiLpQtCwVFc0lQkAdnoVsywcrAp4+KXqzNC51I1Rj59SvaebvCcg
 eTat1cSVQRvHnSbG/TOiWBtVZ9GqisLf9vAIwYV05b7jT5fWff69olXDXTcQma1P
 8aYIGtUIeeDmr+qE6U31aToj/BXpOuI6MvY0tkBfdyqRYuq6lN8=
 =A/M4
 -----END PGP SIGNATURE-----

Merge tag 'soc-defconfig-6.12' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc

Pull SoC defconfig updates from Arnd Bergmann:
 "The updates to the defconfig files are fairly small, enabling drivers
  for eight of the arm and riscv based platforms"

* tag 'soc-defconfig-6.12' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc:
  arm64: defconfig: enable mt8365 sound
  riscv: defconfig: Enable pinctrl support for CV18XX Series SoC
  arm64: defconfig: Enable ADP5585 GPIO and PWM drivers
  arm64: defconfig: Enable Tegra194 PCIe Endpoint
  arm64: defconfig: Enable E5010 JPEG Encoder
  riscv: defconfig: sophgo: enable clks for sg2042
  arm64: defconfig: build CONFIG_REGULATOR_QCOM_REFGEN as module
  ARM: configs: at91: enable config flags for sam9x7 SoC family
  arm64: defconfig: Enable R-Car Ethernet-TSN support
  ARM: shmobile: defconfig: Enable slab hardening and kmalloc buckets
  arm64: defconfig: Enable AK4619 codec support
2024-09-17 10:53:21 +02:00
Linus Torvalds
7b17f5ebd5 soc: devicetree updates for 6.12
New SoC support for Broadcom bcm2712 (Raspberry Pi 5) and Renesas
 R9A09G057 (RZ/V2H(P)) and Qualcomm Snapdragon 414 (MSM8929), all three
 of these are variants of already supported chips, in particular the last
 one is almost identical to MSM8939.
 
 Lots of updates to Mediatek, ASpeed, Rockchips, Amlogic, Qualcomm,
 STM32, NXP i.MX, Sophgo, TI K3, Renesas, Microchip at91, NVIDIA Tegra,
 and T-HEAD.
 
 The added Qualcomm platform support once again dominates the changes,
 with seven phones and three laptops getting added in addition to
 many new features on existing machines. The Snapdragon X1E support
 specifically keeps improving.
 
 The other new machines are:
 
  - eight new machines using various 64-bit Rockchips SoCs, both
    on the consumer/gaming side and developer boards
  - three industrial boards with 64-bit i.MX, which is a very
    low number for them.
  - four more servers using a 32-bit Speed BMC
  - three boards using STM32MP1 SoCs
  - one new machine each using allwinner, amlogic, broadcom
    and renesas chips.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmboLzkACgkQYKtH/8kJ
 Uid+1g/+J8rQQxIjLxxbx+TkhECt5X1u5mQZTZBIeCZmJQz2rNvmo3bm89ZAR32Z
 FnjSN0fXw7eZqnxImwNAIU7g7RBhj5zs1gKXsB2lb0vv7722KyQ1xz2Fh1NQWQ09
 OMCVjI1+19zBZYCB0C1Y2WTsFRUl5ISE3H3Wx8MJT1GWDDao/D2ULkEda0uTSu3i
 CBYBNwCtBJU7TsGe5a04P7rGKvOlDdVj+2VvMKaX6bFa+MDxoMtlABWLZRJCwOy8
 04+Oz9AO0r6HpsrAKOgxxNod7Jkw13UUG22PoTS4+B2Bc7/9oXTcJM8e+44BEe4J
 nyJButDCAf7IsqOuB0S/4J0YxtcDGnzJXNQrUg11owwVXC+uzVvkUExOneRBXqUc
 179OlY5tCXaaRtmoeUTOH9C4rk5x6o5jHCLs2DJNf9TsOwD2VjzUvUWp5WBhDDG4
 qxIUvflGm2pXhF9OeK+7fPllTc1pUmA2/LZ9LXc/13Zn3eZKGn/Kql1SNFC0CIi0
 8kQnIcV0dOh7E+zPcYENR+NGuTUU2GH3iQM9frHIaPc+KcaXPRVJDqREe/RNYRqN
 qDY7yIGkeqmH9mKhdV+WQGBjJ6z3ElOMYVST6Kq3JBDiF12UaCPEhG2t8inmvEsA
 t7nL84iWpeC1Gh+AT8UJBlRSFzQoafIrVav26pqwCvOrK7UHMZk=
 =r07W
 -----END PGP SIGNATURE-----

Merge tag 'soc-dt-6.12' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc

Pull SoC devicetree updates from Arnd Bergmann:
 "New SoC support for Broadcom bcm2712 (Raspberry Pi 5) and Renesas
  R9A09G057 (RZ/V2H(P)) and Qualcomm Snapdragon 414 (MSM8929), all three
  of these are variants of already supported chips, in particular the
  last one is almost identical to MSM8939.

  Lots of updates to Mediatek, ASpeed, Rockchips, Amlogic, Qualcomm,
  STM32, NXP i.MX, Sophgo, TI K3, Renesas, Microchip at91, NVIDIA Tegra,
  and T-HEAD.

  The added Qualcomm platform support once again dominates the changes,
  with seven phones and three laptops getting added in addition to many
  new features on existing machines. The Snapdragon X1E support
  specifically keeps improving.

  The other new machines are:

   - eight new machines using various 64-bit Rockchips SoCs, both on the
     consumer/gaming side and developer boards

   - three industrial boards with 64-bit i.MX, which is a very low
     number for them.

   - four more servers using a 32-bit Speed BMC

   - three boards using STM32MP1 SoCs

   - one new machine each using allwinner, amlogic, broadcom and renesas
     chips"

* tag 'soc-dt-6.12' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (672 commits)
  arm64: dts: allwinner: h5: NanoPi NEO Plus2: Use regulators for pio
  arm64: dts: mediatek: add audio support for mt8365-evk
  arm64: dts: mediatek: add afe support for mt8365 SoC
  arm64: dts: mediatek: mt8186-corsola: Disable DPI display interface
  arm64: dts: mediatek: mt8186: Add svs node
  arm64: dts: mediatek: mt8186: Add power domain for DPI
  arm64: dts: mediatek: mt8195: Correct clock order for dp_intf*
  arm64: dts: mt8183: add dpi node to mt8183
  arm64: dts: allwinner: h5: NanoPi Neo Plus2: Fix regulators
  arm64: dts: rockchip: add CAN0 and CAN1 interfaces to mecsbc board
  arm64: dts: rockchip: add CAN-FD controller nodes to rk3568
  arm64: dts: nuvoton: ma35d1: Add uart pinctrl settings
  arm64: dts: nuvoton: ma35d1: Add pinctrl and gpio nodes
  arm64: dts: nuvoton: Add syscon to the system-management node
  ARM: dts: Fix undocumented LM75 compatible nodes
  arm64: dts: toshiba: Fix pl011 and pl022 clocks
  ARM: dts: stm32: Use SAI to generate bit and frame clock on STM32MP15xx DHCOM PDK2
  ARM: dts: stm32: Switch bitclock/frame-master to flag on STM32MP15xx DHCOM PDK2
  ARM: dts: stm32: Sort properties in audio endpoints on STM32MP15xx DHCOM PDK2
  ARM: dts: stm32: Add MECIO1 and MECT1S board variants
  ...
2024-09-17 10:41:21 +02:00
Peter Xu
3e509c9b03 mm/arm64: support large pfn mappings
Support huge pfnmaps by using bit 56 (PTE_SPECIAL) for "special" on
pmds/puds.  Provide the pmd/pud helpers to set/get special bit.

There's one more thing missing for arm64 which is the pxx_pgprot() for
pmd/pud.  Add them too, which is mostly the same as the pte version by
dropping the pfn field.  These helpers are essential to be used in the new
follow_pfnmap*() API to report valid pgprot_t results.

Note that arm64 doesn't yet support huge PUD yet, but it's still
straightforward to provide the pud helpers that we need altogether.  Only
PMD helpers will make an immediate benefit until arm64 will support huge
PUDs first in general (e.g.  in THPs).

Link: https://lkml.kernel.org/r/20240826204353.2228736-19-peterx@redhat.com
Signed-off-by: Peter Xu <peterx@redhat.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Cc: Alexander Gordeev <agordeev@linux.ibm.com>
Cc: Alex Williamson <alex.williamson@redhat.com>
Cc: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Christian Borntraeger <borntraeger@linux.ibm.com>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: David Hildenbrand <david@redhat.com>
Cc: Gavin Shan <gshan@redhat.com>
Cc: Gerald Schaefer <gerald.schaefer@linux.ibm.com>
Cc: Heiko Carstens <hca@linux.ibm.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Jason Gunthorpe <jgg@nvidia.com>
Cc: Matthew Wilcox <willy@infradead.org>
Cc: Niklas Schnelle <schnelle@linux.ibm.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Ryan Roberts <ryan.roberts@arm.com>
Cc: Sean Christopherson <seanjc@google.com>
Cc: Sven Schnelle <svens@linux.ibm.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Vasily Gorbik <gor@linux.ibm.com>
Cc: Zi Yan <ziy@nvidia.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2024-09-17 01:07:00 -07:00
Peter Xu
0515e022e1 mm: always define pxx_pgprot()
There're:

  - 8 archs (arc, arm64, include, mips, powerpc, s390, sh, x86) that
  support pte_pgprot().

  - 2 archs (x86, sparc) that support pmd_pgprot().

  - 1 arch (x86) that support pud_pgprot().

Always define them to be used in generic code, and then we don't need to
fiddle with "#ifdef"s when doing so.

Link: https://lkml.kernel.org/r/20240826204353.2228736-9-peterx@redhat.com
Signed-off-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Cc: Alexander Gordeev <agordeev@linux.ibm.com>
Cc: Alex Williamson <alex.williamson@redhat.com>
Cc: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Christian Borntraeger <borntraeger@linux.ibm.com>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: David Hildenbrand <david@redhat.com>
Cc: Gavin Shan <gshan@redhat.com>
Cc: Gerald Schaefer <gerald.schaefer@linux.ibm.com>
Cc: Heiko Carstens <hca@linux.ibm.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Matthew Wilcox <willy@infradead.org>
Cc: Niklas Schnelle <schnelle@linux.ibm.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Ryan Roberts <ryan.roberts@arm.com>
Cc: Sean Christopherson <seanjc@google.com>
Cc: Sven Schnelle <svens@linux.ibm.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Vasily Gorbik <gor@linux.ibm.com>
Cc: Will Deacon <will@kernel.org>
Cc: Zi Yan <ziy@nvidia.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2024-09-17 01:06:59 -07:00
Linus Torvalds
11b3125073 ACPI updates for 6.12-rc1
- Check return value in acpi_db_convert_to_package() (Pei Xiao).
 
  - Detect FACS and allow setting the waking vector on reduced-hardware
    ACPI platforms (Jiaqing Zhao).
 
  - Allow ACPICA to represent semaphores as integers (Adrien Destugues).
 
  - Complete CXL 3.0 CXIMS structures support in ACPICA (Zhang Rui).
 
  - Make ACPICA support SPCR version 4 and add RISC-V SBI Subtype to
    DBG2 (Sia Jee Heng).
 
  - Implement the Dword_PCC Resource Descriptor Macro in ACPICA (Jose
    Marinho).
 
  - Correct the typo in struct acpi_mpam_msc_node member (Punit Agrawal).
 
  - Implement ACPI_WARNING_ONCE() and ACPI_ERROR_ONCE() and use them to
    prevent a Stall() violation warning from being printed every time
    this takes place (Vasily Khoruzhick).
 
  - Allow PCC Data Type in MCTP resource (Adam Young).
 
  - Fix memory leaks on acpi_ps_get_next_namepath()
    and acpi_ps_get_next_field() failures  (Armin Wolf).
 
  - Add support for supressing leading zeros in hex strings when
    converting them to integers and update integer-to-hex-string
    conversions in ACPICA (Armin Wolf).
 
  - Add support for Windows 11 22H2 _OSI string (Armin Wolf).
 
  - Avoid warning for Dump Functions in ACPICA (Adam Lackorzynski).
 
  - Add extended linear address mode to HMAT MSCIS in ACPICA (Dave
    Jiang).
 
  - Handle empty connection_node in iasl (Aleksandrs Vinarskis).
 
  - Allow for more flexibility in _DSM args (Saket Dumbre).
 
  - Setup for ACPICA release 20240827 (Saket Dumbre).
 
  - Add ACPI device enumeration support for interrupt controller probing
    including taking dependencies into account (Sunil V L).
 
  - Implement ACPI-based interrupt controller probing on RISC-V (Sunil V L).
 
  - Add ACPI support for AIA in riscv-intc and add ACPI support to
    riscv-imsic, riscv-aplic, and sifive-plic (Sunil V L).
 
  - Do not release locks during operation region accesses in the ACPI EC
    driver (Rafael Wysocki).
 
  - Fix up the _STR handling in the ACPI device object sysfs interface,
    make it represent the device object attributes as an attribute group
    and make it rely on driver core functionality for sysfs attrubute
    management (Thomas Weißschuh).
 
  - Extend error messages printed to the kernel log when acpi_evaluate_dsm()
    fails to include revision and function number (David Wang).
 
  - Add a new AMDI0015 platform device ID to the ACPi APD driver for AMD
    SoCs (Shyam Sundar S K).
 
  - Use the driver core for the async probing management in the ACPI
    battery driver (Thomas Weißschuh).
 
  - Remove redundant initalizations of a local variable to NULL from the
    ACPI battery driver (Ilpo Järvinen).
 
  - Remove unneeded check in tps68470_pmic_opregion_probe() (Aleksandr
    Mishin).
 
  - Add support for setting the EPP register through the ACPI CPPC sysfs
    interface if it is in FFH (Mario Limonciello).
 
  - Fix MASK_VAL() usage in the ACPI CPPC library (Clément Léger).
 
  - Reduce the log level of a per-CPU message about idle states in the
    ACPI processor driver (Li RongQing).
 
  - Fix crash in exit_round_robin() in the ACPI processor aggregator
    device (PAD) driver (Seiji Nishikawa).
 
  - Add force_vendor quirk for Panasonic Toughbook CF-18 in the ACPI
    backlight driver (Hans de Goede).
 
  - Make the DMI checks related to backlight handling on Lenovo Yoga
    Tab 3 X90F less strict (Hans de Goede).
 
  - Enforce native backlight handling on Apple MacbookPro9,2 (Esther
    Shimanovich).
 
  - Add IRQ override quirks for Asus Vivobook Go E1404GAB and MECHREV
    GM7XG0M, and refine the TongFang GMxXGxx quirk (Li Chen, Tamim Khan,
    Werner Sembach).
 
  - Quirk ASUS ROG M16 to default to S3 sleep (Luke D. Jones).
 
  - Define and use symbols for device and class name lengths in the ACPI
    bus type code and make the code use strscpy() instead of strcpy() in
    several places (Muhammad Qasim Abdul Majeed).
 -----BEGIN PGP SIGNATURE-----
 
 iQJGBAABCAAwFiEE4fcc61cGeeHD/fCwgsRv/nhiVHEFAmbjJ9kSHHJqd0Byand5
 c29ja2kubmV0AAoJEILEb/54YlRxhfMP/3i4Nrkmf2HpiSJ/zFMSISNbAEmLSqQQ
 gSo0Mmj1OHN9W9rBiIVDgJjeakyLg2IHB1sFZ9ABtU1JvO9mMchU7OlDKIt8Q8sf
 VJa+q0tcA4kny5BZa47fPjZaaM6f9boVTm5WRn9T7KSLA+EGBAxE+UXQ2ibxiPCc
 ZWX8obeYe78Zv2i5U8LiO4mQlB2viGEgO/5vKywmNKYVpurOMAv4zGjvDfRxK3ZQ
 GXIZLUCh0inu8VomrbI5B1bpqNTxUrLoEAExKpyAyIiRYay+nyv8Vm2sSw9roe3a
 C9pux4pojT0zfkmCVJmXET0982GcMSDaB0Rb1ypwbC2EdTtEoauC/HTyTixNBxBa
 MnHntDe/l6Z9gLhbj8dcfB0ZVUkahqFzndWA9EBwroor2S7woZNtA3jL9VNHbM1J
 kKNPQ2YCQi1ObQcftZDC9UYYx62KVvWNZCTS1+ZjnpKNH8hcEEBwMlnmE1VTYeHf
 TN0vbB6QJSDu26qOyiWMCgLAR45TW/YzA3CrJi7/zGMSUyEQvHQAe5wh5H3ygbAR
 GbDau0AVSvCO7lTRpqkzS6aeTLIbp1oqGwnnSXQDy30biI2FeQyg76Nq8Rgj5Lun
 8+GvmkuVSjbjTXYbLqjt/gW97O/HUdygfL7hhjS10TB+3C34mQm/pwFxNYxJdFyO
 mhMeKq4DdOJ+
 =XHaD
 -----END PGP SIGNATURE-----

Merge tag 'acpi-6.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm

Pull ACPI updates from Rafael Wysocki:
 "These update the ACPICA code in the kernel to upstream version
  20240827, add support for ACPI-based enumeration of interrupt
  controllers on RISC-V along with some related irqchip updates, clean
  up the ACPI device object sysfs interface, add some quirks for
  backlight handling and IRQ overrides, fix assorted issues and clean up
  code.

  Specifics:

   - Check return value in acpi_db_convert_to_package() (Pei Xiao)

   - Detect FACS and allow setting the waking vector on reduced-hardware
     ACPI platforms (Jiaqing Zhao)

   - Allow ACPICA to represent semaphores as integers (Adrien Destugues)

   - Complete CXL 3.0 CXIMS structures support in ACPICA (Zhang Rui)

   - Make ACPICA support SPCR version 4 and add RISC-V SBI Subtype to
     DBG2 (Sia Jee Heng)

   - Implement the Dword_PCC Resource Descriptor Macro in ACPICA (Jose
     Marinho)

   - Correct the typo in struct acpi_mpam_msc_node member (Punit
     Agrawal)

   - Implement ACPI_WARNING_ONCE() and ACPI_ERROR_ONCE() and use them to
     prevent a Stall() violation warning from being printed every time
     this takes place (Vasily Khoruzhick)

   - Allow PCC Data Type in MCTP resource (Adam Young)

   - Fix memory leaks on acpi_ps_get_next_namepath() and
     acpi_ps_get_next_field() failures (Armin Wolf)

   - Add support for supressing leading zeros in hex strings when
     converting them to integers and update integer-to-hex-string
     conversions in ACPICA (Armin Wolf)

   - Add support for Windows 11 22H2 _OSI string (Armin Wolf)

   - Avoid warning for Dump Functions in ACPICA (Adam Lackorzynski)

   - Add extended linear address mode to HMAT MSCIS in ACPICA (Dave
     Jiang)

   - Handle empty connection_node in iasl (Aleksandrs Vinarskis)

   - Allow for more flexibility in _DSM args (Saket Dumbre)

   - Setup for ACPICA release 20240827 (Saket Dumbre)

   - Add ACPI device enumeration support for interrupt controller
     probing including taking dependencies into account (Sunil V L)

   - Implement ACPI-based interrupt controller probing on RISC-V
     (Sunil V L)

   - Add ACPI support for AIA in riscv-intc and add ACPI support to
     riscv-imsic, riscv-aplic, and sifive-plic (Sunil V L)

   - Do not release locks during operation region accesses in the ACPI
     EC driver (Rafael Wysocki)

   - Fix up the _STR handling in the ACPI device object sysfs interface,
     make it represent the device object attributes as an attribute
     group and make it rely on driver core functionality for sysfs
     attrubute management (Thomas Weißschuh)

   - Extend error messages printed to the kernel log when
     acpi_evaluate_dsm() fails to include revision and function number
     (David Wang)

   - Add a new AMDI0015 platform device ID to the ACPi APD driver for
     AMD SoCs (Shyam Sundar S K)

   - Use the driver core for the async probing management in the ACPI
     battery driver (Thomas Weißschuh)

   - Remove redundant initalizations of a local variable to NULL from
     the ACPI battery driver (Ilpo Järvinen)

   - Remove unneeded check in tps68470_pmic_opregion_probe() (Aleksandr
     Mishin)

   - Add support for setting the EPP register through the ACPI CPPC
     sysfs interface if it is in FFH (Mario Limonciello)

   - Fix MASK_VAL() usage in the ACPI CPPC library (Clément Léger)

   - Reduce the log level of a per-CPU message about idle states in the
     ACPI processor driver (Li RongQing)

   - Fix crash in exit_round_robin() in the ACPI processor aggregator
     device (PAD) driver (Seiji Nishikawa)

   - Add force_vendor quirk for Panasonic Toughbook CF-18 in the ACPI
     backlight driver (Hans de Goede)

   - Make the DMI checks related to backlight handling on Lenovo Yoga
     Tab 3 X90F less strict (Hans de Goede)

   - Enforce native backlight handling on Apple MacbookPro9,2 (Esther
     Shimanovich)

   - Add IRQ override quirks for Asus Vivobook Go E1404GAB and MECHREV
     GM7XG0M, and refine the TongFang GMxXGxx quirk (Li Chen, Tamim
     Khan, Werner Sembach)

   - Quirk ASUS ROG M16 to default to S3 sleep (Luke D. Jones)

   - Define and use symbols for device and class name lengths in the
     ACPI bus type code and make the code use strscpy() instead of
     strcpy() in several places (Muhammad Qasim Abdul Majeed)"

* tag 'acpi-6.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (70 commits)
  ACPI: resource: Add another DMI match for the TongFang GMxXGxx
  ACPI: CPPC: Add support for setting EPP register in FFH
  ACPI: PM: Quirk ASUS ROG M16 to default to S3 sleep
  ACPI: video: Add force_vendor quirk for Panasonic Toughbook CF-18
  ACPI: battery: use driver core managed async probing
  ACPI: button: Use strscpy() instead of strcpy()
  ACPI: resource: Skip IRQ override on Asus Vivobook Go E1404GAB
  ACPI: CPPC: Fix MASK_VAL() usage
  irqchip/sifive-plic: Add ACPI support
  ACPICA: Setup for ACPICA release 20240827
  ACPICA: Allow for more flexibility in _DSM args
  ACPICA: iasl: handle empty connection_node
  ACPICA: HMAT: Add extended linear address mode to MSCIS
  ACPICA: Avoid warning for Dump Functions
  ACPICA: Add support for Windows 11 22H2 _OSI string
  ACPICA: Update integer-to-hex-string conversions
  ACPICA: Add support for supressing leading zeros in hex strings
  ACPICA: Allow for supressing leading zeros when using acpi_ex_convert_to_ascii()
  ACPICA: Fix memory leak if acpi_ps_get_next_field() fails
  ACPICA: Fix memory leak if acpi_ps_get_next_namepath() fails
  ...
2024-09-16 07:41:48 +02:00
Linus Torvalds
64dd3b6a79 ARM:
* New Stage-2 page table dumper, reusing the main ptdump infrastructure
 
 * FP8 support
 
 * Nested virtualization now supports the address translation (FEAT_ATS1A)
   family of instructions
 
 * Add selftest checks for a bunch of timer emulation corner cases
 
 * Fix multiple cases where KVM/arm64 doesn't correctly handle the guest
   trying to use a GICv3 that wasn't advertised
 
 * Remove REG_HIDDEN_USER from the sysreg infrastructure, making
   things little simpler
 
 * Prevent MTE tags being restored by userspace if we are actively
   logging writes, as that's a recipe for disaster
 
 * Correct the refcount on a page that is not considered for MTE tag
   copying (such as a device)
 
 * When walking a page table to split block mappings, synchronize only
   at the end the walk rather than on every store
 
 * Fix boundary check when transfering memory using FFA
 
 * Fix pKVM TLB invalidation, only affecting currently out of tree
   code but worth addressing for peace of mind
 
 LoongArch:
 
 * Revert qspinlock to test-and-set simple lock on VM.
 
 * Add Loongson Binary Translation extension support.
 
 * Add PMU support for guest.
 
 * Enable paravirt feature control from VMM.
 
 * Implement function kvm_para_has_feature().
 
 RISC-V:
 
 * Fix sbiret init before forwarding to userspace
 
 * Don't zero-out PMU snapshot area before freeing data
 
 * Allow legacy PMU access from guest
 
 * Fix to allow hpmcounter31 from the guest
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCAAyFiEE8TM4V0tmI4mGbHaCv/vSX3jHroMFAmbmghAUHHBib256aW5p
 QHJlZGhhdC5jb20ACgkQv/vSX3jHroPFQgf+Ijeqlx90BGy96pyzo/NkYKPeEc8G
 gKhlm8PdtdZYaRdJ53MVRLLpzbLuzqbwrn0ZX2tvoDRLzuAqTt2GTFoT6e2HtY5B
 Sf7KQMFwHWGtGklC1EmZ1fXsCocswpuAcexCLKLRBoWUcKABlgwV3N3vJo5gx/Ag
 8XXhYpcLTh+p7bjMdJShQy019pTwEDE68pPVnL2NPzla1G6Qox7ZJIdOEMZXuyJA
 MJ4jbFWE/T8vLFUf/8MGQ/+bo+4140kzB8N9wkazNcBRoodY6Hx+Lm1LiZjNudO1
 ilIdB4P3Ht+D8UuBv2DO5XTakfJz9T9YsoRcPlwrOWi/8xBRbt236gFB3Q==
 =sHTI
 -----END PGP SIGNATURE-----

Merge tag 'for-linus-non-x86' of git://git.kernel.org/pub/scm/virt/kvm/kvm

Pull kvm updates from Paolo Bonzini:
 "These are the non-x86 changes (mostly ARM, as is usually the case).
  The generic and x86 changes will come later"

  ARM:

   - New Stage-2 page table dumper, reusing the main ptdump
     infrastructure

   - FP8 support

   - Nested virtualization now supports the address translation
     (FEAT_ATS1A) family of instructions

   - Add selftest checks for a bunch of timer emulation corner cases

   - Fix multiple cases where KVM/arm64 doesn't correctly handle the
     guest trying to use a GICv3 that wasn't advertised

   - Remove REG_HIDDEN_USER from the sysreg infrastructure, making
     things little simpler

   - Prevent MTE tags being restored by userspace if we are actively
     logging writes, as that's a recipe for disaster

   - Correct the refcount on a page that is not considered for MTE tag
     copying (such as a device)

   - When walking a page table to split block mappings, synchronize only
     at the end the walk rather than on every store

   - Fix boundary check when transfering memory using FFA

   - Fix pKVM TLB invalidation, only affecting currently out of tree
     code but worth addressing for peace of mind

  LoongArch:

   - Revert qspinlock to test-and-set simple lock on VM.

   - Add Loongson Binary Translation extension support.

   - Add PMU support for guest.

   - Enable paravirt feature control from VMM.

   - Implement function kvm_para_has_feature().

  RISC-V:

   - Fix sbiret init before forwarding to userspace

   - Don't zero-out PMU snapshot area before freeing data

   - Allow legacy PMU access from guest

   - Fix to allow hpmcounter31 from the guest"

* tag 'for-linus-non-x86' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (64 commits)
  LoongArch: KVM: Implement function kvm_para_has_feature()
  LoongArch: KVM: Enable paravirt feature control from VMM
  LoongArch: KVM: Add PMU support for guest
  KVM: arm64: Get rid of REG_HIDDEN_USER visibility qualifier
  KVM: arm64: Simplify visibility handling of AArch32 SPSR_*
  KVM: arm64: Simplify handling of CNTKCTL_EL12
  LoongArch: KVM: Add vm migration support for LBT registers
  LoongArch: KVM: Add Binary Translation extension support
  LoongArch: KVM: Add VM feature detection function
  LoongArch: Revert qspinlock to test-and-set simple lock on VM
  KVM: arm64: Register ptdump with debugfs on guest creation
  arm64: ptdump: Don't override the level when operating on the stage-2 tables
  arm64: ptdump: Use the ptdump description from a local context
  arm64: ptdump: Expose the attribute parsing functionality
  KVM: arm64: Add memory length checks and remove inline in do_ffa_mem_xfer
  KVM: arm64: Move pagetable definitions to common header
  KVM: arm64: nv: Add support for FEAT_ATS1A
  KVM: arm64: nv: Plumb handling of AT S1* traps from EL2
  KVM: arm64: nv: Make AT+PAN instructions aware of FEAT_PAN3
  KVM: arm64: nv: Sanitise SCTLR_EL1.EPAN according to VM configuration
  ...
2024-09-16 07:38:18 +02:00
Linus Torvalds
114143a595 arm64 updates for 6.12
ACPI:
 * Enable PMCG erratum workaround for HiSilicon HIP10 and 11 platforms.
 * Ensure arm64-specific IORT header is covered by MAINTAINERS.
 
 CPU Errata:
 * Enable workaround for hardware access/dirty issue on Ampere-1A cores.
 
 Memory management:
 * Define PHYSMEM_END to fix a crash in the amdgpu driver.
 * Avoid tripping over invalid kernel mappings on the kexec() path.
 * Userspace support for the Permission Overlay Extension (POE) using
   protection keys.
 
 Perf and PMUs:
 * Add support for the "fixed instruction counter" extension in the CPU
   PMU architecture.
 * Extend and fix the event encodings for Apple's M1 CPU PMU.
 * Allow LSM hooks to decide on SPE permissions for physical profiling.
 * Add support for the CMN S3 and NI-700 PMUs.
 
 Confidential Computing:
 * Add support for booting an arm64 kernel as a protected guest under
   Android's "Protected KVM" (pKVM) hypervisor.
 
 Selftests:
 * Fix vector length issues in the SVE/SME sigreturn tests
 * Fix build warning in the ptrace tests.
 
 Timers:
 * Add support for PR_{G,S}ET_TSC so that 'rr' can deal with
   non-determinism arising from the architected counter.
 
 Miscellaneous:
 * Rework our IPI-based CPU stopping code to try NMIs if regular IPIs
   don't succeed.
 * Minor fixes and cleanups.
 -----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCgAuFiEEPxTL6PPUbjXGY88ct6xw3ITBYzQFAmbkVNEQHHdpbGxAa2Vy
 bmVsLm9yZwAKCRC3rHDchMFjNKeIB/9YtbN7JMgsXktM94GP03r3tlFF36Y1S51S
 +zdDZclAVZCTCZN+PaFeAZ/+ah2EQYrY6rtDoHUSEMQdF9kH+ycuIPDTwaJ4Qkam
 QKXMpAgtY/4yf2rX4lhDF8rEvkhLDsu7oGDhqUZQsA33GrMBHfgA3oqpYwlVjvGq
 gkm7olTo9LdWAxkPpnjGrjB6Mv5Dq8dJRhW+0Q5AntI5zx3RdYGJZA9GUSzyYCCt
 FIYOtMmWPkQ0kKxIVxOxAOm/ubhfyCs2sjSfkaa3vtvtt+Yjye1Xd81rFciIbPgP
 QlK/Mes2kBZmjhkeus8guLI5Vi7tx3DQMkNqLXkHAAzOoC4oConE
 =6osL
 -----END PGP SIGNATURE-----

Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux

Pull arm64 updates from Will Deacon:
 "The highlights are support for Arm's "Permission Overlay Extension"
  using memory protection keys, support for running as a protected guest
  on Android as well as perf support for a bunch of new interconnect
  PMUs.

  Summary:

  ACPI:
   - Enable PMCG erratum workaround for HiSilicon HIP10 and 11
     platforms.
   - Ensure arm64-specific IORT header is covered by MAINTAINERS.

  CPU Errata:
   - Enable workaround for hardware access/dirty issue on Ampere-1A
     cores.

  Memory management:
   - Define PHYSMEM_END to fix a crash in the amdgpu driver.
   - Avoid tripping over invalid kernel mappings on the kexec() path.
   - Userspace support for the Permission Overlay Extension (POE) using
     protection keys.

  Perf and PMUs:
   - Add support for the "fixed instruction counter" extension in the
     CPU PMU architecture.
   - Extend and fix the event encodings for Apple's M1 CPU PMU.
   - Allow LSM hooks to decide on SPE permissions for physical
     profiling.
   - Add support for the CMN S3 and NI-700 PMUs.

  Confidential Computing:
   - Add support for booting an arm64 kernel as a protected guest under
     Android's "Protected KVM" (pKVM) hypervisor.

  Selftests:
   - Fix vector length issues in the SVE/SME sigreturn tests
   - Fix build warning in the ptrace tests.

  Timers:
   - Add support for PR_{G,S}ET_TSC so that 'rr' can deal with
     non-determinism arising from the architected counter.

  Miscellaneous:
   - Rework our IPI-based CPU stopping code to try NMIs if regular IPIs
     don't succeed.
   - Minor fixes and cleanups"

* tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (94 commits)
  perf: arm-ni: Fix an NULL vs IS_ERR() bug
  arm64: hibernate: Fix warning for cast from restricted gfp_t
  arm64: esr: Define ESR_ELx_EC_* constants as UL
  arm64: pkeys: remove redundant WARN
  perf: arm_pmuv3: Use BR_RETIRED for HW branch event if enabled
  MAINTAINERS: List Arm interconnect PMUs as supported
  perf: Add driver for Arm NI-700 interconnect PMU
  dt-bindings/perf: Add Arm NI-700 PMU
  perf/arm-cmn: Improve format attr printing
  perf/arm-cmn: Clean up unnecessary NUMA_NO_NODE check
  arm64/mm: use lm_alias() with addresses passed to memblock_free()
  mm: arm64: document why pte is not advanced in contpte_ptep_set_access_flags()
  arm64: Expose the end of the linear map in PHYSMEM_END
  arm64: trans_pgd: mark PTEs entries as valid to avoid dead kexec()
  arm64/mm: Delete __init region from memblock.reserved
  perf/arm-cmn: Support CMN S3
  dt-bindings: perf: arm-cmn: Add CMN S3
  perf/arm-cmn: Refactor DTC PMU register access
  perf/arm-cmn: Make cycle counts less surprising
  perf/arm-cmn: Improve build-time assertion
  ...
2024-09-16 06:55:07 +02:00
Linus Torvalds
85ffc6e4ed This update includes the following changes:
API:
 
 - Make self-test asynchronous.
 
 Algorithms:
 
 - Remove MPI functions added for SM3.
 - Add allocation error checks to remaining MPI functions (introduced for SM3).
 - Set default Jitter RNG OSR to 3.
 
 Drivers:
 
 - Add hwrng driver for Rockchip RK3568 SoC.
 - Allow disabling SR-IOV VFs through sysfs in qat.
 - Fix device reset bugs in hisilicon.
 - Fix authenc key parsing by using generic helper in octeontx*.
 
 Others:
 
 - Fix xor benchmarking on parisc.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEn51F/lCuNhUwmDeSxycdCkmxi6cFAmbnq/wACgkQxycdCkmx
 i6cyXw//cBgngKOuCv7tLqMPeSLC39jDJEKkP9tS9ZilYyxzg1b9cbnDLlKNk4Yq
 4A6rRqqh8PD3/yJT58pGXaU5Is5sVMQRqqgwFutXrkD+hsMLk2nlgzsWYhg6aUsY
 /THTfmKTwEgfc3qDLZq6xGOShmMdO6NiOGsH3MeEWhbgfrDuJlOkHXd7QncNa7q8
 NEP7kI3vBc0xFcOxzbjy8tSGYEmPft1LECXAKsgOycWj9Q0SkzPocmo59iSbM21b
 HfV0p3hgAEa5VgKv0Rc5/6PevAqJqOSjGNfRBSPZ97o7dop8sl/z/cOWiy8dM7wO
 xhd9g7XXtmML6UO2MpJPMJzsLgMsjmUTWO2UyEpIyst6RVfJlniOL/jGzWmZ/P2+
 vw/F/mX8k60Zv1du46PC3p6eBeH4Yx/2fEPvPTJus+DQHS9GchXtAKtMToyyUHc2
 6TAy0nOihVQK2Q3QuQ1B/ghQS4tkdOenOIYHSCf9a9nJamub+PqP8jWDw0Y2RcY6
 jSs+tk6hwHJaKnj/T/Mr0gVPX9L8KHCYBtZD7Qbr0NhoXOT6w47m6bbew/dzTN+0
 pmFsgz32fNm8vb8R8D0kZDF63s6uz6CN+P9Dx6Tab4X+87HxNdeaBPS/Le9tYgOC
 0MmE5oIquooqedpM5tW55yuyOHhLPGLQS2SDiA+Ke+WYbAC8SQc=
 =rG1X
 -----END PGP SIGNATURE-----

Merge tag 'v6.12-p1' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6

Pull crypto update from Herbert Xu"
 "API:
   - Make self-test asynchronous

  Algorithms:
   - Remove MPI functions added for SM3
   - Add allocation error checks to remaining MPI functions (introduced
     for SM3)
   - Set default Jitter RNG OSR to 3

  Drivers:
   - Add hwrng driver for Rockchip RK3568 SoC
   - Allow disabling SR-IOV VFs through sysfs in qat
   - Fix device reset bugs in hisilicon
   - Fix authenc key parsing by using generic helper in octeontx*

  Others:
   - Fix xor benchmarking on parisc"

* tag 'v6.12-p1' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (96 commits)
  crypto: n2 - Set err to EINVAL if snprintf fails for hmac
  crypto: camm/qi - Use ERR_CAST() to return error-valued pointer
  crypto: mips/crc32 - Clean up useless assignment operations
  crypto: qcom-rng - rename *_of_data to *_match_data
  crypto: qcom-rng - fix support for ACPI-based systems
  dt-bindings: crypto: qcom,prng: document support for SA8255p
  crypto: aegis128 - Fix indentation issue in crypto_aegis128_process_crypt()
  crypto: octeontx* - Select CRYPTO_AUTHENC
  crypto: testmgr - Hide ENOENT errors
  crypto: qat - Remove trailing space after \n newline
  crypto: hisilicon/sec - Remove trailing space after \n newline
  crypto: algboss - Pass instance creation error up
  crypto: api - Fix generic algorithm self-test races
  crypto: hisilicon/qm - inject error before stopping queue
  crypto: hisilicon/hpre - mask cluster timeout error
  crypto: hisilicon/qm - reset device before enabling it
  crypto: hisilicon/trng - modifying the order of header files
  crypto: hisilicon - add a lock for the qp send operation
  crypto: hisilicon - fix missed error branch
  crypto: ccp - do not request interrupt on cmd completion when irqs disabled
  ...
2024-09-16 06:28:28 +02:00
Paolo Bonzini
1a371190a3 Merge tag 'loongarch-kvm-6.12' of git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson into HEAD
LoongArch KVM changes for v6.12

1. Revert qspinlock to test-and-set simple lock on VM.
2. Add Loongson Binary Translation extension support.
3. Add PMU support for guest.
4. Enable paravirt feature control from VMM.
5. Implement function kvm_para_has_feature().
2024-09-15 02:43:11 -04:00
Adhemerval Zanella
712676ea2b arm64: vDSO: Wire up getrandom() vDSO implementation
Hook up the generic vDSO implementation to the aarch64 vDSO data page.
The _vdso_rng_data required data is placed within the _vdso_data vvar
page, by using a offset larger than the vdso_data.

The vDSO function requires a ChaCha20 implementation that does not write
to the stack, and that can do an entire ChaCha20 permutation.  The one
provided uses NEON on the permute operation, with a fallback to the
syscall for chips that do not support AdvSIMD.

This also passes the vdso_test_chacha test along with
vdso_test_getrandom. The vdso_test_getrandom bench-single result on
Neoverse-N1 shows:

   vdso: 25000000 times in 0.783884250 seconds
   libc: 25000000 times in 8.780275399 seconds
syscall: 25000000 times in 8.786581518 seconds

A small fixup to arch/arm64/include/asm/mman.h was required to avoid
pulling kernel code into the vDSO, similar to what's already done in
arch/arm64/include/asm/rwonce.h.

Signed-off-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
Acked-by: Will Deacon <will@kernel.org>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2024-09-13 17:28:36 +02:00
Mark Rutland
2c2ca3416b arm64: alternative: make alternative_has_cap_likely() VDSO compatible
Currently alternative_has_cap_unlikely() can be used in VDSO code, but
alternative_has_cap_likely() cannot as it references alt_cb_patch_nops,
which is not available when linking the VDSO. This is unfortunate as it
would be useful to have alternative_has_cap_likely() available in VDSO
code.

The use of alt_cb_patch_nops was added in commit:

  d926079f17 ("arm64: alternatives: add shared NOP callback")

... as removing duplicate NOPs within the kernel Image saved areasonable
amount of space.

Given the VDSO code will have nowhere near as many alternative branches
as the main kernel image, this isn't much of a concern, and a few extra
nops isn't a massive problem.

Change alternative_has_cap_likely() to only use alt_cb_patch_nops for
the main kernel image, and allow duplicate NOPs in VDSO code.

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Acked-by: Will Deacon <will@kernel.org>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2024-09-13 17:28:35 +02:00
Alice Ryhl
d077242d68 rust: support for shadow call stack sanitizer
Add all of the flags that are needed to support the shadow call stack
(SCS) sanitizer with Rust, and updates Kconfig to allow only
configurations that work.

The -Zfixed-x18 flag is required to use SCS on arm64, and requires rustc
version 1.80.0 or greater. This restriction is reflected in Kconfig.

When CONFIG_DYNAMIC_SCS is enabled, the build will be configured to
include unwind tables in the build artifacts. Dynamic SCS uses the
unwind tables at boot to find all places that need to be patched. The
-Cforce-unwind-tables=y flag ensures that unwind tables are available
for Rust code.

In non-dynamic mode, the -Zsanitizer=shadow-call-stack flag is what
enables the SCS sanitizer. Using this flag requires rustc version 1.82.0
or greater on the targets used by Rust in the kernel. This restriction
is reflected in Kconfig.

It is possible to avoid the requirement of rustc 1.80.0 by using
-Ctarget-feature=+reserve-x18 instead of -Zfixed-x18. However, this flag
emits a warning during the build, so this patch does not add support for
using it and instead requires 1.80.0 or greater.

The dependency is placed on `select HAVE_RUST` to avoid a situation
where enabling Rust silently turns off the sanitizer. Instead, turning
on the sanitizer results in Rust being disabled. We generally do not
want changes to CONFIG_RUST to result in any mitigations being changed
or turned off.

At the time of writing, rustc 1.82.0 only exists via the nightly release
channel. There is a chance that the -Zsanitizer=shadow-call-stack flag
will end up needing 1.83.0 instead, but I think it is small.

Reviewed-by: Sami Tolvanen <samitolvanen@google.com>
Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
Reviewed-by: Kees Cook <kees@kernel.org>
Acked-by: Will Deacon <will@kernel.org>
Signed-off-by: Alice Ryhl <aliceryhl@google.com>
Link: https://lore.kernel.org/r/20240829-shadow-call-stack-v7-1-2f62a4432abf@google.com
[ Fixed indentation using spaces. - Miguel ]
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
2024-09-13 00:03:14 +02:00
Arnd Bergmann
168c3e0d44 Allwinner SoC device tree changes for 6.12 part 2
ARM64 device tree and binding-only changes
 - Add system and pin voltage regulator supplies for NanoPi NEO Plus2
 -----BEGIN PGP SIGNATURE-----
 
 iQJCBAABCgAsFiEE2nN1m/hhnkhOWjtHOJpUIZwPJDAFAmbipcUOHHdlbnNAY3Np
 ZS5vcmcACgkQOJpUIZwPJDB4vg//Q0MmjEWVfuWKq2nwr3OXcsvwtu6RIyuzzup4
 plWbA+njC+ED1150Az52i/gjHo4GyxrIscHJ+HWk06yGapFqUbofolGaadoKCJXN
 fYyL23PxWJRcehqD8zmXHxRTjEjZtPRBzpSUr22L6ypRp5vJTsjSOkB2fp7Fhzbm
 C84MQunF1J5K5PcyPsS9il3tdcuKR2JaMoblfYYhNXz55HfRAoEjL39wXHB8Y9Hr
 WXNZQxOlkQIeClDSR1p8QYu4LY/1Q+BGHFqslWK+M2aNOLY/ed5l8aBNfX7ZXF1h
 MQXRCfGEzGbsrm9qjjVWZE2Ge/618EnFWru7J1gwX/FEYS8YJJkpQeuRd56eFjga
 DFqqoFpHtFcOCD9W7vn/NMvQWxbfnQhj1wNliyzGpoeByIegxCaaTN4uMhW65sFu
 NOXdk953v/mKmjGqLycFwjaGV/dysrQ4l2etzKH/DcXJP6b475UKZcc1o82ffkfG
 zIDTcBs5jZi2KfGr9xD1gDSPCCKqlHL1eP2LM0mqd9gSgEV/MRHTeNEfnEYv+9L6
 5vcZ3LXeCFCSyyPWVLUwJY/5RVwNyxrrjdvXyUDvaZM06gUaZsJJ0UtOn7SLbY25
 2TvecnlBYPnixIe45twl+pFmDoee9219J6E6LKqTo8e+l3a8f6qhmn8YKxHHaADj
 QpKjmls=
 =jGM2
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmbi+eAACgkQYKtH/8kJ
 Uid6+g/8DIzjrn55xdjHit4cTxjpmRysXEQyACkYjtbXQ1whGBkcgv2HJ6JLUHEU
 IW0deXfz5tMbkopBJDtATeiVzZWL7bzA8YvEwR26VUrdMsJuFb2G3ru+A3hsn2Wn
 3KBQLN+9ufrxFx6yHXFOqzuEtrxaygPVjVJcbm9mLzgWVhRGtrFdz8EZxhP9Ty4N
 TdVVhjnQeuXlVjiwcanupX9hAOjUhDI6gCdGx+m7rIP+vo2k/76b+3pvoG7QtH8b
 qUyBjOGSTvZ5q9U2UFkkz+rLr0pd0n6rcO/ONmIV7K8XgLer8KY8RtuVcU1lFFzK
 Rfomq+9mF0BknBcQFP5gdgjEVOjdRm6FDbk8Bf3V6rWvs2YjcpCWtK07o7UeB2qe
 6WFWcaigpeAt5wfrhPREemEItF/K/KBjSYCucskPRKnMIV38dFvjHGjFxP4zHcJX
 wAmnZTYWKIKrrUxMq0jZqglSSIvs8kCjJbz6a0JW7MKjZQGH3m4aekUbMNQ9h74r
 PukXi9BwogxLDsM62y+UNNFg/McRxzYleTAC52J+gaKyBZ3npk+RITrrAIpH8Zdt
 qT6fAkgFOfXzVS6N50TNoZSH4c59x5PJGRq7q3f5FxyekgedL32KGR0SboSc2UVE
 DTa4Yl/wfG/6CzZfuvJwhWORqev7xHiWJIGpLpbz++mQzxVezuc=
 =cl3e
 -----END PGP SIGNATURE-----

Merge tag 'sunxi-dt-for-6.12-2' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into soc/dt

Allwinner SoC device tree changes for 6.12 part 2

ARM64 device tree and binding-only changes
- Add system and pin voltage regulator supplies for NanoPi NEO Plus2

* tag 'sunxi-dt-for-6.12-2' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
  arm64: dts: allwinner: h5: NanoPi NEO Plus2: Use regulators for pio
  arm64: dts: allwinner: h5: NanoPi Neo Plus2: Fix regulators

Link: https://lore.kernel.org/r/ZuKmwD8VQrvNx8ir@wens.tw
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-09-12 14:25:36 +00:00
Will Deacon
75078ba2b3 Merge branch 'for-next/timers' into for-next/core
* for-next/timers:
  arm64: Implement prctl(PR_{G,S}ET_TSC)
2024-09-12 13:44:03 +01:00
Will Deacon
982a847c71 Merge branch 'for-next/poe' into for-next/core
* for-next/poe: (31 commits)
  arm64: pkeys: remove redundant WARN
  kselftest/arm64: Add test case for POR_EL0 signal frame records
  kselftest/arm64: parse POE_MAGIC in a signal frame
  kselftest/arm64: add HWCAP test for FEAT_S1POE
  selftests: mm: make protection_keys test work on arm64
  selftests: mm: move fpregs printing
  kselftest/arm64: move get_header()
  arm64: add Permission Overlay Extension Kconfig
  arm64: enable PKEY support for CPUs with S1POE
  arm64: enable POE and PIE to coexist
  arm64/ptrace: add support for FEAT_POE
  arm64: add POE signal support
  arm64: implement PKEYS support
  arm64: add pte_access_permitted_no_overlay()
  arm64: handle PKEY/POE faults
  arm64: mask out POIndex when modifying a PTE
  arm64: convert protection key into vm_flags and pgprot values
  arm64: add POIndex defines
  arm64: re-order MTE VM_ flags
  arm64: enable the Permission Overlay Extension for EL0
  ...
2024-09-12 13:43:41 +01:00
Will Deacon
3175e051c3 Merge branch 'for-next/pkvm-guest' into for-next/core
* for-next/pkvm-guest:
  arm64: smccc: Reserve block of KVM "vendor" services for pKVM hypercalls
  drivers/virt: pkvm: Intercept ioremap using pKVM MMIO_GUARD hypercall
  arm64: mm: Add confidential computing hook to ioremap_prot()
  drivers/virt: pkvm: Hook up mem_encrypt API using pKVM hypercalls
  arm64: mm: Add top-level dispatcher for internal mem_encrypt API
  drivers/virt: pkvm: Add initial support for running as a protected guest
  firmware/smccc: Call arch-specific hook on discovering KVM services
2024-09-12 13:43:22 +01:00
Will Deacon
119e3eef32 Merge branch 'for-next/perf' into for-next/core
* for-next/perf: (33 commits)
  perf: arm-ni: Fix an NULL vs IS_ERR() bug
  perf: arm_pmuv3: Use BR_RETIRED for HW branch event if enabled
  MAINTAINERS: List Arm interconnect PMUs as supported
  perf: Add driver for Arm NI-700 interconnect PMU
  dt-bindings/perf: Add Arm NI-700 PMU
  perf/arm-cmn: Improve format attr printing
  perf/arm-cmn: Clean up unnecessary NUMA_NO_NODE check
  perf/arm-cmn: Support CMN S3
  dt-bindings: perf: arm-cmn: Add CMN S3
  perf/arm-cmn: Refactor DTC PMU register access
  perf/arm-cmn: Make cycle counts less surprising
  perf/arm-cmn: Improve build-time assertion
  perf/arm-cmn: Ensure dtm_idx is big enough
  perf/arm-cmn: Fix CCLA register offset
  perf/arm-cmn: Refactor node ID handling. Again.
  drivers/perf: hisi_pcie: Export supported Root Ports [bdf_min, bdf_max]
  drivers/perf: hisi_pcie: Fix TLP headers bandwidth counting
  drivers/perf: hisi_pcie: Record hardware counts correctly
  drivers/perf: arm_spe: Use perf_allow_kernel() for permissions
  perf/dwc_pcie: Add support for QCOM vendor devices
  ...
2024-09-12 13:43:16 +01:00
Will Deacon
c2c9402369 Merge branch 'for-next/mm' into for-next/core
* for-next/mm:
  arm64/mm: use lm_alias() with addresses passed to memblock_free()
  mm: arm64: document why pte is not advanced in contpte_ptep_set_access_flags()
  arm64: Expose the end of the linear map in PHYSMEM_END
  arm64: trans_pgd: mark PTEs entries as valid to avoid dead kexec()
  arm64/mm: Delete __init region from memblock.reserved
2024-09-12 13:43:08 +01:00
Will Deacon
f661eb5f8d Merge branch 'for-next/misc' into for-next/core
* for-next/misc:
  arm64: hibernate: Fix warning for cast from restricted gfp_t
  arm64: esr: Define ESR_ELx_EC_* constants as UL
  arm64: Constify struct kobj_type
  arm64: smp: smp_send_stop() and crash_smp_send_stop() should try non-NMI first
  arm64/sve: Remove unused declaration read_smcr_features()
  arm64: mm: Remove unused declaration early_io_map()
  arm64: el2_setup.h: Rename some labels to be more diff-friendly
  arm64: signal: Fix some under-bracketed UAPI macros
  arm64/mm: Drop TCR_SMP_FLAGS
  arm64/mm: Drop PMD_SECT_VALID
2024-09-12 13:42:57 +01:00
Min-Hua Chen
ecdd16df45 arm64: hibernate: Fix warning for cast from restricted gfp_t
This patch fixes the following warning by adding __force
to the cast:
arch/arm64/kernel/hibernate.c:410:44: sparse: warning: cast from restricted gfp_t

No functional change intended.

Signed-off-by: Min-Hua Chen <minhuadotchen@gmail.com>
Link: https://lore.kernel.org/r/20240910232507.313555-1-minhuadotchen@gmail.com
Signed-off-by: Will Deacon <will@kernel.org>
2024-09-12 12:48:58 +01:00
Marc Zyngier
17a0005644 Merge branch kvm-arm64/visibility-cleanups into kvmarm-master/next
* kvm-arm64/visibility-cleanups:
  : .
  : Remove REG_HIDDEN_USER from the sysreg infrastructure, making things
  : a little more simple. From the cover letter:
  :
  : "Since 4d4f52052b ("KVM: arm64: nv: Drop EL12 register traps that are
  : redirected to VNCR") and the admission that KVM would never be supporting
  : the original FEAT_NV, REG_HIDDEN_USER only had a few users, all of which
  : could either be replaced by a more ad-hoc mechanism, or removed altogether."
  : .
  KVM: arm64: Get rid of REG_HIDDEN_USER visibility qualifier
  KVM: arm64: Simplify visibility handling of AArch32 SPSR_*
  KVM: arm64: Simplify handling of CNTKCTL_EL12

Signed-off-by: Marc Zyngier <maz@kernel.org>
2024-09-12 08:38:17 +01:00
Marc Zyngier
f625469051 Merge branch kvm-arm64/s2-ptdump into kvmarm-master/next
* kvm-arm64/s2-ptdump:
  : .
  : Stage-2 page table dumper, reusing the main ptdump infrastructure,
  : courtesy of Sebastian Ene. From the cover letter:
  :
  : "This series extends the ptdump support to allow dumping the guest
  : stage-2 pagetables. When CONFIG_PTDUMP_STAGE2_DEBUGFS is enabled, ptdump
  : registers the new following files under debugfs:
  : - /sys/debug/kvm/<guest_id>/stage2_page_tables
  : - /sys/debug/kvm/<guest_id>/stage2_levels
  : - /sys/debug/kvm/<guest_id>/ipa_range
  :
  : This allows userspace tools (eg. cat) to dump the stage-2 pagetables by
  : reading the 'stage2_page_tables' file.
  : [...]"
  : .
  KVM: arm64: Register ptdump with debugfs on guest creation
  arm64: ptdump: Don't override the level when operating on the stage-2 tables
  arm64: ptdump: Use the ptdump description from a local context
  arm64: ptdump: Expose the attribute parsing functionality
  KVM: arm64: Move pagetable definitions to common header

Signed-off-by: Marc Zyngier <maz@kernel.org>
2024-09-12 08:38:02 +01:00
Marc Zyngier
2e0f239457 Merge branch kvm-arm64/nv-at-pan into kvmarm-master/next
* kvm-arm64/nv-at-pan:
  : .
  : Add NV support for the AT family of instructions, which mostly results
  : in adding a page table walker that deals with most of the complexity
  : of the architecture.
  :
  : From the cover letter:
  :
  : "Another task that a hypervisor supporting NV on arm64 has to deal with
  : is to emulate the AT instruction, because we multiplex all the S1
  : translations on a single set of registers, and the guest S2 is never
  : truly resident on the CPU.
  :
  : So given that we lie about page tables, we also have to lie about
  : translation instructions, hence the emulation. Things are made
  : complicated by the fact that guest S1 page tables can be swapped out,
  : and that our shadow S2 is likely to be incomplete. So while using AT
  : to emulate AT is tempting (and useful), it is not going to always
  : work, and we thus need a fallback in the shape of a SW S1 walker."
  : .
  KVM: arm64: nv: Add support for FEAT_ATS1A
  KVM: arm64: nv: Plumb handling of AT S1* traps from EL2
  KVM: arm64: nv: Make AT+PAN instructions aware of FEAT_PAN3
  KVM: arm64: nv: Sanitise SCTLR_EL1.EPAN according to VM configuration
  KVM: arm64: nv: Add SW walker for AT S1 emulation
  KVM: arm64: nv: Make ps_to_output_size() generally available
  KVM: arm64: nv: Add emulation of AT S12E{0,1}{R,W}
  KVM: arm64: nv: Add basic emulation of AT S1E2{R,W}
  KVM: arm64: nv: Add basic emulation of AT S1E1{R,W}P
  KVM: arm64: nv: Add basic emulation of AT S1E{0,1}{R,W}
  KVM: arm64: nv: Honor absence of FEAT_PAN2
  KVM: arm64: nv: Turn upper_attr for S2 walk into the full descriptor
  KVM: arm64: nv: Enforce S2 alignment when contiguous bit is set
  arm64: Add ESR_ELx_FSC_ADDRSZ_L() helper
  arm64: Add system register encoding for PSTATE.PAN
  arm64: Add PAR_EL1 field description
  arm64: Add missing APTable and TCR_ELx.HPD masks
  KVM: arm64: Make kvm_at() take an OP_AT_*

Signed-off-by: Marc Zyngier <maz@kernel.org>

# Conflicts:
#	arch/arm64/kvm/nested.c
2024-09-12 08:37:47 +01:00
Marc Zyngier
acf2ab2899 Merge branch kvm-arm64/vgic-sre-traps into kvmarm-master/next
* kvm-arm64/vgic-sre-traps:
  : .
  : Fix the multiple of cases where KVM/arm64 doesn't correctly
  : handle the guest trying to use a GICv3 that isn't advertised.
  :
  : From the cover letter:
  :
  : "It recently appeared that, when running on a GICv3-equipped platform
  : (which is what non-ancient arm64 HW has), *not* configuring a GICv3
  : for the guest could result in less than desirable outcomes.
  :
  : We have multiple issues to fix:
  :
  : - for registers that *always* trap (the SGI registers) or that *may*
  :   trap (the SRE register), we need to check whether a GICv3 has been
  :   instantiated before acting upon the trap.
  :
  : - for registers that only conditionally trap, we must actively trap
  :   them even in the absence of a GICv3 being instantiated, and handle
  :   those traps accordingly.
  :
  : - finally, ID registers must reflect the absence of a GICv3, so that
  :   we are consistent.
  :
  : This series goes through all these requirements. The main complexity
  : here is to apply a GICv3 configuration on the host in the absence of a
  : GICv3 in the guest. This is pretty hackish, but I don't have a much
  : better solution so far.
  :
  : As part of making wider use of of the trap bits, we fully define the
  : trap routing as per the architecture, something that we eventually
  : need for NV anyway."
  : .
  KVM: arm64: selftests: Cope with lack of GICv3 in set_id_regs
  KVM: arm64: Add selftest checking how the absence of GICv3 is handled
  KVM: arm64: Unify UNDEF injection helpers
  KVM: arm64: Make most GICv3 accesses UNDEF if they trap
  KVM: arm64: Honor guest requested traps in GICv3 emulation
  KVM: arm64: Add trap routing information for ICH_HCR_EL2
  KVM: arm64: Add ICH_HCR_EL2 to the vcpu state
  KVM: arm64: Zero ID_AA64PFR0_EL1.GIC when no GICv3 is presented to the guest
  KVM: arm64: Add helper for last ditch idreg adjustments
  KVM: arm64: Force GICv3 trap activation when no irqchip is configured on VHE
  KVM: arm64: Force SRE traps when SRE access is not enabled
  KVM: arm64: Move GICv3 trap configuration to kvm_calculate_traps()

Signed-off-by: Marc Zyngier <maz@kernel.org>
2024-09-12 08:37:06 +01:00
Marc Zyngier
091258a0a0 Merge branch kvm-arm64/fpmr into kvmarm-master/next
* kvm-arm64/fpmr:
  : .
  : Add FP8 support to the KVM/arm64 floating point handling.
  :
  : This includes new ID registers (ID_AA64PFR2_EL1 ID_AA64FPFR0_EL1)
  : being made visible to guests, as well as a new confrol register
  : (FPMR) which gets context-switched.
  : .
  KVM: arm64: Expose ID_AA64PFR2_EL1 to userspace and guests
  KVM: arm64: Enable FP8 support when available and configured
  KVM: arm64: Expose ID_AA64FPFR0_EL1 as a writable ID reg
  KVM: arm64: Honor trap routing for FPMR
  KVM: arm64: Add save/restore support for FPMR
  KVM: arm64: Move FPMR into the sysreg array
  KVM: arm64: Add predicate for FPMR support in a VM
  KVM: arm64: Move SVCR into the sysreg array

Signed-off-by: Marc Zyngier <maz@kernel.org>
2024-09-12 08:36:41 +01:00
Marc Zyngier
8884fd12f2 Merge branch kvm-arm64/mmu-misc-6.12 into kvmarm-master/next
* kvm-arm64/mmu-misc-6.12:
  : .
  : Various minor MMU improvements and bug-fixes:
  :
  : - Prevent MTE tags being restored by userspace if we are actively
  :   logging writes, as that's a recipe for disaster
  :
  : - Correct the refcount on a page that is not considered for MTE
  :   tag copying (such as a device)
  :
  : - When walking a page table to split blocks, keep the DSB at the end
  :   the walk, as there is no need to perform it on every store.
  :
  : - Fix boundary check when transfering memory using FFA
  : .
  KVM: arm64: Add memory length checks and remove inline in do_ffa_mem_xfer
  KVM: arm64: Disallow copying MTE to guest memory while KVM is dirty logging
  KVM: arm64: Release pfn, i.e. put page, if copying MTE tags hits ZONE_DEVICE
  KVM: arm64: Move data barrier to end of split walk

Signed-off-by: Marc Zyngier <maz@kernel.org>
2024-09-12 08:36:36 +01:00
Ayush Singh
bc65745dc6 arm64: dts: ti: k3-am625-beagleplay: Add bootloader-backdoor-gpios to cc1352p7
Add bootloader-backdoor-gpios which is required for enabling bootloader
backdoor for flashing firmware to cc1352p7.

Also fix the incorrect reset-gpio.

Signed-off-by: Ayush Singh <ayush@beagleboard.org>
Reviewed-by: Dhruva Gole <d-gole@ti.com>
Link: https://lore.kernel.org/r/20240903-beagleplay_fw_upgrade-v4-2-526fc62204a7@beagleboard.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-09-12 09:04:09 +02:00
Rafael J. Wysocki
45de40574f Merge branch 'acpi-riscv'
Merge ACPI and irqchip updates related to external interrupt controller
support on RISC-V:

 - Add ACPI device enumeration support for interrupt controller probing
   including taking dependencies into account (Sunil V L).

 - Implement ACPI-based interrupt controller probing on RISC-V (Sunil V L).

 - Add ACPI support for AIA in riscv-intc and add ACPI support to
   riscv-imsic, riscv-aplic, and sifive-plic (Sunil V L).

* acpi-riscv:
  irqchip/sifive-plic: Add ACPI support
  irqchip/riscv-aplic: Add ACPI support
  irqchip/riscv-imsic: Add ACPI support
  irqchip/riscv-imsic-state: Create separate function for DT
  irqchip/riscv-intc: Add ACPI support for AIA
  ACPI: RISC-V: Implement function to add implicit dependencies
  ACPI: RISC-V: Initialize GSI mapping structures
  ACPI: RISC-V: Implement function to reorder irqchip probe entries
  ACPI: RISC-V: Implement PCI related functionality
  ACPI: pci_link: Clear the dependencies after probe
  ACPI: bus: Add RINTC IRQ model for RISC-V
  ACPI: scan: Define weak function to populate dependencies
  ACPI: scan: Add RISC-V interrupt controllers to honor list
  ACPI: scan: Refactor dependency creation
  ACPI: bus: Add acpi_riscv_init() function
  ACPI: scan: Add a weak arch_sort_irqchip_probe() to order the IRQCHIP probe
  arm64: PCI: Migrate ACPI related functions to pci-acpi.c
2024-09-11 21:44:22 +02:00
Marc Zyngier
0746096fac KVM: arm64: Get rid of REG_HIDDEN_USER visibility qualifier
Now that REG_HIDDEN_USER has no direct user anymore, remove it
entirely and update all users of sysreg_hidden_user() to call
sysreg_hidden() instead.

Reviewed-by: Oliver Upton <oliver.upton@linux.dev>
Link: https://lore.kernel.org/r/20240904082419.1982402-4-maz@kernel.org
Signed-off-by: Marc Zyngier <maz@kernel.org>
2024-09-11 19:50:43 +01:00
Marc Zyngier
84ed45456c KVM: arm64: Simplify visibility handling of AArch32 SPSR_*
Since SPSR_* are not associated with any register in the sysreg array,
nor do they have .get_user()/.set_user() helpers, they are invisible to
userspace with that encoding.

Therefore hidden_user_visibility() serves no purpose here, and can be
safely removed.

Reviewed-by: Oliver Upton <oliver.upton@linux.dev>
Link: https://lore.kernel.org/r/20240904082419.1982402-3-maz@kernel.org
Signed-off-by: Marc Zyngier <maz@kernel.org>
2024-09-11 19:50:42 +01:00
Marc Zyngier
989fce63b2 KVM: arm64: Simplify handling of CNTKCTL_EL12
We go trough a great deal of effort to map CNTKCTL_EL12 to CNTKCTL_EL1
while hidding this mapping from userspace via a special visibility helper.

However, it would be far simpler to just provide an accessor doing the
mapping job, removing the need for a visibility helper.

With that done, we can also remove the EL12_REG() macro which serves
no purpose.

Reviewed-by: Oliver Upton <oliver.upton@linux.dev>
Link: https://lore.kernel.org/r/20240904082419.1982402-2-maz@kernel.org
Signed-off-by: Marc Zyngier <maz@kernel.org>
2024-09-11 19:49:16 +01:00
Linus Torvalds
77f5878967 ARM: SoC fixes for 6.11, part 3
The bulk of the changes this time are for device tree files in the
 rockchips platform, addressing correctness issues on individual
 boards, plus one change in the rk356x SoC file to make it match
 the binding.
 
 The only other changes that came in are
 
  - a CPU frequencey scaling fix for JH7110 (RISC-V)
  - a build fix for the cznic hwrandom driver
  - a fix for a deadlock in qualcomm uefi secure
    application firmware driver
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmbhsaQACgkQYKtH/8kJ
 Uif7IBAAwTdAjhxjiBk5ktIkrhNRG9VCvXDwr9Ji70yphxufSIZDQSa+pdN5EFyR
 EgWCTQkZ2Ctw7s9lQmC0Tu3Lxmpu5Q7838UJqlEon2K2yJkKfLG+OSqSwNU6l44u
 GcTND3kGUDTm+uot5Ne0F7dnPiLBWmithKa75/TIoza07Ekz4ynb2fYRuW6JURZ4
 6WCTziL0jCFcUALtjibgno3lG06AwrQWEKd3n53ws9ttnNtpWMzfkDnuF4dBcPod
 vEmTOIaJkEKV80nwupZw8aCKGxe8mARej2kGPZgm9heNfnQk/V7e/1wCm0q8tw3t
 kfUYLN9I/aXTcZyLwixCAVeWhCtONrYBHbZTjXVO2bONtGatiQKgJ1LwhjAOUVMV
 iG20E3P+9OIZ3VIQ9k0Sc3Ys3Sw9Vdd9y01pzv+SyzewnI0h9qHXOrkChx36iwSH
 wsJ9vqZUtLgxcYDYR9JEBEfK9Qaz7X59xtfw75jbiQDzIitvATxA+7HT+7/UPDuA
 d6y5e9i/27+UebImNNtK1+XgHH0qkdBOFA7CHWsvijKgI2GiNkFa1CALBio37dVz
 IBGMFTTHPsCKFiTfy7d4O6VgUeUOjhWXbVEScE7QoHmaQQZ8w0MD6uvOJ8m4cIAt
 V2xbw1EUplldhwRQtsUbsYbopkJBzk+1AWGcIx5ccd3nWCIJkew=
 =Waa0
 -----END PGP SIGNATURE-----

Merge tag 'arm-fixes-6.11-3' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc

Pull ARM SoC fixes from Arnd Bergmann:
 "The bulk of the changes this time are for device tree files in the
  rockchips platform, addressing correctness issues on individual
  boards, plus one change in the rk356x SoC file to make it match the
  binding.

  The only other changes that came in are

   - a CPU frequencey scaling fix for JH7110 (RISC-V)

   - a build fix for the cznic hwrandom driver

   - a fix for a deadlock in qualcomm uefi secure application firmware
     driver"

* tag 'arm-fixes-6.11-3' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc:
  platform: cznic: turris-omnia-mcu: fix HW_RANDOM dependency
  riscv: dts: starfive: jh7110-common: Fix lower rate of CPUfreq by setting PLL0 rate to 1.5GHz
  firmware: qcom: uefisecapp: Fix deadlock in qcuefi_acquire()
  arm64: dts: rockchip: Fix compatibles for RK3588 VO{0,1}_GRF
  dt-bindings: soc: rockchip: Fix compatibles for RK3588 VO{0,1}_GRF
  arm64: dts: rockchip: override BIOS_DISABLE signal via GPIO hog on RK3399 Puma
  arm64: dts: rockchip: fix eMMC/SPI corruption when audio has been used on RK3399 Puma
  arm64: dts: rockchip: fix PMIC interrupt pin in pinctrl for ROCK Pi E
  arm64: dts: rockchip: Remove broken tsadc pinctrl binding for rk356x
2024-09-11 11:26:56 -07:00
Arnd Bergmann
7eee0f8bbd mt8365:
- Enable audio handled by the SoC and the PMIC codec.
 -----BEGIN PGP SIGNATURE-----
 
 iQJLBAABCAA1FiEEUdvKHhzqrUYPB/u8L21+TfbCqH4FAmbfEzEXHG1hdHRoaWFz
 LmJnZ0BnbWFpbC5jb20ACgkQL21+TfbCqH6DHQ//QgQbqkkwpERDpPVEgF2jz5ur
 Buo6Wow2iJstEnrahTQIX9il7qVeeA/WeCiCa88nUhcsy9HPmoPefkRHrTicTM40
 2HKXVfhk2H8fakPKhQPHUyxDCsLaz0FnOsynSUo81cOa9AgYSua54FseqzWjDdtU
 C5d/R1s1t2PjRNbb4NGmsKkwaFTPZ9UCtguwUIIXUbdX/gFnVNOYD2kPg9pcfWP/
 1Z6U4Rbljl6Z1V8gY+0S/k5WkB8LvecmP8mF2wC7tWySeTzDyqtvmdJPcxlNhl/h
 QlTDs0IVgkxRen4vJNxPr7GKoJ7fhoyuGOnUirYLIVp2tyhQaERTYdAg9TLVkpgz
 +7kj8qT41Gs1JoWZpxNqlNA/XVTjcTLxATety3W8A219M6zSkP4jHbzLjg3hZXma
 3XFLyCeAs84EabM/GVorqzvQnqrR9nZzoVcN/TPs4OJ7q3xTPo6Z1erBoRLfmpRl
 EoI2OxUqb5IV8REgrjV8WgtFxsg2trn7fV0FBhASRt7DLRqgGkSARr/VFSLfnnAL
 g4axX6zWmnqK9vH4rPz5ZMnixEB/8l//waxnfZkeQNcxPGP4IdP8Rih1jfEDA9eu
 lUz2GxEhkNLWm6XVH7jQwgjR3356vDJ3E5DzghVRnFmAl4oV1b9ha+9mGhDPu4Mf
 W513Tt9mUFgdPP6lIBI=
 =t7fP
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmbhXU4ACgkQYKtH/8kJ
 UidL3xAApI45qbkqDvLSxX4YvQ8WdH4FNRWQi1SNJQaR7TI89TNsKcF+q1SaQ6el
 n2NniDxg7Az8wmAnMDIpZVRjwzfrmaVF4bn0OGhRiy84z5e6bdLusdzoSviguH5z
 lNyjr6dUkURMZhb4i5FdjKql5B60x7tDTgt9D8vklylcF0JHb4kTvKnI+tQrvCQz
 Hpihf5RvsU8XBmZ6joemAPxlzVHAuwwVUQNA5GgeunO2aC8U/8SZJWZ8XiUYIx1c
 DwGoDkktCT7umcUTQZjFQEefYHT9WxE4UsH+dNab7WLk7DM3Sv16sfPb7TKWhk/v
 hJqYbV1KmYfZj9Fx6Jf5yhJxRyU1xZP1i9Cx9FCKY82zRX1DWHkoyMH3DVceAn9B
 MwLgsPYpBs3K3LENwh3UV+wEfCub2aJY1o+MwAWAf4IYLDNNFnzFqD1V8yqtcHQb
 Stca029g+eHsZNGZ+qpge+uOMUePmV5phY1PkayPgMTOO/1MOZoh+AGAvEHiaqwU
 LpQ4VklcMvBmI5ZktRvPa+tOzV80bFXSS4tKnfqhdB93LeeplljV4WR1UHgw9+la
 Q1T4MlNRN3KQJ2T5TsjapZ/i41k8gmZzpXevTNN6+6o4DUnSnslEcQi1RuOUMEqg
 EyvSw62xa78TaFnGAt5OVtpdISsBB2kgfPYgOuHN8D6sLbT7phE=
 =nYCO
 -----END PGP SIGNATURE-----

Merge tag 'v6.11-next-defconfig' of https://git.kernel.org/pub/scm/linux/kernel/git/mediatek/linux into soc/defconfig

mt8365:
- Enable audio handled by the SoC and the PMIC codec.

* tag 'v6.11-next-defconfig' of https://git.kernel.org/pub/scm/linux/kernel/git/mediatek/linux:
  arm64: defconfig: enable mt8365 sound

Link: https://lore.kernel.org/r/ea168bd6-b54b-47d3-ba5d-e545a9b406c1@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-09-11 09:05:18 +00:00
Kryštof Černý
605f56405a arm64: dts: allwinner: h5: NanoPi NEO Plus2: Use regulators for pio
Pin controllers pio and r_pio will have proper regulators assigned.

Signed-off-by: Kryštof Černý <cleverline1mc@gmail.com>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Link: https://lore.kernel.org/r/20240905-nanopi-neo-plus2-regfix-v3-2-1895dff59598@gmail.com
[wens@csie.org: Make "h5" lowercase to match most commits]
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
2024-09-11 16:54:32 +08:00
Arnd Bergmann
af0103eccc This pull request contains Broadcom ARM64 SoCs Device Tree changes for
6.12, please pull the following:
 
 - Andrea adds a minimal Device Tree for the Raspberry Pi 5 (2712)
 
 - Stefan adjusts the bcm2837/bcm2712 bcm2836-l1-intc node name to
   conform to the binding changes
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEm+Rq3+YGJdiR9yuFh9CWnEQHBwQFAmbZ5BoACgkQh9CWnEQH
 BwQYRA//dS3SrugL3dBfEtrGDjn+mCH5Nk/EajkDMoJuY6H9uh1hZPpL1wzhZx00
 JNn5AvrOdBxjpd32EyxxbyH+ubaQR/mi88AR7YpUE1xuEaCMrt2KQtL2MP0l6ccb
 a3QRUMW+pTFzFahU3iO8u8bw/uP8EtxeZgh431IXlvmdxJ0zS+jJ40b9hAK0Vvr8
 oPnB1+076rSZRJi/EG8klk4eY5bx6XvGV8vUEn/KY7hqitK43V5UM1kEhuWM8Z6a
 quGvV7nL5ikVbGtUF/q+UDjpJ7rde80WP/MWtPAn2I9vpkqa0RZgZP9f6A4dfv22
 hrDWVOzYu3TiPiTelZxevTlxsvU8TWhsA8BfhcTgS02P++JoYPJx3mVZNbzyThDO
 Am3PGkQ2k4yiSyju+DoSKEcsBZuCRqNDjSSamKQIq9Z4RnvQ5i0CPWgK/8IbEhBV
 Qh8eP0+rp0EfDwoMCLTivtj9kD2QH9WtTzhIfAmLI386YOPPUU0x1nrIZmajoRTx
 MVJ48GOW//uHrGEFWiT8x17RRCzrqJ+uPYaqDdjKOx79dvdE6S5USi+anavUXqvd
 52fGe+QYFot96OXBYqkomnzg0ojPb3l2/3M9PGieP3THACTezD52hL3BPQR8LVeg
 Ij2ccJd0Z2B4WOo2eN4MW3bELbn+qF+c7G6PMkns4+h0azAXtKc=
 =k60v
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmbhWaMACgkQYKtH/8kJ
 UicGcxAAm7XTkPudtXfgboLLCOnK2YfY6JpdDwFS4iRp6H+qZD5A2UoDWMZRUKO6
 p3u08EEwADeBe3iPyxLFxCoPuoh9VV1qDELojZxa7QxQEZxZB3EXa7LOhEUojAwG
 LP1W+Aa20NarWbWYg+g1dH4Xpxt5zF2ON2lI5TPElQ2QQ3JgEl9TVDsrLgHHJFPz
 CQ7MSFhJZTWLxeZAjMH+a9HuNFPgOyvNMjXskBCNLoHsfb3/6BSEzLKvsZURoZxI
 nMffM7D+n1WvyL5hEMdNr2WduTOrMjnrqSzQw1XxPMXsZQmt+4p19I8NNJXKpL7X
 jK8rzHEgHZNgNPhjMHWrwasrmrsnUdV+cBiGn+xp9Hhjoyd/EhnZUXr6nyhe4xEO
 FVV14Xmq3T7xTW30S/rDd6+Bfr5xzB2e5CSBoQXaPo1nGnEWDWDQxAIyRT7qnSQw
 A9/Dyrv/1bME5FNdX1tpP8rBALP7wD/kC4FIaHPwBcptDqZTWhzIrgO3zTEt8eaW
 DijYnIfisunW54HS6+ad+lAL9zYKEIHuXPALN5jY7BjAUG0nnrVxwYLTAEHmdXlw
 1aOPCjI2R8tk3lcFsnVKS4HcQKxxElYoNHD8Orf751KBMsGMlgAkcCLU4grKt0NY
 hRQi5+Zx003hhhLHWSep2CK/lAa0qHlvkucewM+sOqoKvKFSSNM=
 =y4Wd
 -----END PGP SIGNATURE-----

Merge tag 'arm-soc/for-6.12/devicetree-arm64' of https://github.com/Broadcom/stblinux into soc/dt

This pull request contains Broadcom ARM64 SoCs Device Tree changes for
6.12, please pull the following:

- Andrea adds a minimal Device Tree for the Raspberry Pi 5 (2712)

- Stefan adjusts the bcm2837/bcm2712 bcm2836-l1-intc node name to
  conform to the binding changes

* tag 'arm-soc/for-6.12/devicetree-arm64' of https://github.com/Broadcom/stblinux:
  ARM: dts: bcm2837/bcm2712: adjust local intc node names
  arm64: dts: broadcom: Add minimal support for Raspberry Pi 5

Link: https://lore.kernel.org/r/20240906180643.2275460-2-florian.fainelli@broadcom.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-09-11 08:49:39 +00:00
Arnd Bergmann
d053652f38 mt63xx:
- add ADC node to the different PMICs
 
 mt7981:
 - Add SPI controller nodes.
 
 mt8183:
 - use referenced label for DSI endpoint.
 - disable soc_data efuse node, which does not has any cell definde
   (kukui).
 - fix the regulator tree (kukui).
 - fix potential deadlock by removing not needed clock in the MFG async
   power domain.
 - add DPI node.
 
 mt8186:
 - fix opp-supported-hw mask for GPU.
 - add lvts thermal sensor node.
 - add thermal zones.
 - fix reserved memory region of ADSP firmware (corsola).
 - add power domain to DPI node.
 - add SVS node.
 - fix internal display by disabling the external display temporarily
   (corsola).
 
 mt8188:
 - add thermal sensor for the AP.
 - add thermal zones.
 
 mt8195:
 - fix pull resistance for hdmi pins (cherry).
 - remove keyboard backlight node (cherry), this is detected through
   ChromeOS EC communication.
 - fix warning in mdp3 driver by providing a phandel to the SCP.
 - fix probe error of the USB controller by disabeling USB3 on the
   controller (cherry).
 - assign per default both phys to the USB controller (cherry).
 - fix binding validation by re-ordering the dp_intf clocks.
 
 mt8365:
 - add AFE audio controller.
 - add AFE and audio codec support (evk).
 
 mt8395:
 - fix probe error of the USB controller by disabeling USB3 on the
   controller (radax-nio-12l).
 - assign per default both phys to the USB controller (genio, kontron,
   radax).
 -----BEGIN PGP SIGNATURE-----
 
 iQJLBAABCAA1FiEEUdvKHhzqrUYPB/u8L21+TfbCqH4FAmbfRLAXHG1hdHRoaWFz
 LmJnZ0BnbWFpbC5jb20ACgkQL21+TfbCqH4+7Q/+KzCeDZMFG44yO69GdidVHbZn
 fAIKo+Y3t6yc1nsSwssMOAHVmJ3Ik+EMJKtPoHgSyoWNGOqXSGCfrl7igGz7jHnj
 kIbnlpJ3wWDJ29rkhwVNv5nuFK8Y3J5xznIsEn0ruwyw80Y7g5ckmUEX92C8fxKu
 7pzE6sjbU6Ow3TKTpqj69PZ84AxxQZAhRhISIjY0V+J+k39n5l2a7wHW2jlOUpwC
 9PXpcdXM2Iv7xb7Y2iPUUTOTvyY2LTVDk2Tx40RVjL+ECOtAe55YDyKXH2cOQ5Pv
 FDPSdVfIg0LFozjsnxFHYecFrTweIQVqUvSFnsk828L6AeP8e4B2S1vwk22WsDR3
 tHq1ePI1TxXDMs9m6iDPp0rtAJx4HuT0kgapsLXcVPLGFXYHtKgfhe6dINUKbw3i
 xfvvQWpDkYRgVTamK36RrUfhfZ7Z++IW1COe55FlV0/v59Jc67Yg+uMBeyKJs8C3
 1udpxhcxgC5/kfkSzBdwKjQwm3a3bfmg2a7+sb9VGGG5M355LtOw+oIvGfVyPiYu
 8RYsxofBZdR6z3WoA353hpUj75BQJ1IuwOX927q4boUfSgvF93fGRixlPrNpAguh
 4z+b+8u55mwdRkzf3qIBgRnILJ7gpRN47W1JSNDmmtXCrB7wOL0j+ulEHDi4Ds/W
 6znntOO6tpFi2f9L2T4=
 =U0GQ
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmbhWGAACgkQYKtH/8kJ
 UieaYA/+I+XlDMIL2suXRsgPbgBZF3TkvZzyGdVBq7g1pBYiRgES+scR/gQ4Zgsg
 7C327uZOzTmEY0DWsQOVexrGSnrh/VFI6iAe58n+a2uHp9c44YQUwKxOqR8NaXV2
 QZtiUoA5XDQDQtSkCDYyW/ejlD5JLVYjaROJesXcgjApDAardm02cW/Vvl9KGyI1
 9CxuIf1zMsmeFR2/bJFhvRBvGTmWtNMpf+WBhtcT7+MHvUB/LbyCtVLPQ7QpSyYW
 5jM6h3mJhBsaxSjblwpAucyNM7zcoBpF4EIjaeiAqP1mue4Xuf+x+cYKiVuJGmMn
 G/oE2EDn0RL47d8ZFWsd1+2/jYHqDnJ1LGmmaJb6VaJE4Y+n5AA6lsCr7AzJuwfm
 dGKn9JnI3lDOCZD1BXQvz+WEqJVPJcB0jMzi+q+/dvtXXN29i3vlMRR0ejtB1MB5
 2TQ4GZ9NE+JfxrvsQ/EB2A/lsN1tLuB5Yc+b3U06lnVaWb2dDQ/QrqGTOPiDRcFE
 waEozQtPIMrrEQlWm/mrv0CIgvf5Tg3CebxVwe87P3sMg+QzWScgcEmD+JJkAb47
 QE6lq0jAPsN9mh6QnzH/xKHmZmfHjMUb18uoah4OZbc0RjDJ9KtqQDZPwDCgyHWl
 SMmggO9bvpVXYWpxcgjHOd/XgemVG4yqWbQieh/YTk4bpxHlYjk=
 =XZtH
 -----END PGP SIGNATURE-----

Merge tag 'v6.11-next-dts64' of https://git.kernel.org/pub/scm/linux/kernel/git/mediatek/linux into soc/dt

mt63xx:
- add ADC node to the different PMICs

mt7981:
- Add SPI controller nodes.

mt8183:
- use referenced label for DSI endpoint.
- disable soc_data efuse node, which does not has any cell definde
  (kukui).
- fix the regulator tree (kukui).
- fix potential deadlock by removing not needed clock in the MFG async
  power domain.
- add DPI node.

mt8186:
- fix opp-supported-hw mask for GPU.
- add lvts thermal sensor node.
- add thermal zones.
- fix reserved memory region of ADSP firmware (corsola).
- add power domain to DPI node.
- add SVS node.
- fix internal display by disabling the external display temporarily
  (corsola).

mt8188:
- add thermal sensor for the AP.
- add thermal zones.

mt8195:
- fix pull resistance for hdmi pins (cherry).
- remove keyboard backlight node (cherry), this is detected through
  ChromeOS EC communication.
- fix warning in mdp3 driver by providing a phandel to the SCP.
- fix probe error of the USB controller by disabeling USB3 on the
  controller (cherry).
- assign per default both phys to the USB controller (cherry).
- fix binding validation by re-ordering the dp_intf clocks.

mt8365:
- add AFE audio controller.
- add AFE and audio codec support (evk).

mt8395:
- fix probe error of the USB controller by disabeling USB3 on the
  controller (radax-nio-12l).
- assign per default both phys to the USB controller (genio, kontron,
  radax).

* tag 'v6.11-next-dts64' of https://git.kernel.org/pub/scm/linux/kernel/git/mediatek/linux: (25 commits)
  arm64: dts: mediatek: add audio support for mt8365-evk
  arm64: dts: mediatek: add afe support for mt8365 SoC
  arm64: dts: mediatek: mt8186-corsola: Disable DPI display interface
  arm64: dts: mediatek: mt8186: Add svs node
  arm64: dts: mediatek: mt8186: Add power domain for DPI
  arm64: dts: mediatek: mt8195: Correct clock order for dp_intf*
  arm64: dts: mt8183: add dpi node to mt8183
  arm64: dts: mediatek: mt8186-corsola: Update ADSP reserved memory region
  arm64: dts: mediatek: mt8183: Remove clock from mfg_async power domain
  arm64: dts: mt8183-kukui: clean up regulator tree
  arm64: dts: mediatek: mt7981: add SPI controllers
  arm64: dts: mediatek: mt8183-kukui: Disable unused efuse at 8000000
  arm64: dts: mediatek: mt8188: add default thermal zones
  arm64: dts: mediatek: mt8188: add lvts definitions
  arm64: dts: mediatek: mt8186: add default thermal zones
  arm64: dts: mediatek: mt8186: add lvts definitions
  arm64: dts: mediatek: mt8195: Assign USB 3.0 PHY to xhci1 by default
  arm64: dts: mediatek: mt8395-nio-12l: Mark USB 3.0 on xhci1 as disabled
  arm64: dts: mediatek: mt8195-cherry: Mark USB 3.0 on xhci1 as disabled
  arm64: dts: mediatek: mt8195: Add SCP phandle to MDP3 DMA controller
  ...

Link: https://lore.kernel.org/r/059656ad-5365-4097-86a1-f4ba43edf5da@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-09-11 08:44:16 +00:00
Arnd Bergmann
05b24f63b4 New boards the Odroid-M2 and GameForce Ace, CAN on rk3568, RGA2 on rk3588
and some non-critical dts cleanups.
 -----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCAAuFiEE7v+35S2Q1vLNA3Lx86Z5yZzRHYEFAmbeFw8QHGhlaWtvQHNu
 dGVjaC5kZQAKCRDzpnnJnNEdgb38B/0fi7YJiYTZNntDtGk8k1lduJinDL5AS0uR
 hZP1VPn4zSbu8UbNawo5GclHJ8EcHQOpuUhwHgsDXoah44NGOVgKfElws8ZUYQQw
 ZaRVxLGM8Q0xjDhmGjVk6FjqoyIzSc4YfqVaKDy6gJZaWssCQR728mGtTSSziww3
 A2qYs2pjnpZk3CyJVubrLI9ZRLkZDRx0+h06KQq48c6klIzeNxui8oOHayvW0ok8
 P7v30BVYfQDuMS3p5VoEQPe/hM07eRLPtp4z0+b93FlQCp7er/t1kJ2JzGiF+DJp
 UMz6+CSPofIs/zRQlOUmBnGUKoCGthYjhPnm9wrTyV3DxuwXIgBd
 =Yyvy
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmbhVzQACgkQYKtH/8kJ
 Uie9aQ//VEcwui8kpE4mMKABlZjvWiMa+HDFKxB4rSLlplf6q792FY0mXUmYGyeM
 OtCvie13sujOlxtbJe4YjMf/ACk3UWBFDcc0kdyWU9HqSkp/kZdCzc0JhIzY8Ts9
 SrHWoUoMwnjhGEUZ2a3cabI8feb84+g6SERNZXjckUeADq5JaNIOkGF3thLUU1zG
 P/IZNRcC5RnfQOq0Y39KNnq4DOXzV5n7PSfKwhlEIZnOe98A75GCgDrUfQfx1ELZ
 mV7pY+TMoUO8jsSg9bnkjtSOz1EFBZMsdIX+aRfSK+sLlCIqImoc+64MTYDBTgi6
 KK2tJhCTfD3+L4KQ21/C0M8RzpoQOC9VWbV7zg46ZDid2LhWWrIL6a0BvNqEL4R+
 itTy9fx7XZz3dJLMjhmF6adKcwyJY/WfjFxWSZo/vxU3+ekrd/fPa/V6/9EiSVza
 SKSHHTZVbd1hOyNlbMmh79Zy5FPIbcQk8ZMb3Z/zAEMDIdFRl2v50+ImZkwjz/Nw
 RwHMGgmIDKjqtW0qyxhf+KXwd18+U16j7SsmjKdd4MackYoOaqNa/fQOYuhiS9HN
 MAi0RdApHOCS+2fLdo9NfmgMsSGAyS9sKAjYy8lkWYEIvp30Oddp9T8nLAmwkQ7+
 Mmd/e0CZ85MznnzPFrurIiEVOUftKDp990gJnDG8YG4FrLq7YR4=
 =EGFM
 -----END PGP SIGNATURE-----

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

New boards the Odroid-M2 and GameForce Ace, CAN on rk3568, RGA2 on rk3588
and some non-critical dts cleanups.

* tag 'v6.12-rockchip-dts64-2' of https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  arm64: dts: rockchip: add CAN0 and CAN1 interfaces to mecsbc board
  arm64: dts: rockchip: add CAN-FD controller nodes to rk3568
  arm64: dts: rockchip: remove duplicate nodes from dts for ROCK 4SE
  arm64: dts: rockchip: Add GameForce Ace
  dt-bindings: arm: rockchip: Add GameForce Ace
  arm64: dts: rockchip: rk3588s fix sdio pins to pull up
  arm64: dts: rockchip: Add RGA2 support to rk3588
  arm64: dts: rockchip: Add missing tshut props to tsadc on quartz64-b
  arm64: dts: rockchip: Add Hardkernel ODROID-M2
  dt-bindings: arm: rockchip: Add Hardkernel ODROID-M2
  arm64: dts: rockchip: drop hp-pin-name property from audio card on nanopc-t6

Link: https://lore.kernel.org/r/11663608.jrtcCam0TZ@diego
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-09-11 08:39:16 +00:00
Arnd Bergmann
765fbe81d7 Minor improvements in ARM64 DTS for v6.12
1. APM: correct node name to match bindings.
 2. Spreadtrum: correct node names to match bindings, order properties to
    match DTS coding style and put SPDX identifier at top of the file as
    expected usually.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmbbC6UQHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD1zfJEACHIlh2RzoPceaIGrYuWuQOaau8j0jtuAz0
 WkB2GVaBOVWE2/IUQCdxAQBbBfyvKUYuXQDeL1i1fG25Hfo17RZAXrUunR312qA6
 uVtNSZdG8WPjCqJif9+gPDDjoEGR690BndZQnTeToR8jX/mKwswCzRyB3dhlxW2p
 QDKCi/A+d3GInrJvyTgEVdFTALjHoWnfYnh3giYlKksjyHSdDop9g9qZ9W1hMQS4
 EJhIrf8XWMlVAmeIn5O+yGo7Mzo3PA7u2hZL8c3CW5jdsyZsJkCCKoBpfv6OiF9M
 WnzMxSEYnZaUoQmXYOM0BzVmXOiH5vuOIsZZ/aXFOvfTac8XwOe9mfeUWpDGblKR
 j4I9wi06GUpgtMkKvnlLjLvO1i2GdlCSZynoqQNj90UbEz3nqZG0y6TgYH2dBbin
 3A6edVywXPqTh1IlTCeqCA9x8+mJvRbUnXDt4wxgLb9o1RlE+Cb/gKsoCJx8Z01O
 ECkdcmG442s/TG6dIJRiHCoNIfjLY3N7XeFS94Q1Xu767DtVmx1BNm7urivitK6/
 dnc06KRefjA1lbwVfBckNA9svMzc2jnlFxh4D4k9LbQdibOEXmaocVxL+Z4ZTbwO
 580wgV1mNQTA+qwwM2XcGQ5sJlS4w/ruIevarjc7/d9hEYgugc5Y2oTBUDeGGxlV
 sMLigNyxSQ==
 =oSkL
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmbhUEsACgkQYKtH/8kJ
 UielsQ/+JJ0KKdmMpe0d1yHx8JKMVQFpgCPFDa0Dj8uIZoNNK6HmSKDtPoOQM/TC
 w98HCyWFMEdl1B/w080uR2GyCkbwR4O2yzVYbDSu43QFrL99x3q99sqBmLCeagJm
 R/8e++ZJ0c3pfKrbrJ+OdByiUXhbbn88/TznR630J2c4S7O8UE6XjiATTdIrA6yC
 Jr853tclOO/RGbb1ITflk3s8PTB0i9gNaSr3g1fRNDG9gmvQU59lTph8H3rjqH0L
 gvE3p7GwNcV+AAedP4USYcrCfLRVOEhNbrskUQwDsSClHUyIWnVV4lEweQekz0rJ
 lX1jwIKjev3bnaWqQzQ0s4qW2TTXqxysB1Eq6+o6b4YyhmN9gt4Apgt8g4KvDRfV
 mu8IRXOHLMY+DV8wTSbMglwE302LWnV1mz9t6DRpXsdZVBTwMzleIOSoJjiISm0u
 J0+FfsPtkF2odEoxtr+XIKglvcYAaDgkMZbzflkQ/16cAI8yjMF2kurAW1EkFgnn
 HgdPrplHKKWCRBopApJLCEWoPS4KF6mNq4BemEwdtO9KTNHyZso4offkKyo4vA5b
 O72Q3tUlzSwxZ9O02D00P/GCSorfuF4onkYkLgl8lAdyqfSnBS8Oe0rFzr/N2VGK
 DF9p7Qfv1gnjfxD92TBGNCCNVjlEs/29gou/SRKUaawZNdE1aJU=
 =xlJk
 -----END PGP SIGNATURE-----

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

Minor improvements in ARM64 DTS for v6.12

1. APM: correct node name to match bindings.
2. Spreadtrum: correct node names to match bindings, order properties to
   match DTS coding style and put SPDX identifier at top of the file as
   expected usually.

* tag 'dt64-cleanup-6.12' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-dt:
  arm64: dts: sprd: move/add SPDX license to top of the file
  arm64: dts: sprd: reorder clock-names after clocks
  arm64: dts: sprd: rename SDHCI and fuel gauge nodes to match bindings
  arm64: dts: apm: storm: Rename menetphy@3 to ethernet-phy@3

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-09-11 08:09:46 +00:00
Sebastian Ene
7c4f73548e KVM: arm64: Register ptdump with debugfs on guest creation
While arch/*/mem/ptdump handles the kernel pagetable dumping code,
introduce KVM/ptdump to show the guest stage-2 pagetables. The
separation is necessary because most of the definitions from the
stage-2 pagetable reside in the KVM path and we will be invoking
functionality specific to KVM. Introduce the PTDUMP_STAGE2_DEBUGFS config.

When a guest is created, register a new file entry under the guest
debugfs dir which allows userspace to show the contents of the guest
stage-2 pagetables when accessed.

[maz: moved function prototypes from kvm_host.h to kvm_mmu.h]

Signed-off-by: Sebastian Ene <sebastianene@google.com>
Reviewed-by: Vincent Donnefort <vdonnefort@google.com>
Link: https://lore.kernel.org/r/20240909124721.1672199-6-sebastianene@google.com
Signed-off-by: Marc Zyngier <maz@kernel.org>
2024-09-10 21:32:51 +01:00
Sebastian Ene
79c4c7284f arm64: ptdump: Don't override the level when operating on the stage-2 tables
Ptdump uses the init_mm structure directly to dump the kernel
pagetables. When ptdump is called on the stage-2 pagetables, this mm
argument is not used. Prevent the level from being overwritten by
checking the argument against NULL.

Signed-off-by: Sebastian Ene <sebastianene@google.com>
Acked-by: Will Deacon <will@kernel.org>
Link: https://lore.kernel.org/r/20240909124721.1672199-5-sebastianene@google.com
Signed-off-by: Marc Zyngier <maz@kernel.org>
2024-09-10 21:32:51 +01:00
Sebastian Ene
9182301a7b arm64: ptdump: Use the ptdump description from a local context
Rename the attributes description array to allow the parsing method
to use the description from a local context. To be able to do this,
store a pointer to the description array in the state structure. This
will allow for the later introduced callers (stage_2 ptdump) to specify
their own page table description format to the ptdump parser.

Signed-off-by: Sebastian Ene <sebastianene@google.com>
Acked-by: Will Deacon <will@kernel.org>
Link: https://lore.kernel.org/r/20240909124721.1672199-4-sebastianene@google.com
Signed-off-by: Marc Zyngier <maz@kernel.org>
2024-09-10 21:32:51 +01:00
Sebastian Ene
acc3d3a817 arm64: ptdump: Expose the attribute parsing functionality
Reuse the descriptor parsing functionality to keep the same output format
as the original ptdump code. In order for this to happen, move the state
tracking objects into a common header.

[maz: Fixed note_page() stub as suggested by Will]

Signed-off-by: Sebastian Ene <sebastianene@google.com>
Acked-by: Will Deacon <will@kernel.org>
Link: https://lore.kernel.org/r/20240909124721.1672199-3-sebastianene@google.com
Signed-off-by: Marc Zyngier <maz@kernel.org>
2024-09-10 21:31:59 +01:00
Snehal Koukuntla
f26a525b77 KVM: arm64: Add memory length checks and remove inline in do_ffa_mem_xfer
When we share memory through FF-A and the description of the buffers
exceeds the size of the mapped buffer, the fragmentation API is used.
The fragmentation API allows specifying chunks of descriptors in subsequent
FF-A fragment calls and no upper limit has been established for this.
The entire memory region transferred is identified by a handle which can be
used to reclaim the transferred memory.
To be able to reclaim the memory, the description of the buffers has to fit
in the ffa_desc_buf.
Add a bounds check on the FF-A sharing path to prevent the memory reclaim
from failing.

Also do_ffa_mem_xfer() does not need __always_inline, except for the
BUILD_BUG_ON() aspect, which gets moved to a macro.

[maz: fixed the BUILD_BUG_ON() breakage with LLVM, thanks to Wei-Lin Chang
 for the timely report]

Fixes: 634d90cf0a ("KVM: arm64: Handle FFA_MEM_LEND calls from the host")
Cc: stable@vger.kernel.org
Reviewed-by: Sebastian Ene <sebastianene@google.com>
Signed-off-by: Snehal Koukuntla <snehalreddy@google.com>
Reviewed-by: Oliver Upton <oliver.upton@linux.dev>
Link: https://lore.kernel.org/r/20240909180154.3267939-1-snehalreddy@google.com
Signed-off-by: Marc Zyngier <maz@kernel.org>
2024-09-10 21:05:29 +01:00
Anastasia Belova
b6db3eb6c3 arm64: esr: Define ESR_ELx_EC_* constants as UL
Add explicit casting to prevent expantion of 32th bit of
u32 into highest half of u64 in several places.

For example, in inject_abt64:
ESR_ELx_EC_DABT_LOW << ESR_ELx_EC_SHIFT = 0x24 << 26.
This operation's result is int with 1 in 32th bit.
While casting this value into u64 (esr is u64) 1
fills 32 highest bits.

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

Cc: <stable@vger.kernel.org>
Fixes: aa8eff9bfb ("arm64: KVM: fault injection into a guest")
Signed-off-by: Anastasia Belova <abelova@astralinux.ru>
Acked-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/stable/20240910085016.32120-1-abelova%40astralinux.ru
Link: https://lore.kernel.org/r/20240910085016.32120-1-abelova@astralinux.ru
Signed-off-by: Will Deacon <will@kernel.org>
2024-09-10 18:22:58 +01:00
Joey Gouly
10166c23f4 arm64: pkeys: remove redundant WARN
FEAT_PAN3 is present if FEAT_S1POE is, this WARN() was to represent that.
However execute_only_pkey() is always called by mmap(), even on a CPU without
POE support.

Rather than making the WARN() conditional, just delete it.

Reported-by: Naresh Kamboju <naresh.kamboju@linaro.org>
Link: https://lore.kernel.org/linux-arm-kernel/CA+G9fYvarKEPN3u1Ogw2pcw4h6r3OMzg+5qJpYkAXRunAEF_0Q@mail.gmail.com/
Signed-off-by: Joey Gouly <joey.gouly@arm.com>
Cc: Will Deacon <will@kernel.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Link: https://lore.kernel.org/r/20240910105004.706981-1-joey.gouly@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
2024-09-10 18:19:59 +01:00
Sebastian Ene
29caeda359 KVM: arm64: Move pagetable definitions to common header
In preparation for using the stage-2 definitions in ptdump, move some of
these macros in the common header.

Signed-off-by: Sebastian Ene <sebastianene@google.com>
Link: https://lore.kernel.org/r/20240909124721.1672199-2-sebastianene@google.com
Signed-off-by: Marc Zyngier <maz@kernel.org>
2024-09-10 17:46:57 +01:00
Heikki Krogerus
dd5e982dc8 arm64: defconfig: enable I2C_DESIGNWARE_CORE with I2C_DESIGNWARE_PLATFORM
The dependency handling of the Synopsys DesignWare I2C
adapter drivers is going to be changed so that the glue
drivers for the PCI and platform buses depend on
I2C_DESIGNWARE_CORE.

Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Cc: linux-arm-kernel@lists.infradead.org
Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Acked-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Signed-off-by: Andi Shyti <andi.shyti@kernel.org>
2024-09-10 00:36:52 +02:00
Alexandre Mergnat
e6be129f4c arm64: defconfig: enable mt8365 sound
Enable the MediaTek MT8365-EVK sound support.

The audio feature is handled by the MT8365 SoC and
the MT6357 PMIC codec audio.

Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
Link: https://lore.kernel.org/r/20240226-audio-i350-v8-3-e80a57d026ce@baylibre.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2024-09-09 16:46:58 +02:00
Alexandre Mergnat
a9efc40fd6 arm64: dts: mediatek: add audio support for mt8365-evk
Add the sound node which is linked to the MT8365 SoC AFE and
the MT6357 audio codec.

Update the file header.

Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
Link: https://lore.kernel.org/r/20240226-audio-i350-v8-5-e80a57d026ce@baylibre.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2024-09-09 16:41:36 +02:00
Alexandre Mergnat
b4a3a52e5a arm64: dts: mediatek: add afe support for mt8365 SoC
Add audio front end support of MT8365 SoC.
Update the file header.

Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
Link: https://lore.kernel.org/r/20240226-audio-i350-v8-4-e80a57d026ce@baylibre.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2024-09-09 16:41:36 +02:00
Chen-Yu Tsai
3079fb09dd arm64: dts: mediatek: mt8186-corsola: Disable DPI display interface
The DPI display interface feeds the external display pipeline. However
the pipeline representation is currently incomplete. Efforts are still
under way to come up with a way to represent the "creative" repurposing
of the DP bridge chip's internal output mux, which is meant to support
USB type-C orientation changes, to output to one of two type-C ports.

Until that is finalized, the external display can't be fully described,
and thus won't work. Even worse, the half complete graph potentially
confuses the OS, breaking the internal display as well.

Disable the external display interface across the whole Corsola family
until the DP / USB Type-C muxing graph binding is ready.

Reported-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
Closes: https://lore.kernel.org/linux-mediatek/38a703a9-6efb-456a-a248-1dd3687e526d@gmail.com/
Fixes: 8855d01fb8 ("arm64: dts: mediatek: Add MT8186 Krabby platform based Tentacruel / Tentacool")
Cc: <stable@vger.kernel.org>
Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
Tested-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
Reviewed-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>
Link: https://lore.kernel.org/r/20240821042836.2631815-1-wenst@chromium.org
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2024-09-09 16:41:36 +02:00
Rohit Agarwal
14fde547d2 arm64: dts: mediatek: mt8186: Add svs node
Add clock/irq/efuse setting in svs nodes for mt8186 SoC.

Signed-off-by: Rohit Agarwal <rohiagar@chromium.org>
Reviewed-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>
Link: https://lore.kernel.org/r/20240830084544.2898512-4-rohiagar@chromium.org
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2024-09-09 16:41:36 +02:00
Rohit Agarwal
7a3852a9ba arm64: dts: mediatek: mt8186: Add power domain for DPI
Add power domain phandle to the DPI controller in mediatek
mt8186 SoC.

Signed-off-by: Rohit Agarwal <rohiagar@chromium.org>
Link: https://lore.kernel.org/r/20240830084544.2898512-3-rohiagar@chromium.org
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2024-09-09 16:41:36 +02:00
Chen-Yu Tsai
51bc68deba arm64: dts: mediatek: mt8195: Correct clock order for dp_intf*
The clocks for dp_intf* device nodes are given in the wrong order,
causing the binding validation to fail.

Fixes: 6c2503b585 ("arm64: dts: mt8195: Add dp-intf nodes")
Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
Reviewed-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>
Link: https://lore.kernel.org/r/20240802070951.1086616-1-wenst@chromium.org
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2024-09-09 16:41:35 +02:00
Pi-Hsun Shih
009d855a26 arm64: dts: mt8183: add dpi node to mt8183
Add dpi node to mt8183.

Signed-off-by: Jitao Shi <jitao.shi@mediatek.com>
Signed-off-by: Pi-Hsun Shih <pihsun@chromium.org>
Signed-off-by: Fabien Parent <fparent@baylibre.com>
Signed-off-by: Pin-yen Lin <treapking@chromium.org>
Link: https://lore.kernel.org/r/20240819120735.1508789-1-treapking@chromium.org
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2024-09-09 16:41:35 +02:00
Kryštof Černý
37ed8e75c6 arm64: dts: allwinner: h5: NanoPi Neo Plus2: Fix regulators
Added the main board 5 V supply regulator,
a 2.5 V supply regulator for GMAC PHY IO and correct vin-supply elements.

Signed-off-by: Kryštof Černý <cleverline1mc@gmail.com>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Link: https://lore.kernel.org/r/20240905-nanopi-neo-plus2-regfix-v3-1-1895dff59598@gmail.com
[wens@csie.org: Make "h5" lowercase to match most commits]
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
2024-09-08 10:49:54 +08:00
Linus Torvalds
6b8ff511e4 Fix the arm64 usage of ftrace_graph_ret_addr() to pass the
&state->graph_idx pointer instead of NULL, otherwise this function
 just returns early.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEE5RElWfyWxS+3PLO2a9axLQDIXvEFAmbbNqMACgkQa9axLQDI
 XvGDhQ//dxbFGx+5oD7BjX8xoyis4GQmnYS3IkNJXdTbd7gB2MCygobNfDyjOGjV
 wkCDpgrgs2al+OnldldjqoIwcqkp4e03IKuxamouF3yg2nrPfZl1Z9JkL+0hhk7c
 ZHvw82cF1EHPF8Su8zyh/XIyBWPwH5x/+YYW1PYsFWS0P17Y2q6B8qU0EfRvNtT2
 9168yPlR1vYuXBPg+34OUXlMVXww0KNulVa12vab2EZMI+v8Ql5M6F05SrzVT3JG
 G/IG4R8QpVuVCcQjMmy0oNPlB56+CScqM7yIUOGTiGgTgvZ3cs+83grd4gqfvVAp
 3bgZno4oV9O+V8JrjcGMw9K6sIl5KRmED6+zCjdEwPgkhStV1C6ApcdnUnqst7Gw
 NkhskzTqRRt5ZVGQsN24AGoybtmFALudmTRmOiL3eOzikK73CZMSK29DNiEP32SD
 D1mWZj57EnOBkxiUsh36+FbX5zMieJu0hbOy7jLFE5ynb/GpyFPf9pORrLI3fbk1
 46/VCvWTrul0fD9iBafm+VGfoy4SQX5T8TWnKEXF4THfvrzu5q6HCPTGMBgBLXDg
 vRMyL4dIgAK6/HeoLQL7UhkWEYrT3KrBMHeZf/q57oMr+kyQctxFKJg9N8TApk78
 GIqWrRpuCPj2E/vrfI6j1szVfMgna3Az2Y2ArVWWFPqY7U8hEl4=
 =GM7Q
 -----END PGP SIGNATURE-----

Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux

Pull arm64 fix from Catalin Marinas:
 "Fix the arm64 usage of ftrace_graph_ret_addr() to pass the
  &state->graph_idx pointer instead of NULL, otherwise this function
  just returns early"

* tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
  arm64: stacktrace: fix the usage of ftrace_graph_ret_addr()
2024-09-06 13:08:38 -07:00
Joey Gouly
c02e7c5c6d arm64/mm: use lm_alias() with addresses passed to memblock_free()
The pointer argument to memblock_free() needs to be a linear map address, but
in mem_init() we pass __init_begin/__init_end, which is a kernel image address.

This results in warnings when building with CONFIG_DEBUG_VIRTUAL=y:

    virt_to_phys used for non-linear address: ffff800081270000 (set_reset_devices+0x0/0x10)
    WARNING: CPU: 0 PID: 1 at arch/arm64/mm/physaddr.c:12 __virt_to_phys+0x54/0x70
    Modules linked in:
    CPU: 0 UID: 0 PID: 1 Comm: swapper/0 Not tainted 6.11.0-rc6-next-20240905 #5810 b1ebb0ad06653f35ce875413d5afad24668df3f3
    Hardware name: FVP Base RevC (DT)
    pstate: 2161402005 (nZCv daif +PAN -UAO -TCO +DIT -SSBS BTYPE=--)
    pc : __virt_to_phys+0x54/0x70
    lr : __virt_to_phys+0x54/0x70
    sp : ffff80008169be20
    ...
    Call trace:
     __virt_to_phys+0x54/0x70
     memblock_free+0x18/0x30
     free_initmem+0x3c/0x9c
     kernel_init+0x30/0x1cc
     ret_from_fork+0x10/0x20

Fix this by having mem_init() convert the pointers via lm_alias().

Fixes: 1db9716d44 ("arm64/mm: Delete __init region from memblock.reserved")
Signed-off-by: Joey Gouly <joey.gouly@arm.com>
Suggested-by: Mark Rutland <mark.rutland@arm.com>
Cc: Will Deacon <will@kernel.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Rong Qianfeng <rongqianfeng@vivo.com>
Reviewed-by: Mark Rutland <mark.rutland@arm.com>
Link: https://lore.kernel.org/r/20240905152935.4156469-1-joey.gouly@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
2024-09-06 12:29:30 +01:00
Barry Song
70565f2be8 mm: arm64: document why pte is not advanced in contpte_ptep_set_access_flags()
According to David and Ryan, there isn't a bug here, even though we
don't advance the PTE entry, because __ptep_set_access_flags() only
uses the access flags from the entry.

However, we always check pte_same(pte, entry) using the first entry
in __ptep_set_access_flags(). This means that the checks from 1 to
nr - 1 are not comparing the same PTE indexes (thus, they always
return false), which can be a bit confusing. To clarify the code, let's
add some comments.

Reviewed-by: Ryan Roberts <ryan.roberts@arm.com>
Signed-off-by: Barry Song <v-songbaohua@oppo.com>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: John Hubbard <jhubbard@nvidia.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: David Hildenbrand <david@redhat.com>
Cc: Will Deacon <will@kernel.org>
Reviewed-by: David Hildenbrand <david@redhat.com>
Link: https://lore.kernel.org/r/20240905081124.9576-1-21cnbao@gmail.com
Signed-off-by: Will Deacon <will@kernel.org>
2024-09-06 12:28:33 +01:00
David Jander
e00bf11185 arm64: dts: rockchip: add CAN0 and CAN1 interfaces to mecsbc board
This patch adds support for the CAN0 and CAN1 interfaces to the board.

Signed-off-by: David Jander <david@protonic.nl>
Tested-by: Alibek Omarov <a1ba.omarov@gmail.com>
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Link: https://lore.kernel.org/r/20240904-rk3568-canfd-v1-2-73bda5fb4e03@pengutronix.de
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2024-09-05 22:15:06 +02:00
David Jander
687d6009ae arm64: dts: rockchip: add CAN-FD controller nodes to rk3568
Add nodes to the rk3568 devicetree to support the CAN-FD controllers.

Signed-off-by: David Jander <david@protonic.nl>
Tested-by: Alibek Omarov <a1ba.omarov@gmail.com>
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Link: https://lore.kernel.org/r/20240904-rk3568-canfd-v1-1-73bda5fb4e03@pengutronix.de
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2024-09-05 22:15:06 +02:00
Arnd Bergmann
15eb92636c Allwinner SoC device tree changes for 6.12
ARM64 device tree and binding-only changes
 - Move PMIC on RG35XX boards from RSB (Allwinner proprietary bus) to I2C
 - Introduce Anbernic RG35XX-SP board
 - Enable charger on RG35XX boards
 - Add thermal trip points for Allwinner A64 GPU
 -----BEGIN PGP SIGNATURE-----
 
 iQJCBAABCgAsFiEE2nN1m/hhnkhOWjtHOJpUIZwPJDAFAmbZ1TwOHHdlbnNAY3Np
 ZS5vcmcACgkQOJpUIZwPJDA10A//fUBe1dvKoWd7TJ2QKDsQt2NQtLDLhgKK00GH
 AAYFFS5XhwF7C1PlgIbnfM9jT87QP0UkYoAZd5seGOOdq5NIc7WkFw4jUM30JLFQ
 h+7rvShZx2kYTST5eSVUZOEIS6DG5OANU7fwQ9RbbScjow7V+3xXRmS8sMYhdo1Y
 9oAD96DyHChgIhMv7BB1gk8/IoWHrvqRCMwZlc5tlwA4Rli5/qSAJy/sx5xSuU3C
 EUmg7SCaeGFsNdYEafPP8ZcaKF8mOZOR023am/VkaJEMZ/nMmZScGWPzQ41+GX0+
 3pne5UW5v6A8V/MbV8yAGNnZcQmpidSMkbNb5qLkvkE9d604j+kWBK3NEAU2H3YW
 CIuDzoXwLlp4ZVmQEbAyd84vIOyhueS2EG4TO1K98aYutqTX6mzPIyHEyjPWjsrl
 ii8e4Iln+I5RL8wxdcR4VdSC99gQ9ak1XMDjRsE3qar5N7dguCuqeasabpxHfNsr
 24bmoAd1ECCXzUo9CJ2pY1+WJkQaRgOeqSzI2dmN2D/V5iBOvr9vuBLww/idPnGn
 QPWsi9TpTFNdHeoTT6meu0gEFyZNi1CCDPwc7GeNZKnOq1W5OMI26HL2MBjG29LY
 Lj4mRbcZPmXB0QoEWi0wF/Ppgxhxcs0kQnA1IC9eqNLXFxVXDa+3hKeaa5q5tMLO
 zaQXE8E=
 =pDWx
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmbaDLAACgkQYKtH/8kJ
 Uif1CxAAoAxNQYqERYzzDuY78BSunJ/QCpwjz7MtV75DKAo5IzLE72NXEPKZq9hT
 n3+MR1ib/66lIdS4cKk6Cre6nMtloUqasp6Ar7eUT08KqziMueBl29eHr6zJ2mCZ
 q3s4rGw+hBcGuAUxJPr8LlzVuTCYs6EsoyrhygdPENkJ0nnnPJpiCmx+m8eLlCME
 l5dSRss4DeAH0eZPMoEKTG0Ic6XJ/fA/nUivOAHZmXvHLodtiUuAVkswPi14Mhwu
 mx75f8nU1jrAx5JsKVGV1CpKxpFMXr2pgdEW3wtth7ZwGt4T6g/qCaFIEnI7dAe7
 8HqX98Sw+ZbXvNux0XtjTr0/77evhvdoLmTFD+vJGdHeF6EFuIQEL8cfU05BdLyT
 fPLOjKasYKT0tBO5Gg2O/4lvGRs3FzZNi49x+gQpyldOcIx0PzpgKrfnX7Kr9DOc
 ZsjiQWjMc5FCbkgBPla1shCUbFo4YlpxeXKnVy+iLZAUAyHknnVNJKS7PqIXCsep
 MYlyywaIRd5nVAeSaZ1wdxKgbpjNis2xLluvpNfeAto6Zq8KC/DKkTNQ4+Az64xK
 b6uxqUTjtwiRfwseZetsJJGvkMeT8iL9q/t9cQ4/0jQ4zXRlwkeG4d4d4VCagZmS
 1pLzj5Y8G9C7UukxOVfl9gIiW/ag3TL6GxuusFEtLFs4Khb9XuI=
 =uwt0
 -----END PGP SIGNATURE-----

Merge tag 'sunxi-dt-for-6.12' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into soc/dt

Allwinner SoC device tree changes for 6.12

ARM64 device tree and binding-only changes
- Move PMIC on RG35XX boards from RSB (Allwinner proprietary bus) to I2C
- Introduce Anbernic RG35XX-SP board
- Enable charger on RG35XX boards
- Add thermal trip points for Allwinner A64 GPU

* tag 'sunxi-dt-for-6.12' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
  arm64: dts: allwinner: a64: Add GPU thermal trips to the SoC dtsi
  arm64: dts: allwinner: h700: Add charger for Anbernic RG35XX
  arm64: dts: allwinner: h700: Add Anbernic RG35XX-SP
  arm64: dts: allwinner: h616: Change RG35XX Series from r_rsb to r_i2c
  arm64: dts: allwinner: h616: Add r_i2c pinctrl nodes
  dt-bindings: arm: sunxi: Add Anbernic RG35XXSP

Link: https://lore.kernel.org/r/ZtnZRhTwsBeO7Qtb@wens.tw
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-09-05 19:55:28 +00:00
Jacky Huang
82d7cf5655
arm64: dts: nuvoton: ma35d1: Add uart pinctrl settings
Enable all UART nodes presented on som and iot boards, and add pinctrl
function settings to these nodes.

Signed-off-by: Jacky Huang <ychuang3@nuvoton.com>
Link: https://lore.kernel.org/r/20240819035647.306-4-ychuang570808@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-09-05 15:27:21 +00:00
Jacky Huang
0dfa542df9
arm64: dts: nuvoton: ma35d1: Add pinctrl and gpio nodes
Added the pinctrl node and its subnodes, the gpioa through gpion
nodes, to the MA35D1 device tree.

Signed-off-by: Jacky Huang <ychuang3@nuvoton.com>
Link: https://lore.kernel.org/r/20240819035647.306-3-ychuang570808@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-09-05 15:27:21 +00:00
Jacky Huang
a957af0896
arm64: dts: nuvoton: Add syscon to the system-management node
According to the binding document, add the "syscon" compatible to the
system-management node.

Signed-off-by: Jacky Huang <ychuang3@nuvoton.com>
Link: https://lore.kernel.org/r/20240819035647.306-2-ychuang570808@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-09-05 15:26:59 +00:00
Arnd Bergmann
828b70ea7f Amlogic ARM64 DT changes for v6.12:
- New Boards:
   - AW419 (Amlogic C3)
 - Power Controller node for Amlogic A5 SoC
 - Always-On Secure node for Amlogig A4/T7/C4 & S4 SoCs
 - Amlogic A4 & C3 hardware support:
   - PLL, SPICC, NOND, SDCard, Ethernet, Watchdog
 - Final fixes for DTBs check:
   - add clock and clock-names to sound cards
   - drop saradc gxlx compatible
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEPVPGJshWBf4d9CyLd9zb2sjISdEFAmbZqCgACgkQd9zb2sjI
 SdFPjA/+PDvdsdjjq9rQtObk2rgpM8szxx4+14CvvATUY/GbVi++S1QNZnAowmvr
 MOQfDpqnd1IOiqmX1EzodXWQOJOyGEGk0E8vpKMDYC4n2fHQrSbqRQ1qfj4gJobQ
 W5ux1nPY5r/hPRhrzCsGo/E4mbEPHDRT23WPqJCs7MMl+fjRhJUU6ebttdegNRQ4
 ttw3/M+zvnvcgb3WXxbRaicy+4lOF+4sic0EkzyNaUnTCWViC82+D+xKmpQvItJg
 v2US56ZzN5q7zmQ0w18ml8SdRUm0+GU3m/JRAWy6dQjT7BG5QRWrrHuviOhaLyf/
 VQPtH4vT+q2UX0qGQVIfOhxnEL5GFpDUz7D42dTcphJD/bY+U751rhEtFryo4GJS
 UEDP38vz6wtcL1FVxxeq5cMcp/WWLdkY/TCCJESp1egfbDWqO+m6Hpe6Eql1G7kl
 OC6YhVCN/faksh3sGs/n1wSMKt5ccmGMfrGb3f6nkHR0EMIP4sRZ+RBqBQ1dW2Z3
 bRC5VN85nXPIbWT6xuqYb6b4qdTldedpY17mtiEbqnWKkbZgz8eUiRWeNnXauZas
 ll7DJvMWtPyehAE+Oniyn7z4AsdFhur4QBK1uwXMz0pViuTHqBT2qv8cUzi03hCd
 a8WwzYhyofk5gR7A95u3GZHrHfXn0q0Kz0QK2UL/edycoG8fEY4=
 =NX4k
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmbZvu0ACgkQYKtH/8kJ
 UidNtQ/+JR2e3m18A1hwCDAYxThTt5Of+qddDfKYjEpu+T4AZeOvY2BMIbk8HMXr
 8sCAirPTcBWHUeS+Lz8Mz9/aRK6TGCYmzwfu5corwK+Abxu4NkHeenXmSOb3XF0b
 stzjloGASyPv9MK3FrhpkpZnu7f+mSZ8QvKrCEkYFlEZdwUx8Bicjsd3oSi9wMkE
 hxsmm1vHjZSvY2tSOZTtVFQb/2VfFhrX0l1WoYzpwzn2jQ0sgLaT65xBKEzCXk8G
 tTWG1LuAU6PGiwsI8ZLnBrO+GnTHqB0qMK6IGKoHtlLSWoSZ5/FZYeFKpuDiyRYG
 orXoIFLLDX6K8dFGGwPSbVD83FUGGxW40T6Pd4E1W27onisQNQ+W7QIJfvJWaNwJ
 ADdY0snqlBJQcAfRTMZDhxoIz+e8NcJ6lGkQMMVNwtpeKske2QmxwMOZTFm1xmWr
 gGexjo9ffhritlfxXcjtufrCV3MfIDZgFuxUpYHPdat/RR1tw6EpDRcBkyAhH2Hn
 tc5yfxP4+kn0y4tCB5j+A0IZGLgUxYjZriXWiFxpRWzQM9CXz+C+KPfNWu7BPueK
 D9zfTe0JxuYuicgNtH2nq9dnVjyrqwE0QaIS7MYHEJcYDcxiimT+osCPwG9PSlbP
 B8M60ocXC4KHe9H7MZYq8dQp0rgxI/oB8m7s16oGtaen86dENpk=
 =FlNV
 -----END PGP SIGNATURE-----

Merge tag 'amlogic-arm64-dt-for-v6.12' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux into soc/dt

Amlogic ARM64 DT changes for v6.12:
- New Boards:
  - AW419 (Amlogic C3)
- Power Controller node for Amlogic A5 SoC
- Always-On Secure node for Amlogig A4/T7/C4 & S4 SoCs
- Amlogic A4 & C3 hardware support:
  - PLL, SPICC, NOND, SDCard, Ethernet, Watchdog
- Final fixes for DTBs check:
  - add clock and clock-names to sound cards
  - drop saradc gxlx compatible

* tag 'amlogic-arm64-dt-for-v6.12' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux:
  arm64: dts: amlogic: gxlx-s905l-p271: drop saradc gxlx compatible
  arm64: dts: amlogic: add clock and clock-names to sound cards
  arm64: dts: amlogic: c3: fix dtbcheck warning
  arm64: dts: amlogic: add C3 AW419 board
  arm64: dts: amlogic: add some device nodes for C3
  dt-bindings: clock: fix C3 PLL input parameter
  arm64: dts: amlogic: a4: add ao secure node
  arm64: dts: amlogic: t7: add ao secure node
  arm64: dts: amlogic: c3: add ao secure node
  arm64: dts: amlogic: s4: add ao secure node
  arm64: dts: amlogic: add watchdog node for A4 SoCs
  arm64: dts: amlogic: enable some device nodes for S4
  arm64: dts: amlogic: a5: add power domain controller node

Link: https://lore.kernel.org/r/cc8fb460-5ac0-4b16-8490-8ac9f89f1b7f@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-09-05 14:23:41 +00:00
Puranjay Mohan
c060f93253 arm64: stacktrace: fix the usage of ftrace_graph_ret_addr()
ftrace_graph_ret_addr() takes an 'idx' integer pointer that is used to
optimize the stack unwinding process. arm64 currently passes `NULL` for
this parameter which stops it from utilizing these optimizations.

Further, the current code for ftrace_graph_ret_addr() will just return
the passed in return address if it is NULL which will break this usage.

Pass a valid integer pointer to ftrace_graph_ret_addr() similar to
x86_64's stack unwinder.

Signed-off-by: Puranjay Mohan <puranjay@kernel.org>
Fixes: 29c1c24a27 ("function_graph: Fix up ftrace_graph_ret_addr()")
Acked-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Acked-by: Will Deacon <will@kernel.org>
Reviewed-by: Mark Rutland <mark.rutland@arm.com>
Tested-by: Mark Rutland <mark.rutland@arm.com>
Reviewed-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Link: https://lore.kernel.org/r/20240618162342.28275-1-puranjay@kernel.org
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2024-09-05 15:03:35 +01:00
Rob Herring
6e7fd890f1
arm64: dts: toshiba: Fix pl011 and pl022 clocks
Arm Primecell blocks have a functional clock and a bus clock. The
Toshiba TMPV7708 only defines the bus clock (apb_pclk). Add the
"uartclk" and "sspclk" clocks to the PL011 and PL022 nodes,
respectively.

Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://lore.kernel.org/r/20240826183848.1290957-2-robh@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-09-05 11:46:42 +00:00
Arnd Bergmann
4f6dc10b7e Qualcomm Arm64 DeviceTree updates for v6.12
This introduces support for the following devices:
 - Lenovo Thinkpad T14s Gen 6
 - Microsoft Surface Laptop 7 laptop
 - Lenovo A6000
 - Lenovo A6010
 - Samsung Galaxy J3,
 - Lenovo Vibe K5 (multiple variants)
 - LG G4
 
 IPQ5332 global clock controller is marked as an interconnect-provider,
 and the USB interrupt triggers are corrected.
 
 Touchscreen description is added to the Samsung Galaxy Core Prime and
 Max, and touch keys are added to the Samsung Galaxy Grand Prime and
 Galaxy Tab A.
 
 Camera flash is added to BQ Aquaris M5 and X5.
 
 The SD-card slot is described for the QCM6490 IDP.
 
 For SA8775P CPU and LLCC bwmon is added, audio, compute and general
 purpose DSP remoteprocs are added, with FastRPC on audio and compute
 DSP. CPUidle states, capacity and DPC properties are added.
 
 On SC8180X definitions for the multiport USB controller is introduced,
 and enabled on the Lenovo Flex 5G to bring the camera to life. Power key
 definitions are added as well.
 
 The RGB camera sensor on the Lenovo ThinkPad X13s is described. PCIe
 pinconf properties are cleaned up on this and the CRD. The four USB
 Type-A ports found on the SA8295P ADP are enabled.
 
 The modem subsystem remoteproc is introduced on the SDX75 and enabled on
 the IDP device.
 
 Camera, display and GPU clock controllers are added for the SM4450
 platform.
 
 On the F(x)tec Pro1X device, display, GPU, WiFi, RGB LED, SD-card,
 remoteprocs, USB3 SuperSpeed, touchscreen, IO-expander, hall switch,
 caps lock LED and camera button are introduced.
 
 The camera clock controller is added to SM8150, and the GPU-only
 "amd,imageon" compatible is dropped from the MTP device.
 
 Refgen regulator for the DSI nodes of SM8350 is described, and the
 display subsystem interconnect paths are corrected.
 
 The camera control interface controllers are described on both SM8550
 and SM8650. The bluetooth node on on SM8550 QRD, SM8650 QRD and SM8650
 HDK are transitioned to the power sequence description. WiFi is added to
 the SM8550 hardware development kit (HDK).
 
 On the X1 Elite platform, one more UART, a DisplayPort PHY, the USB
 multiport controller, a PCIe controller and PHY are added. Orientation
 switching is wired up for the USB+DP PHYs. RPMh statistics node is
 added. For the X1 Elite CRD the LID switch and the SDX65 modems are
 introduced.
 -----BEGIN PGP SIGNATURE-----
 
 iQJJBAABCAAzFiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmbYwlQVHGFuZGVyc3Nv
 bkBrZXJuZWwub3JnAAoJEAsfOT8Nma3Fd2UP/2fq0EEi34Yd3GUpQ+6U6v9MPpT3
 AhRzvFDGsRJX/wiDw2N5RqowPHfxK8jzYGF5wwLXaZyQfaM8Be6OIQfg/zl9+yYn
 6FqtqM6hK0RjSLac0iYp9Gf0iuKa/MfyAVoigG6oWqGyRWY9FiFwgMWEqUhwAeft
 oDVFIRJT6wxM1EpzEq67rXfqfZ3ySpblQIsQtkwsw92osx1kHO9R/T2rzgYxfrsF
 6ZN99qgBOJ5DQmRuOHMDLy+cBuNaiB4S3iuXnboJkJFu9SmogZt5o/EP6hZViYAJ
 TC1FRBXsAsa+jrhgFTt2ZHCHcbX0+PfJPtW7FFznNT22GKoXGY5vRXhUaY0Sq7jN
 P6DwsoB38OKZD+DJe6DPIP2dgbDRJTx0VTYqIa4ynJuXdCtzpSpbdwYNWVH2gHqo
 q7jItUBDs6/cxqX7p8ArkdTPDaY7I5xibENTb59gsBErjw/z6CWXJEsDBEjsR3bp
 iJZ6bpDLV9w0zndDbA2u5VMph/HsLpK4w0BWOXC4nCqXq3duF+X3sc24eDRVEdt5
 NNnUgXh5yURNdgvlhGPB0tnxwxKsJOWNIjqqfm9aeXl/CoyP1ZmCMHHkUZ5fcMVs
 ghiGy/hI2tRi0Hcy+vh3/8G5746nXTAJxKegCbseMG/bHS8mKtKSSld3zMch2Ogi
 3Rwdau8zpJ1IjFYf
 =dcCx
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmbZhwMACgkQYKtH/8kJ
 UidKJw//UXXf/ap+0e8dY2++AW8fj1ir8CoZTMT9zuqO9HYtF/CRAv/Iw+rIGy/l
 JSDyW2JgF+6nbn5hUJGvBeNMIyHKit3WjAAsBEmTqqya5Lo+fDCS4ZHvqoXdgWIF
 1OLfQ0JqTcQsmSHqkhqbBgM+YONz6kfUOWatqfCq0PnBmKGAArxGmcFrJHlt9b5+
 D1rf0GIgmBD2nCZVfSo5gzab0BlrqYQs0gAGHWz5mg8WPb2fuqlooxBqN/UDUZYM
 4UGrgrGTYhj/wLiM9cWtASGuchFLohq7dbBiHYjcwH3KTKI83fPTHF6+iiRZLr57
 9eptLpXZbFlFZY+Bou/2wRPvAAGXkdNRrt1wHP6XmZQonRIELZUaw+umKJww3B+w
 8JEXYizgsPmQQQu2mtZjYmXoc8GpN8N7l+Ngt4H+ZtSetsDnUX02TnWF7zdY2QUr
 MGpWwqWkIrnTavbgPL8/rcB0S20++VYoDfwjsnY73PB/HH95VT91fG+uf02Ll+8K
 VAbJf+ebpYOW9n1SsT9C6CMJiWYjEIb+LumwCYWl3PZiv8URdEWCudqop36OVjUx
 lTu0829gy0A4iKdQNrEMGEB3+/Yy0wAg7DzkyeVdjKh8iDUOVevJtb1I9PaccNzt
 nhwrHfvwjzKKriKS+CRosaa0GKNVa4GSfPiLnMKhZ99LVvZLvrc=
 =zjLL
 -----END PGP SIGNATURE-----

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

Qualcomm Arm64 DeviceTree updates for v6.12

This introduces support for the following devices:
- Lenovo Thinkpad T14s Gen 6
- Microsoft Surface Laptop 7 laptop
- Lenovo A6000
- Lenovo A6010
- Samsung Galaxy J3,
- Lenovo Vibe K5 (multiple variants)
- LG G4

IPQ5332 global clock controller is marked as an interconnect-provider,
and the USB interrupt triggers are corrected.

Touchscreen description is added to the Samsung Galaxy Core Prime and
Max, and touch keys are added to the Samsung Galaxy Grand Prime and
Galaxy Tab A.

Camera flash is added to BQ Aquaris M5 and X5.

The SD-card slot is described for the QCM6490 IDP.

For SA8775P CPU and LLCC bwmon is added, audio, compute and general
purpose DSP remoteprocs are added, with FastRPC on audio and compute
DSP. CPUidle states, capacity and DPC properties are added.

On SC8180X definitions for the multiport USB controller is introduced,
and enabled on the Lenovo Flex 5G to bring the camera to life. Power key
definitions are added as well.

The RGB camera sensor on the Lenovo ThinkPad X13s is described. PCIe
pinconf properties are cleaned up on this and the CRD. The four USB
Type-A ports found on the SA8295P ADP are enabled.

The modem subsystem remoteproc is introduced on the SDX75 and enabled on
the IDP device.

Camera, display and GPU clock controllers are added for the SM4450
platform.

On the F(x)tec Pro1X device, display, GPU, WiFi, RGB LED, SD-card,
remoteprocs, USB3 SuperSpeed, touchscreen, IO-expander, hall switch,
caps lock LED and camera button are introduced.

The camera clock controller is added to SM8150, and the GPU-only
"amd,imageon" compatible is dropped from the MTP device.

Refgen regulator for the DSI nodes of SM8350 is described, and the
display subsystem interconnect paths are corrected.

The camera control interface controllers are described on both SM8550
and SM8650. The bluetooth node on on SM8550 QRD, SM8650 QRD and SM8650
HDK are transitioned to the power sequence description. WiFi is added to
the SM8550 hardware development kit (HDK).

On the X1 Elite platform, one more UART, a DisplayPort PHY, the USB
multiport controller, a PCIe controller and PHY are added. Orientation
switching is wired up for the USB+DP PHYs. RPMh statistics node is
added. For the X1 Elite CRD the LID switch and the SDX65 modems are
introduced.

* tag 'qcom-arm64-for-6.12' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (120 commits)
  arm64: dts: qcom: x1e80100: Fix PHY for DP2
  arm64: dts: qcom: qcm6490-idp: Add SD Card node
  arm64: dts: qcom: x1e80100: Add orientation-switch to all USB+DP QMP PHYs
  arm64: dts: qcom: Add X1E78100 ThinkPad T14s Gen 6
  dt-bindings: arm: qcom: Add Lenovo ThinkPad T14s Gen 6
  Revert "arm64: dts: qcom: msm8939-longcheer-l9100: Add rear flash"
  arm64: dts: qcom: Add support for X1-based Surface Laptop 7 devices
  arm64: dts: qcom: x1e80100: Add UART2
  arm64: dts: qcom: x1e80100-pmics: Add PMC8380C PWM
  dt-bindings: arm: qcom: Add Surface Laptop 7 devices
  arm64: dts: qcom: sm8150-mtp: drop incorrect amd,imageon
  arm64: qcom: sa8775p: Add ADSP and CDSP0 fastrpc nodes
  arm64: dts: qcom: x1e80100: Add USB Multiport controller
  arm64: dts: qcom: sa8775p: fix the fastrpc label
  arm64: dts: qcom: ipq5332: Add icc provider ability to gcc
  dt-bindings: interconnect: Add Qualcomm IPQ5332 support
  arm64: dts: qcom: sm8250: move lpass codec macros to use clks directly
  arm64: dts: qcom: msm8998: Add disabled support for LPASS iommu for Q6
  dt-bindings: clock: gcc-msm8998: Add Q6 and LPASS clocks definitions
  arm64: dts: qcom: msm8976: Add restart node
  ...

Link: https://lore.kernel.org/r/20240904215752.24465-1-andersson@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-09-05 10:25:06 +00:00
Arnd Bergmann
003729a1e5 i.MX arm64 device tree changes for 6.12:
- A series from Alexander Stein that improves imx93-tqma9352 board
   support by adding PMIC, eMMC regulators, pad configurations, etc.
 - A series from Benjamin Hahn that enables overlay for no Ethernet
   device, TPM and PCIe support for imx8mp-phycore board
 - A few changes from Fabio Estevam that fix dt-schema warnings for
   i.MX8MM and i.MX93 based boards
 - A series from Francesco Dolcini to add fxl6408 gpio expander, PMIC
   thermal zone and USB3803 HUB for colibri-imx8x board
 - A great number of changes from Frank Li that improve i.MX95 based with
   many device additions, and fix dt-schema warnings on various i.MX8 and
   layerscape device trees
 - A series from João Paulo Gonçalves to add HDMI audio, analog input,
   VPU, and sound card support for Toradex Verdin and Colibri boards
 - A series from Markus Niebel to improve imx93-tqma9352 board support
 - Add support for Kontron i.MX93 OSM-S SoM and BL carrier board
 - A couple of changes from Peng Fan to describe cache configuration for
   i.MX93 SoC and add device tree for i.MX93-14x14-EVK board
 - A series from Shengjiu Wang to improve various audio features for
   imx93-11x11-evk board
 - A series from Yashwanth Varakala to better describe regulator usage
   for imx8mp-phyboard-pollux board
 - Other random changes on various board device trees
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmbYbAAUHHNoYXduZ3Vv
 QGtlcm5lbC5vcmcACgkQUFdYWoewfM5bwgf+OU349wE7hZZGHZoCYRymVORfiUXW
 UtEBwRZiZFX/GH0iOYQZ8oqBtGvC+9M1Lpj4BBFAjSXjtKqPJVfwghwJ1Hw7ubs2
 vG7pxtvYrhRDalxCAMpChciKmTJILlUtU2rkh3EKmUB3b5kzXXpV4T0lVHsY6oj7
 Yutwi+qXqhKBhPImeCDf6uNbNon8Q3p4sWyeU7U5TprDW2E7zj4VCnAjO5/75emR
 o7WvH+Qh4Ob8udazOiAlFj1yLVtLR119r4l1hzBII4tkxLPKQ/Fqf1T+KVEimUFi
 SwreV0H0/C9sH1TxysqKer/bkmiKxzv8aV8m/3uSqRkEntoggz3k4Yy6Cw==
 =LN+E
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmbZhY8ACgkQYKtH/8kJ
 UidEFxAA2w7e3jYb0sXHv2AvOB2ij9D0KHrw9qVxxSxjpLZW/ggMgBvlkNx06xmK
 JH7AL4l68PkQWQ01lkAWOxfNnjhy4c2EEFpkqd7+5z6wsHdcAel74Qu/RdT8kB8T
 I7gljfQvQFIZIF8SqdTD7H0QTmnJpnwgHHjjQCpe1/zuYhVSEl5xDoePJtRrtiCI
 tlT7I6lwJ52v5/uLs0bjWLaJvU26VvIAb21AjO0xP1M6645alDdGhPTY3EXpXKIP
 9P5xyPcPPq+jb8wM3VNU8Kt2vnfZbJxqJi2mTHpMl2JjXKxt+8r+adwwrO9oUSmj
 QROrGhmRSEJQl64luaapn2I+37/RWNC7jEuEn6URYaYrc4NafLUn/9LNtX2qArI+
 EUqX5d9nVHPb5K8jvMgXft7O2VzgtrzO7YcTt3pDXrlhq/a5Q6svO5tBY6ZghZ7b
 VK3teWkGjc1mIpdWSIdIEGfnBkpC+wJgLS/C8ZdnzyXBwX7zvwpAHet1QpWqa4pc
 +ehKOvVDpFXhZQ61d4eF5lLouAwzYAFn01fo9pVm8z1XRliVbbJJuCZ5PZYsjtjc
 qSBo9BVVhzs/ZljBKWrOfVd0N7+6+Fx4y4ZJjdcrKCGodEwfwlHl8iCOn+sMMfp6
 Z+cPs24lVlyYnBufCBw5vI8tXexUHom9LG3+W/qP0KVA4Sy84dA=
 =rArD
 -----END PGP SIGNATURE-----

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

i.MX arm64 device tree changes for 6.12:

- A series from Alexander Stein that improves imx93-tqma9352 board
  support by adding PMIC, eMMC regulators, pad configurations, etc.
- A series from Benjamin Hahn that enables overlay for no Ethernet
  device, TPM and PCIe support for imx8mp-phycore board
- A few changes from Fabio Estevam that fix dt-schema warnings for
  i.MX8MM and i.MX93 based boards
- A series from Francesco Dolcini to add fxl6408 gpio expander, PMIC
  thermal zone and USB3803 HUB for colibri-imx8x board
- A great number of changes from Frank Li that improve i.MX95 based with
  many device additions, and fix dt-schema warnings on various i.MX8 and
  layerscape device trees
- A series from João Paulo Gonçalves to add HDMI audio, analog input,
  VPU, and sound card support for Toradex Verdin and Colibri boards
- A series from Markus Niebel to improve imx93-tqma9352 board support
- Add support for Kontron i.MX93 OSM-S SoM and BL carrier board
- A couple of changes from Peng Fan to describe cache configuration for
  i.MX93 SoC and add device tree for i.MX93-14x14-EVK board
- A series from Shengjiu Wang to improve various audio features for
  imx93-11x11-evk board
- A series from Yashwanth Varakala to better describe regulator usage
  for imx8mp-phyboard-pollux board
- Other random changes on various board device trees

* tag 'imx-dt64-6.12' of https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (121 commits)
  arm64: dts: imx: rename gpio hog as <gpio name>-hog
  arm64: dts: imx8mp-var-som-symphony: Add Variscite Symphony board and VAR-SOM-MX8MP SoM
  arm64: dts: imx8mm-var-som: drop unused top-level compatible
  arm64: dts: ls1088ardb: add new RTC PCF2131 support
  arm64: dts: colibri-imx8x: Cleanup comments
  arm64: dts: colibri-imx8x: Add 50mhz clock for eth
  arm64: dts: colibri-imx8x: Add adma_pwm
  arm64: dts: colibri-imx8x: Add vpu support
  arm64: dts: colibri-imx8x: Add USB3803 HUB
  arm64: dts: colibri-imx8x: Add PMIC thermal zone
  arm64: dts: colibri-imx8x: Add sound card
  arm64: dts: colibri-imx8x: Add fxl6408 gpio expander
  arm64: dts: colibri-imx8x: Add analog inputs
  arm64: dts: colibri-imx8x: Add usb support
  arm64: dts: imx8qm-mek: add usb 3.0 and related type C nodes
  arm64: dts: imx8qm-mek: add i2c in mipi[0,1] subsystem
  arm64: dts: imx8qm-mek: add pwm and i2c in lvds subsystem
  arm64: dts: imx8qm-mek: add cm4 remote-proc and related memory region
  arm64: dts: imx8qm: add mipi subsystem
  arm64: dts: imx8: add basic mipi subsystem
  ...

Link: https://lore.kernel.org/r/20240904143439.211552-5-shawnguo2@yeah.net
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-09-05 10:18:55 +00:00
Arnd Bergmann
7b6eee4f0e TI K3 device tree updates for v6.12
Generic Fixups/Cleanups:
 
 - AM62, AM62A, AM64, AM65, AM62P: ESM node cleanups
 - J784s4, J721s2, J721e, AM65: FSS (Flash subsystem) fixups for ranges
 - j721e/j7200/j721s2/am68/am69 SK/SoM, IOT2050: Disable of R5F lockstep
 - j721e/j7200/j721s2/am68/am69 reserve GP timers for firmware usage.
 - Misc device tree warning fixups: Serdes simple-mfd fixes for
   am654-serdes-ctrl; rename of gpio-hog nodes; mux-controller node names
 
 SoC Specific features and Fixes:
 
 New boards:
 - AM67A/J722s based BeagleBoard.org Foundation's BeagleY-AI
 
 AM62:
 - Thermal throttling enabled
 
 AM62A:
 - Add E5010 JPEG encoder
 
 AM62P:
 - gpio-reserved ranges
 - SK: drop cts/rts for wakeup_uart0 firmware console pinmux
 
 J722s: (AM62P variant)
 - IPC/Remote proc for C7x and R5F
 - gpio-reserved ranges
 - EVM: Add main_uart5 description and CAN support.
 
 AM64x:
 - adc description fixes for dtbs_check warnings
 - tqma64xxl and phyboard-electra: Add PRUSS ICSSG capability
 - CPSW Ethernet is now disabled by default at SoC level and enabled explicitly
   at board level.
 - USB property to add fall back to j721e
 
 AM65x:
 - IOT2050: Add overlays for M.2, add Eth phy LED description
 - idk: Fixes for DMA causing dtbs_check warning, Add MCAN
 
 J721e:
 - SK and beagleboneai64: Fixes for inverted C6x carveouts
 
 J721s2:
 - AM68-SK: Fixes for mmc clkb internal mux, ospi partition for uboot.backup
   alignment fixup.
 
 J784s4:
 - WDT clock ID fix.
 - EVM: Use 4 lanes for PCIe0.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEE+KKGk1TrgjIXoxo03bWEnRc2JJ0FAmbXKtAACgkQ3bWEnRc2
 JJ1ZyQ/9HeHwECIc8fol3KO1BbgxUFyjdV8Qw9l6gEHkvTgXN7rU7enQ4yoRSAr2
 ziEr1bRZbGnGsoVw6RQ8NGTQWuXeR9FsxKmE1qmXq2S2v3pELbxTsru7TCmSJxd1
 EU5fRS4752sBkGOv0wHb/XHejrRr7IGresSPgEFxxLlgpUCEXfQ17dZneb/dmBzH
 MwZP7jo7CG3hAaWBwTW+98Ia0QPSkRs5IrK/Fo9AmOeG1yna8AyGjRNGnmFSXZW/
 X3idTXKKiTMXm1Xqa2VIUaQeeDwO4ygVgAtsmqrGWr4EvhaASaZvd24GMUcXdhD2
 25H3+jqVr0iI92K6uStPi+4Aa+lwveIhf4OqqTRB/2YTE3P2gvwAU+HBsQo8MUfQ
 KyuSmZBsUB4yXlm3kY5rpOoZPnzyk+37IKKawM5+F+USWR8+eXccSSVrCBTq4syQ
 FhEpKOE+ARByFsSWj1D9rHpvArWHASUtamrIbKr007j4L6UQPomzt/60K59Dx696
 z67JQX5hkXydS0GHgUlzDy1PfAgIGT66WCeuLvxol0g8unDxB7KfLJBLBqU/zOcV
 nbWUrzy3wKL+zrNWMc4gkEk6IoSql9KT99ZcdARKi5xdn67GRcs6tMv3Mq/WDVfA
 2fqD6pxLRMdAW38Qqmm9OBAqkbc9rBdAmCH28Yqi56wB88nqfYY=
 =7qy3
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmbZhOkACgkQYKtH/8kJ
 UicZkhAAhW8qCvJBDrm4FtmQASBzebDGZTGzeH1B8A/K+Fd0FY2ffKRXu5lkvJdz
 anWcos6K8GYhGHSuX9iOQNKqBYFSEA9zi3qTfYlCWYe1gBpweqaKEpmStEuqhJg/
 uz6ZodxP24eWTrlc6loLERF5kd7VrZho+XU4/p7kmkJl6X/LgHrzjK03/8dze9nV
 7tUZo6uYRN3ngiXARiWTs76sfT5AURZ6Kjb90fPsLb2k3uKc1X+gksoPNJvZ3Y1s
 dqudnFETc/Ppq7lFAOJrSY18kDeIUtJ5BY1FKk3hzytS91ofW2wDUEHBlneF5zdL
 JE3GZ0pbd/JkzRre74NqIH6kIx9Ss35fyPOfR9EWAD6vo+4kZf0vOSCDaOTnfXby
 TaG0r/awMP1aEcrFGmTmHLAlURHsXDFUQmdsu85tdrtQAL9grK9DOTbiATNH1X/o
 C/TnUdcZiVATcx5yfwiOkRSgdAKdZRhjuQG0JtPwJ7GWMxPE2t6Kvyt6NzqWVBCD
 STD7xAtdPzwE7CoiC8jy0Pb25Btv2SQ5WIfEG9zd4XHeziH3UqkPD62xkJhzKzsj
 kMFSB6nsWoBam28aFUQEgSRfe/DFu4zaC6JMk3ZPQhXlpbclFaW0ptpne+OrFbMw
 FqcFrlHlC3K5MgnRfhZsEGR8kxx5ffOd0UqnafplG8AsmwFoVzs=
 =cyoV
 -----END PGP SIGNATURE-----

Merge tag 'ti-k3-dt-for-v6.12' of https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux into soc/dt

TI K3 device tree updates for v6.12

Generic Fixups/Cleanups:

- AM62, AM62A, AM64, AM65, AM62P: ESM node cleanups
- J784s4, J721s2, J721e, AM65: FSS (Flash subsystem) fixups for ranges
- j721e/j7200/j721s2/am68/am69 SK/SoM, IOT2050: Disable of R5F lockstep
- j721e/j7200/j721s2/am68/am69 reserve GP timers for firmware usage.
- Misc device tree warning fixups: Serdes simple-mfd fixes for
  am654-serdes-ctrl; rename of gpio-hog nodes; mux-controller node names

SoC Specific features and Fixes:

New boards:
- AM67A/J722s based BeagleBoard.org Foundation's BeagleY-AI

AM62:
- Thermal throttling enabled

AM62A:
- Add E5010 JPEG encoder

AM62P:
- gpio-reserved ranges
- SK: drop cts/rts for wakeup_uart0 firmware console pinmux

J722s: (AM62P variant)
- IPC/Remote proc for C7x and R5F
- gpio-reserved ranges
- EVM: Add main_uart5 description and CAN support.

AM64x:
- adc description fixes for dtbs_check warnings
- tqma64xxl and phyboard-electra: Add PRUSS ICSSG capability
- CPSW Ethernet is now disabled by default at SoC level and enabled explicitly
  at board level.
- USB property to add fall back to j721e

AM65x:
- IOT2050: Add overlays for M.2, add Eth phy LED description
- idk: Fixes for DMA causing dtbs_check warning, Add MCAN

J721e:
- SK and beagleboneai64: Fixes for inverted C6x carveouts

J721s2:
- AM68-SK: Fixes for mmc clkb internal mux, ospi partition for uboot.backup
  alignment fixup.

J784s4:
- WDT clock ID fix.
- EVM: Use 4 lanes for PCIe0.

* tag 'ti-k3-dt-for-v6.12' of https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux: (57 commits)
  arm64: dts: ti: k3-j722s-evm: Enable Inter-Processor Communication
  arm64: dts: ti: k3-j722s-main: Add R5F and C7x remote processor nodes
  arm64: dts: ti: k3-am68-sk-som: Update Partition info for OSPI Flash
  arm64: dts: ti: Add k3-am67a-beagley-ai
  dt-bindings: arm: ti: Add BeagleY-AI
  arm64: dts: ti: iot2050: Declare Ethernet PHY leds
  arm64: dts: ti: k3-am65: Add ESM nodes
  arm64: dts: ti: k3-am64: Add more ESM interrupt sources
  arm64: dts: ti: k3-am62a: Add ESM nodes
  arm64: dts: ti: k3-am62: Add comments to ESM nodes
  arm64: dts: ti: k3-am62p: Fix ESM interrupt sources
  arm64: dts: ti: k3-am62p: Remove 'reserved' status for ESM
  arm64: dts: ti: k3-j721s2-evm-gesi-exp-board: Rename gpio-hog node name
  arm64: dts: ti: k3-am642-evm-nand: Rename pinctrl node and gpio-hog names
  arm64: dts: ti: k3-am654-idk: Fix dtbs_check warning in ICSSG dmas
  arm64: dts: ti: k3-j784s4: Include entire FSS region in ranges
  arm64: dts: ti: k3-j721s2: Include entire FSS region in ranges
  arm64: dts: ti: k3-j721e: Include entire FSS region in ranges
  arm64: dts: ti: k3-am65: Include entire FSS region in ranges
  arm64: dts: ti: k3-am64: add USB fallback compatible to J721E
  ...

Link: https://lore.kernel.org/r/20240903155701.q7soxtplbkfofwxt@entering
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-09-05 10:16:09 +00:00
Arnd Bergmann
5d9e36498b Renesas DTS updates for v6.12 (take two)
- Add support for Ethernet TSN and PCIe on the R-Car V4H SoC and the
     White-Hawk (Single) development board,
   - Add display support for the RZ/G2UL SoC and the RZ/G2UL SMARC EVk
     board,
   - Add I2C support for the RZ/G3S SoC and the RZ/G3S SMARC EVK board,
   - Add support for HDMI audio on the RZ/G2L and RZ/G2LC SMARC EVK
     boards,
   - Add initial support for the RZ/V2H(P) (R9A09G057) SoC and the RZ/V2H
     EVK board,
   - Miscellaneous fixes and improvements.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCZtceEQAKCRCKwlD9ZEnx
 cE75APwIoaxcGqJtBI0qPUt2h2zSUPlRxGAE/PJI9mghY4JRmQD+IYyj9ovxNlmR
 b4xgOpKvHnYou8UK2p5289wbFLVZgA4=
 =QPgq
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmbZhFgACgkQYKtH/8kJ
 UicxExAAhFLpkige1Uy6SXTQWeJVR6JW+bTHp+9teeSWow9GZ0CIKU69vKNood7z
 K+vwlH10zOQkR1+v6vKjE0DyVwpCz1cMW1eHurgJW5Prhm0TloF6SC026F1upcz1
 D3nGsfe20MZUpuUMUGJv1SJlQYEHLKa523ClFMWDgPHmP0dFFTGjYgh/HsYXaiG+
 0LPzOe+0bRa1RokhpYlULwx7I9dGubjlftTmTd5nIQ/ucpBYiWVv+vieuNvJ1g6q
 0wDbhKRcbAQRtJLgP08B5sPTBJD0lQ+rFZ1e9qAnLvjlqV82AdLIfqh0EaSQfKMG
 puvVfsEpL2WRE30G1BbMWx18Esfewo0jyeRKSOMjpDqNhIMJN5DzAtviAfeFTu7u
 iYR9ZplLs0MJUS6UoKZdPhNKgW0zbG8nbXCNMyxrcDXxXHNLXmoAu20AGGLEHZF1
 2sDRE0IK5G8fbY71VlFMKJKmfVy6fkvoTywqBZ8CHQT0wEBp/ZQzP88kE/qaVOkW
 D1PLPLD1zjZVm5v1VK6S+OncSqE0DawQpc7j5v0RTAH90ZkEV/rOzyRw63cC0/zr
 CA9CZnwTMULWxAys2vjBpgE2KNgr852tyPTaZ/9Wgl5aMGjWTkUp6N8oOJQQjVY5
 jwX6QwLMJuBLraRSmdMkzH3X4jvyGeEDcVjl2UY+3owGcxMREjI=
 =tnwU
 -----END PGP SIGNATURE-----

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

Renesas DTS updates for v6.12 (take two)

  - Add support for Ethernet TSN and PCIe on the R-Car V4H SoC and the
    White-Hawk (Single) development board,
  - Add display support for the RZ/G2UL SoC and the RZ/G2UL SMARC EVk
    board,
  - Add I2C support for the RZ/G3S SoC and the RZ/G3S SMARC EVK board,
  - Add support for HDMI audio on the RZ/G2L and RZ/G2LC SMARC EVK
    boards,
  - Add initial support for the RZ/V2H(P) (R9A09G057) SoC and the RZ/V2H
    EVK board,
  - Miscellaneous fixes and improvements.

* tag 'renesas-dts-for-v6.12-tag2' of https://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel: (34 commits)
  arm64: dts: renesas: r8a779h0: Add family fallback for CSISP IP
  arm64: dts: renesas: r8a779a0: Add family fallback for CSISP IP
  arm64: dts: renesas: r8a779g0: Add family fallback for CSISP IP
  arm64: dts: renesas: r8a779h0: Add family fallback for VIN IP
  arm64: dts: renesas: r8a779a0: Add family fallback for VIN IP
  arm64: dts: renesas: r8a779g0: Add family fallback for VIN IP
  arm64: dts: renesas: r9a09g057h44-rzv2h-evk: Enable watchdog
  arm64: dts: renesas: r9a09g057h44-rzv2h-evk: Enable OSTM, I2C, and SDHI
  arm64: dts: renesas: r9a09g057: Add WDT0-WDT3 nodes
  arm64: dts: renesas: r9a09g057: Add SDHI0-SDHI2 nodes
  arm64: dts: renesas: r9a09g057: Add RIIC0-RIIC8 nodes
  arm64: dts: renesas: r9a09g057: Add OSTM0-OSTM7 nodes
  arm64: dts: renesas: Add initial DTS for RZ/V2H EVK board
  arm64: dts: renesas: Add initial SoC DTSI for RZ/V2H(P) SoC
  dt-bindings: soc: renesas: Document RZ/V2H EVK board
  dt-bindings: clock: renesas: Document RZ/V2H(P) SoC CPG
  arm64: dts: renesas: r9a07g043u11-smarc: Enable DU
  arm64: dts: renesas: rzg2lc-smarc: Enable HDMI audio
  arm64: dts: renesas: rzg2l-smarc: Enable HDMI audio
  arm64: dts: renesas: r9a07g043u: Add DU node
  ...

Link: https://lore.kernel.org/r/cover.1725374275.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-09-05 10:13:44 +00:00
Arnd Bergmann
e4a82810c6 Qualcomm Arm64 defconfig updates for v6.12
Enable the Qualcomm refgen regulator driver, being introduced in SM8350
 for DSI, as a module.
 -----BEGIN PGP SIGNATURE-----
 
 iQJJBAABCAAzFiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmbYtwMVHGFuZGVyc3Nv
 bkBrZXJuZWwub3JnAAoJEAsfOT8Nma3FknAQAKKr2TrvulVLjax5FYJmEC7olczJ
 M7FGR4NigeQvRrxqNuPyNLyMrp/S+EEj+b/FonxdIATtLgkE/wQ4EeB7fJWQf9VE
 PrZG81HZG36d+8JTBJgSz02YEzDl48Y4lSgPGCfekGoPx5FVYFeYLOA4LCXGcB3w
 CyMWsajBTYDUQlCcSo2qtd9x1hEnupiRord2xmmquxTlGmLtCC29i6GUgIDweE8x
 oxcRA45jCZAfa1SmLOmD24zvlEcB6gqiY861/wO0Sq4nKMwHE0F5NqEdTXXNeNlG
 AUfuKK/OstgR8vwN7PtPyGerazZsOK/RZfV8esq6GNeKcadXHAqKge/6PxxlkS3I
 FjN22IlGWlPh2O60t51rYn1m8lEIp57EHPWcYSX5c/VAXi8pAh6BCAjHGAyj/jzw
 /xb6gVOipFZED72FjOuJL0lwhRiyZpMc72XBI/owdaB8TeRzWue/FAPi3xmKF0sR
 cv8+H1G3r7F1Irv8vxnwwpvBUVs6Q4PsM6ROT9/mLD7PEO/E+qr0RZP0YInCMzbK
 9sEm5L5mUmkGtvHhHu9ez7RYsvpeQPtaDtbErKVFxISjo7sSNJ2owm9wJvn2POm3
 u/nlFkliLTxnV5fvhDEN5XrCvVLNSlkc3S+HmAmtYphaWjKp9mJ/tdLnkfVt8Aal
 QOewvo7VhBgVBclN
 =NT+a
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmbZhCgACgkQYKtH/8kJ
 UicECxAAg/nMerE8HavWavcqR2Uey/7Mqo6lHPM2jBTH8gHcAOQncAx+qTq/cTcj
 5nZg/U3arlOCJEd1Ggn7eZWOWlxUOXQ41pN2Behsx9XObvervnfgqBQjIXF+J0Ys
 KZMIH3slmw0vs4aDI05zA+Sp+eJQm7B5eEkOB3gH2CtDjGr7x03+GqeSRh46kO9A
 oM1DfF6Uf9XVsKw/PV9iCTBFeKgbzwF58V5YIQq/ExIWhMyk21vZUG91GFUENzQa
 hvITEJvYzgpj2q5nUZBHm2DNbJfBOB5gjCk7LUdevXRZ5UbvjYkV100suKGoEto/
 u/DGfwCExUErjFd6qcii2ksIr+PDlTPRMLL1mTqBUB9ZepSB7A8VH9BCSrezL2oV
 5m+rZu6UGVaz0RIXbg4mO5KmVj0L33IsR7+2b7scyhYYhVxijIJeheNfO1YjasMy
 3o8mKz/5L6bIx4w9kf9MnKZ/faS0YWNK/XV6FhqoWU1ijCqGvL4jBLMFip2vHVZX
 84WGmqtG2qcAlYm47TWKNCKjVXYLYsEKzxAAoGsez+3z0/i+shoNCuDtIGgh33Yr
 L/dR5MOdlBOqBeHNHhRkKWg9m2xOpVg2oRdWMA9MhL4mYV9N+xrKRYmYTeUHMxZP
 HJai//J5a4kTQk4RqPtVdLqxf5IzYylGDtYKRC772kA7F0qxCnw=
 =FHJ3
 -----END PGP SIGNATURE-----

Merge tag 'qcom-arm64-defconfig-for-6.12' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into soc/defconfig

Qualcomm Arm64 defconfig updates for v6.12

Enable the Qualcomm refgen regulator driver, being introduced in SM8350
for DSI, as a module.

* tag 'qcom-arm64-defconfig-for-6.12' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
  arm64: defconfig: build CONFIG_REGULATOR_QCOM_REFGEN as module

Link: https://lore.kernel.org/r/20240904194827.16766-1-andersson@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-09-05 10:12:56 +00:00
Arnd Bergmann
d32d0c26ed i.MX defconfig changes for 6.12:
- Enable ADP5585 GPIO and PWM drivers in arm64 defconfig, which are
   needed by i.MX93 11x11 EVK board.
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmbYbXIUHHNoYXduZ3Vv
 QGtlcm5lbC5vcmcACgkQUFdYWoewfM7mpQgAvNtDGFpddY5F/DnDgmebNBo981Xc
 sX9v+8hjimuxdlVhuFh2CeQT737SCMzOtE0MMtg/VYh0Lu3cLISOuFxEZ3TCuUa6
 zkmNKJTp5DjNYo0/QLwbuqiKgRIux6eaFMx5AXXBLUREXhgZrxUBeb57yI8K+hog
 M40vDZ2Nm0rZrvN/Qh2lMdk9yV79ll1K9zukBnedqq7T62Ipyl0IYlFbj8suqlE6
 tgHDCvOY3qZngO7aXowhW3LHjrInXNLdyLycFJtVKPfayF17pXGQJD04a7q2pkJi
 nuCTGKcsfbyzZJTNS85DcedAw4pJMRG9+71zQfY71EOW9usY0Zc1utHWNw==
 =oSYa
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmbZhBEACgkQYKtH/8kJ
 Uic/ixAAmzk3MSKuxn8aSE7BZn/qcIATLlhRPnfuZRZdbne0CWxkkAI0lRUjuwxL
 a1Epj3BwvLbwX+3/wyhFFoSaXdCs+O08zQaauuN80SGf3C2ezLym4PZ4DumrL5zR
 EdbXnbqvMp6YVK8+uBaYnbIEUw6KFbnwoXGYLNvn+ndfvoR739efQOeampml+1nw
 L4quOuWBLD3VxbP0hh8YME2Wfeu7W1iR5KrHN5ykSIMq8h5xsBdyS+v5B/hifG1m
 penmV4jxLOHIz9IuaSi3r4LEuow3oRQdnaMHAgdL0NXRg1uFB9yK8PbwtUWMvNVR
 6/kEXSmYLwA6t44s+pMhfyk+qLgdx8ZFUxMkdmiQ+i4mVeYXOG1un41DoB9DE3EX
 4pEf7rDMsc+buryRbZl9O4w1ky9u674QingaDkKAT8DMo79N0I6qmGc2jsbkYsMy
 MUDejKoGzHysMs+6JatwQEh5S4ufzL2aJbfRtW1nD80Kii8qUkgc40XcwPanq5/s
 BPu8RXsngycarpNoe8aU8LxnnxVm3UaMvaFBJaCdGUEqr/d3AdJTzvm/nHw4arrN
 zWYNLZiTss1rmlnazm86ucpnhdgeoQz9hSwCzYnGgY92+cCW6NyAK6kGbMJFyW3t
 jNy80McjfCcAgKBgBc+SSkY+knfWuSB9HHYFOGPJmwvB5Gmn0uc=
 =6iSo
 -----END PGP SIGNATURE-----

Merge tag 'imx-defconfig-6.12' of https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into soc/defconfig

i.MX defconfig changes for 6.12:

- Enable ADP5585 GPIO and PWM drivers in arm64 defconfig, which are
  needed by i.MX93 11x11 EVK board.

* tag 'imx-defconfig-6.12' of https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  arm64: defconfig: Enable ADP5585 GPIO and PWM drivers

Link: https://lore.kernel.org/r/20240904143439.211552-6-shawnguo2@yeah.net
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-09-05 10:12:33 +00:00
Arnd Bergmann
714dfb9556 TI K3 defconfig updates for v6.12
- Enable E5010 JPEG Encoder as kernel module
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEE+KKGk1TrgjIXoxo03bWEnRc2JJ0FAmbXKdQACgkQ3bWEnRc2
 JJ2tkQ/8C+ldmH7wmyjWQCJlz3JSMgf/2T0ji5NWs+2L5U7JXEUuKXwmZEDZPq6Y
 d9EA2wzVuHLCEX76oeb0QFdBf2XSpjhf6bzhog9zcjpHGiJYuY4f7ewsDCm08xKU
 81pWaWODYYcAideNehzwI7VCDZuXFdoXIfq3nQ/bJOreOlYO2Hf+jJI42Rea1AfO
 k72W5L/Mrdhg74xSE48fbU14yTlVa3GBb18tec/iEEUdcQNpm138Z0rOfr6Knfgu
 j5NpAorp1O8ciyfdth2sIc+8rFicTEocH08xMsn3xJCvsiiTjYQyEnr99Bm466o0
 mQfNaScsdzPpE5TiwWql6PQWu8wK8HREzUL6BzbGxkXRa7pzcdD3CXnfJap7uxFj
 wUJaSzsDSFyHcQd8SAzLQBapQGhbb2kZ9UTFeeEAUCZQNSqT/vtfwOm6fNAln4wR
 hLiPIwljBDWXvlxMv35MNIPcotNjsMuB4NW8RhaOzyP6njDTCktf8xoNCHUEoqgn
 kKXTtRt4CWs1qfdMcfQWO6Sz4CDDGndun8MXJozUGrR8M68TvzONbU+yvmHag5zL
 70NIi9SSzoCudy4OW7ECLEAFMJ1TSm4K74nfu3UwHKO1mrCmSxOxMctYo2E7JAx3
 /gQIIB1Vx6lrrA7QQaW9EYQdb0dnzR2alnjJeX1Zr3WLTtNhHqk=
 =vxmn
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmbZg/YACgkQYKtH/8kJ
 Uic6bQ//ZnOsB5C9iLX/c9ml6Rxn7cySC1GbD8iiRMUL2icgzfotfAQlKG8J9agG
 Tu+koOn1dn2jwiZt+P1/dlXcd5Yi6PdsMuC94utxHoT3uJVM1q9JdqyxQXpvOSHl
 iBScmq+8jZryqiP3NR2WkEAxJwdsb15xT6EpDByOskr3ir214uI7Wh+4TAfaDwuj
 evse5Wb83+Q7BhIMQWQ/PYCa/elbKWVOrp7A19ZJGVeU/JGsaM22SaVIuX16+l2y
 B8NeXxMTlSzI1xUcJjcxfbB6dsnPU0/I7RtvP23KFeElAUNexgfrHFAX6dR++IIW
 ptBUoO45qpbTwyW/aqwQGHfzIjdqaxia9EY43wjTmzeC+VRiI5Jl0fYteaFYrQ5u
 AkbFt+lmXGvupci3RsSt7RK+qexG4IbS73NUHNb55PsYo0SVo3moPDdZSzLZdirE
 4m6puDEEtJiXjUSMzA6dQiIktotfKyBWOWLmkGrUKplZ1DNlOIm5hvn02KFLqWi5
 eTxiiHCqPGnkTNMVW6cMsLbaHC34hJe67DeBmtJdqmVXQ29JccrDc9yKo+6/oJZO
 +akl41T9SDgpn2TyFaDv9CT66PPRptoUKYmVBVrH6RGHrN4cjJVkrmwi8vpCIHjz
 1JC2qXUk4VDD+vk/GlEfcW/EwC7db3QuKskMgHraba+q83cLwaI=
 =6ZCp
 -----END PGP SIGNATURE-----

Merge tag 'ti-k3-config-for-v6.12' of https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux into soc/defconfig

TI K3 defconfig updates for v6.12

- Enable E5010 JPEG Encoder as kernel module

* tag 'ti-k3-config-for-v6.12' of https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux:
  arm64: defconfig: Enable E5010 JPEG Encoder

Link: https://lore.kernel.org/r/20240903155647.jy2uparewobeekrd@dreamless
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-09-05 10:12:05 +00:00
Arnd Bergmann
2650fd8679 A number of pin fixes for Puma, Rock-Pi-E and rk356x, and as it turns
out the VO0 and VO1 general register files are not identical as suggested
 by their original compatible. As there are no users of those yet,
 everybody agreed that we should fix the compatibles.
 -----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCAAuFiEE7v+35S2Q1vLNA3Lx86Z5yZzRHYEFAmbU3XcQHGhlaWtvQHNu
 dGVjaC5kZQAKCRDzpnnJnNEdgQILB/wLVa9j4UX7kBwK5r6dbDe5rC+guHzlRVUK
 NMiSrczPJanuUWS80tfwbpbH4W17i2vpZbB5SjHmKBbTGA9DckagjRgD9/ixjDpI
 IJ3AXgZXv2VLoolC/2qDykqThEEgjMcTxo9uIgSOiwxQ6MatWvAog+yCfv25PUWh
 5GEz87ElWZljTx37hitmxbLuEPmmZcngx2o06LYMXjGM9dy5SWBW1c2B6WYJ7Dbs
 /vqWZieLw5BfXzpog7YF3lSyr7KEvVUVNysdT68c3jQlngS/mM0KID7Xif0E9Hc8
 RVqmcOVYeuJbM73Kz4/KwkCBa7pzUPJt4ZZImHNVOI0TE5WWe8Cc
 =hcAD
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmbZeR8ACgkQYKtH/8kJ
 UidmsxAArIG8cMIQgBdxcH9dSaY+cerYXPahITgHZ8w07uK1ydgsX9MKgprL2WVv
 L8DcbL6NKiBDJE45r40/dTpvcBsMVWDlepzGdwOsCKbW1OjMIoIi90UxDeIuyCxy
 OiuuFrXfOKlKBCLxa4pYPpQucEaApCIUfivYs6gsYRjuJYWieKla9m850arJzE3Q
 CsbkmX/m1Qx6Z3CyOjuHlJm7BrZTThoVRWv1kwt8T0Q0YTpdpp7PXwIK92k/BAaL
 rn4L7xIJ/yPY0CrBN629dhma13fpCzVe8yE5tQAV+DbvifC3LBT5aLORsVv/WHbB
 teUCG24jAC9vMyNIEDVOIM41muEJmesxmdApC7sCUCpwkMp/NQNycyb3DjctO4On
 mjZRgwTYlpwHrVeRTeOU/phj2yKWx6ogEo79SuvwZ2Uyja40ZnrVyrMqJvzibQVl
 EP9hOXbRFc2fQK62rZ75HV2MXTZM0dPfe8HgUvVEAThlsscmF2nbl5fTYowg0Ipo
 /eJ1wo05TuaalYcrteKP604w3EishllPbL66lc55ja24iFG7JqzklztLiurNfKPK
 SxEZTovgFyqz5qZEtGpSwQ60JqiPN+vST8gnvI2+VHNDTF3lwasjx3kLOKLYiQ8s
 jvK+vpF1YN5LLXDqWGkoXeN+dBVe/4ZxlDRfB8qJ0gIvwPrml8M=
 =aZ+f
 -----END PGP SIGNATURE-----

Merge tag 'v6.11-rockchip-dtsfixes' of https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into arm/fixes

A number of pin fixes for Puma, Rock-Pi-E and rk356x, and as it turns
out the VO0 and VO1 general register files are not identical as suggested
by their original compatible. As there are no users of those yet,
everybody agreed that we should fix the compatibles.

* tag 'v6.11-rockchip-dtsfixes' of https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  arm64: dts: rockchip: Fix compatibles for RK3588 VO{0,1}_GRF
  dt-bindings: soc: rockchip: Fix compatibles for RK3588 VO{0,1}_GRF
  arm64: dts: rockchip: override BIOS_DISABLE signal via GPIO hog on RK3399 Puma
  arm64: dts: rockchip: fix eMMC/SPI corruption when audio has been used on RK3399 Puma
  arm64: dts: rockchip: fix PMIC interrupt pin in pinctrl for ROCK Pi E
  arm64: dts: rockchip: Remove broken tsadc pinctrl binding for rk356x

Link: https://lore.kernel.org/r/7602696.A5hrfCrGMc@diego
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-09-05 09:25:50 +00:00
Neil Armstrong
e202307b75 arm64: dts: amlogic: gxlx-s905l-p271: drop saradc gxlx compatible
Drop the undocumented amlogic,meson-gxlx-saradc compatible by dropping the
compatible override, and fix the following DTBs check:
/soc/bus@c1100000/adc@8680: failed to match any schema with compatible: ['amlogic,meson-gxlx-saradc', 'amlogic,meson-saradc']

Fixes: f6386b5afa ("arm64: dts: meson: add GXLX/S905L/p271 support")
Link: https://lore.kernel.org/r/20240905-topic-amlogic-upstream-gxlx-drop-iio-compat-v2-1-7a690eb95bc2@linaro.org
[narmstrong: fix commit message]
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
2024-09-05 09:10:28 +02:00
Fabien Parent
d92e9ea2f0 arm64: dts: qcom: msm8939: revert use of APCS mbox for RPM
Commit 22e4e43484 ("arm64: dts: qcom: msm8939: Use mboxes
properties for APCS") broke the boot on msm8939 platforms.

The issue comes from the SMD driver failing to request the mbox
channel because of circular dependencies:
	1. rpm -> apcs1_mbox -> rpmcc (RPM_SMD_XO_CLK_SRC) -> rpm.
	2. rpm -> apcs1_mbox -> gcc -> rpmcc (RPM_SMD_XO_CLK_SRC) -> rpm
	3. rpm -> apcs1_mbox -> apcs2 -> gcc -> rpmcc (RPM_SMD_XO_CLK_SRC) -> rpm

To fix this issue let's switch back to using the deprecated
qcom,ipc property for the RPM node.

Fixes: 22e4e43484 ("arm64: dts: qcom: msm8939: Use mboxes properties for APCS")
Signed-off-by: Fabien Parent <fabien.parent@linaro.org>
Link: https://lore.kernel.org/r/20240904-msm8939-rpm-apcs-fix-v1-1-b608e7e48fe1@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2024-09-04 15:36:17 -05:00
FUKAUMI Naoki
2edb4f0ede arm64: dts: rockchip: remove duplicate nodes from dts for ROCK 4SE
these nodes just define same properties in rk3399-rock-pi-4.dtsi.
remove them from rk3399-rock-4se.dts.

sha256sum rk3399-rock-4se.dtb generates same hash value before/after
this change.

Fixes: 86a0e14a82 ("arm64: dts: rockchip: Add Radxa ROCK 4SE")
Signed-off-by: FUKAUMI Naoki <naoki@radxa.com>
Link: https://lore.kernel.org/r/20240903073544.2161-1-naoki@radxa.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2024-09-04 20:53:32 +02:00
Xu Kuohai
ddbe9ec550 bpf, arm64: Jit BPF_CALL to direct call when possible
Currently, BPF_CALL is always jited to indirect call. When target is
within the range of direct call, BPF_CALL can be jited to direct call.

For example, the following BPF_CALL

    call __htab_map_lookup_elem

is always jited to indirect call:

    mov     x10, #0xffffffffffff18f4
    movk    x10, #0x821, lsl #16
    movk    x10, #0x8000, lsl #32
    blr     x10

When the address of target __htab_map_lookup_elem is within the range of
direct call, the BPF_CALL can be jited to:

    bl      0xfffffffffd33bc98

This patch does such jit optimization by emitting arm64 direct calls for
BPF_CALL when possible, indirect calls otherwise.

Without this patch, the jit works as follows.

1. First pass
   A. Determine jited position and size for each bpf instruction.
   B. Computed the jited image size.

2. Allocate jited image with size computed in step 1.

3. Second pass
   A. Adjust jump offset for jump instructions
   B. Write the final image.

This works because, for a given bpf prog, regardless of where the jited
image is allocated, the jited result for each instruction is fixed. The
second pass differs from the first only in adjusting the jump offsets,
like changing "jmp imm1" to "jmp imm2", while the position and size of
the "jmp" instruction remain unchanged.

Now considering whether to jit BPF_CALL to arm64 direct or indirect call
instruction. The choice depends solely on the jump offset: direct call
if the jump offset is within 128MB, indirect call otherwise.

For a given BPF_CALL, the target address is known, so the jump offset is
decided by the jited address of the BPF_CALL instruction. In other words,
for a given bpf prog, the jited result for each BPF_CALL is determined
by its jited address.

The jited address for a BPF_CALL is the jited image address plus the
total jited size of all preceding instructions. For a given bpf prog,
there are clearly no BPF_CALL instructions before the first BPF_CALL
instruction. Since the jited result for all other instructions other
than BPF_CALL are fixed, the total jited size preceding the first
BPF_CALL is also fixed. Therefore, once the jited image is allocated,
the jited address for the first BPF_CALL is fixed.

Now that the jited result for the first BPF_CALL is fixed, the jited
results for all instructions preceding the second BPF_CALL are fixed.
So the jited address and result for the second BPF_CALL are also fixed.

Similarly, we can conclude that the jited addresses and results for all
subsequent BPF_CALL instructions are fixed.

This means that, for a given bpf prog, once the jited image is allocated,
the jited address and result for all instructions, including all BPF_CALL
instructions, are fixed.

Based on the observation, with this patch, the jit works as follows.

1. First pass
   Estimate the maximum jited image size. In this pass, all BPF_CALLs
   are jited to arm64 indirect calls since the jump offsets are unknown
   because the jited image is not allocated.

2. Allocate jited image with size estimated in step 1.

3. Second pass
   A. Determine the jited result for each BPF_CALL.
   B. Determine jited address and size for each bpf instruction.

4. Third pass
   A. Adjust jump offset for jump instructions.
   B. Write the final image.

Signed-off-by: Xu Kuohai <xukuohai@huawei.com>
Reviewed-by: Puranjay Mohan <puranjay@kernel.org>
Link: https://lore.kernel.org/r/20240903094407.601107-1-xukuohai@huaweicloud.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
2024-09-04 11:51:06 -07:00
Chris Morgan
4e946c447a arm64: dts: rockchip: Add GameForce Ace
The GameForce Ace is a portable gaming device based on the Rockchip
RK3588s SoC.

The device contains the following hardware that is tested/working:
 - 128GB eMMC
 - SDMMC card slot
 - Ampak SDIO WiFi 5/BT
 - NVME 2242 socket
 - 8 or 12GB of RAM
 - Goodix based touchscreen
 - Stereo speakers, internal microphone, and TRRS headphone jack.
 - Dual GPIO vibrators (implemented as gpio-pwm because they are
   quite strong)
 - Multiple face buttons, dual analog joysticks, and dual analog
   triggers
 - PWM fan with tach pin.

The device also contains the following hardware that is partially or
currently not working:
 - 1920x1080 DSI display
 - HDMI port
 - USB-C port with DP alt-mode
 - TI bq25703 charger controller

Signed-off-by: Chris Morgan <macromorgan@hotmail.com>
Link: https://lore.kernel.org/r/20240829204517.398669-4-macroalpha82@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2024-09-04 20:44:04 +02:00
Alex Zhao
bd60cae293 arm64: dts: rockchip: rk3588s fix sdio pins to pull up
The sdio requires the cmd and data pins to pull up by soc.

Signed-off-by: Alex Zhao <zzc@rock-chips.com>
[adapted to pinctrl filename change]
Signed-off-by: Chris Morgan <macromorgan@hotmail.com>
Link: https://lore.kernel.org/r/20240829204517.398669-2-macroalpha82@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2024-09-04 20:44:04 +02:00
Jianfeng Liu
13066fc101 arm64: dts: rockchip: Add RGA2 support to rk3588
RK3588 also features a RGA2 block. Add the necessary device tree
node.

Signed-off-by: Jianfeng Liu <liujianfeng1994@gmail.com>
Tested-by: Tim Surber <me@timsurber.de>
Link: https://lore.kernel.org/r/20240831182424.758816-2-liujianfeng1994@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2024-09-04 20:33:30 +02:00
Diederik de Haas
93f5fb809b arm64: dts: rockchip: Add missing tshut props to tsadc on quartz64-b
Add the missing TSADC properties `rockchip,hw-tshut-mode` and
`rockchip,hw-tshut-polarity` to the Pine64 Quartz64 Model B.

This fixes the following warnings:

  rockchip-thermal fe710000.tsadc: Missing tshut mode property, using default (gpio)
  rockchip-thermal fe710000.tsadc: Missing tshut-polarity property, using default (low)

Signed-off-by: Diederik de Haas <didi.debian@cknow.org>
Link: https://lore.kernel.org/r/20240831112949.60091-1-didi.debian@cknow.org
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2024-09-04 20:32:56 +02:00
Jonas Karlman
ce48b8c976 arm64: dts: rockchip: Add Hardkernel ODROID-M2
The Hardkernel ODROID-M2 is a single-board computer based on Rockchip
RK3588S2 SoC. It features e.g. 8/16 GB LPDDR5 RAM, 64 GB eMMC, SD-card,
GbE LAN, HDMI 2.0, M.2 NVMe and USB 2.0/3.0/Type-C.

Add initial support for eMMC, SD-card, Ethernet, PCIe and USB.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Link: https://lore.kernel.org/r/20240901112020.3224704-3-jonas@kwiboo.se
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2024-09-04 20:25:13 +02:00
Heiko Stuebner
01c0075679 arm64: dts: rockchip: drop hp-pin-name property from audio card on nanopc-t6
The audio-card contains a hp-pin-name property that is not part of the
binding, and its contents also are just a "Headphones" string.

So that property also does not fullfill any specific use, therefore
just drop it.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Link: https://lore.kernel.org/r/20240830203819.1972536-4-heiko@sntech.de
2024-09-04 20:24:15 +02:00
D Scott Phillips
eeb8fdfcf0 arm64: Expose the end of the linear map in PHYSMEM_END
The memory hot-plug and resource management code needs to know the
largest address which can fit in the linear map, so set PHYSMEM_END for
that purpose.

This fixes a crash at boot when amdgpu tries to create
DEVICE_PRIVATE_MEMORY and is given a physical address by the resource
management code which is outside the range which can have a `struct
page`

 | Unable to handle kernel paging request at virtual address 000001ffa6000034
 | user pgtable: 4k pages, 48-bit VAs, pgdp=000008000287c000
 | [000001ffa6000034] pgd=0000000000000000, p4d=0000000000000000
 | Call trace:
 |  __init_zone_device_page.constprop.0+0x2c/0xa8
 |  memmap_init_zone_device+0xf0/0x210
 |  pagemap_range+0x1e0/0x410
 |  memremap_pages+0x18c/0x2e0
 |  devm_memremap_pages+0x30/0x90
 |  kgd2kfd_init_zone_device+0xf0/0x200 [amdgpu]
 |  amdgpu_device_ip_init+0x674/0x888 [amdgpu]
 |  amdgpu_device_init+0x7a4/0xea0 [amdgpu]
 |  amdgpu_driver_load_kms+0x28/0x1c0 [amdgpu]
 |  amdgpu_pci_probe+0x1a0/0x560 [amdgpu]

Signed-off-by: D Scott Phillips <scott@os.amperecomputing.com>
Link: https://lore.kernel.org/r/20240903164532.3874988-1-scott@os.amperecomputing.com
Signed-off-by: Will Deacon <will@kernel.org>
2024-09-04 16:39:58 +01:00
Fares Mehanna
7eced90b20 arm64: trans_pgd: mark PTEs entries as valid to avoid dead kexec()
The reasons for PTEs in the kernel direct map to be marked invalid are not
limited to kfence / debug pagealloc machinery. In particular,
memfd_secret() also steals pages with set_direct_map_invalid_noflush().

When building the transitional page tables for kexec from the current
kernel's page tables, those pages need to become regular writable pages,
otherwise, if the relocation places kexec segments over such pages, a fault
will occur during kexec, leading to host going dark during kexec.

This patch addresses the kexec issue by marking any PTE as valid if it is
not none. While this fixes the kexec crash, it does not address the
security concern that if processes owning secret memory are not terminated
before kexec, the secret content will be mapped in the new kernel without
being scrubbed.

Suggested-by: Jan H. Schönherr <jschoenh@amazon.de>
Signed-off-by: Fares Mehanna <faresx@amazon.de>
Link: https://lore.kernel.org/r/20240902163309.97113-1-faresx@amazon.de
Signed-off-by: Will Deacon <will@kernel.org>
2024-09-04 16:30:23 +01:00
Rong Qianfeng
1db9716d44 arm64/mm: Delete __init region from memblock.reserved
If CONFIG_ARCH_KEEP_MEMBLOCK is enabled, the memory information in
memblock will be retained.  We release the __init memory here, and
we should also delete the corresponding region in memblock.reserved,
which allows debugfs/memblock/reserved to display correct memory
information.

Signed-off-by: Rong Qianfeng <rongqianfeng@vivo.com>
Link: https://lore.kernel.org/r/20240902023940.43227-1-rongqianfeng@vivo.com
Signed-off-by: Will Deacon <will@kernel.org>
2024-09-04 16:26:26 +01:00
Sean Christopherson
071f24ad28 KVM: Rename arch hooks related to per-CPU virtualization enabling
Rename the per-CPU hooks used to enable virtualization in hardware to
align with the KVM-wide helpers in kvm_main.c, and to better capture that
the callbacks are invoked on every online CPU.

No functional change intended.

Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Sean Christopherson <seanjc@google.com>
Reviewed-by: Kai Huang <kai.huang@intel.com>
Message-ID: <20240830043600.127750-5-seanjc@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2024-09-04 11:02:33 -04:00
Dragan Simic
89f1a037e9 arm64: dts: allwinner: a64: Add GPU thermal trips to the SoC dtsi
Add thermal trips for the two GPU thermal sensors found in the Allwinner A64.
There's only one GPU OPP defined since the commit 1428f0c19f ("arm64: dts:
allwinner: a64: Run GPU at 432 MHz"), so defining only the critical thermal
trips makes sense for the A64's two GPU thermal zones.

Having these critical thermal trips defined ensures that no hot spots develop
inside the SoC die that exceed the maximum junction temperature.  That might
have been possible before, although quite unlikely, because the CPU and GPU
portions of the SoC are packed closely inside the SoC, so the overheating GPU
would inevitably result in the heat soaking into the CPU portion of the SoC,
causing the CPU thermal sensor to return high readings and trigger the CPU
critical thermal trips.  However, it's better not to rely on the heat soak
and have the critical GPU thermal trips properly defined instead.

Signed-off-by: Dragan Simic <dsimic@manjaro.org>
Tested-by: Norayr Chilingarian <norayr@arnet.am>
Link: https://lore.kernel.org/r/0a6110a7b27a050bd58ab3663087eecd8e873ac0.1724126053.git.dsimic@manjaro.org
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
2024-09-04 22:43:49 +08:00
Chris Morgan
6b5502c1d4 arm64: dts: allwinner: h700: Add charger for Anbernic RG35XX
Add the necessary nodes for the AXP717 to allow for monitoring the USB
and battery charger.

Signed-off-by: Chris Morgan <macromorgan@hotmail.com>
Link: https://lore.kernel.org/r/20240821215456.962564-16-macroalpha82@gmail.com
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
2024-09-04 22:41:50 +08:00
Joey Gouly
b9b9d72de3 arm64: add Permission Overlay Extension Kconfig
Now that support for POE and Protection Keys has been implemented, add a
config to allow users to actually enable it.

Signed-off-by: Joey Gouly <joey.gouly@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Link: https://lore.kernel.org/r/20240822151113.1479789-24-joey.gouly@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
2024-09-04 12:54:05 +01:00
Joey Gouly
4afd00641b arm64: enable PKEY support for CPUs with S1POE
Now that PKEYs support has been implemented, enable it for CPUs that
support S1POE.

Signed-off-by: Joey Gouly <joey.gouly@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com>
Link: https://lore.kernel.org/r/20240822151113.1479789-23-joey.gouly@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
2024-09-04 12:54:05 +01:00
Joey Gouly
d0d6e7e081 arm64: enable POE and PIE to coexist
Permission Indirection Extension and Permission Overlay Extension can be
enabled independently.

When PIE is disabled and POE is enabled, the permissions set by POR_EL0 will be
applied on top of the permissions set in the PTE.

When both PIE and POE are enabled, the permissions set by POR_EL0 will be
applied on top of the permissions set by the PIRE0_EL1 register.
However PIRE0_EL1 has encodings that specifically enable and disable the
overlay from applying.

For example:
	0001	Read, Overlay applied.
	1000	Read, Overlay not applied.

Switch to using the 'Overlay applied' encodings in PIRE0_EL1, so that PIE and
POE can coexist.

Signed-off-by: Joey Gouly <joey.gouly@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Link: https://lore.kernel.org/r/20240822151113.1479789-22-joey.gouly@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
2024-09-04 12:54:05 +01:00
Joey Gouly
1751981992 arm64/ptrace: add support for FEAT_POE
Add a regset for POE containing POR_EL0.

Signed-off-by: Joey Gouly <joey.gouly@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Reviewed-by: Mark Brown <broonie@kernel.org>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com>
Link: https://lore.kernel.org/r/20240822151113.1479789-21-joey.gouly@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
2024-09-04 12:54:05 +01:00
Joey Gouly
9160f7e909 arm64: add POE signal support
Add PKEY support to signals, by saving and restoring POR_EL0 from the stackframe.

Signed-off-by: Joey Gouly <joey.gouly@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Reviewed-by: Mark Brown <broonie@kernel.org>
Acked-by: Szabolcs Nagy <szabolcs.nagy@arm.com>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com>
Link: https://lore.kernel.org/r/20240822151113.1479789-20-joey.gouly@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
2024-09-04 12:54:05 +01:00
Joey Gouly
7f955be9f8 arm64: implement PKEYS support
Implement the PKEYS interface, using the Permission Overlay Extension.

Signed-off-by: Joey Gouly <joey.gouly@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Link: https://lore.kernel.org/r/20240822151113.1479789-19-joey.gouly@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
2024-09-04 12:54:04 +01:00
Joey Gouly
fc2d9cd330 arm64: add pte_access_permitted_no_overlay()
We do not want take POE into account when clearing the MTE tags.

Signed-off-by: Joey Gouly <joey.gouly@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com>
Link: https://lore.kernel.org/r/20240822151113.1479789-18-joey.gouly@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
2024-09-04 12:54:04 +01:00
Joey Gouly
7f0ab60763 arm64: handle PKEY/POE faults
If a memory fault occurs that is due to an overlay/pkey fault, report that to
userspace with a SEGV_PKUERR.

Signed-off-by: Joey Gouly <joey.gouly@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Link: https://lore.kernel.org/r/20240822151113.1479789-17-joey.gouly@arm.com
[will: Add ESR.FSC check to data abort handler]
Signed-off-by: Will Deacon <will@kernel.org>
2024-09-04 12:53:44 +01:00
Joey Gouly
6580a36dd7 arm64: mask out POIndex when modifying a PTE
When a PTE is modified, the POIndex must be masked off so that it can be modified.

Signed-off-by: Joey Gouly <joey.gouly@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com>
Link: https://lore.kernel.org/r/20240822151113.1479789-16-joey.gouly@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
2024-09-04 12:52:41 +01:00
Joey Gouly
b3c03fe137 arm64: convert protection key into vm_flags and pgprot values
Modify arch_calc_vm_prot_bits() and vm_get_page_prot() such that the pkey
value is set in the vm_flags and then into the pgprot value.

Signed-off-by: Joey Gouly <joey.gouly@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Link: https://lore.kernel.org/r/20240822151113.1479789-15-joey.gouly@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
2024-09-04 12:52:41 +01:00
Joey Gouly
b66db4f3cc arm64: add POIndex defines
The 3-bit POIndex is stored in the PTE at bits 60..62.

Signed-off-by: Joey Gouly <joey.gouly@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Link: https://lore.kernel.org/r/20240822151113.1479789-14-joey.gouly@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
2024-09-04 12:52:40 +01:00
Joey Gouly
bf83dae90f arm64: enable the Permission Overlay Extension for EL0
Expose a HWCAP and ID_AA64MMFR3_EL1_S1POE to userspace, so they can be used to
check if the CPU supports the feature.

Signed-off-by: Joey Gouly <joey.gouly@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com>
Link: https://lore.kernel.org/r/20240822151113.1479789-12-joey.gouly@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
2024-09-04 12:52:40 +01:00
Joey Gouly
70ed723829 KVM: arm64: Sanitise ID_AA64MMFR3_EL1
Add the missing sanitisation of ID_AA64MMFR3_EL1, making sure we
solely expose S1POE and TCRX (we currently don't support anything
else).

[joey: Took Marc's patch for S1PIE, and changed it for S1POE]

Signed-off-by: Marc Zyngier <maz@kernel.org>
Signed-off-by: Joey Gouly <joey.gouly@arm.com>
Link: https://lore.kernel.org/r/20240822151113.1479789-11-joey.gouly@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
2024-09-04 12:52:39 +01:00
Joey Gouly
55f4b215fb KVM: arm64: use at s1e1a for POE
FEAT_ATS1E1A introduces a new instruction: `at s1e1a`.
This is an address translation, without permission checks.

POE allows read permissions to be removed from S1 by the guest.  This means
that an `at` instruction could fail, and not get the IPA.

Switch to using `at s1e1a` so that KVM can get the IPA regardless of S1
permissions.

Signed-off-by: Joey Gouly <joey.gouly@arm.com>
Cc: Marc Zyngier <maz@kernel.org>
Cc: Oliver Upton <oliver.upton@linux.dev>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Reviewed-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20240822151113.1479789-10-joey.gouly@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
2024-09-04 12:52:39 +01:00
Joey Gouly
b86c9bea63 KVM: arm64: Save/restore POE registers
Define the new system registers that POE introduces and context switch them.

Signed-off-by: Joey Gouly <joey.gouly@arm.com>
Cc: Marc Zyngier <maz@kernel.org>
Cc: Oliver Upton <oliver.upton@linux.dev>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Reviewed-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20240822151113.1479789-8-joey.gouly@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
2024-09-04 12:52:39 +01:00
Joey Gouly
160a8e13de arm64: context switch POR_EL0 register
POR_EL0 is a register that can be modified by userspace directly,
so it must be context switched.

Signed-off-by: Joey Gouly <joey.gouly@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Link: https://lore.kernel.org/r/20240822151113.1479789-7-joey.gouly@arm.com
[will: Dropped unnecessary isb()s]
Signed-off-by: Will Deacon <will@kernel.org>
2024-09-04 12:52:18 +01:00
Joey Gouly
3496f69391 arm64: cpufeature: add Permission Overlay Extension cpucap
This indicates if the system supports POE. This is a CPUCAP_BOOT_CPU_FEATURE
as the boot CPU will enable POE if it has it, so secondary CPUs must also
have this feature.

Signed-off-by: Joey Gouly <joey.gouly@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com>
Link: https://lore.kernel.org/r/20240822151113.1479789-6-joey.gouly@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
2024-09-04 12:48:52 +01:00
Joey Gouly
878c05e8ef arm64: disable trapping of POR_EL0 to EL2
Allow EL0 or EL1 to access POR_EL0 without being trapped to EL2.

Signed-off-by: Joey Gouly <joey.gouly@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com>
Link: https://lore.kernel.org/r/20240822151113.1479789-5-joey.gouly@arm.com
[will: Rename Lset_poe_fgt to Lskip_pie_fgt to ease merge with for-next/misc]
Signed-off-by: Will Deacon <will@kernel.org>
2024-09-04 12:47:10 +01:00
Will Deacon
cf19cc5764 Merge remote-tracking branch 'kvmarm/arm64-shared-6.12' into for-next/poe
Pull in the AT instruction conversion patch from the KVM arm64 tree, as
this is a shared dependency between the POE series from Joey and the AT
emulation series for Nested Virtualisation from Marc.
2024-09-04 11:15:52 +01:00
Frank Li
f68db46a09 arm64: dts: imx: rename gpio hog as <gpio name>-hog
Rename admin_led_lower to admin-led-lower-hog.
Rename gpio rs485_en as rs485-en-hog.
Rename gpio uart4_rs485_en to uart4-rs485-en-hog.

Fix below warning:
arch/arm64/boot/dts/freescale/fsl-ls1088a-ten64.dtb: gpio@76:
  'admin_led_lower' does not match any of the regexes: '^(hog-[0-9]+|.+-hog(-[0-9]+)?)$', 'pinctrl-[0-9]+'
arch/arm64/boot/dts/freescale/imx8mm-venice-gw72xx-0x-rs232-rts.dtb:
  gpio@30230000: 'rs485_en' does not match any of the regexes: '^(hog-[0-9]+|.+-hog(-[0-9]+)?)$', 'pinctrl-[0-9]+'
arch/arm64/boot/dts/freescale/imx8mm-phygate-tauri-l-rs232-rs232.dtb:
  gpio@30220000: 'uart4_rs485_en' does not match any of the regexes: '^(hog-[0-9]+|.+-hog(-[0-9]+)?)$', 'pinctrl-[0-9]+'

Reviewed-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-09-04 17:36:24 +08:00
Tarang Raval
6c2a1f4f71 arm64: dts: imx8mp-var-som-symphony: Add Variscite Symphony board and VAR-SOM-MX8MP SoM
Adds the DTSI file for the Variscite VAR-SOM-MX8MP System on Module which
is delivered with the Variscite Symphony Evaluation Kit.

Initial support includes:
- Serial console
- eMMC
- SD card

Signed-off-by: Tarang Raval <tarang.raval@siliconsignals.io>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-09-04 17:36:24 +08:00
Krzysztof Kozlowski
1a15e6751e arm64: dts: imx8mm-var-som: drop unused top-level compatible
The Variscite VAR-SOM-MX8MM System-on-Module cannot be used alone
without motherboard, so drop the top-level compatible field to avoid any
false impression that such usage is possible.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-09-04 17:36:24 +08:00
Joy Zou
6a312e42c5 arm64: dts: ls1088ardb: add new RTC PCF2131 support
Add RTC PCF2131 node for new ls1088ardb board..

Signed-off-by: Joy Zou <joy.zou@nxp.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-09-04 17:36:24 +08:00
João Paulo Gonçalves
0b8b11f00a arm64: dts: colibri-imx8x: Cleanup comments
Remove unnecessary comments. The Colibri-iMX8X doesn't support FlexCAN,
and the GPU is already enabled in the SOC dtsi.

Signed-off-by: João Paulo Gonçalves <joao.goncalves@toradex.com>
Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-09-04 17:36:24 +08:00
Philippe Schenker
251268b101 arm64: dts: colibri-imx8x: Add 50mhz clock for eth
Change enet0_lpcg to get the clock value needed in Colibri-iMX8X for
100mbps ethernet.

Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-09-04 17:36:24 +08:00
João Paulo Gonçalves
9d4b4f60b5 arm64: dts: colibri-imx8x: Add adma_pwm
Add adma_pwm node for Colibri-iMX8X carrier boards.

Signed-off-by: João Paulo Gonçalves <joao.goncalves@toradex.com>
Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-09-04 17:36:24 +08:00
João Paulo Gonçalves
6cfdfed8a6 arm64: dts: colibri-imx8x: Add vpu support
Enable VPU on Colibri-iMX8X.

Signed-off-by: João Paulo Gonçalves <joao.goncalves@toradex.com>
Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-09-04 17:36:24 +08:00
Francesco Dolcini
8b36674659 arm64: dts: colibri-imx8x: Add USB3803 HUB
Add USB3803 HUB, this is required for Bluetooth and USB
functionalities.

Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-09-04 17:36:23 +08:00
Francesco Dolcini
8b23ba41e6 arm64: dts: colibri-imx8x: Add PMIC thermal zone
Add PMIC thermal zones.

Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-09-04 17:36:23 +08:00
João Paulo Gonçalves
ce97bdc344 arm64: dts: colibri-imx8x: Add sound card
Add audio support for Colibri-iMX8X sound card.

Signed-off-by: João Paulo Gonçalves <joao.goncalves@toradex.com>
Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-09-04 17:36:23 +08:00
Francesco Dolcini
0f26437835 arm64: dts: colibri-imx8x: Add fxl6408 gpio expander
Add fxl6408 gpio expander, this is required for Wi-Fi, Bluetooth and USB
functionalities.

Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-09-04 17:36:23 +08:00
João Paulo Gonçalves
7f6b48a663 arm64: dts: colibri-imx8x: Add analog inputs
Add adc nodes for analog inputs support for all Colibri-iMX8X carrier
boards.

Signed-off-by: João Paulo Gonçalves <joao.goncalves@toradex.com>
Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-09-04 17:36:23 +08:00
Emanuele Ghidoli
53f7fe5070 arm64: dts: colibri-imx8x: Add usb support
Add USB HOST and OTG support to Colibri-iMX8X carrier boards.

Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-09-04 17:36:23 +08:00
Frank Li
b237975b2c arm64: dts: imx8qm-mek: add usb 3.0 and related type C nodes
Enable usb3.0 and related usb type C nodes.

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-09-04 17:36:23 +08:00
Frank Li
1110cb4fc6 arm64: dts: imx8qm-mek: add i2c in mipi[0,1] subsystem
Add i2c node in mipi[0,1] subystem for imx8qm-mek.

Reviewed-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-09-04 17:36:23 +08:00
Frank Li
d8b48040cb arm64: dts: imx8qm-mek: add pwm and i2c in lvds subsystem
Add pwm[0,1] and i2c[0,1] in lvds subsystem.

Reviewed-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-09-04 17:36:23 +08:00
Frank Li
52c9971edd arm64: dts: imx8qm-mek: add cm4 remote-proc and related memory region
Add two cm4 remote-proc and related memory regions.

Reviewed-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-09-04 17:36:23 +08:00
Frank Li
b6b7aaf381 arm64: dts: imx8qm: add mipi subsystem
Include common imx8-ss-mipi0.dtsi and imx8-ss-mipi1.dtsi.

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-09-04 17:36:22 +08:00
Frank Li
9b0a5fac03 arm64: dts: imx8: add basic mipi subsystem
Add basic mipi subsystem for imx8qm and imx8qxp.

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-09-04 17:36:22 +08:00
Frank Li
cb53240c04 arm64: dts: imx8qm: add lvds subsystem
Add irqsteer, pwm and i2c in lvds subsystem.

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-09-04 17:36:22 +08:00
Frank Li
0fba24b3b9 arm64: dts: imx8: add basic lvds0 and lvds1 subsystem
Add basic lvds0 and lvds1 subsystem for imx8qm an imx8qxp.

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-09-04 17:36:22 +08:00
Wei Fang
7764fef26e arm64: dts: imx95: Add NETCMIX block control support
Add NETCMIX block control support.

Signed-off-by: Wei Fang <wei.fang@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-09-04 17:36:22 +08:00
Tim Harvey
124ec4bbaf arm64: dts: freescale: rename gw7905 to gw75xx
The GW7905 was renamed to GW7500 before production release.

While we typically do not change compatibles, the GW7905 was never
released before its product name was changed to a GW7500.

The use the the 'xx' wildcard is to denote the fact that this
device-tree can support range of board models from GW7500 to GW7599 as
has been done historically with the Gateworks baseboards to support
various build customizatoins based on the same PCB.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-09-04 17:36:22 +08:00
Liu Ying
47ccd0f2df arm64: dts: imx93-11x11-evk: Add PWM backlight for "LVDS" connector
J702 on i.MX93 11x11 EVK base board is a 40-pin connector labelled
"LVDS".  This connector supports PWM backlight with default 12V power
supply and ADP5585 PWM controller.  Add support for the backlight.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-09-04 17:36:22 +08:00
Benjamin Hahn
9454132128 arm64: dts: imx8mp-phyboard-pollux-rdk: Add support for PCIe
Add support for the Mini PCIe slot.

Signed-off-by: Benjamin Hahn <B.Hahn@phytec.de>
Reviewed-by: Yannic Moog <y.moog@phytec.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-09-04 17:36:22 +08:00
Liu Ying
52e6774ac3 arm64: dts: imx8mp-evk: Add native HDMI output
J17 on i.MX8mp EVK base board is a HDMI type A connector.
It connects with i.MX8mp HDMI PHY.  Add support for it.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
Reviewed-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-09-04 17:36:22 +08:00
Elinor Montmasson
7c52e1695f arm64: dts: imx8m: update spdif sound card node properties
The merge of imx-spdif driver into fsl-asoc-card brought
new DT properties that can be used with the "fsl,imx-audio-spdif"
compatible:
* The "spdif-controller" property from imx-spdif is named "audio-cpu"
  in fsl-asoc-card.
* fsl-asoc-card uses codecs explicitly declared in DT
  with "audio-codec".
  With an S/PDIF, codec drivers spdif_transmitter and
  spdif_receiver should be used.
  Driver imx-spdif used instead the dummy codec and a pair of
  boolean properties, "spdif-in" and "spdif-out".

While backward compatibility is kept to support properties
"spdif-controller", "spdif-in" and "spdif-out", using new properties has
several benefits:
* "audio-cpu" and "audio-codec" are more generic names reflecting
  that the fsl-asoc-card driver supports multiple hardware.
  They are properties already used by devices using the
  fsl-asoc-card driver.
  They are also similar to properties of simple-card: "cpu" and "codec".
* "spdif-in" and "spdif-out" imply the use of the dummy codec in the
  driver. However, there are already two codec drivers for the S/PDIF,
  spdif_transmitter and spdif_receiver.
  It is better to declare S/PDIF Tx and Rx devices in a DT, and then
  reference them with "audio-codec" than using the dummy codec.

For those reasons, this commit updates in-tree DTs to use the new
properties:
* Rename "spdif-controller" property to "audio-cpu".
* Declare S/PDIF transmitter and/or receiver devices, and use them with
  the "audio-codec" property instead of "spdif-out" and/or "spdif-in".

These modifications were tested only on an imx8mn-evk board.

Note that out-of-tree and old DTs are still supported.

Signed-off-by: Elinor Montmasson <elinor.montmasson@savoirfairelinux.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-09-04 17:36:22 +08:00
Adam Ford
7b1e0e8568 arm64: dts: imx8mp-beacon: Enable DW HDMI Bridge
There is a second HDMI connector on the baseboard which is routed
to the DW HDMI bridge through the PVI to the LCDIF3 and requires the
HDMI PHY to be enabled too.

Signed-off-by: Adam Ford <aford173@gmail.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-09-04 17:36:22 +08:00
Frank Li
96aaa0a893 arm64: dts: imx8mm-beacon-kit: add DVDD-supply and DOVDD-supply
According to binding doc, DVDD-supply and DOVDD-supply is required
properties. Add these to fix below warning:
arch/arm64/boot/dts/freescale/imx8mm-beacon-kit.dtb: camera@10: 'DVDD-supply' is a required proper

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Reviewed-by: Adam Ford <aford173@gmail.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-09-04 17:36:21 +08:00
Frank Li
6f1d1dc17e arm64: dts: s32v234: remove fallback compatible string arm,cortex-a9-gic
Remove fallback comaptible string arm,cortex-a9-gic to fix below warning:

/home/lizhi/source/linux-upstream-dts/arch/arm64/boot/dts/freescale/s32v234-evb.dtb: interrupt-controller@7d001000: compatible: 'oneOf' conditional failed, one must be fixed:
            ['arm,cortex-a15-gic', 'arm,cortex-a9-gic'] is too long
            /home/lizhi/source/linux-upstream-dts/arch/arm64/boot/dts/freescale/s32v234-evb.dtb: interrupt-controller@7d001000: compatible: 'oneOf' conditional failed, one must be fixed:
                    ['arm,cortex-a15-gic', 'arm,cortex-a9-gic'] is too long
                    'nvidia,tegra210-agic' was expected
                    'arm,cortex-a15-gic' is not one of ['nvidia,tegra186-agic', 'nvidia,tegra194-agic', 'nvidia,tegra234-agic']
            'arm,gic-400' was expected

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-09-04 17:36:21 +08:00
Frank Li
cb2633ee47 arm64: dts: fsl-ls1088a-ten64: change to low case hex value
Change to low case for hex value to fix below warning:

arch/arm64/boot/dts/freescale/fsl-ls1088a-ten64.dtb: flash@0:
    partitions: Unevaluated properties are not allowed ('partition@5C0000' was unexpected)

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-09-04 17:36:21 +08:00
Frank Li
5c7a868e29 arm64: dts: imx8mp-venice: add vddl and vana for sensor@10
Add vddl and vana for sensor@10 to fix below warning:
arch/arm64/boot/dts/freescale/imx8mm-venice-gw72xx-0x-imx219.dtb:
	sensor@10: 'VANA-supply' is a required property

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-09-04 17:36:21 +08:00
Frank Li
e1a23f2ba9 arm64: dts: fsl-lx2160a-tqmlx2160a: change "vcc" to "vdd" for hub*
According to binging doc usb/ti,usb8041.yaml and in
drivers/usb/misc/onboard_usb_dev.h

ti_tusb8041_data = { .supply_names = { "vdd" },};

It should vdd-supply instead vcc-supply.

Fixes: 04b77e0124 ("arm64: dts: freescale: add fsl-lx2160a-mblx2160a board")
Reviewed-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-09-04 17:36:21 +08:00
Frank Li
f3ab34595c arm64: dts: imx8mm-venice-gw7902(3): add #address-cells for gsc@20
Add #address-cells and #size-cells for gsc@20 node to fix below warning:
arch/arm64/boot/dts/freescale/imx8mm-venice-gw7902.dtb:
	gsc@20: '#address-cells' is a required property

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-09-04 17:36:21 +08:00