Commit graph

33,690 commits

Author SHA1 Message Date
Linus Torvalds
af13ff1c33 Summary:
All ctl_table declared outside of functions and that remain unmodified after
   initialization are const qualified. This prevents unintended modifications to
   proc_handler function pointers by placing them in the .rodata section. This is
   a continuation of the tree-wide effort started a few releases ago with the
   constification of the ctl_table struct arguments in the sysctl API done in
   78eb4ea25c ("sysctl: treewide: constify the ctl_table argument of
   proc_handlers")
 
 Testing:
 
   Testing was done on 0-day and sysctl selftests in x86_64. The linux-next
   branch was not used for such a big change in order to avoid unnecessary merge
   conflicts
 -----BEGIN PGP SIGNATURE-----
 
 iQGzBAABCgAdFiEErkcJVyXmMSXOyyeQupfNUreWQU8FAmeY6L0ACgkQupfNUreW
 QU/REwwAizeoFg3XyfwvGsjKUJKvZ8Ltnv3n4+tkd687UAQJnJHPE7/ODR8hKbpE
 E56G12jFlKQyiFR01wg+cbOy6+TTOT9o5qVmLZbo/zmI491Ygkxqen0Y0Z2mGXqR
 FMqcI8ZBmAAYfUKDjjUo+xUI70aNikWOOKRSmJp4cpgm5242d/UN7sOuKkOgt5DY
 GiyjPGlpKFkcYN4bOegKhlfZKdr9BMFxSgN0TZLtensj6cDrkZyLsrdgmVXy1mRT
 0xTnmonGehweog4XY4hSPt2l6uCUu1fiY/WUcghKdWxUty43x9J3LahfD9b7DiAA
 G+DxHStSH0S/czWsa8Z0peyt/2gW8KZcRgk9W4UyVhpyDknXtVxr2sI3nxbTEFGl
 x2h6C29VCqg9Tn9oljEgGbYUrwlLz5Mah65JLDwlPLTpJmfA4BNbNxaC1V+DiqrX
 eApet8vaqGPlG7F3DRlyRAn7DoG8rs/eX93qqjbSA/pUjKjQUwCk/VBxNr1JBuNG
 elX+8QZi
 =x7aW
 -----END PGP SIGNATURE-----

Merge tag 'constfy-sysctl-6.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/sysctl/sysctl

Pull sysctl table constification from Joel Granados:
 "All ctl_table declared outside of functions and that remain unmodified
  after initialization are const qualified.

  This prevents unintended modifications to proc_handler function
  pointers by placing them in the .rodata section.

  This is a continuation of the tree-wide effort started a few releases
  ago with the constification of the ctl_table struct arguments in the
  sysctl API done in 78eb4ea25c ("sysctl: treewide: constify the
  ctl_table argument of proc_handlers")"

* tag 'constfy-sysctl-6.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/sysctl/sysctl:
  treewide: const qualify ctl_tables where applicable
2025-01-29 10:35:40 -08:00
Linus Torvalds
e2ee2e9b15 KVM/arm64 updates for 6.14
* New features:
 
   - Support for non-protected guest in protected mode, achieving near
     feature parity with the non-protected mode
 
   - Support for the EL2 timers as part of the ongoing NV support
 
   - Allow control of hardware tracing for nVHE/hVHE
 
 * Improvements, fixes and cleanups:
 
   - Massive cleanup of the debug infrastructure, making it a bit less
     awkward and definitely easier to maintain. This should pave the
     way for further optimisations
 
   - Complete rewrite of pKVM's fixed-feature infrastructure, aligning
     it with the rest of KVM and making the code easier to follow
 
   - Large simplification of pKVM's memory protection infrastructure
 
   - Better handling of RES0/RES1 fields for memory-backed system
     registers
 
   - Add a workaround for Qualcomm's Snapdragon X CPUs, which suffer
     from a pretty nasty timer bug
 
   - Small collection of cleanups and low-impact fixes
 -----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCgAuFiEEPxTL6PPUbjXGY88ct6xw3ITBYzQFAmeYqJcQHHdpbGxAa2Vy
 bmVsLm9yZwAKCRC3rHDchMFjNLUhCACxUTMVQXhfW3qbh0UQxPd7XXvjI+Hm7SPS
 wDuVTle4jrFVGHxuZqtgWLmx8hD7bqO965qmFgbevKlwsRY33onH2nbH4i4AcwbA
 jcdM4yMHZI4+Qmnb4G5ZJ89IwjAhHPZTBOV5KRhyHQ/qtRciHHtOgJde7II9fd68
 uIESg4SSSyUzI47YSEHmGVmiBIhdQhq2qust0m6NPFalEGYstPbpluPQ6R1CsDqK
 v14TIAW7t0vSPucBeODxhA5gEa2JsvNi+sqA+DF/ELH2ZqpkuR7rofgMGblaXCSD
 JXa5xamRB9dI5zi8vatwfOzYlog+/gzmPqMh/9JXpiDGHxJe0vlz
 =tQ8F
 -----END PGP SIGNATURE-----

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

Pull KVM/arm64 updates from Will Deacon:
 "New features:

   - Support for non-protected guest in protected mode, achieving near
     feature parity with the non-protected mode

   - Support for the EL2 timers as part of the ongoing NV support

   - Allow control of hardware tracing for nVHE/hVHE

  Improvements, fixes and cleanups:

   - Massive cleanup of the debug infrastructure, making it a bit less
     awkward and definitely easier to maintain. This should pave the way
     for further optimisations

   - Complete rewrite of pKVM's fixed-feature infrastructure, aligning
     it with the rest of KVM and making the code easier to follow

   - Large simplification of pKVM's memory protection infrastructure

   - Better handling of RES0/RES1 fields for memory-backed system
     registers

   - Add a workaround for Qualcomm's Snapdragon X CPUs, which suffer
     from a pretty nasty timer bug

   - Small collection of cleanups and low-impact fixes"

* tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (87 commits)
  arm64/sysreg: Get rid of TRFCR_ELx SysregFields
  KVM: arm64: nv: Fix doc header layout for timers
  KVM: arm64: nv: Apply RESx settings to sysreg reset values
  KVM: arm64: nv: Always evaluate HCR_EL2 using sanitising accessors
  KVM: arm64: Fix selftests after sysreg field name update
  coresight: Pass guest TRFCR value to KVM
  KVM: arm64: Support trace filtering for guests
  KVM: arm64: coresight: Give TRBE enabled state to KVM
  coresight: trbe: Remove redundant disable call
  arm64/sysreg/tools: Move TRFCR definitions to sysreg
  tools: arm64: Update sysreg.h header files
  KVM: arm64: Drop pkvm_mem_transition for host/hyp donations
  KVM: arm64: Drop pkvm_mem_transition for host/hyp sharing
  KVM: arm64: Drop pkvm_mem_transition for FF-A
  KVM: arm64: Explicitly handle BRBE traps as UNDEFINED
  KVM: arm64: vgic: Use str_enabled_disabled() in vgic_v3_probe()
  arm64: kvm: Introduce nvhe stack size constants
  KVM: arm64: Fix nVHE stacktrace VA bits mask
  KVM: arm64: Fix FEAT_MTE in pKVM
  Documentation: Update the behaviour of "kvm-arm.mode"
  ...
2025-01-28 09:01:36 -08:00
Joel Granados
1751f872cc treewide: const qualify ctl_tables where applicable
Add the const qualifier to all the ctl_tables in the tree except for
watchdog_hardlockup_sysctl, memory_allocation_profiling_sysctls,
loadpin_sysctl_table and the ones calling register_net_sysctl (./net,
drivers/inifiniband dirs). These are special cases as they use a
registration function with a non-const qualified ctl_table argument or
modify the arrays before passing them on to the registration function.

Constifying ctl_table structs will prevent the modification of
proc_handler function pointers as the arrays would reside in .rodata.
This is made possible after commit 78eb4ea25c ("sysctl: treewide:
constify the ctl_table argument of proc_handlers") constified all the
proc_handlers.

Created this by running an spatch followed by a sed command:
Spatch:
    virtual patch

    @
    depends on !(file in "net")
    disable optional_qualifier
    @

    identifier table_name != {
      watchdog_hardlockup_sysctl,
      iwcm_ctl_table,
      ucma_ctl_table,
      memory_allocation_profiling_sysctls,
      loadpin_sysctl_table
    };
    @@

    + const
    struct ctl_table table_name [] = { ... };

sed:
    sed --in-place \
      -e "s/struct ctl_table .table = &uts_kern/const struct ctl_table *table = \&uts_kern/" \
      kernel/utsname_sysctl.c

Reviewed-by: Song Liu <song@kernel.org>
Acked-by: Steven Rostedt (Google) <rostedt@goodmis.org> # for kernel/trace/
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com> # SCSI
Reviewed-by: Darrick J. Wong <djwong@kernel.org> # xfs
Acked-by: Jani Nikula <jani.nikula@intel.com>
Acked-by: Corey Minyard <cminyard@mvista.com>
Acked-by: Wei Liu <wei.liu@kernel.org>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Bill O'Donnell <bodonnel@redhat.com>
Acked-by: Baoquan He <bhe@redhat.com>
Acked-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
Acked-by: Anna Schumaker <anna.schumaker@oracle.com>
Signed-off-by: Joel Granados <joel.granados@kernel.org>
2025-01-28 13:48:37 +01:00
Linus Torvalds
9c5968db9e The various patchsets are summarized below. Plus of course many
indivudual patches which are described in their changelogs.
 
 - "Allocate and free frozen pages" from Matthew Wilcox reorganizes the
   page allocator so we end up with the ability to allocate and free
   zero-refcount pages.  So that callers (ie, slab) can avoid a refcount
   inc & dec.
 
 - "Support large folios for tmpfs" from Baolin Wang teaches tmpfs to use
   large folios other than PMD-sized ones.
 
 - "Fix mm/rodata_test" from Petr Tesarik performs some maintenance and
   fixes for this small built-in kernel selftest.
 
 - "mas_anode_descend() related cleanup" from Wei Yang tidies up part of
   the mapletree code.
 
 - "mm: fix format issues and param types" from Keren Sun implements a
   few minor code cleanups.
 
 - "simplify split calculation" from Wei Yang provides a few fixes and a
   test for the mapletree code.
 
 - "mm/vma: make more mmap logic userland testable" from Lorenzo Stoakes
   continues the work of moving vma-related code into the (relatively) new
   mm/vma.c.
 
 - "mm/page_alloc: gfp flags cleanups for alloc_contig_*()" from David
   Hildenbrand cleans up and rationalizes handling of gfp flags in the page
   allocator.
 
 - "readahead: Reintroduce fix for improper RA window sizing" from Jan
   Kara is a second attempt at fixing a readahead window sizing issue.  It
   should reduce the amount of unnecessary reading.
 
 - "synchronously scan and reclaim empty user PTE pages" from Qi Zheng
   addresses an issue where "huge" amounts of pte pagetables are
   accumulated
   (https://lore.kernel.org/lkml/cover.1718267194.git.zhengqi.arch@bytedance.com/).
   Qi's series addresses this windup by synchronously freeing PTE memory
   within the context of madvise(MADV_DONTNEED).
 
 - "selftest/mm: Remove warnings found by adding compiler flags" from
   Muhammad Usama Anjum fixes some build warnings in the selftests code
   when optional compiler warnings are enabled.
 
 - "mm: don't use __GFP_HARDWALL when migrating remote pages" from David
   Hildenbrand tightens the allocator's observance of __GFP_HARDWALL.
 
 - "pkeys kselftests improvements" from Kevin Brodsky implements various
   fixes and cleanups in the MM selftests code, mainly pertaining to the
   pkeys tests.
 
 - "mm/damon: add sample modules" from SeongJae Park enhances DAMON to
   estimate application working set size.
 
 - "memcg/hugetlb: Rework memcg hugetlb charging" from Joshua Hahn
   provides some cleanups to memcg's hugetlb charging logic.
 
 - "mm/swap_cgroup: remove global swap cgroup lock" from Kairui Song
   removes the global swap cgroup lock.  A speedup of 10% for a tmpfs-based
   kernel build was demonstrated.
 
 - "zram: split page type read/write handling" from Sergey Senozhatsky
   has several fixes and cleaups for zram in the area of zram_write_page().
   A watchdog softlockup warning was eliminated.
 
 - "move pagetable_*_dtor() to __tlb_remove_table()" from Kevin Brodsky
   cleans up the pagetable destructor implementations.  A rare
   use-after-free race is fixed.
 
 - "mm/debug: introduce and use VM_WARN_ON_VMG()" from Lorenzo Stoakes
   simplifies and cleans up the debugging code in the VMA merging logic.
 
 - "Account page tables at all levels" from Kevin Brodsky cleans up and
   regularizes the pagetable ctor/dtor handling.  This results in
   improvements in accounting accuracy.
 
 - "mm/damon: replace most damon_callback usages in sysfs with new core
   functions" from SeongJae Park cleans up and generalizes DAMON's sysfs
   file interface logic.
 
 - "mm/damon: enable page level properties based monitoring" from
   SeongJae Park increases the amount of information which is presented in
   response to DAMOS actions.
 
 - "mm/damon: remove DAMON debugfs interface" from SeongJae Park removes
   DAMON's long-deprecated debugfs interfaces.  Thus the migration to sysfs
   is completed.
 
 - "mm/hugetlb: Refactor hugetlb allocation resv accounting" from Peter
   Xu cleans up and generalizes the hugetlb reservation accounting.
 
 - "mm: alloc_pages_bulk: small API refactor" from Luiz Capitulino
   removes a never-used feature of the alloc_pages_bulk() interface.
 
 - "mm/damon: extend DAMOS filters for inclusion" from SeongJae Park
   extends DAMOS filters to support not only exclusion (rejecting), but
   also inclusion (allowing) behavior.
 
 - "Add zpdesc memory descriptor for zswap.zpool" from Alex Shi
   "introduces a new memory descriptor for zswap.zpool that currently
   overlaps with struct page for now.  This is part of the effort to reduce
   the size of struct page and to enable dynamic allocation of memory
   descriptors."
 
 - "mm, swap: rework of swap allocator locks" from Kairui Song redoes and
   simplifies the swap allocator locking.  A speedup of 400% was
   demonstrated for one workload.  As was a 35% reduction for kernel build
   time with swap-on-zram.
 
 - "mm: update mips to use do_mmap(), make mmap_region() internal" from
   Lorenzo Stoakes reworks MIPS's use of mmap_region() so that
   mmap_region() can be made MM-internal.
 
 - "mm/mglru: performance optimizations" from Yu Zhao fixes a few MGLRU
   regressions and otherwise improves MGLRU performance.
 
 - "Docs/mm/damon: add tuning guide and misc updates" from SeongJae Park
   updates DAMON documentation.
 
 - "Cleanup for memfd_create()" from Isaac Manjarres does that thing.
 
 - "mm: hugetlb+THP folio and migration cleanups" from David Hildenbrand
   provides various cleanups in the areas of hugetlb folios, THP folios and
   migration.
 
 - "Uncached buffered IO" from Jens Axboe implements the new
   RWF_DONTCACHE flag which provides synchronous dropbehind for pagecache
   reading and writing.  To permite userspace to address issues with
   massive buildup of useless pagecache when reading/writing fast devices.
 
 - "selftests/mm: virtual_address_range: Reduce memory" from Thomas
   Weißschuh fixes and optimizes some of the MM selftests.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQTTMBEPP41GrTpTJgfdBJ7gKXxAjgUCZ5a+cwAKCRDdBJ7gKXxA
 jtoyAP9R58oaOKPJuTizEKKXvh/RpMyD6sYcz/uPpnf+cKTZxQEAqfVznfWlw/Lz
 uC3KRZYhmd5YrxU4o+qjbzp9XWX/xAE=
 =Ib2s
 -----END PGP SIGNATURE-----

Merge tag 'mm-stable-2025-01-26-14-59' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm

Pull MM updates from Andrew Morton:
 "The various patchsets are summarized below. Plus of course many
  indivudual patches which are described in their changelogs.

   - "Allocate and free frozen pages" from Matthew Wilcox reorganizes
     the page allocator so we end up with the ability to allocate and
     free zero-refcount pages. So that callers (ie, slab) can avoid a
     refcount inc & dec

   - "Support large folios for tmpfs" from Baolin Wang teaches tmpfs to
     use large folios other than PMD-sized ones

   - "Fix mm/rodata_test" from Petr Tesarik performs some maintenance
     and fixes for this small built-in kernel selftest

   - "mas_anode_descend() related cleanup" from Wei Yang tidies up part
     of the mapletree code

   - "mm: fix format issues and param types" from Keren Sun implements a
     few minor code cleanups

   - "simplify split calculation" from Wei Yang provides a few fixes and
     a test for the mapletree code

   - "mm/vma: make more mmap logic userland testable" from Lorenzo
     Stoakes continues the work of moving vma-related code into the
     (relatively) new mm/vma.c

   - "mm/page_alloc: gfp flags cleanups for alloc_contig_*()" from David
     Hildenbrand cleans up and rationalizes handling of gfp flags in the
     page allocator

   - "readahead: Reintroduce fix for improper RA window sizing" from Jan
     Kara is a second attempt at fixing a readahead window sizing issue.
     It should reduce the amount of unnecessary reading

   - "synchronously scan and reclaim empty user PTE pages" from Qi Zheng
     addresses an issue where "huge" amounts of pte pagetables are
     accumulated:

       https://lore.kernel.org/lkml/cover.1718267194.git.zhengqi.arch@bytedance.com/

     Qi's series addresses this windup by synchronously freeing PTE
     memory within the context of madvise(MADV_DONTNEED)

   - "selftest/mm: Remove warnings found by adding compiler flags" from
     Muhammad Usama Anjum fixes some build warnings in the selftests
     code when optional compiler warnings are enabled

   - "mm: don't use __GFP_HARDWALL when migrating remote pages" from
     David Hildenbrand tightens the allocator's observance of
     __GFP_HARDWALL

   - "pkeys kselftests improvements" from Kevin Brodsky implements
     various fixes and cleanups in the MM selftests code, mainly
     pertaining to the pkeys tests

   - "mm/damon: add sample modules" from SeongJae Park enhances DAMON to
     estimate application working set size

   - "memcg/hugetlb: Rework memcg hugetlb charging" from Joshua Hahn
     provides some cleanups to memcg's hugetlb charging logic

   - "mm/swap_cgroup: remove global swap cgroup lock" from Kairui Song
     removes the global swap cgroup lock. A speedup of 10% for a
     tmpfs-based kernel build was demonstrated

   - "zram: split page type read/write handling" from Sergey Senozhatsky
     has several fixes and cleaups for zram in the area of
     zram_write_page(). A watchdog softlockup warning was eliminated

   - "move pagetable_*_dtor() to __tlb_remove_table()" from Kevin
     Brodsky cleans up the pagetable destructor implementations. A rare
     use-after-free race is fixed

   - "mm/debug: introduce and use VM_WARN_ON_VMG()" from Lorenzo Stoakes
     simplifies and cleans up the debugging code in the VMA merging
     logic

   - "Account page tables at all levels" from Kevin Brodsky cleans up
     and regularizes the pagetable ctor/dtor handling. This results in
     improvements in accounting accuracy

   - "mm/damon: replace most damon_callback usages in sysfs with new
     core functions" from SeongJae Park cleans up and generalizes
     DAMON's sysfs file interface logic

   - "mm/damon: enable page level properties based monitoring" from
     SeongJae Park increases the amount of information which is
     presented in response to DAMOS actions

   - "mm/damon: remove DAMON debugfs interface" from SeongJae Park
     removes DAMON's long-deprecated debugfs interfaces. Thus the
     migration to sysfs is completed

   - "mm/hugetlb: Refactor hugetlb allocation resv accounting" from
     Peter Xu cleans up and generalizes the hugetlb reservation
     accounting

   - "mm: alloc_pages_bulk: small API refactor" from Luiz Capitulino
     removes a never-used feature of the alloc_pages_bulk() interface

   - "mm/damon: extend DAMOS filters for inclusion" from SeongJae Park
     extends DAMOS filters to support not only exclusion (rejecting),
     but also inclusion (allowing) behavior

   - "Add zpdesc memory descriptor for zswap.zpool" from Alex Shi
     introduces a new memory descriptor for zswap.zpool that currently
     overlaps with struct page for now. This is part of the effort to
     reduce the size of struct page and to enable dynamic allocation of
     memory descriptors

   - "mm, swap: rework of swap allocator locks" from Kairui Song redoes
     and simplifies the swap allocator locking. A speedup of 400% was
     demonstrated for one workload. As was a 35% reduction for kernel
     build time with swap-on-zram

   - "mm: update mips to use do_mmap(), make mmap_region() internal"
     from Lorenzo Stoakes reworks MIPS's use of mmap_region() so that
     mmap_region() can be made MM-internal

   - "mm/mglru: performance optimizations" from Yu Zhao fixes a few
     MGLRU regressions and otherwise improves MGLRU performance

   - "Docs/mm/damon: add tuning guide and misc updates" from SeongJae
     Park updates DAMON documentation

   - "Cleanup for memfd_create()" from Isaac Manjarres does that thing

   - "mm: hugetlb+THP folio and migration cleanups" from David
     Hildenbrand provides various cleanups in the areas of hugetlb
     folios, THP folios and migration

   - "Uncached buffered IO" from Jens Axboe implements the new
     RWF_DONTCACHE flag which provides synchronous dropbehind for
     pagecache reading and writing. To permite userspace to address
     issues with massive buildup of useless pagecache when
     reading/writing fast devices

   - "selftests/mm: virtual_address_range: Reduce memory" from Thomas
     Weißschuh fixes and optimizes some of the MM selftests"

* tag 'mm-stable-2025-01-26-14-59' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm: (321 commits)
  mm/compaction: fix UBSAN shift-out-of-bounds warning
  s390/mm: add missing ctor/dtor on page table upgrade
  kasan: sw_tags: use str_on_off() helper in kasan_init_sw_tags()
  tools: add VM_WARN_ON_VMG definition
  mm/damon/core: use str_high_low() helper in damos_wmark_wait_us()
  seqlock: add missing parameter documentation for raw_seqcount_try_begin()
  mm/page-writeback: consolidate wb_thresh bumping logic into __wb_calc_thresh
  mm/page_alloc: remove the incorrect and misleading comment
  zram: remove zcomp_stream_put() from write_incompressible_page()
  mm: separate move/undo parts from migrate_pages_batch()
  mm/kfence: use str_write_read() helper in get_access_type()
  selftests/mm/mkdirty: fix memory leak in test_uffdio_copy()
  kasan: hw_tags: Use str_on_off() helper in kasan_init_hw_tags()
  selftests/mm: virtual_address_range: avoid reading from VM_IO mappings
  selftests/mm: vm_util: split up /proc/self/smaps parsing
  selftests/mm: virtual_address_range: unmap chunks after validation
  selftests/mm: virtual_address_range: mmap() without PROT_WRITE
  selftests/memfd/memfd_test: fix possible NULL pointer dereference
  mm: add FGP_DONTCACHE folio creation flag
  mm: call filemap_fdatawrite_range_kick() after IOCB_DONTCACHE issue
  ...
2025-01-26 18:36:23 -08:00
Guo Weikang
c6f239796b mm/memblock: add memblock_alloc_or_panic interface
Before SLUB initialization, various subsystems used memblock_alloc to
allocate memory.  In most cases, when memory allocation fails, an
immediate panic is required.  To simplify this behavior and reduce
repetitive checks, introduce `memblock_alloc_or_panic`.  This function
ensures that memory allocation failures result in a panic automatically,
improving code readability and consistency across subsystems that require
this behavior.

[guoweikang.kernel@gmail.com: arch/s390: save_area_alloc default failure behavior changed to panic]
  Link: https://lkml.kernel.org/r/20250109033136.2845676-1-guoweikang.kernel@gmail.com
  Link: https://lore.kernel.org/lkml/Z2fknmnNtiZbCc7x@kernel.org/
Link: https://lkml.kernel.org/r/20250102072528.650926-1-guoweikang.kernel@gmail.com
Signed-off-by: Guo Weikang <guoweikang.kernel@gmail.com>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>	[m68k]
Reviewed-by: Alexander Gordeev <agordeev@linux.ibm.com>	[s390]
Acked-by: Mike Rapoport (Microsoft) <rppt@kernel.org>
Cc: Alexander Gordeev <agordeev@linux.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2025-01-25 20:22:38 -08:00
Kevin Brodsky
a9b3c355c2 asm-generic: pgalloc: provide generic __pgd_{alloc,free}
We already have a generic implementation of alloc/free up to P4D level, as
well as pgd_free().  Let's finish the work and add a generic PGD-level
alloc helper as well.

Unlike at lower levels, almost all architectures need some specific magic
at PGD level (typically initialising PGD entries), so introducing a
generic pgd_alloc() isn't worth it.  Instead we introduce two new helpers,
__pgd_alloc() and __pgd_free(), and make use of them in the arch-specific
pgd_alloc() and pgd_free() wherever possible.  To accommodate as many arch
as possible, __pgd_alloc() takes a page allocation order.

Because pagetable_alloc() allocates zeroed pages, explicit zeroing in
pgd_alloc() becomes redundant and we can get rid of it.  Some trivial
implementations of pgd_free() also become unnecessary once __pgd_alloc()
is used; remove them.

Another small improvement is consistent accounting of PGD pages by using
GFP_PGTABLE_{USER,KERNEL} as appropriate.

Not all PGD allocations can be handled by the generic helpers.  In
particular, multiple architectures allocate PGDs from a kmem_cache, and
those PGDs may not be page-sized.

Link: https://lkml.kernel.org/r/20250103184415.2744423-6-kevin.brodsky@arm.com
Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
Acked-by: Dave Hansen <dave.hansen@linux.intel.com>
Acked-by: Qi Zheng <zhengqi.arch@bytedance.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
Cc: Mike Rapoport (Microsoft) <rppt@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Ryan Roberts <ryan.roberts@arm.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Will Deacon <will@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2025-01-25 20:22:24 -08:00
Qi Zheng
2dccdf7076 mm: pgtable: introduce generic __tlb_remove_table()
Several architectures (arm, arm64, riscv and x86) define exactly the same
__tlb_remove_table(), just introduce generic __tlb_remove_table() to
eliminate these duplications.

The s390 __tlb_remove_table() is nearly the same, so also make s390
__tlb_remove_table() version generic.

Link: https://lkml.kernel.org/r/ea372633d94f4d3f9f56a7ec5994bf050bf77e39.1736317725.git.zhengqi.arch@bytedance.com
Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
Reviewed-by: Kevin Brodsky <kevin.brodsky@arm.com>
Acked-by: Andreas Larsson <andreas@gaisler.com>		[sparc]
Acked-by: Alexander Gordeev <agordeev@linux.ibm.com>	[s390]
Acked-by: Arnd Bergmann <arnd@arndb.de>			[asm-generic]
Cc: Alexandre Ghiti <alex@ghiti.fr>
Cc: Alexandre Ghiti <alexghiti@rivosinc.com>
Cc: Aneesh Kumar K.V (Arm) <aneesh.kumar@kernel.org>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: David Hildenbrand <david@redhat.com>
Cc: David Rientjes <rientjes@google.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: Jann Horn <jannh@google.com>
Cc: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
Cc: Mike Rapoport (Microsoft) <rppt@kernel.org>
Cc: Muchun Song <muchun.song@linux.dev>
Cc: Nicholas Piggin <npiggin@gmail.com>
Cc: Palmer Dabbelt <palmer@dabbelt.com>
Cc: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Ryan Roberts <ryan.roberts@arm.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Vishal Moola (Oracle) <vishal.moola@gmail.com>
Cc: Will Deacon <will@kernel.org>
Cc: Yu Zhao <yuzhao@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2025-01-25 20:22:23 -08:00
Qi Zheng
12359c039b arm64: pgtable: move pagetable_dtor() to __tlb_remove_table()
Move pagetable_dtor() to __tlb_remove_table(), so that ptlock and page
table pages can be freed together (regardless of whether RCU is used). 
This prevents the use-after-free problem where the ptlock is freed
immediately but the page table pages is freed later via RCU.

Page tables shouldn't have swap cache, so use pagetable_free() instead of
free_page_and_swap_cache() to free page table pages.

Link: https://lkml.kernel.org/r/cf4b847caf390f96a3e3d534dacb2c174e16c154.1736317725.git.zhengqi.arch@bytedance.com
Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
Suggested-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Kevin Brodsky <kevin.brodsky@arm.com>
Acked-by: Will Deacon <will@kernel.org>
Cc: Alexander Gordeev <agordeev@linux.ibm.com>
Cc: Alexandre Ghiti <alex@ghiti.fr>
Cc: Alexandre Ghiti <alexghiti@rivosinc.com>
Cc: Andreas Larsson <andreas@gaisler.com>
Cc: Aneesh Kumar K.V (Arm) <aneesh.kumar@kernel.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: David Hildenbrand <david@redhat.com>
Cc: David Rientjes <rientjes@google.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: Jann Horn <jannh@google.com>
Cc: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
Cc: Mike Rapoport (Microsoft) <rppt@kernel.org>
Cc: Muchun Song <muchun.song@linux.dev>
Cc: Nicholas Piggin <npiggin@gmail.com>
Cc: Palmer Dabbelt <palmer@dabbelt.com>
Cc: Ryan Roberts <ryan.roberts@arm.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Vishal Moola (Oracle) <vishal.moola@gmail.com>
Cc: Yu Zhao <yuzhao@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2025-01-25 20:22:22 -08:00
Qi Zheng
db6b435d73 mm: pgtable: introduce pagetable_dtor()
The pagetable_p*_dtor() are exactly the same except for the handling of
ptlock.  If we make ptlock_free() handle the case where ptdesc->ptl is
NULL and remove VM_BUG_ON_PAGE() from pmd_ptlock_free(), we can unify
pagetable_p*_dtor() into one function.  Let's introduce pagetable_dtor()
to do this.

Later, pagetable_dtor() will be moved to tlb_remove_ptdesc(), so that
ptlock and page table pages can be freed together (regardless of whether
RCU is used).  This prevents the use-after-free problem where the ptlock
is freed immediately but the page table pages is freed later via RCU.

Link: https://lkml.kernel.org/r/47f44fff9dc68d9d9e9a0d6c036df275f820598a.1736317725.git.zhengqi.arch@bytedance.com
Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
Originally-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Kevin Brodsky <kevin.brodsky@arm.com>
Acked-by: Alexander Gordeev <agordeev@linux.ibm.com>	[s390]
Cc: Alexandre Ghiti <alex@ghiti.fr>
Cc: Alexandre Ghiti <alexghiti@rivosinc.com>
Cc: Andreas Larsson <andreas@gaisler.com>
Cc: Aneesh Kumar K.V (Arm) <aneesh.kumar@kernel.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: David Hildenbrand <david@redhat.com>
Cc: David Rientjes <rientjes@google.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: Jann Horn <jannh@google.com>
Cc: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
Cc: Mike Rapoport (Microsoft) <rppt@kernel.org>
Cc: Muchun Song <muchun.song@linux.dev>
Cc: Nicholas Piggin <npiggin@gmail.com>
Cc: Palmer Dabbelt <palmer@dabbelt.com>
Cc: Ryan Roberts <ryan.roberts@arm.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Vishal Moola (Oracle) <vishal.moola@gmail.com>
Cc: Will Deacon <will@kernel.org>
Cc: Yu Zhao <yuzhao@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2025-01-25 20:22:22 -08:00
Qi Zheng
440af48d68 arm64: pgtable: use mmu gather to free p4d level page table
Like other levels of page tables, also use mmu gather mechanism to free
p4d level page table.

Link: https://lkml.kernel.org/r/3fd48525397b34a64f7c0eb76746da30814dc941.1736317725.git.zhengqi.arch@bytedance.com
Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
Originally-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Kevin Brodsky <kevin.brodsky@arm.com>
Cc: Alexander Gordeev <agordeev@linux.ibm.com>
Cc: Alexandre Ghiti <alex@ghiti.fr>
Cc: Alexandre Ghiti <alexghiti@rivosinc.com>
Cc: Andreas Larsson <andreas@gaisler.com>
Cc: Aneesh Kumar K.V (Arm) <aneesh.kumar@kernel.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: David Hildenbrand <david@redhat.com>
Cc: David Rientjes <rientjes@google.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: Jann Horn <jannh@google.com>
Cc: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
Cc: Mike Rapoport (Microsoft) <rppt@kernel.org>
Cc: Muchun Song <muchun.song@linux.dev>
Cc: Nicholas Piggin <npiggin@gmail.com>
Cc: Palmer Dabbelt <palmer@dabbelt.com>
Cc: Ryan Roberts <ryan.roberts@arm.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Vishal Moola (Oracle) <vishal.moola@gmail.com>
Cc: Will Deacon <will@kernel.org>
Cc: Yu Zhao <yuzhao@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2025-01-25 20:22:21 -08:00
Kevin Brodsky
98a7e47faa asm-generic: pgalloc: provide generic p4d_{alloc_one,free}
Four architectures currently implement 5-level pgtables: arm64, riscv, x86
and s390.  The first three have essentially the same implementation for
p4d_alloc_one() and p4d_free(), so we've got an opportunity to reduce
duplication like at the lower levels.

Provide a generic version of p4d_alloc_one() and p4d_free(), and make use
of it on those architectures.

Their implementation is the same as at PUD level, except that p4d_free()
performs a runtime check by calling mm_p4d_folded().  5-level pgtables
depend on a runtime-detected hardware feature on all supported
architectures, so we might as well include this check in the generic
implementation.  No runtime check is required in p4d_alloc_one() as the
top-level p4d_alloc() already does the required check.

Link: https://lkml.kernel.org/r/26d69c74a29183ecc335b9b407040d8e4cd70c6a.1736317725.git.zhengqi.arch@bytedance.com
Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
Acked-by: Dave Hansen <dave.hansen@linux.intel.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>		[asm-generic]
Cc: Alexander Gordeev <agordeev@linux.ibm.com>
Cc: Alexandre Ghiti <alex@ghiti.fr>
Cc: Alexandre Ghiti <alexghiti@rivosinc.com>
Cc: Andreas Larsson <andreas@gaisler.com>
Cc: Aneesh Kumar K.V (Arm) <aneesh.kumar@kernel.org>
Cc: David Hildenbrand <david@redhat.com>
Cc: David Rientjes <rientjes@google.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: Jann Horn <jannh@google.com>
Cc: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
Cc: Mike Rapoport (Microsoft) <rppt@kernel.org>
Cc: Muchun Song <muchun.song@linux.dev>
Cc: Nicholas Piggin <npiggin@gmail.com>
Cc: Palmer Dabbelt <palmer@dabbelt.com>
Cc: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Ryan Roberts <ryan.roberts@arm.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Vishal Moola (Oracle) <vishal.moola@gmail.com>
Cc: Will Deacon <will@kernel.org>
Cc: Yu Zhao <yuzhao@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2025-01-25 20:22:21 -08:00
Linus Torvalds
0f8e26b38d Loongarch:
* Clear LLBCTL if secondary mmu mapping changes.
 
 * Add hypercall service support for usermode VMM.
 
 x86:
 
 * Add a comment to kvm_mmu_do_page_fault() to explain why KVM performs a
   direct call to kvm_tdp_page_fault() when RETPOLINE is enabled.
 
 * Ensure that all SEV code is compiled out when disabled in Kconfig, even
   if building with less brilliant compilers.
 
 * Remove a redundant TLB flush on AMD processors when guest CR4.PGE changes.
 
 * Use str_enabled_disabled() to replace open coded strings.
 
 * Drop kvm_x86_ops.hwapic_irr_update() as KVM updates hardware's APICv cache
   prior to every VM-Enter.
 
 * Overhaul KVM's CPUID feature infrastructure to track all vCPU capabilities
   instead of just those where KVM needs to manage state and/or explicitly
   enable the feature in hardware.  Along the way, refactor the code to make
   it easier to add features, and to make it more self-documenting how KVM
   is handling each feature.
 
 * Rework KVM's handling of VM-Exits during event vectoring; this plugs holes
   where KVM unintentionally puts the vCPU into infinite loops in some scenarios
   (e.g. if emulation is triggered by the exit), and brings parity between VMX
   and SVM.
 
 * Add pending request and interrupt injection information to the kvm_exit and
   kvm_entry tracepoints respectively.
 
 * Fix a relatively benign flaw where KVM would end up redoing RDPKRU when
   loading guest/host PKRU, due to a refactoring of the kernel helpers that
   didn't account for KVM's pre-checking of the need to do WRPKRU.
 
 * Make the completion of hypercalls go through the complete_hypercall
   function pointer argument, no matter if the hypercall exits to
   userspace or not.  Previously, the code assumed that KVM_HC_MAP_GPA_RANGE
   specifically went to userspace, and all the others did not; the new code
   need not special case KVM_HC_MAP_GPA_RANGE and in fact does not care at
   all whether there was an exit to userspace or not.
 
 * As part of enabling TDX virtual machines, support support separation of
   private/shared EPT into separate roots.  When TDX will be enabled, operations
   on private pages will need to go through the privileged TDX Module via SEAMCALLs;
   as a result, they are limited and relatively slow compared to reading a PTE.
   The patches included in 6.14 allow KVM to keep a mirror of the private EPT in
   host memory, and define entries in kvm_x86_ops to operate on external page
   tables such as the TDX private EPT.
 
 * The recently introduced conversion of the NX-page reclamation kthread to
   vhost_task moved the task under the main process.  The task is created as
   soon as KVM_CREATE_VM was invoked and this, of course, broke userspace that
   didn't expect to see any child task of the VM process until it started
   creating its own userspace threads.  In particular crosvm refuses to fork()
   if procfs shows any child task, so unbreak it by creating the task lazily.
   This is arguably a userspace bug, as there can be other kinds of legitimate
   worker tasks and they wouldn't impede fork(); but it's not like userspace
   has a way to distinguish kernel worker tasks right now.  Should they show
   as "Kthread: 1" in proc/.../status?
 
 x86 - Intel:
 
 * Fix a bug where KVM updates hardware's APICv cache of the highest ISR bit
   while L2 is active, while ultimately results in a hardware-accelerated L1
   EOI effectively being lost.
 
 * Honor event priority when emulating Posted Interrupt delivery during nested
   VM-Enter by queueing KVM_REQ_EVENT instead of immediately handling the
   interrupt.
 
 * Rework KVM's processing of the Page-Modification Logging buffer to reap
   entries in the same order they were created, i.e. to mark gfns dirty in the
   same order that hardware marked the page/PTE dirty.
 
 * Misc cleanups.
 
 Generic:
 
 * Cleanup and harden kvm_set_memory_region(); add proper lockdep assertions when
   setting memory regions and add a dedicated API for setting KVM-internal
   memory regions.  The API can then explicitly disallow all flags for
   KVM-internal memory regions.
 
 * Explicitly verify the target vCPU is online in kvm_get_vcpu() to fix a bug
   where KVM would return a pointer to a vCPU prior to it being fully online,
   and give kvm_for_each_vcpu() similar treatment to fix a similar flaw.
 
 * Wait for a vCPU to come online prior to executing a vCPU ioctl, to fix a
   bug where userspace could coerce KVM into handling the ioctl on a vCPU that
   isn't yet onlined.
 
 * Gracefully handle xarray insertion failures; even though such failures are
   impossible in practice after xa_reserve(), reserving an entry is always followed
   by xa_store() which does not know (or differentiate) whether there was an
   xa_reserve() before or not.
 
 RISC-V:
 
 * Zabha, Svvptc, and Ziccrse extension support for guests.  None of them
   require anything in KVM except for detecting them and marking them
   as supported; Zabha adds byte and halfword atomic operations, while the
   others are markers for specific operation of the TLB and of LL/SC
   instructions respectively.
 
 * Virtualize SBI system suspend extension for Guest/VM
 
 * Support firmware counters which can be used by the guests to collect
   statistics about traps that occur in the host.
 
 Selftests:
 
 * Rework vcpu_get_reg() to return a value instead of using an out-param, and
   update all affected arch code accordingly.
 
 * Convert the max_guest_memory_test into a more generic mmu_stress_test.
   The basic gist of the "conversion" is to have the test do mprotect() on
   guest memory while vCPUs are accessing said memory, e.g. to verify KVM
   and mmu_notifiers are working as intended.
 
 * Play nice with treewrite builds of unsupported architectures, e.g. arm
   (32-bit), as KVM selftests' Makefile doesn't do anything to ensure the
   target architecture is actually one KVM selftests supports.
 
 * Use the kernel's $(ARCH) definition instead of the target triple for arch
   specific directories, e.g. arm64 instead of aarch64, mainly so as not to
   be different from the rest of the kernel.
 
 * Ensure that format strings for logging statements are checked by the
   compiler even when the logging statement itself is disabled.
 
 * Attempt to whack the last LLC references/misses mole in the Intel PMU
   counters test by adding a data load and doing CLFLUSH{OPT} on the data
   instead of the code being executed.  It seems that modern Intel CPUs
   have learned new code prefetching tricks that bypass the PMU counters.
 
 * Fix a flaw in the Intel PMU counters test where it asserts that events
   are counting correctly without actually knowing what the events count
   given the underlying hardware; this can happen if Intel reuses a
   formerly microarchitecture-specific event encoding as an architectural
   event, as was the case for Top-Down Slots.
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCAAyFiEE8TM4V0tmI4mGbHaCv/vSX3jHroMFAmeTuzoUHHBib256aW5p
 QHJlZGhhdC5jb20ACgkQv/vSX3jHroOkBwf8CRNExYaM3j9y2E7mmo6AiL2ug6+J
 Uy5Hai1poY48pPwKC6ke3EWT8WVsgj/Py5pCeHvLojQchWNjCCYNfSQluJdkRxwG
 DgP3QUljSxEJWBeSwyTRcKM+IySi5hZd1IFo3gePFRB829Jpnj05vjbvCyv8gIwU
 y3HXxSYDsViaaFoNg4OlZFsIGis7mtknsZzk++QjuCXmxNa6UCbv3qvE/UkVLhVg
 WH65RTRdjk+EsdwaOMHKuUvQoGa+iM4o39b6bqmw8+ZMK39+y33WeTX/y5RXsp1N
 tUUBRfS+MuuYgC/6LmTr66EkMzoChxk3Dp3kKUaCBcfqRC8PxQag5reZhw==
 =NEaO
 -----END PGP SIGNATURE-----

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

Pull kvm updates from Paolo Bonzini:
 "Loongarch:

   - Clear LLBCTL if secondary mmu mapping changes

   - Add hypercall service support for usermode VMM

  x86:

   - Add a comment to kvm_mmu_do_page_fault() to explain why KVM
     performs a direct call to kvm_tdp_page_fault() when RETPOLINE is
     enabled

   - Ensure that all SEV code is compiled out when disabled in Kconfig,
     even if building with less brilliant compilers

   - Remove a redundant TLB flush on AMD processors when guest CR4.PGE
     changes

   - Use str_enabled_disabled() to replace open coded strings

   - Drop kvm_x86_ops.hwapic_irr_update() as KVM updates hardware's
     APICv cache prior to every VM-Enter

   - Overhaul KVM's CPUID feature infrastructure to track all vCPU
     capabilities instead of just those where KVM needs to manage state
     and/or explicitly enable the feature in hardware. Along the way,
     refactor the code to make it easier to add features, and to make it
     more self-documenting how KVM is handling each feature

   - Rework KVM's handling of VM-Exits during event vectoring; this
     plugs holes where KVM unintentionally puts the vCPU into infinite
     loops in some scenarios (e.g. if emulation is triggered by the
     exit), and brings parity between VMX and SVM

   - Add pending request and interrupt injection information to the
     kvm_exit and kvm_entry tracepoints respectively

   - Fix a relatively benign flaw where KVM would end up redoing RDPKRU
     when loading guest/host PKRU, due to a refactoring of the kernel
     helpers that didn't account for KVM's pre-checking of the need to
     do WRPKRU

   - Make the completion of hypercalls go through the complete_hypercall
     function pointer argument, no matter if the hypercall exits to
     userspace or not.

     Previously, the code assumed that KVM_HC_MAP_GPA_RANGE specifically
     went to userspace, and all the others did not; the new code need
     not special case KVM_HC_MAP_GPA_RANGE and in fact does not care at
     all whether there was an exit to userspace or not

   - As part of enabling TDX virtual machines, support support
     separation of private/shared EPT into separate roots.

     When TDX will be enabled, operations on private pages will need to
     go through the privileged TDX Module via SEAMCALLs; as a result,
     they are limited and relatively slow compared to reading a PTE.

     The patches included in 6.14 allow KVM to keep a mirror of the
     private EPT in host memory, and define entries in kvm_x86_ops to
     operate on external page tables such as the TDX private EPT

   - The recently introduced conversion of the NX-page reclamation
     kthread to vhost_task moved the task under the main process. The
     task is created as soon as KVM_CREATE_VM was invoked and this, of
     course, broke userspace that didn't expect to see any child task of
     the VM process until it started creating its own userspace threads.

     In particular crosvm refuses to fork() if procfs shows any child
     task, so unbreak it by creating the task lazily. This is arguably a
     userspace bug, as there can be other kinds of legitimate worker
     tasks and they wouldn't impede fork(); but it's not like userspace
     has a way to distinguish kernel worker tasks right now. Should they
     show as "Kthread: 1" in proc/.../status?

  x86 - Intel:

   - Fix a bug where KVM updates hardware's APICv cache of the highest
     ISR bit while L2 is active, while ultimately results in a
     hardware-accelerated L1 EOI effectively being lost

   - Honor event priority when emulating Posted Interrupt delivery
     during nested VM-Enter by queueing KVM_REQ_EVENT instead of
     immediately handling the interrupt

   - Rework KVM's processing of the Page-Modification Logging buffer to
     reap entries in the same order they were created, i.e. to mark gfns
     dirty in the same order that hardware marked the page/PTE dirty

   - Misc cleanups

  Generic:

   - Cleanup and harden kvm_set_memory_region(); add proper lockdep
     assertions when setting memory regions and add a dedicated API for
     setting KVM-internal memory regions. The API can then explicitly
     disallow all flags for KVM-internal memory regions

   - Explicitly verify the target vCPU is online in kvm_get_vcpu() to
     fix a bug where KVM would return a pointer to a vCPU prior to it
     being fully online, and give kvm_for_each_vcpu() similar treatment
     to fix a similar flaw

   - Wait for a vCPU to come online prior to executing a vCPU ioctl, to
     fix a bug where userspace could coerce KVM into handling the ioctl
     on a vCPU that isn't yet onlined

   - Gracefully handle xarray insertion failures; even though such
     failures are impossible in practice after xa_reserve(), reserving
     an entry is always followed by xa_store() which does not know (or
     differentiate) whether there was an xa_reserve() before or not

  RISC-V:

   - Zabha, Svvptc, and Ziccrse extension support for guests. None of
     them require anything in KVM except for detecting them and marking
     them as supported; Zabha adds byte and halfword atomic operations,
     while the others are markers for specific operation of the TLB and
     of LL/SC instructions respectively

   - Virtualize SBI system suspend extension for Guest/VM

   - Support firmware counters which can be used by the guests to
     collect statistics about traps that occur in the host

  Selftests:

   - Rework vcpu_get_reg() to return a value instead of using an
     out-param, and update all affected arch code accordingly

   - Convert the max_guest_memory_test into a more generic
     mmu_stress_test. The basic gist of the "conversion" is to have the
     test do mprotect() on guest memory while vCPUs are accessing said
     memory, e.g. to verify KVM and mmu_notifiers are working as
     intended

   - Play nice with treewrite builds of unsupported architectures, e.g.
     arm (32-bit), as KVM selftests' Makefile doesn't do anything to
     ensure the target architecture is actually one KVM selftests
     supports

   - Use the kernel's $(ARCH) definition instead of the target triple
     for arch specific directories, e.g. arm64 instead of aarch64,
     mainly so as not to be different from the rest of the kernel

   - Ensure that format strings for logging statements are checked by
     the compiler even when the logging statement itself is disabled

   - Attempt to whack the last LLC references/misses mole in the Intel
     PMU counters test by adding a data load and doing CLFLUSH{OPT} on
     the data instead of the code being executed. It seems that modern
     Intel CPUs have learned new code prefetching tricks that bypass the
     PMU counters

   - Fix a flaw in the Intel PMU counters test where it asserts that
     events are counting correctly without actually knowing what the
     events count given the underlying hardware; this can happen if
     Intel reuses a formerly microarchitecture-specific event encoding
     as an architectural event, as was the case for Top-Down Slots"

* tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (151 commits)
  kvm: defer huge page recovery vhost task to later
  KVM: x86/mmu: Return RET_PF* instead of 1 in kvm_mmu_page_fault()
  KVM: Disallow all flags for KVM-internal memslots
  KVM: x86: Drop double-underscores from __kvm_set_memory_region()
  KVM: Add a dedicated API for setting KVM-internal memslots
  KVM: Assert slots_lock is held when setting memory regions
  KVM: Open code kvm_set_memory_region() into its sole caller (ioctl() API)
  LoongArch: KVM: Add hypercall service support for usermode VMM
  LoongArch: KVM: Clear LLBCTL if secondary mmu mapping is changed
  KVM: SVM: Use str_enabled_disabled() helper in svm_hardware_setup()
  KVM: VMX: read the PML log in the same order as it was written
  KVM: VMX: refactor PML terminology
  KVM: VMX: Fix comment of handle_vmx_instruction()
  KVM: VMX: Reinstate __exit attribute for vmx_exit()
  KVM: SVM: Use str_enabled_disabled() helper in sev_hardware_setup()
  KVM: x86: Avoid double RDPKRU when loading host/guest PKRU
  KVM: x86: Use LVT_TIMER instead of an open coded literal
  RISC-V: KVM: Add new exit statstics for redirected traps
  RISC-V: KVM: Update firmware counters for various events
  RISC-V: KVM: Redirect instruction access fault trap to guest
  ...
2025-01-25 09:55:09 -08:00
Linus Torvalds
382e391365 hyperv-next for v6.14
-----BEGIN PGP SIGNATURE-----
 
 iQFHBAABCgAxFiEEIbPD0id6easf0xsudhRwX5BBoF4FAmeTFQ4THHdlaS5saXVA
 a2VybmVsLm9yZwAKCRB2FHBfkEGgXqMWB/4uHjnu50u+m00OwXAKQr6i92zh50BZ
 RQragd9s9C8tuUNwPDmS/ct2BNAhoy43KJ0ClegdZjKxT1Ys8cLv4Wr5CaGckqWq
 +WCHqTgt+cPe0vUofqahB5wiAZMsnBgzFkV/OfFwBx0wkub9y5T3qVq5KapYlaDI
 7Gftb+wg1AAsrdZ/HuLRy5ZVvkM/73rU2uoi8WXjr/T14E1krCFR/qirLd1OXo6Q
 Jb97qhnCt/N9JPwIq5/VnYWde5Mpqz6UgtA2rFLDXgNGz+h9/ND6ecWFHjZWNVdc
 AKWZTO5t+fRVBOSyahoyRoYSntPw3wlxyL7A2/54h6j4Dex7wLt6NQBj
 =empO
 -----END PGP SIGNATURE-----

Merge tag 'hyperv-next-signed-20250123' of git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux

Pull hyperv updates from Wei Liu:

 - Introduce a new set of Hyper-V headers in include/hyperv and replace
   the old hyperv-tlfs.h with the new headers (Nuno Das Neves)

 - Fixes for the Hyper-V VTL mode (Roman Kisel)

 - Fixes for cpu mask usage in Hyper-V code (Michael Kelley)

 - Document the guest VM hibernation behaviour (Michael Kelley)

 - Miscellaneous fixes and cleanups (Jacob Pan, John Starks, Naman Jain)

* tag 'hyperv-next-signed-20250123' of git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux:
  Documentation: hyperv: Add overview of guest VM hibernation
  hyperv: Do not overlap the hvcall IO areas in hv_vtl_apicid_to_vp_id()
  hyperv: Do not overlap the hvcall IO areas in get_vtl()
  hyperv: Enable the hypercall output page for the VTL mode
  hv_balloon: Fallback to generic_online_page() for non-HV hot added mem
  Drivers: hv: vmbus: Log on missing offers if any
  Drivers: hv: vmbus: Wait for boot-time offers during boot and resume
  uio_hv_generic: Add a check for HV_NIC for send, receive buffers setup
  iommu/hyper-v: Don't assume cpu_possible_mask is dense
  Drivers: hv: Don't assume cpu_possible_mask is dense
  x86/hyperv: Don't assume cpu_possible_mask is dense
  hyperv: Remove the now unused hyperv-tlfs.h files
  hyperv: Switch from hyperv-tlfs.h to hyperv/hvhdk.h
  hyperv: Add new Hyper-V headers in include/hyperv
  hyperv: Clean up unnecessary #includes
  hyperv: Move hv_connection_id to hyperv-tlfs.h
2025-01-25 09:22:55 -08:00
Linus Torvalds
7108814670 soc: defconfig updates for 6.14
As usual, a number of new drivers get added to the defconfig to
 support additional hardware. The stm32 defconfig also turns off
 a few options to optimize for size.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmeTguUACgkQYKtH/8kJ
 Uifr2xAAtxKljNKki7bb9aeTcvZ98g34dSBCB76Oc80tYTM1Q9zZO+96ZBv/9W/F
 fhvAG8cSjfrXfUB8nwiQBzbV8Kl7jaxomb3h3z8snji6Kp4+IZtrYUPfS+QG5GMB
 o5U5eBTeipbsZRO3EwHdPvdCf39oeAvb+6IsESnbzAbZkhMOaUhzHok1G+fxekvv
 pF4mgFCYmnjq4TLMEikVlKF5qBQ2kScbECLDVx9/xvz8p6RotL0WOKGvfwJf4LFx
 nP1D1bBB01g/yilVZ6PAyfhnpN8KULdENllOBxnladPkt+Qb4zEHHuAChaSE8gQS
 ulZAq83OGyY85xTAUUPgFTpmLrIVeOPtjHuJQ2RScO+pB/MIf/fL1ozRvxD2jiKa
 KYFTlVFUX0xIeSAJ/xCp3/i2052AQ6ac5mp9P3ti77XSbSfCarWx882BfELZrbsw
 gKabUr3QJxJmxio8UL5HUPlxKAsBczBEa/jC/XqtSbQmcnfL3FxpNh77KgLx5ICx
 n3CGio4YmE/cVgWVjjJzq974MPpdvzRWN7cnLpWEQnOv3iuk2tomdGDqkUlDzuan
 7U2ylFa2q0Li7eKqplX6gqny4QKCNH1aMQlucmxifvAG0X9jYlq9sLVVeJM8LiCi
 C0cCVUx6KtN0ZjRawDSY0qZ8Yeq/NyIpU4/Ywc0aAZ5JfNqsA4Y=
 =ZFLM
 -----END PGP SIGNATURE-----

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

Pull SoC defconfig updates from Arnd Bergmann:
 "As usual, a number of new drivers get added to the defconfig to
  support additional hardware.

  The stm32 defconfig also turns off a few options to optimize for size"

* tag 'soc-defconfig-6.14' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (27 commits)
  dt-bindings: soc: samsung: exynos-pmu: Add exynos990-pmu compatible
  arm64: defconfig: enable Maxim TCPCI driver
  ARM: configs: stm32: Remove useless flags in STM32 defconfig
  ARM: configs: stm32: Remove CRYPTO in STM32 defconfig
  ARM: configs: stm32: Clean STM32 defconfig
  ARM: configs: stm32: Remove FLASH_MEM_BASE and FLASH_SIZE in STM32 defconfig
  arm64: defconfig: Enable pinctrl-based I2C mux
  arm64: defconfig: Enable Rockchip extensions for Synopsys DW HDMI QP
  arm64: defconfig: Enable RFKILL GPIO
  arm64: defconfig: Enable TI K3 M4 remoteproc driver
  arm64: defconfig: Enable Qualcomm IPQ CMN PLL clock controller
  arm64: defconfig: Enable basic Qualcomm SM8750 SoC drivers
  arm64: defconfig: remove obsolete CONFIG_SM_DISPCC_8650
  arm64: defconfig: enable clock controller, interconnect and pinctrl for QCS8300
  arm64: defconfig: Enable sa8775p clock controllers
  arm64: defconfig: Enable MediaTek DWMAC
  arm64: defconfig: Enable sound for MT8188
  arm64: defconfig: Enable MediaTek STAR Ethernet MAC
  riscv: defconfig: enable pinctrl and dwmac support for TH1520
  arm64: defconfig: Enable Amazon Elastic Network Adaptor
  ...
2025-01-24 15:03:53 -08:00
Linus Torvalds
f102039270 soc: devicetree changes for 6.14
We see the addition of eleven new SoCs, including a total of sixx arm64
 chips from Qualcomm alone. Overall, the Qualcomm platforms once again
 make up the majority of all changes, after a couple of quieter releases.
 
 The new SoCs in this branch are:
 
  - Microchip sama7d65 is a new 32-bit embedded chip with a single
    Cortex-A7 and the current high end of the old Atmel SoC line.
 
  - Samsung Exynos 9810 is a mobile phone chip used in some older
    phones like the Samsung Galaxy S9
 
  - Renesas R-Car V4H ES3.0 (R8A779G3) is an updated version of
    the V4H (R8A779G0) low-power automotive SoC
 
  - Renesas RZ/G3E (R0A09G047) is a family of embedded chips
    using Cortex-A55 cores
 
  - Qualcomm Snapdragon 8 Elite (SM8750) is a new phone chip based on
    Qualcomm's Oryon CPU cores.
 
  - Qualcomm Snapdragon AR2 (SAR2130P) is a SoC for augmented reality
    glasses.
 
  - Qualcomm IQ6 (QCS610) and IQ8 (QCS8300) are two industrial
    IOT platforms.
 
  - Snapdragon 425 (MSM8917) is a mobile phone SoC from 2016
 
  - Qualcomm IPQ5424 is a Wi-Fi 7 networking chip
 
 All of the above are part of already supported SoC families that
 only need new devicetree files. Two additional SoCs in new
 families are part of a separate branch.
 
 There are 48 new machines in total, including six arm32 ones based
 on aspeed. broadcom, microchip and st SoCs all using Cortex-A7 cores,
 and a single risc-v board, the Banana Pi R3.
 
 The remaining ones use arm64 chips from Broadcom, Samsung, NXP, Mediatek,
 Qualcomm, Renesas and Rockchips and cover development boards, phones,
 laptops, industrial machines routers.
 
 A lot of ongoing work is for cleaning up build time warnings and other
 issues, in addition to the new machines and added features.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmeSdLQACgkQYKtH/8kJ
 UicovRAA0fABVQ8Fl45/NNaBGfXYagXptCSTGOFsdKJ49LVF4uLfWtL+0ENx5Ck5
 PJjr0n9kMNWqeJDiaaQtW21HhYxGxcz3MJEj60/C+D0QNQExPVROUHNy1aggxjNI
 qHf0DnTLAWzjtD0YdCmiI6JCDRdPIRQi2IJymAu7tlooc809PG15bbo6PpIYginC
 1U6cYtuyBuE/9ku2FgWX6E4T0aRjPyaR8thg9VAIsKsugdH3v9EdtLC/MUqOBHMt
 30PyghR9+r1LxQzOC/q7TFcPmnUb74fSPW85X7a5KXv53K6MeRXtRhnetts08R7Z
 iZCJi2ORO100RX7plAzxtF+CWI8eO3bVzibTcZmgxP/Is6CmrlnTcPzOFvqfyx1E
 AfeyEGA7XofjFwPJcc9bCQc3r2w90FpsKqtlaBAn2Od+1EUuuAAgUcjrNyNJqlkp
 8Vos0FxNOOnYULjndYZqa6MslBuxNXYtNj0Ph1/fpzUWKwo+x8LWy8Xb9a5Sdz0H
 OsPVWbumrXlG1rcNMFu8yPzKOBgO0t8on5MRwW+1Xmf1lcQNzJWeGqTzsFPObREV
 Ar7evGEgSb8qladOtzbg645wIezWIXpSJUICQhilxV8DUO+IYuMz668QoZZP40V5
 uHdWxFGdNe1cm5JAsjjwCeFNk/Pbro1+ojc4E6//MRp+WCgdPQ0=
 =vdmR
 -----END PGP SIGNATURE-----

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

Pull SoC devicetree updates from Arnd Bergmann:
 "We see the addition of eleven new SoCs, including a total of sixx
  arm64 chips from Qualcomm alone. Overall, the Qualcomm platforms once
  again make up the majority of all changes, after a couple of quieter
  releases.

  The new SoCs in this branch are:

   - Microchip sama7d65 is a new 32-bit embedded chip with a single
     Cortex-A7 and the current high end of the old Atmel SoC line.

   - Samsung Exynos 9810 is a mobile phone chip used in some older
     phones like the Samsung Galaxy S9

   - Renesas R-Car V4H ES3.0 (R8A779G3) is an updated version of the V4H
     (R8A779G0) low-power automotive SoC

   - Renesas RZ/G3E (R0A09G047) is a family of embedded chips using
     Cortex-A55 cores

   - Qualcomm Snapdragon 8 Elite (SM8750) is a new phone chip based on
     Qualcomm's Oryon CPU cores.

   - Qualcomm Snapdragon AR2 (SAR2130P) is a SoC for augmented reality
     glasses.

   - Qualcomm IQ6 (QCS610) and IQ8 (QCS8300) are two industrial IOT
     platforms.

   - Snapdragon 425 (MSM8917) is a mobile phone SoC from 2016

   - Qualcomm IPQ5424 is a Wi-Fi 7 networking chip

  All of the above are part of already supported SoC families that only
  need new devicetree files. Two additional SoCs in new families are
  part of a separate branch.

  There are 48 new machines in total, including six arm32 ones based on
  aspeed. broadcom, microchip and st SoCs all using Cortex-A7 cores, and
  a single risc-v board, the Banana Pi R3.

  The remaining ones use arm64 chips from Broadcom, Samsung, NXP,
  Mediatek, Qualcomm, Renesas and Rockchips and cover development
  boards, phones, laptops, industrial machines routers.

 A lot of ongoing work is for cleaning up build time warnings and other
 issues, in addition to the new machines and added features"

* tag 'soc-dt-6.14' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (619 commits)
  arm64: tegra: Fix Tegra234 PCIe interrupt-map
  arm64: dts: qcom: x1e80100-romulus: Update firmware nodes
  arm64: dts: rockchip: add DTs for Firefly ITX-3588J and its Core-3588J SoM
  dt-bindings: arm: rockchip: Add Firefly ITX-3588J board
  arm64: dts: rockchip: Add Orange Pi 5 Max board
  dt-bindings: arm: rockchip: Add Xunlong Orange Pi 5 Max
  arm64: dts: rockchip: refactor common rk3588-orangepi-5.dtsi
  arm64: dts: rockchip: add WLAN to rk3588-evb1 controller
  arm64: dts: rockchip: increase gmac rx_delay on rk3399-puma
  arm64: dts: rockchip: Delete redundant RK3328 GMAC stability fixes
  arm64: tegra: Disable Tegra234 sce-fabric node
  arm64: tegra: Fix typo in Tegra234 dce-fabric compatible
  arm64: tegra: Fix DMA ID for SPI2
  arm64: dts: qcom: msm8916-samsung-serranove: Add display panel
  arm64: dts: qcom: sm8650: Add 'global' interrupt to the PCIe RC nodes
  arm64: dts: qcom: sm8550: Add 'global' interrupt to the PCIe RC nodes
  arm64: dts: qcom: Remove unused and undocumented properties
  arm64: dts: qcom: sdm450-lenovo-tbx605f: add DSI panel nodes
  arm64: dts: qcom: pmi8950: add LAB-IBB nodes
  arm64: dts: qcom: ipq5424: enable the download mode support
  ...
2025-01-24 14:48:03 -08:00
Linus Torvalds
4e517a6acd soc: new SoC support for 6.14
Two new SoC families are added here, with devicetree files and
 a little bit of infrastructure to allow booting:
 
  - Blaize BLZP1600 is an AI chip using custom GSP (Graph Streaming
    Processor) cores for computation, and two small Cortex-A53 cores
    that run the operating system.
 
  - SpacemiT K1 is a 64-bit RISC-V chip, using eight custom RVA22
    compatible CPU cores with vector support.
    Also marketed at AI applications, it has a much slower NPU compared
    to BLZP1600, but in turn focuses on the CPU performance
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmeSd7cACgkQYKtH/8kJ
 UienxxAAoUMAWex/k5gWfg3DdvDrleXydjYzIm6DBIad1kxHYy/gvEuQAgV9vxqb
 tQ763NKRLekmwv+CX+S47PjrMHgqqwtch5If8ixd50gYSZPukJmuCTkthMu1qBb9
 /zi0LXg3cViPQBAY0MwCQMzukRHsqmBzaUSle6bM1yDHhHAmcz88Iqs/LttJOnYk
 M/+ybxYoUdVmPI+Nt3e8hxlecfU2oM0S1hoStvdsA0fpuLfEBF8WpF7DnkSphT10
 JqVysB3FTF0PYXyBodcuh37iCCObAFVAUT/ZvKO3+Qo/rI2IseP8lSeAV84JP/5S
 w4MqpGhFecICBEWJ9h0FnbSI2NyON8uz23R+va6YAtTxuPL2Loq4HwvxXh5H5imC
 sxZ0SEnkwFQ7DJ10nV00FXlmKZ7+Ax0WLoboNHWYxdAfqhgcZ8q8gi/+WTETTBog
 jnTnWjscuEA5QTNfOP0AqUtVbWQOj09wLsiceJc8G5jpbe9WaZJy1yzXaCNu2hZV
 2x+2UT31Y6G2Poxee8Ti4u1ljieJh5BmD1Ts81P8EpAC0JsVyJ3HtouYeBHcBPoj
 HXmdGDPN8bS0Ugu7iFu3GO+TPcBzUw1ZND8L3QbBesb/oFK0455ARkVXO2nazP4p
 4s/iGWbGAKIyKPOdYGaiSXmbXurx99pOVY6G8ccqkNf+17MfTgE=
 =clzA
 -----END PGP SIGNATURE-----

Merge tag 'soc-new-6.14' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc

Pull new SoC support from Arnd Bergmann:
 "Two new SoC families are added here, with devicetree files and a
  little bit of infrastructure to allow booting:

   - Blaize BLZP1600 is an AI chip using custom GSP (Graph Streaming
     Processor) cores for computation, and two small Cortex-A53 cores
     that run the operating system.

   - SpacemiT K1 is a 64-bit RISC-V chip, using eight custom RVA22
     compatible CPU cores with vector support.

     Also marketed at AI applications, it has a much slower NPU compared
     to BLZP1600, but in turn focuses on the CPU performance"

* tag 'soc-new-6.14' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc:
  riscv: dts: spacemit: move aliases to board dts
  riscv: dts: spacemit: add pinctrl property to uart0 in BPI-F3
  riscv: defconfig: enable SpacemiT SoC
  riscv: dts: spacemit: add Banana Pi BPI-F3 board device tree
  riscv: dts: add initial SpacemiT K1 SoC device tree
  riscv: add SpacemiT SoC family Kconfig support
  dt-bindings: serial: 8250: Add SpacemiT K1 uart compatible
  dt-bindings: interrupt-controller: Add SpacemiT K1 PLIC
  dt-bindings: timer: Add SpacemiT K1 CLINT
  dt-bindings: riscv: add SpacemiT K1 bindings
  dt-bindings: riscv: Add SpacemiT X60 compatibles
  MAINTAINERS: setup support for SpacemiT SoC tree
  MAINTAINER: Add entry for Blaize SoC
  arm64: defconfig: Enable Blaize BLZP1600 platform
  arm64: dts: Add initial support for Blaize BLZP1600 CB2
  arm64: Add Blaize BLZP1600 SoC family
  dt-bindings: arm: blaize: Add Blaize BLZP1600 SoC
  dt-bindings: Add Blaize vendor prefix
2025-01-24 14:31:06 -08:00
Arnd Bergmann
309f64469c This pull request contains Broadcom ARM64-based SoCs defconfig updates
for 6.14, please pull the following:
 
 - Stefan enables the pinctrl-based I2C mux driver which is used on
   Raspberry Pi 4 based systems since we switched the Device Tree files
   to use the i2c mux representation
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEm+Rq3+YGJdiR9yuFh9CWnEQHBwQFAmeSp1wACgkQh9CWnEQH
 BwTb/hAAhZCgTxVzBgdnDuSKOXmXYqzfRfirJQ57aluE5O0EtxiJC8APABlywDJl
 RIVmyHw39YidATyIEPcbHZW8IumLPr95nfYkJlAfGLpAvtHCDoEiIhIf9YSLuH5M
 a3mGQHfta46s6hTSBg6tA6KAzO+WviD9CAvopEaFof5i15N2zLc7IelkFaG5xM1u
 pv896h9bt2wuNFXTe3ABESz4MGjU2O+Wh6D/QGmrvzbvMtqlTdHk85h2xpV7KGEB
 99rijUwhBYP/XFSq8RlVcZbBO+YGmPmc08LUZh0RGpoJBD0BMc8t/YvXim1sYZ8k
 ha5RGSHIOzfHoM3ugPqp6ISILJcznHBeunC4x+qJbDFkLnWAbjyZ23/L0SDtjmyx
 ghfyRtlVDj/ORivpIzS2z7lsJqxSVBFY5JnrRK/h/gjlx718vWcO/W0BgpU6aS5C
 F1+w/zlYomW5pLA8bFMIuPxTgulFZKvW6Y+Ld9SSkyUAtxatEjenLeffJ3i4F0+x
 0YDyqrJ1lru9CcsH0/ZwJlXy5Dw29mkawo78C+Y/ct0ZkwdyFo+SEUwjf7FmK+2T
 bbXfb5AnxmSey9PgBrDUY0sIwYz8iKfo4AHWZMyMvUMmJPnbXLtWmQwsp08NXzI9
 9Uk6MBIRL+ISSzCH2tl2/h/Q47KnnqTGH/B0mzCvrBjjMb1y8Cw=
 =GSiU
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmeTgtQACgkQYKtH/8kJ
 UicCNQ//UG6KFJjcIJpuA1G1dKbHi5nT5sm55vCcoQxIQTkIt3VG18qJlvVkoEMD
 zMmFbL7gjwYC1QcQqAnm8ZKu2EDSmRQ4wlnYl9wLCTv00CfTrlu9jGbtnfIDdIsQ
 TCfVLwqEiDn5ggQj6tbD+nN9XuDahDnlCTOlauBK7t2ucaS+NFYsFq8K61OEDlWB
 8ALd/ORajjDrT0cM6uJbt94bybMRFl1+4gfOzq+rEsSJqAMxJtIRUKrl1nM52lmO
 Pkd9onyiwoWcv2gFG3pb8gH3CCX4KJbKCKXZTnndF6/hEHZeT/S4gTG7NzKnehD7
 1F1cfjAdfVVmnlBdFLlPAX7y8qUlieiBWEJtGCiFo1iOCtmiTMwoEaig8KCyQtwn
 sbUqXxeJ8FnbDUVPsbMfR7wKeymmksmAg47D50umUuya0Kj2MzpzjE93hKLV6kdz
 MOYySd6rq8NzeVlo9MnHsGFYRsYN/AwRTf40AfqBuX8lclbeTeKmyJWuGtSMbm9L
 qRzsLOokY135GYgDDXTHyMFOi2e/axBXyAzr3ptQc59Dls5a0ojZ4dsCPL3hiF5q
 7xqzyn29PgBOxLIelW240jUq9qPwrDJXT3txYsucbgwqT8NNT6pYVi3O8IJ6fwIT
 mlMNMIX4yW3ZGK67yGu2DExDwmv8hYNDuUTMpSTRnHMbbFl52lA=
 =mQPW
 -----END PGP SIGNATURE-----

Merge tag 'arm-soc/for-6.14/defconfig-arm64' of https://github.com/Broadcom/stblinux into soc/defconfig

This pull request contains Broadcom ARM64-based SoCs defconfig updates
for 6.14, please pull the following:

- Stefan enables the pinctrl-based I2C mux driver which is used on
  Raspberry Pi 4 based systems since we switched the Device Tree files
  to use the i2c mux representation

* tag 'arm-soc/for-6.14/defconfig-arm64' of https://github.com/Broadcom/stblinux:
  arm64: defconfig: Enable pinctrl-based I2C mux

Link: https://lore.kernel.org/r/20250123203302.1491843-1-florian.fainelli@broadcom.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-01-24 13:08:51 +01:00
Linus Torvalds
d0d106a2bd bpf-next-6.14
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEE+soXsSLHKoYyzcli6rmadz2vbToFAmeOu1YACgkQ6rmadz2v
 bTrrHxAAn6eqEsluWnDlzhI0OGsPjvgS00sf+MOeqiXYeS2eJ8yJuKifp38+nIQZ
 lIplsWU2ReUY20eizPqLPnQ7TXZGvLgp08E8yHUoZ0siWanqr9iDRfbZCCNrDMNm
 lMqeR1SLapMws2R/UX9JbvPn2ajIJ6Lb4wxenTfdlW6q+0hAGM6Dt0k/jBod+quq
 /oo+xwG3L0q4APBovJfiAFN2z6IYN03b+zLiOrpIJtMACGewEXnl3m4mkL8ZM/FV
 nZGPIxIUPXCpKTGEkNqxfkrnHN2wZQ4ZSKEJ6lhEEp4jrgCVITaGZ/E7jlx6fZoj
 bbd4YMonIPo9Nhim8p1dt8yYBhKKiE5IXIq0GqlMv5+MvAN8ylrlydpsouW1fu66
 hZ1W1BxbxmrgyF0Bwo9JPOMhBHwMrmD6iH9LgiMpZf0ASeF+q9cJpoSOU5j5E9XB
 LpLIRf5jYTd4wZjhDmrQREReLo+Bng9DlCBu+jjh2+YTz6l6Qed+ETpENcd7lL5i
 IHZVbgD2RVPNJoUfdrd763HfYfDTk+50MF5FIMEyfKHz11if0E/LhBMzto22hm6b
 2f8ruj/8yvg8s2dxEP3ySQgcnynlwEnGxLenUVv7uEOYKeWri1rq+fvTK5ne1OLK
 oHnTlkViwQb74c0r8cFW+nkyfUYTfhhBAql14rl/fMjGDO2KZ10=
 =f2CA
 -----END PGP SIGNATURE-----

Merge tag 'bpf-next-6.14' of git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next

Pull bpf updates from Alexei Starovoitov:
 "A smaller than usual release cycle.

  The main changes are:

   - Prepare selftest to run with GCC-BPF backend (Ihor Solodrai)

     In addition to LLVM-BPF runs the BPF CI now runs GCC-BPF in compile
     only mode. Half of the tests are failing, since support for
     btf_decl_tag is still WIP, but this is a great milestone.

   - Convert various samples/bpf to selftests/bpf/test_progs format
     (Alexis Lothoré and Bastien Curutchet)

   - Teach verifier to recognize that array lookup with constant
     in-range index will always succeed (Daniel Xu)

   - Cleanup migrate disable scope in BPF maps (Hou Tao)

   - Fix bpf_timer destroy path in PREEMPT_RT (Hou Tao)

   - Always use bpf_mem_alloc in bpf_local_storage in PREEMPT_RT (Martin
     KaFai Lau)

   - Refactor verifier lock support (Kumar Kartikeya Dwivedi)

     This is a prerequisite for upcoming resilient spin lock.

   - Remove excessive 'may_goto +0' instructions in the verifier that
     LLVM leaves when unrolls the loops (Yonghong Song)

   - Remove unhelpful bpf_probe_write_user() warning message (Marco
     Elver)

   - Add fd_array_cnt attribute for prog_load command (Anton Protopopov)

     This is a prerequisite for upcoming support for static_branch"

* tag 'bpf-next-6.14' of git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next: (125 commits)
  selftests/bpf: Add some tests related to 'may_goto 0' insns
  bpf: Remove 'may_goto 0' instruction in opt_remove_nops()
  bpf: Allow 'may_goto 0' instruction in verifier
  selftests/bpf: Add test case for the freeing of bpf_timer
  bpf: Cancel the running bpf_timer through kworker for PREEMPT_RT
  bpf: Free element after unlock in __htab_map_lookup_and_delete_elem()
  bpf: Bail out early in __htab_map_lookup_and_delete_elem()
  bpf: Free special fields after unlock in htab_lru_map_delete_node()
  tools: Sync if_xdp.h uapi tooling header
  libbpf: Work around kernel inconsistently stripping '.llvm.' suffix
  bpf: selftests: verifier: Add nullness elision tests
  bpf: verifier: Support eliding map lookup nullness
  bpf: verifier: Refactor helper access type tracking
  bpf: tcp: Mark bpf_load_hdr_opt() arg2 as read-write
  bpf: verifier: Add missing newline on verbose() call
  selftests/bpf: Add distilled BTF test about marking BTF_IS_EMBEDDED
  libbpf: Fix incorrect traversal end type ID when marking BTF_IS_EMBEDDED
  libbpf: Fix return zero when elf_begin failed
  selftests/bpf: Fix btf leak on new btf alloc failure in btf_distill test
  veristat: Load struct_ops programs only once
  ...
2025-01-23 08:04:07 -08:00
Linus Torvalds
37b33c68b0 CRC updates for 6.14
- Reorganize the architecture-optimized CRC32 and CRC-T10DIF code to be
   directly accessible via the library API, instead of requiring the
   crypto API.  This is much simpler and more efficient.
 
 - Convert some users such as ext4 to use the CRC32 library API instead
   of the crypto API.  More conversions like this will come later.
 
 - Add a KUnit test that tests and benchmarks multiple CRC variants.
   Remove older, less-comprehensive tests that are made redundant by
   this.
 
 - Add an entry to MAINTAINERS for the kernel's CRC library code.  I'm
   volunteering to maintain it.  I have additional cleanups and
   optimizations planned for future cycles.
 
 These patches have been in linux-next since -rc1.
 -----BEGIN PGP SIGNATURE-----
 
 iIoEABYIADIWIQSacvsUNc7UX4ntmEPzXCl4vpKOKwUCZ418ZRQcZWJpZ2dlcnNA
 Z29vZ2xlLmNvbQAKCRDzXCl4vpKOKyJYAP9kBlpm8W9/XY6N8SpjKaXE/vKQYHQl
 Nobhak06Us8uJwEAkcUTymWP4IwQj5A9jgBAPRw53FQcNVKIc+01C7gRHw0=
 =mqSH
 -----END PGP SIGNATURE-----

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

Pull CRC updates from Eric Biggers:

 - Reorganize the architecture-optimized CRC32 and CRC-T10DIF code to be
   directly accessible via the library API, instead of requiring the
   crypto API. This is much simpler and more efficient.

 - Convert some users such as ext4 to use the CRC32 library API instead
   of the crypto API. More conversions like this will come later.

 - Add a KUnit test that tests and benchmarks multiple CRC variants.
   Remove older, less-comprehensive tests that are made redundant by
   this.

 - Add an entry to MAINTAINERS for the kernel's CRC library code. I'm
   volunteering to maintain it. I have additional cleanups and
   optimizations planned for future cycles.

* tag 'crc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiggers/linux: (31 commits)
  MAINTAINERS: add entry for CRC library
  powerpc/crc: delete obsolete crc-vpmsum_test.c
  lib/crc32test: delete obsolete crc32test.c
  lib/crc16_kunit: delete obsolete crc16_kunit.c
  lib/crc_kunit.c: add KUnit test suite for CRC library functions
  powerpc/crc-t10dif: expose CRC-T10DIF function through lib
  arm64/crc-t10dif: expose CRC-T10DIF function through lib
  arm/crc-t10dif: expose CRC-T10DIF function through lib
  x86/crc-t10dif: expose CRC-T10DIF function through lib
  crypto: crct10dif - expose arch-optimized lib function
  lib/crc-t10dif: add support for arch overrides
  lib/crc-t10dif: stop wrapping the crypto API
  scsi: target: iscsi: switch to using the crc32c library
  f2fs: switch to using the crc32 library
  jbd2: switch to using the crc32c library
  ext4: switch to using the crc32c library
  lib/crc32: make crc32c() go directly to lib
  bcachefs: Explicitly select CRYPTO from BCACHEFS_FS
  x86/crc32: expose CRC32 functions through lib
  x86/crc32: update prototype for crc32_pclmul_le_16()
  ...
2025-01-22 19:55:08 -08:00
Linus Torvalds
641b0c64b8 A pretty quiet cycle this time around. We have a bunch of new Qualcomm clk
drivers, per usual, and then a handful of drivers for other SoCs. Then the
 usual pile of cleanups is fairly small data fixes or converting DT bindings to
 YAML so they can be validated. No changes to the core framework besides an OF
 node refcount bump that never got decremented.
 
 New Drivers:
  - 5L35023 variant of Versa 3 clock generator
  - Various Qualcomm clk controllers: IPQ CMN PLL, SM6115 LPASS, SM750 global,
    tcsr, rpmh, and display. X Plus GPU and global. QCS615 rpmh and MSM8937 and
    MSM8940 RPM.
  - Qualcomm Pongo and Taycan Alpha PLLs
  - Qualcomm IPQ5424 NoC-related interconnect clks
  - Renesas RZ/G3E (R9A09G047) SoC clk driver
  - SAMA7D65 SoC clk driver
  - Samsung Exynos990 SoC clk driver
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCAAvFiEE9L57QeeUxqYDyoaDrQKIl8bklSUFAmeQNfYRHHNib3lkQGtl
 cm5lbC5vcmcACgkQrQKIl8bklSUuwRAAkKea3uRcSkTgHK3Ts0gmf8L2QS+dL47N
 OFmqhhdF0gYU60kzsaU0A6UGvaagq/rkB8nvZJ6G8/wV6T0jXHmxuCmZ7uRaErpt
 4KDjpS9qQ8sl5LXpuxh9LgfxcOOfAueWRpmF/5alHEtAQLXKHKV5CdcyYa71pj40
 +LfjoaW6xaqx+G3lqJhakY77zKiRzxWH86XQS5CHD3DITkv3B5/dV/nQlAb3P083
 7SzHXKbBpWpXH0y0pLTXZDTVCsHl90t1DO7JKt9Y1fOxtpLB/ROfLPOJ4cZyCQGH
 Y28ZWDA9jEEX/cz/R2qPY3mRUPrFp2ArsXsx1rKlPTabp4NZLs3d9tZiMI/irK/W
 GTkRKMUZlDD5w6jSYgmSTbTj2CsTsPXc8EzsNIFudl6WyzyxWHvnpUb+hdrR2B+0
 untNOkwcb8GzgucYrbK5s/Aw03CiyGTYZHGJxsnIr7uSYRxe8mlV/cIbDcn5+WWj
 rrOcPatLEnCeE1Eldm6cOzFsLMbBVP9HeNkms91y2AJDx4mWn8qyY0psX+HaNyBm
 1YZBVmo2PiZ84ZEhiK7WhPPMaDyR2ZSQS0/U5FaB56G9+rtuVYs8Z7KFS3nK27Rh
 oKWcdKDn1wUmtUhVggC+m4PueOH3dlM0ELaRNKzePx9rEimjWhzfy5GlOvPoaBAl
 MKOVgeLYa4c=
 =wK9g
 -----END PGP SIGNATURE-----

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

Pull clk updates from Stephen Boyd:
 "A pretty quiet cycle this time around. We have a bunch of new Qualcomm
  clk drivers, per usual, and then a handful of drivers for other SoCs.
  Then the usual pile of cleanups is fairly small data fixes or
  converting DT bindings to YAML so they can be validated.

  No changes to the core framework besides an OF node refcount bump that
  never got decremented.

  New Drivers:

   - 5L35023 variant of Versa 3 clock generator

   - Various Qualcomm clk controllers: IPQ CMN PLL, SM6115 LPASS, SM750
     global, tcsr, rpmh, and display. X Plus GPU and global. QCS615 rpmh
     and MSM8937 and MSM8940 RPM.

   - Qualcomm Pongo and Taycan Alpha PLLs

   - Qualcomm IPQ5424 NoC-related interconnect clks

   - Renesas RZ/G3E (R9A09G047) SoC clk driver

   - SAMA7D65 SoC clk driver

   - Samsung Exynos990 SoC clk driver"

* tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (159 commits)
  clk: analogbits: Fix incorrect calculation of vco rate delta
  clk: bcm: rpi: Add disp clock
  clk: bcm: rpi: Create helper to retrieve private data
  clk: bcm: rpi: Enable minimize for all firmware clocks
  clk: bcm: rpi: Allow cpufreq driver to also adjust gpu clocks
  clk: bcm: rpi: Add ISP to exported clocks
  clk: stm32f4: support spread spectrum clock generation
  clk: stm32f4: use FIELD helpers to access the PLLCFGR fields
  dt-bindings: clock: st,stm32-rcc: support spread spectrum clocking
  dt-bindings: clock: convert stm32 rcc bindings to json-schema
  clk: Use str_enable_disable-like helpers
  clk: clk-loongson2: Fix the number count of clk provider
  clk: clk-loongson2: Switch to use devm_clk_hw_register_fixed_rate_parent_data()
  clk: starfive: Make _clk_get become a common helper function
  clk: en7523: Add clock for eMMC for EN7581
  dt-bindings: clock: add ID for eMMC for EN7581
  dt-bindings: clock: drop NUM_CLOCKS define for EN7581
  clk: en7523: Rework clock handling for different clock numbers
  clk: thead: Fix cpu2vp_clk for TH1520 AP_SUBSYS clocks
  clk: thead: Add CLK_IGNORE_UNUSED to fix TH1520 boot
  ...
2025-01-22 10:54:18 -08:00
Linus Torvalds
1d6d399223 Kthreads affinity follow either of 4 existing different patterns:
1) Per-CPU kthreads must stay affine to a single CPU and never execute
    relevant code on any other CPU. This is currently handled by smpboot
    code which takes care of CPU-hotplug operations. Affinity here is
    a correctness constraint.
 
 2) Some kthreads _have_ to be affine to a specific set of CPUs and can't
    run anywhere else. The affinity is set through kthread_bind_mask()
    and the subsystem takes care by itself to handle CPU-hotplug
    operations. Affinity here is assumed to be a correctness constraint.
 
 3) Per-node kthreads _prefer_ to be affine to a specific NUMA node. This
    is not a correctness constraint but merely a preference in terms of
    memory locality. kswapd and kcompactd both fall into this category.
    The affinity is set manually like for any other task and CPU-hotplug
    is supposed to be handled by the relevant subsystem so that the task
    is properly reaffined whenever a given CPU from the node comes up.
    Also care should be taken so that the node affinity doesn't cross
    isolated (nohz_full) cpumask boundaries.
 
 4) Similar to the previous point except kthreads have a _preferred_
    affinity different than a node. Both RCU boost kthreads and RCU
    exp kworkers fall into this category as they refer to "RCU nodes"
    from a distinctly distributed tree.
 
 Currently the preferred affinity patterns (3 and 4) have at least 4
 identified users, with more or less success when it comes to handle
 CPU-hotplug operations and CPU isolation. Each of which do it in its own
 ad-hoc way.
 
 This is an infrastructure proposal to handle this with the following API
 changes:
 
 _ kthread_create_on_node() automatically affines the created kthread to
   its target node unless it has been set as per-cpu or bound with
   kthread_bind[_mask]() before the first wake-up.
 
 - kthread_affine_preferred() is a new function that can be called right
   after kthread_create_on_node() to specify a preferred affinity
   different than the specified node.
 
 When the preferred affinity can't be applied because the possible
 targets are offline or isolated (nohz_full), the kthread is affine
 to the housekeeping CPUs (which means to all online CPUs most of the
 time or only the non-nohz_full CPUs when nohz_full= is set).
 
 kswapd, kcompactd, RCU boost kthreads and RCU exp kworkers have been
 converted, along with a few old drivers.
 
 Summary of the changes:
 
 * Consolidate a bunch of ad-hoc implementations of kthread_run_on_cpu()
 
 * Introduce task_cpu_fallback_mask() that defines the default last
   resort affinity of a task to become nohz_full aware
 
 * Add some correctness check to ensure kthread_bind() is always called
   before the first kthread wake up.
 
 * Default affine kthread to its preferred node.
 
 * Convert kswapd / kcompactd and remove their halfway working ad-hoc
   affinity implementation
 
 * Implement kthreads preferred affinity
 
 * Unify kthread worker and kthread API's style
 
 * Convert RCU kthreads to the new API and remove the ad-hoc affinity
   implementation.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEd76+gtGM8MbftQlOhSRUR1COjHcFAmeNf8gACgkQhSRUR1CO
 jHedQQ/+IxTjjqQiItzrq41TES2S0desHDq8lNJFb7rsR/DtKFyLx3s67cOYV+cM
 Yx54QHg2m/Fz4nXMQ7Po5ygOtJGCKBc5C5QQy7y0lVKeTQK+daDfEtBSa3oG7j3C
 u+E3tTY6qxkbCzymUyaKkHN4/ay2vLvjFS50luV7KMyI3x47Aji+t7VdCX4LCPP2
 eAwOALWD0+7qLJ/VF6gsmQLKA4Qx7PQAzBa3KSBmUN9UcN8Gk1bQHCTIQKDHP9LQ
 v8BXrNZtYX1o2+snNYpX2z6/ECjxkdwriOgqqZY5306hd9RAQ1u46Dx3byrIqjGn
 ULG/XQ2istPyhTqb/h+RbrobdOcwEUIeqk8hRRbBXE8bPpqUz9EMuaCMxWDbQjgH
 NTuKG4ifKJ/IqstkkuDkdOiByE/ysMmwqrTXgSnu2ITNL9yY3BEgFbvA95hgo42s
 f7QCxEfZb1MHcNEMENSMwM3xw5lLMGMpxVZcMQ3gLwyotMBRrhFZm1qZJG7TITYW
 IDIeCbH4JOMdQwLs3CcWTXio0N5/85NhRNFV+IDn96OrgxObgnMtV8QwNgjXBAJ5
 wGeJWt8s34W1Zo3qS9gEuVzEhW4XaxISQQMkHe8faKkK6iHmIB/VjSQikDwwUNQ/
 AspYj82RyWBCDZsqhiYh71kpxjvS6Xp0bj39Ce1sNsOnuksxKkQ=
 =g8In
 -----END PGP SIGNATURE-----

Merge tag 'kthread-for-6.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks

Pull kthread updates from Frederic Weisbecker:
 "Kthreads affinity follow either of 4 existing different patterns:

   1) Per-CPU kthreads must stay affine to a single CPU and never
      execute relevant code on any other CPU. This is currently handled
      by smpboot code which takes care of CPU-hotplug operations.
      Affinity here is a correctness constraint.

   2) Some kthreads _have_ to be affine to a specific set of CPUs and
      can't run anywhere else. The affinity is set through
      kthread_bind_mask() and the subsystem takes care by itself to
      handle CPU-hotplug operations. Affinity here is assumed to be a
      correctness constraint.

   3) Per-node kthreads _prefer_ to be affine to a specific NUMA node.
      This is not a correctness constraint but merely a preference in
      terms of memory locality. kswapd and kcompactd both fall into this
      category. The affinity is set manually like for any other task and
      CPU-hotplug is supposed to be handled by the relevant subsystem so
      that the task is properly reaffined whenever a given CPU from the
      node comes up. Also care should be taken so that the node affinity
      doesn't cross isolated (nohz_full) cpumask boundaries.

   4) Similar to the previous point except kthreads have a _preferred_
      affinity different than a node. Both RCU boost kthreads and RCU
      exp kworkers fall into this category as they refer to "RCU nodes"
      from a distinctly distributed tree.

  Currently the preferred affinity patterns (3 and 4) have at least 4
  identified users, with more or less success when it comes to handle
  CPU-hotplug operations and CPU isolation. Each of which do it in its
  own ad-hoc way.

  This is an infrastructure proposal to handle this with the following
  API changes:

   - kthread_create_on_node() automatically affines the created kthread
     to its target node unless it has been set as per-cpu or bound with
     kthread_bind[_mask]() before the first wake-up.

   - kthread_affine_preferred() is a new function that can be called
     right after kthread_create_on_node() to specify a preferred
     affinity different than the specified node.

  When the preferred affinity can't be applied because the possible
  targets are offline or isolated (nohz_full), the kthread is affine to
  the housekeeping CPUs (which means to all online CPUs most of the time
  or only the non-nohz_full CPUs when nohz_full= is set).

  kswapd, kcompactd, RCU boost kthreads and RCU exp kworkers have been
  converted, along with a few old drivers.

  Summary of the changes:

   - Consolidate a bunch of ad-hoc implementations of
     kthread_run_on_cpu()

   - Introduce task_cpu_fallback_mask() that defines the default last
     resort affinity of a task to become nohz_full aware

   - Add some correctness check to ensure kthread_bind() is always
     called before the first kthread wake up.

   - Default affine kthread to its preferred node.

   - Convert kswapd / kcompactd and remove their halfway working ad-hoc
     affinity implementation

   - Implement kthreads preferred affinity

   - Unify kthread worker and kthread API's style

   - Convert RCU kthreads to the new API and remove the ad-hoc affinity
     implementation"

* tag 'kthread-for-6.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks:
  kthread: modify kernel-doc function name to match code
  rcu: Use kthread preferred affinity for RCU exp kworkers
  treewide: Introduce kthread_run_worker[_on_cpu]()
  kthread: Unify kthread_create_on_cpu() and kthread_create_worker_on_cpu() automatic format
  rcu: Use kthread preferred affinity for RCU boost
  kthread: Implement preferred affinity
  mm: Create/affine kswapd to its preferred node
  mm: Create/affine kcompactd to its preferred node
  kthread: Default affine kthread to its preferred NUMA node
  kthread: Make sure kthread hasn't started while binding it
  sched,arm64: Handle CPU isolation on last resort fallback rq selection
  arm64: Exclude nohz_full CPUs from 32bits el0 support
  lib: test_objpool: Use kthread_run_on_cpu()
  kallsyms: Use kthread_run_on_cpu()
  soc/qman: test: Use kthread_run_on_cpu()
  arm/bL_switcher: Use kthread_run_on_cpu()
2025-01-21 17:10:05 -08:00
Linus Torvalds
96c84703f1 drm next for 6.14-rc1
core:
 - device memory cgroup controller added
 - Remove driver date from drm_driver
 - Add drm_printer based hex dumper
 - drm memory stats docs update
 - scheduler documentation improvements
 
 new driver:
 - amdxdna - Ryzen AI NPU support
 
 connector:
 - add a mutex to protect ELD
 - make connector setup two-step
 
 panels:
 - Introduce backlight quirks infrastructure
 - New panels: KDB KD116N2130B12, Tianma TM070JDHG34-00,
 - Multi-Inno Technology MI1010Z1T-1CP11
 
 bridge:
 - ti-sn65dsi83: Add ti,lvds-vod-swing optional properties
 - Provide default implementation of atomic_check for HDMI bridges
 - it605: HDCP improvements, MCCS Support
 
 xe:
 - make OA buffer size configurable
 - GuC capture fixes
 - add ufence and g2h flushes
 - restore system memory GGTT mappings
 - ioctl fixes
 - SRIOV PF scheduling priority
 - allow fault injection
 - lots of improvements/refactors
 - Enable GuC's WA_DUAL_QUEUE for newer platforms
 - IRQ related fixes and improvements
 
 i915:
 - More accurate engine busyness metrics with GuC submission
 - Ensure partial BO segment offset never exceeds allowed max
 - Flush GuC CT receive tasklet during reset preparation
 - Some DG2 refactor to fix DG2 bugs when operating with certain CPUs
 - Fix DG1 power gate sequence
 - Enabling uncompressed 128b/132b UHBR SST
 - Handle hdmi connector init failures, and no HDMI/DP cases
 - More robust engine resets on Haswell and older
 
 i915/xe display:
 - HDCP fixes for Xe3Lpd
 - New GSC FW ARL-H/ARL-U
 - support 3 VDSC engines 12 slices
 - MBUS joining sanitisation
 - reconcile i915/xe display power mgmt
 - Xe3Lpd fixes
 - UHBR rates for Thunderbolt
 
 amdgpu:
 - DRM panic support
 - track BO memory stats at runtime
 - Fix max surface handling in DC
 - Cleaner shader support for gfx10.3 dGPUs
 - fix drm buddy trim handling
 - SDMA engine reset updates
 - Fix doorbell ttm cleanup
 - RAS updates
 - ISP updates
 - SDMA queue reset support
 - Rework DPM powergating interfaces
 - Documentation updates and cleanups
 - DCN 3.5 updates
 - Use a pm notifier to more gracefully handle VRAM eviction on suspend or hibernate
 - Add debugfs interfaces for forcing scheduling to specific engine instances
 - GG 9.5 updates
 - IH 4.4 updates
 - Make missing optional firmware less noisy
 - PSP 13.x updates
 - SMU 13.x updates
 - VCN 5.x updates
 - JPEG 5.x updates
 - GC 12.x updates
 - DC FAMS updates
 
 amdkfd:
 - GG 9.5 updates
 - Logging improvements
 - Shader debugger fixes
 - Trap handler cleanup
 - Cleanup includes
 - Eviction fence wq fix
 
 msm:
 - MDSS:
 - properly described UBWC registers
 - added SM6150 (aka QCS615) support
 - DPU:
 - added SM6150 (aka QCS615) support
 - enabled wide planes if virtual planes are enabled (by using two SSPPs for a single plane)
 - added CWB hardware blocks support
 - DSI:
 - added SM6150 (aka QCS615) support
 - GPU:
 - Print GMU core fw version
 - GMU bandwidth voting for a740 and a750
 - Expose uche trap base via uapi
 - UAPI error reporting
 
 rcar-du:
 - Add r8a779h0 Support
 
 ivpu:
 - Fix qemu crash when using passthrough
 
 nouveau:
 - expose GSP-RM logging buffers via debugfs
 
 panfrost:
 - Add MT8188 Mali-G57 MC3 support
 
 rockchip:
 - Gamma LUT support
 
 hisilicon:
 - new HIBMC support
 
 virtio-gpu:
 - convert to helpers
 - add prime support for scanout buffers
 
 v3d:
 - Add DRM_IOCTL_V3D_PERFMON_SET_GLOBAL
 
 vc4:
 - Add support for BCM2712
 
 vkms:
 - line-per-line compositing algorithm to improve performance
 
 zynqmp:
 - Add DP audio support
 
 mediatek:
 - dp: Add sdp path reset
 - dp: Support flexible length of DP calibration data
 
 etnaviv:
 - add fdinfo memory support
 - add explicit reset handling
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEEKbZHaGwW9KfbeusDHTzWXnEhr4FAmeJ5qYACgkQDHTzWXnE
 hr4o+w/9EbijDfyf8GCj4Qaxov8nZ3KEMW8LLmrYO3epfLsniX+nv01oNdbRXBjl
 QcsKixAvkyfLl61RuPnwbYiSJfxgwZ5K8rke7cshwlMB7zl7xZ+GZRoAmJlnokS4
 uhmclCriW5nfKRNAGUPcj/ReGZeyHwqvGZn3jyuShkIFpE4rDope4DQsTzm/zs/i
 +cKyRAFm86EIdTACr9DVtb1L5uNZOnHDkufRH5EZr/7CWFco1krLxb/r4cvFaiIO
 GiDaLvXKXKwzQ6NeIWWCEU2zTBz0BluI8ggxp1+WlDiYgLDWtCBpBNPAoNJO/iQS
 J+E8bsk2b/aCLSJQgxcK0y80CXpoJyALaqStdHUqxuWv3/o0g8lFUJlfJVCNPIsg
 o4mBkdbgkzkHCPxUbie7uQIx+2DIsEiwWC/YGBeRx49qEYsLWyFHf6JR8j9aHCQq
 eGanaubzR+W2AC81yktd3rcxpmX5kq8n6ax3ZtS9wnio8iyB5jBDM8QeFSAE/vXV
 B5TT1nneh+HXJ6bTwZBFXkiq2JRxUdbZIS5oQLh0zixVthBMISSsYhJ222nH1bC4
 DWIS2ggqSgqkb0WsE29CJyhJ1fPmS3v7lBXqPvjmN5vMto4gGOJAEgT6CiDpGFIz
 zXzNfrirr1r95iSST4PnYVOOkfK3t9gvbWMXgkr0wygtxyoxHzk=
 =5FIc
 -----END PGP SIGNATURE-----

Merge tag 'drm-next-2025-01-17' of https://gitlab.freedesktop.org/drm/kernel

Pull drm updates from Dave Airlie:
 "There are two external interactions of note, the msm tree pull in some
  opp tree, hopefully the opp tree arrives from the same git tree
  however it normally does.

  There is also a new cgroup controller for device memory, that is used
  by drm, so is merging through my tree. This will hopefully help open
  up gpu cgroup usage a bit more and move us forward.

  There is a new accelerator driver for the AMD XDNA Ryzen AI NPUs.

  Then the usual xe/amdgpu/i915/msm leaders and lots of changes and
  refactors across the board:

  core:
   - device memory cgroup controller added
   - Remove driver date from drm_driver
   - Add drm_printer based hex dumper
   - drm memory stats docs update
   - scheduler documentation improvements

  new driver:
   - amdxdna - Ryzen AI NPU support

  connector:
   - add a mutex to protect ELD
   - make connector setup two-step

  panels:
   - Introduce backlight quirks infrastructure
   - New panels: KDB KD116N2130B12, Tianma TM070JDHG34-00,
   - Multi-Inno Technology MI1010Z1T-1CP11

  bridge:
   - ti-sn65dsi83: Add ti,lvds-vod-swing optional properties
   - Provide default implementation of atomic_check for HDMI bridges
   - it605: HDCP improvements, MCCS Support

  xe:
   - make OA buffer size configurable
   - GuC capture fixes
   - add ufence and g2h flushes
   - restore system memory GGTT mappings
   - ioctl fixes
   - SRIOV PF scheduling priority
   - allow fault injection
   - lots of improvements/refactors
   - Enable GuC's WA_DUAL_QUEUE for newer platforms
   - IRQ related fixes and improvements

  i915:
   - More accurate engine busyness metrics with GuC submission
   - Ensure partial BO segment offset never exceeds allowed max
   - Flush GuC CT receive tasklet during reset preparation
   - Some DG2 refactor to fix DG2 bugs when operating with certain CPUs
   - Fix DG1 power gate sequence
   - Enabling uncompressed 128b/132b UHBR SST
   - Handle hdmi connector init failures, and no HDMI/DP cases
   - More robust engine resets on Haswell and older

  i915/xe display:
   - HDCP fixes for Xe3Lpd
   - New GSC FW ARL-H/ARL-U
   - support 3 VDSC engines 12 slices
   - MBUS joining sanitisation
   - reconcile i915/xe display power mgmt
   - Xe3Lpd fixes
   - UHBR rates for Thunderbolt

  amdgpu:
   - DRM panic support
   - track BO memory stats at runtime
   - Fix max surface handling in DC
   - Cleaner shader support for gfx10.3 dGPUs
   - fix drm buddy trim handling
   - SDMA engine reset updates
   - Fix doorbell ttm cleanup
   - RAS updates
   - ISP updates
   - SDMA queue reset support
   - Rework DPM powergating interfaces
   - Documentation updates and cleanups
   - DCN 3.5 updates
   - Use a pm notifier to more gracefully handle VRAM eviction on
     suspend or hibernate
   - Add debugfs interfaces for forcing scheduling to specific engine
     instances
   - GG 9.5 updates
   - IH 4.4 updates
   - Make missing optional firmware less noisy
   - PSP 13.x updates
   - SMU 13.x updates
   - VCN 5.x updates
   - JPEG 5.x updates
   - GC 12.x updates
   - DC FAMS updates

  amdkfd:
   - GG 9.5 updates
   - Logging improvements
   - Shader debugger fixes
   - Trap handler cleanup
   - Cleanup includes
   - Eviction fence wq fix

  msm:
   - MDSS:
      - properly described UBWC registers
      - added SM6150 (aka QCS615) support
   - DPU:
      - added SM6150 (aka QCS615) support
      - enabled wide planes if virtual planes are enabled (by using two
        SSPPs for a single plane)
      - added CWB hardware blocks support
   - DSI:
      - added SM6150 (aka QCS615) support
   - GPU:
      - Print GMU core fw version
      - GMU bandwidth voting for a740 and a750
      - Expose uche trap base via uapi
      - UAPI error reporting

  rcar-du:
   - Add r8a779h0 Support

  ivpu:
   - Fix qemu crash when using passthrough

  nouveau:
   - expose GSP-RM logging buffers via debugfs

  panfrost:
   - Add MT8188 Mali-G57 MC3 support

  rockchip:
   - Gamma LUT support

  hisilicon:
   - new HIBMC support

  virtio-gpu:
   - convert to helpers
   - add prime support for scanout buffers

  v3d:
   - Add DRM_IOCTL_V3D_PERFMON_SET_GLOBAL

  vc4:
   - Add support for BCM2712

  vkms:
   - line-per-line compositing algorithm to improve performance

  zynqmp:
   - Add DP audio support

  mediatek:
   - dp: Add sdp path reset
   - dp: Support flexible length of DP calibration data

  etnaviv:
   - add fdinfo memory support
   - add explicit reset handling"

* tag 'drm-next-2025-01-17' of https://gitlab.freedesktop.org/drm/kernel: (1070 commits)
  drm/bridge: fix documentation for the hdmi_audio_prepare() callback
  doc/cgroup: Fix title underline length
  drm/doc: Include new drm-compute documentation
  cgroup/dmem: Fix parameters documentation
  cgroup/dmem: Select PAGE_COUNTER
  kernel/cgroup: Remove the unused variable climit
  drm/display: hdmi: Do not read EDID on disconnected connectors
  drm/tests: hdmi: Add connector disablement test
  drm/connector: hdmi: Do atomic check when necessary
  drm/amd/display: 3.2.316
  drm/amd/display: avoid reset DTBCLK at clock init
  drm/amd/display: improve dpia pre-train
  drm/amd/display: Apply DML21 Patches
  drm/amd/display: Use HW lock mgr for PSR1
  drm/amd/display: Revised for Replay Pseudo vblank control
  drm/amd/display: Add a new flag for replay low hz
  drm/amd/display: Remove unused read_ono_state function from Hwss module
  drm/amd/display: Do not elevate mem_type change to full update
  drm/amd/display: Do not wait for PSR disable on vbl enable
  drm/amd/display: Remove unnecessary eDP power down
  ...
2025-01-21 16:09:47 -08:00
Linus Torvalds
2e04247f7c ftrace updates for v6.14:
- Have fprobes built on top of function graph infrastructure
 
   The fprobe logic is an optimized kprobe that uses ftrace to attach to
   functions when a probe is needed at the start or end of the function. The
   fprobe and kretprobe logic implements a similar method as the function
   graph tracer to trace the end of the function. That is to hijack the
   return address and jump to a trampoline to do the trace when the function
   exits. To do this, a shadow stack needs to be created to store the
   original return address.  Fprobes and function graph do this slightly
   differently. Fprobes (and kretprobes) has slots per callsite that are
   reserved to save the return address. This is fine when just a few points
   are traced. But users of fprobes, such as BPF programs, are starting to add
   many more locations, and this method does not scale.
 
   The function graph tracer was created to trace all functions in the
   kernel. In order to do this, when function graph tracing is started, every
   task gets its own shadow stack to hold the return address that is going to
   be traced. The function graph tracer has been updated to allow multiple
   users to use its infrastructure. Now have fprobes be one of those users.
   This will also allow for the fprobe and kretprobe methods to trace the
   return address to become obsolete. With new technologies like CFI that
   need to know about these methods of hijacking the return address, going
   toward a solution that has only one method of doing this will make the
   kernel less complex.
 
 - Cleanup with guard() and free() helpers
 
   There were several places in the code that had a lot of "goto out" in the
   error paths to either unlock a lock or free some memory that was
   allocated. But this is error prone. Convert the code over to use the
   guard() and free() helpers that let the compiler unlock locks or free
   memory when the function exits.
 
 - Remove disabling of interrupts in the function graph tracer
 
   When function graph tracer was first introduced, it could race with
   interrupts and NMIs. To prevent that race, it would disable interrupts and
   not trace NMIs. But the code has changed to allow NMIs and also
   interrupts. This change was done a long time ago, but the disabling of
   interrupts was never removed. Remove the disabling of interrupts in the
   function graph tracer is it is not needed. This greatly improves its
   performance.
 
 - Allow the :mod: command to enable tracing module functions on the kernel
   command line.
 
   The function tracer already has a way to enable functions to be traced in
   modules by writing ":mod:<module>" into set_ftrace_filter. That will
   enable either all the functions for the module if it is loaded, or if it
   is not, it will cache that command, and when the module is loaded that
   matches <module>, its functions will be enabled. This also allows init
   functions to be traced. But currently events do not have that feature.
 
   Because enabling function tracing can be done very early at boot up
   (before scheduling is enabled), the commands that can be done when
   function tracing is started is limited. Having the ":mod:" command to
   trace module functions as they are loaded is very useful. Update the
   kernel command line function filtering to allow it.
 -----BEGIN PGP SIGNATURE-----
 
 iIoEABYIADIWIQRRSw7ePDh/lE+zeZMp5XQQmuv6qgUCZ42E2RQccm9zdGVkdEBn
 b29kbWlzLm9yZwAKCRAp5XQQmuv6qqXSAPwOMxuhye8tb1GYG62QD9+w7e6nOmlC
 2GCPj4detnEM2QD/ciivkhespVKhHpZHRewAuSnJgHPSM45NQ3EVESzjWQ4=
 =snbx
 -----END PGP SIGNATURE-----

Merge tag 'ftrace-v6.14' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace

Pull ftrace updates from Steven Rostedt:

 - Have fprobes built on top of function graph infrastructure

   The fprobe logic is an optimized kprobe that uses ftrace to attach to
   functions when a probe is needed at the start or end of the function.
   The fprobe and kretprobe logic implements a similar method as the
   function graph tracer to trace the end of the function. That is to
   hijack the return address and jump to a trampoline to do the trace
   when the function exits. To do this, a shadow stack needs to be
   created to store the original return address. Fprobes and function
   graph do this slightly differently. Fprobes (and kretprobes) has
   slots per callsite that are reserved to save the return address. This
   is fine when just a few points are traced. But users of fprobes, such
   as BPF programs, are starting to add many more locations, and this
   method does not scale.

   The function graph tracer was created to trace all functions in the
   kernel. In order to do this, when function graph tracing is started,
   every task gets its own shadow stack to hold the return address that
   is going to be traced. The function graph tracer has been updated to
   allow multiple users to use its infrastructure. Now have fprobes be
   one of those users. This will also allow for the fprobe and kretprobe
   methods to trace the return address to become obsolete. With new
   technologies like CFI that need to know about these methods of
   hijacking the return address, going toward a solution that has only
   one method of doing this will make the kernel less complex.

 - Cleanup with guard() and free() helpers

   There were several places in the code that had a lot of "goto out" in
   the error paths to either unlock a lock or free some memory that was
   allocated. But this is error prone. Convert the code over to use the
   guard() and free() helpers that let the compiler unlock locks or free
   memory when the function exits.

 - Remove disabling of interrupts in the function graph tracer

   When function graph tracer was first introduced, it could race with
   interrupts and NMIs. To prevent that race, it would disable
   interrupts and not trace NMIs. But the code has changed to allow NMIs
   and also interrupts. This change was done a long time ago, but the
   disabling of interrupts was never removed. Remove the disabling of
   interrupts in the function graph tracer is it is not needed. This
   greatly improves its performance.

 - Allow the :mod: command to enable tracing module functions on the
   kernel command line.

   The function tracer already has a way to enable functions to be
   traced in modules by writing ":mod:<module>" into set_ftrace_filter.
   That will enable either all the functions for the module if it is
   loaded, or if it is not, it will cache that command, and when the
   module is loaded that matches <module>, its functions will be
   enabled. This also allows init functions to be traced. But currently
   events do not have that feature.

   Because enabling function tracing can be done very early at boot up
   (before scheduling is enabled), the commands that can be done when
   function tracing is started is limited. Having the ":mod:" command to
   trace module functions as they are loaded is very useful. Update the
   kernel command line function filtering to allow it.

* tag 'ftrace-v6.14' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace: (26 commits)
  ftrace: Implement :mod: cache filtering on kernel command line
  tracing: Adopt __free() and guard() for trace_fprobe.c
  bpf: Use ftrace_get_symaddr() for kprobe_multi probes
  ftrace: Add ftrace_get_symaddr to convert fentry_ip to symaddr
  Documentation: probes: Update fprobe on function-graph tracer
  selftests/ftrace: Add a test case for repeating register/unregister fprobe
  selftests: ftrace: Remove obsolate maxactive syntax check
  tracing/fprobe: Remove nr_maxactive from fprobe
  fprobe: Add fprobe_header encoding feature
  fprobe: Rewrite fprobe on function-graph tracer
  s390/tracing: Enable HAVE_FTRACE_GRAPH_FUNC
  ftrace: Add CONFIG_HAVE_FTRACE_GRAPH_FUNC
  bpf: Enable kprobe_multi feature if CONFIG_FPROBE is enabled
  tracing/fprobe: Enable fprobe events with CONFIG_DYNAMIC_FTRACE_WITH_ARGS
  tracing: Add ftrace_fill_perf_regs() for perf event
  tracing: Add ftrace_partial_regs() for converting ftrace_regs to pt_regs
  fprobe: Use ftrace_regs in fprobe exit handler
  fprobe: Use ftrace_regs in fprobe entry handler
  fgraph: Pass ftrace_regs to retfunc
  fgraph: Replace fgraph_ret_regs with ftrace_regs
  ...
2025-01-21 15:15:28 -08:00
Linus Torvalds
4c551165e7 Updates for the interrupt subsystem:
- Consolidation of the machine_kexec_mask_interrupts() by providing a
     generic implementation and replacing the copy & pasta orgy in the
     relevant architectures.
 
   - Prevent unconditional operations on interrupt chips during kexec
     shutdown, which can trigger warnings in certain cases when the
     underlying interrupt has been shut down before.
 
   - Make the enforcement of interrupt handling in interrupt context
     unconditionally available, so that it actually works for non x86
     related interrupt chips. The earlier enablement for ARM GIC chips set
     the required chip flag, but did not notice that the check was hidden
     behind a config switch which is not selected by ARM[64].
 
   - Decrapify the handling of deferred interrupt affinity setting. Some
     interrupt chips require that affinity changes are made from the context
     of handling an interrupt to avoid certain race conditions. For x86 this
     was the default, but with interrupt remapping this requirement was
     lifted and a flag was introduced which tells the core code that
     affinity changes can be done in any context. Unrestricted affinity
     changes are the default for the majority of interrupt chips. RISCV has
     the requirement to add the deferred mode to one of it's interrupt
     controllers, but with the original implementation this would require to
     add the any context flag to all other RISC-V interrupt chips. That's
     backwards, so reverse the logic and require that chips, which need the
     deferred mode have to be marked accordingly. That avoids chasing the
     'sane' chips and marking them.
 
   - Add multi-node support to the Loongarch AVEC interrupt controller
     driver.
 
   - The usual tiny cleanups, fixes and improvements all over the place.
 -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCgAxFiEEQp8+kY+LLUocC4bMphj1TA10mKEFAmePkVITHHRnbHhAbGlu
 dXRyb25peC5kZQAKCRCmGPVMDXSYoRbQD/9bHVph/V9Ekl7JAX3aY4gG4JbRhOc7
 dp1VAcHRhktRfoTztYRbjsbMu2nvZ58GKA8bkOS2jHSF/m3PbkIJfOhwk0YdIAoa
 +kdy5yDgqCGfkqW43DN4Cr+CnzGjWMitw67tFp3fhwehMDpDjdt2L28IjtanSS0f
 hO6FV7o65MWeJwxk4Isb2/nvkO+X23Lrp6RrWS8SXBnF9FFXxiPIg/fiOPTizhCh
 1W/bSGxLLb9WwsVzmlGAKVFlXDij0QGaIUug2fdVZ63OsELXD7tJrLSPG133yk92
 ppIa0s6BT4IBsfM00us4hG15PkLuJmP3yWWcoquG0rP8Wq58VOXiN6+rcJIyvB+5
 mWceTH6IKfZGoRQKwXC7BxeBAIb147reiJtb06meq1/8ADIvzafiNy0c8x9i/UaV
 QiyhPVENjaGCGDomZmJQqN7Yb02Wge1k8InQnodDrHxZNl/bX/B1Z8Bxd0n6hPHg
 NSJXYif2AxgaddpohsdygqRDbT6SNyQdj7YjJFY5qAGJ3yFyJ4JB6WTqkWW4o1vH
 3FVqdAnJmejAmmYSkah0Hkem2T5QASQmTWb93PLxiV6q+d0NM8stWAujjyVdIV/B
 W4Uj9mQ20cz54TjLtxqX+A1k6KcqOWRgh1l2QbUlFsgsOP3V8yz47yqYdR9qMWlO
 9kNEjI3sw+G/IQ==
 =q4rj
 -----END PGP SIGNATURE-----

Merge tag 'irq-core-2025-01-21' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull interrupt subsystem updates from Thomas Gleixner:

 - Consolidate the machine_kexec_mask_interrupts() by providing a
   generic implementation and replacing the copy & pasta orgy in the
   relevant architectures.

 - Prevent unconditional operations on interrupt chips during kexec
   shutdown, which can trigger warnings in certain cases when the
   underlying interrupt has been shut down before.

 - Make the enforcement of interrupt handling in interrupt context
   unconditionally available, so that it actually works for non x86
   related interrupt chips. The earlier enablement for ARM GIC chips set
   the required chip flag, but did not notice that the check was hidden
   behind a config switch which is not selected by ARM[64].

 - Decrapify the handling of deferred interrupt affinity setting.

   Some interrupt chips require that affinity changes are made from the
   context of handling an interrupt to avoid certain race conditions.
   For x86 this was the default, but with interrupt remapping this
   requirement was lifted and a flag was introduced which tells the core
   code that affinity changes can be done in any context. Unrestricted
   affinity changes are the default for the majority of interrupt chips.

   RISCV has the requirement to add the deferred mode to one of it's
   interrupt controllers, but with the original implementation this
   would require to add the any context flag to all other RISC-V
   interrupt chips. That's backwards, so reverse the logic and require
   that chips, which need the deferred mode have to be marked
   accordingly. That avoids chasing the 'sane' chips and marking them.

 - Add multi-node support to the Loongarch AVEC interrupt controller
   driver.

 - The usual tiny cleanups, fixes and improvements all over the place.

* tag 'irq-core-2025-01-21' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  genirq/generic_chip: Export irq_gc_mask_disable_and_ack_set()
  genirq/timings: Add kernel-doc for a function parameter
  genirq: Remove IRQ_MOVE_PCNTXT and related code
  x86/apic: Convert to IRQCHIP_MOVE_DEFERRED
  genirq: Provide IRQCHIP_MOVE_DEFERRED
  hexagon: Remove GENERIC_PENDING_IRQ leftover
  ARC: Remove GENERIC_PENDING_IRQ
  genirq: Remove handle_enforce_irqctx() wrapper
  genirq: Make handle_enforce_irqctx() unconditionally available
  irqchip/loongarch-avec: Add multi-nodes topology support
  irqchip/ts4800: Replace seq_printf() by seq_puts()
  irqchip/ti-sci-inta : Add module build support
  irqchip/ti-sci-intr: Add module build support
  irqchip/irq-brcmstb-l2: Replace brcmstb_l2_mask_and_ack() by generic function
  irqchip: keystone: Use syscon_regmap_lookup_by_phandle_args
  genirq/kexec: Prevent redundant IRQ masking by checking state before shutdown
  kexec: Consolidate machine_kexec_mask_interrupts() implementation
  genirq: Reuse irq_thread_fn() for forced thread case
  genirq: Move irq_thread_fn() further up in the code
2025-01-21 13:51:07 -08:00
Linus Torvalds
9ad09c4f28 arm64 updates for 6.14
Confidential Computing:
 * Register a platform device when running in CCA realm mode to enable
   automatic loading of dependent modules.
 
 CPU Features:
 * Update a bunch of system register definitions to pick up new field
   encodings from the architectural documentation.
 
 * Add hwcaps and selftests for the new (2024) dpISA extensions.
 
 Documentation:
 * Update EL3 (firmware) requirements for booting Linux on modern arm64
   designs.
 
 * Remove stale information about the kernel virtual memory map.
 
 Miscellaneous:
 * Minor cleanups and typo fixes.
 
 Memory management:
 * Fix vmemmap_check_pmd() to look at the PMD type bits
 
 * LPA2 (52-bit physical addressing) cleanups and minor fixes.
 
 * Adjust physical address space depending upon whether or not LPA2 is
   enabled.
 
 Perf and PMUs:
 * Add port filtering support for NVIDIA's NVLINK-C2C Coresight PMU
 
 * Extend AXI filtering support for the DDR PMU on NXP IMX SoCs
 
 * Fix Designware PCIe PMU event numbering.
 
 * Add generic branch events for the Apple M1 CPU PMU.
 
 * Add support for Marvell Odyssey DDR and LLC-TAD PMUs.
 
 * Cleanups to the Hisilicon DDRC and Uncore PMU code.
 
 * Advertise discard mode for the SPE PMU.
 
 * Add the perf users mailing list to our MAINTAINERS entry.
 -----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCgAuFiEEPxTL6PPUbjXGY88ct6xw3ITBYzQFAmeKZLcQHHdpbGxAa2Vy
 bmVsLm9yZwAKCRC3rHDchMFjNEQzB/0X2U89ZiqxIkTPQvfFrjN/uUGybkq59rEL
 DfeoGukTgJIwc3GHWXXtQ//wuuYKdTeCXaIz5NFK3+7/wmKSLvjkexmue8pta6EY
 5rx9bAPr/D8lAUvhKIN2l3pF/ygoRwDz+nT2yVQ1xlZxYJWX7ZIsMj7W7ceb5kdx
 HRrTSQuhEEPREAWWO4oCMWl5SQZSrIflSE3Be/PsP0OhW6k//ZmWbcJTgUcHbKam
 o2WtNjITyGzxMpRCcrGEZKoe9YcwSxiut/PoD7JuoB4C/rbsf1cdJ6uLmtvGJcZj
 qsdRHhVfBzP1+ahONrDbiT3C2+s1UZySKdCDIxiYy6lB39wpP0dd
 =E7Mf
 -----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:
 "We've got a little less than normal thanks to the holidays in
  December, but there's the usual summary below. The highlight is
  probably the 52-bit physical addressing (LPA2) clean-up from Ard.

  Confidential Computing:

   - Register a platform device when running in CCA realm mode to enable
     automatic loading of dependent modules

  CPU Features:

   - Update a bunch of system register definitions to pick up new field
     encodings from the architectural documentation

   - Add hwcaps and selftests for the new (2024) dpISA extensions

  Documentation:

   - Update EL3 (firmware) requirements for booting Linux on modern
     arm64 designs

   - Remove stale information about the kernel virtual memory map

  Miscellaneous:

   - Minor cleanups and typo fixes

  Memory management:

   - Fix vmemmap_check_pmd() to look at the PMD type bits

   - LPA2 (52-bit physical addressing) cleanups and minor fixes

   - Adjust physical address space depending upon whether or not LPA2 is
     enabled

  Perf and PMUs:

   - Add port filtering support for NVIDIA's NVLINK-C2C Coresight PMU

   - Extend AXI filtering support for the DDR PMU on NXP IMX SoCs

   - Fix Designware PCIe PMU event numbering

   - Add generic branch events for the Apple M1 CPU PMU

   - Add support for Marvell Odyssey DDR and LLC-TAD PMUs

   - Cleanups to the Hisilicon DDRC and Uncore PMU code

   - Advertise discard mode for the SPE PMU

   - Add the perf users mailing list to our MAINTAINERS entry"

* tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (64 commits)
  Documentation: arm64: Remove stale and redundant virtual memory diagrams
  perf docs: arm_spe: Document new discard mode
  perf: arm_spe: Add format option for discard mode
  MAINTAINERS: Add perf list for drivers/perf/
  arm64: Remove duplicate included header
  drivers/perf: apple_m1: Map generic branch events
  arm64: rsi: Add automatic arm-cca-guest module loading
  kselftest/arm64: Add 2024 dpISA extensions to hwcap test
  KVM: arm64: Allow control of dpISA extensions in ID_AA64ISAR3_EL1
  arm64/hwcap: Describe 2024 dpISA extensions to userspace
  arm64/sysreg: Update ID_AA64SMFR0_EL1 to DDI0601 2024-12
  arm64: Filter out SVE hwcaps when FEAT_SVE isn't implemented
  drivers/perf: hisi: Set correct IRQ affinity for PMUs with no association
  arm64/sme: Move storage of reg_smidr to __cpuinfo_store_cpu()
  arm64: mm: Test for pmd_sect() in vmemmap_check_pmd()
  arm64/mm: Replace open encodings with PXD_TABLE_BIT
  arm64/mm: Rename pte_mkpresent() as pte_mkvalid()
  arm64/sysreg: Update ID_AA64ISAR2_EL1 to DDI0601 2024-09
  arm64/sysreg: Update ID_AA64ZFR0_EL1 to DDI0601 2024-09
  arm64/sysreg: Update ID_AA64FPFR0_EL1 to DDI0601 2024-09
  ...
2025-01-20 21:21:49 -08:00
Will Deacon
602ffd4ce3 Merge branch 'for-next/mm' into for-next/core
* for-next/mm:
  arm64: mm: Test for pmd_sect() in vmemmap_check_pmd()
  arm64/mm: Replace open encodings with PXD_TABLE_BIT
  arm64/mm: Rename pte_mkpresent() as pte_mkvalid()
  arm64: Kconfig: force ARM64_PAN=y when enabling TTBR0 sw PAN
  arm64/kvm: Avoid invalid physical addresses to signal owner updates
  arm64/kvm: Configure HYP TCR.PS/DS based on host stage1
  arm64/mm: Override PARange for !LPA2 and use it consistently
  arm64/mm: Reduce PA space to 48 bits when LPA2 is not enabled
2025-01-17 13:52:33 +00:00
Will Deacon
6e1173306e Merge branch 'for-next/misc' into for-next/core
* for-next/misc:
  arm64: Remove duplicate included header
  arm64/Kconfig: Drop EXECMEM dependency from ARCH_WANTS_EXECMEM_LATE
  arm64: asm: Fix typo in pgtable.h
  arm64/mm: Ensure adequate HUGE_MAX_HSTATE
  arm64/mm: Replace open encodings with PXD_TABLE_BIT
  arm64/mm: Drop INIT_MM_CONTEXT()
2025-01-17 13:52:29 +00:00
Will Deacon
763d584c5b Merge branch 'for-next/cpufeature' into for-next/core
* for-next/cpufeature:
  kselftest/arm64: Add 2024 dpISA extensions to hwcap test
  KVM: arm64: Allow control of dpISA extensions in ID_AA64ISAR3_EL1
  arm64/hwcap: Describe 2024 dpISA extensions to userspace
  arm64/sysreg: Update ID_AA64SMFR0_EL1 to DDI0601 2024-12
  arm64: Filter out SVE hwcaps when FEAT_SVE isn't implemented
  arm64/sme: Move storage of reg_smidr to __cpuinfo_store_cpu()
  arm64/sysreg: Update ID_AA64ISAR2_EL1 to DDI0601 2024-09
  arm64/sysreg: Update ID_AA64ZFR0_EL1 to DDI0601 2024-09
  arm64/sysreg: Update ID_AA64FPFR0_EL1 to DDI0601 2024-09
  arm64/sysreg: Update ID_AA64ISAR3_EL1 to DDI0601 2024-09
  arm64/sysreg: Update ID_AA64PFR2_EL1 to DDI0601 2024-09
  arm64/sysreg: Get rid of CPACR_ELx SysregFields
  arm64/sysreg: Convert *_EL12 accessors to Mapping
  arm64/sysreg: Get rid of the TCR2_EL1x SysregFields
  arm64/sysreg: Allow a 'Mapping' descriptor for system registers
  arm64/cpufeature: Refactor conditional logic in init_cpu_ftr_reg()
  arm64: cpufeature: Add HAFT to cpucap_is_possible()
2025-01-17 13:52:15 +00:00
Marc Zyngier
01009b06a6 arm64/sysreg: Get rid of TRFCR_ELx SysregFields
There is no such thing as TRFCR_ELx in the architecture.
What we have is TRFCR_EL1, for which TRFCR_EL12 is an accessor.

Rename TRFCR_ELx_* to TRFCR_EL1_*, and fix the bit of code using
these names.

Similarly, TRFCR_EL12 is redefined as a mapping to TRFCR_EL1.

Reviewed-by: James Clark <james.clark@linaro.org>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/87cygsqgkh.wl-maz@kernel.org
Cc: Suzuki K Poulose <suzuki.poulose@arm.com>
Cc: Mark Brown <broonie@kernel.org>
Cc: Will Deacon <will@kernel.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>
2025-01-17 11:07:55 +00:00
Marc Zyngier
fa5e4043e9 Merge branch kvm-arm64/misc-6.14 into kvmarm-master/next
* kvm-arm64/misc-6.14:
  : .
  : Misc KVM/arm64 changes for 6.14
  :
  : - Don't expose AArch32 EL0 capability when NV is enabled
  :
  : - Update documentation to reflect the full gamut of kvm-arm.mode
  :   behaviours
  :
  : - Use the hypervisor VA bit width when dumping stacktraces
  :
  : - Decouple the hypervisor stack size from PAGE_SIZE, at least
  :   on the surface...
  :
  : - Make use of str_enabled_disabled() when advertising GICv4.1 support
  :
  : - Explicitly handle BRBE traps as UNDEFINED
  : .
  KVM: arm64: Explicitly handle BRBE traps as UNDEFINED
  KVM: arm64: vgic: Use str_enabled_disabled() in vgic_v3_probe()
  arm64: kvm: Introduce nvhe stack size constants
  KVM: arm64: Fix nVHE stacktrace VA bits mask
  Documentation: Update the behaviour of "kvm-arm.mode"
  KVM: arm64: nv: Advertise the lack of AArch32 EL0 support

Signed-off-by: Marc Zyngier <maz@kernel.org>
2025-01-17 11:06:50 +00:00
Marc Zyngier
3643b334aa Merge branch kvm-arm64/nv-resx-fixes-6.14 into kvmarm-master/next
* kvm-arm64/nv-resx-fixes-6.14:
  : .
  : Fixes for NV sysreg accessors. From the cover letter:
  :
  : "Joey recently reported that some rather basic tests were failing on
  : NV, and managed to track it down to critical register fields (such as
  : HCR_EL2.E2H) not having their expect value.
  :
  : Further investigation has outlined a couple of critical issues:
  :
  : - Evaluating HCR_EL2.E2H must always be done with a sanitising
  :   accessor, no ifs, no buts. Given that KVM assumes a fixed value for
  :   this bit, we cannot leave it to the guest to mess with.
  :
  : - Resetting the sysreg file must result in the RESx bits taking
  :   effect. Otherwise, we may end-up making the wrong decision (see
  :   above), and we definitely expose invalid values to the guest. Note
  :   that because we compute the RESx masks very late in the VM setup, we
  :   need to apply these masks at that particular point as well.
  : [...]"
  : .
  KVM: arm64: nv: Apply RESx settings to sysreg reset values
  KVM: arm64: nv: Always evaluate HCR_EL2 using sanitising accessors

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

# Conflicts:
#	arch/arm64/kvm/nested.c
2025-01-17 11:06:33 +00:00
Marc Zyngier
946904e728 Merge branch kvm-arm64/coresight-6.14 into kvmarm-master/next
* kvm-arm64/coresight-6.14:
  : .
  : Trace filtering update from James Clark. From the cover letter:
  :
  : "The guest filtering rules from the Perf session are now honored for both
  : nVHE and VHE modes. This is done by either writing to TRFCR_EL12 at the
  : start of the Perf session and doing nothing else further, or caching the
  : guest value and writing it at guest switch for nVHE. In pKVM, trace is
  : now be disabled for both protected and unprotected guests."
  : .
  KVM: arm64: Fix selftests after sysreg field name update
  coresight: Pass guest TRFCR value to KVM
  KVM: arm64: Support trace filtering for guests
  KVM: arm64: coresight: Give TRBE enabled state to KVM
  coresight: trbe: Remove redundant disable call
  arm64/sysreg/tools: Move TRFCR definitions to sysreg
  tools: arm64: Update sysreg.h header files

Signed-off-by: Marc Zyngier <maz@kernel.org>
2025-01-17 11:05:44 +00:00
Marc Zyngier
5e68d2eeac Merge branch kvm-arm64/pkvm-memshare-declutter into kvmarm-master/next
* kvm-arm64/pkvm-memshare-declutter:
  : .
  : pKVM memory transition simplifications, courtesy of Quentin Perret.
  :
  : From the cover letter:
  : "Since its early days, pKVM has formalized memory 'transitions' (shares
  : and donations) using 'struct pkvm_mem_transition' and bunch of helpers
  : to manipulate it. The intention was for all transitions to use this
  : machinery to ensure we're checking things consistently. However, as
  : development progressed, it became clear that the rigidity of this model
  : made it really difficult to use in some use-cases which ended-up
  : side-stepping it entirely. That is the case for the
  : hyp_{un}pin_shared_mem() and host_{un}share_guest() paths upstream which
  : use lower level helpers directly, as well as for several other pKVM
  : features that should land upstream in the future (ex: when a guest
  : relinquishes a page during ballooning, when annotating a page that is
  : being DMA'd to, ...). On top of this, the pkvm_mem_transition machinery
  : requires a lot of boilerplate which makes the code hard to read, but
  : also adds layers of indirection that no compilers seems to see through,
  : hence leading to suboptimal generated code.
  :
  : Given all the above, this series removes the pkvm_mem_transition
  : machinery from mem_protect.c, and converts all its users to use
  : __*_{check,set}_page_state_range() low-level helpers directly."
  : .
  KVM: arm64: Drop pkvm_mem_transition for host/hyp donations
  KVM: arm64: Drop pkvm_mem_transition for host/hyp sharing
  KVM: arm64: Drop pkvm_mem_transition for FF-A
  KVM: arm64: Only apply PMCR_EL0.P to the guest range of counters
  KVM: arm64: nv: Reload PMU events upon MDCR_EL2.HPME change
  KVM: arm64: Use KVM_REQ_RELOAD_PMU to handle PMCR_EL0.E change
  KVM: arm64: Add unified helper for reprogramming counters by mask
  KVM: arm64: Always check the state from hyp_ack_unshare()
  KVM: arm64: Fix set_id_regs selftest for ASIDBITS becoming unwritable

Signed-off-by: Marc Zyngier <maz@kernel.org>
2025-01-17 11:05:18 +00:00
Marc Zyngier
080612b294 Merge branch kvm-arm64/nv-timers into kvmarm-master/next
* kvm-arm64/nv-timers:
  : .
  : Nested Virt support for the EL2 timers. From the initial cover letter:
  :
  : "Here's another batch of NV-related patches, this time bringing in most
  : of the timer support for EL2 as well as nested guests.
  :
  : The code is pretty convoluted for a bunch of reasons:
  :
  : - FEAT_NV2 breaks the timer semantics by redirecting HW controls to
  :   memory, meaning that a guest could setup a timer and never see it
  :   firing until the next exit
  :
  : - We go try hard to reflect the timer state in memory, but that's not
  :   great.
  :
  : - With FEAT_ECV, we can finally correctly emulate the virtual timer,
  :   but this emulation is pretty costly
  :
  : - As a way to make things suck less, we handle timer reads as early as
  :   possible, and only defer writes to the normal trap handling
  :
  : - Finally, some implementations are badly broken, and require some
  :   hand-holding, irrespective of NV support. So we try and reuse the NV
  :   infrastructure to make them usable. This could be further optimised,
  :   but I'm running out of patience for this sort of HW.
  :
  : [...]"
  : .
  KVM: arm64: nv: Fix doc header layout for timers
  KVM: arm64: nv: Document EL2 timer API
  KVM: arm64: Work around x1e's CNTVOFF_EL2 bogosity
  KVM: arm64: nv: Sanitise CNTHCTL_EL2
  KVM: arm64: nv: Propagate CNTHCTL_EL2.EL1NV{P,V}CT bits
  KVM: arm64: nv: Add trap routing for CNTHCTL_EL2.EL1{NVPCT,NVVCT,TVT,TVCT}
  KVM: arm64: Handle counter access early in non-HYP context
  KVM: arm64: nv: Accelerate EL0 counter accesses from hypervisor context
  KVM: arm64: nv: Accelerate EL0 timer read accesses when FEAT_ECV in use
  KVM: arm64: nv: Use FEAT_ECV to trap access to EL0 timers
  KVM: arm64: nv: Publish emulated timer interrupt state in the in-memory state
  KVM: arm64: nv: Sync nested timer state with FEAT_NV2
  KVM: arm64: nv: Add handling of EL2-specific timer registers

Signed-off-by: Marc Zyngier <maz@kernel.org>
2025-01-17 11:04:53 +00:00
Arnd Bergmann
dec61b88d9 mvebu dt64 for 6.14 (part 1)
Fix errors reported by dtbs_check for sata related nodes
 Fix cp1 comphy link on Marvell CN913x platforms
 -----BEGIN PGP SIGNATURE-----
 
 iF0EABECAB0WIQQYqXDMF3cvSLY+g9cLBhiOFHI71QUCZ4E2EAAKCRALBhiOFHI7
 1Q0bAJ4/7Dp0kQeWAutADvoGK2yUQOWj9wCeJ/lHO4tr+weMTRuHmxAjtt1tjCA=
 =BqFW
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmeJJ9EACgkQYKtH/8kJ
 Uic8uhAAkcOtIlnrhX2J6OIQOHDP5Ly5xfhkOcmO/9gA79S695ivlTo5KrZUonXj
 E0MZ0kMqFSDn3MOL5dCkt+KkDenyvLZmha72LeibY4iCCgYlaA9zhhmNcr4wYck1
 uNWw3/PGOHyiC5BmYsA+fkJ50H5es0XatZuATdHz8Qsd9eJ0+ELNOBeJUe/TatY/
 oCW88MKFhFz5vpgqBE3R8dXk+dnE4JhpUkG+KH2OM5LKihL6z6PD05flqSexGjZc
 ehWHP6P7bvBMfNH7d5RdBoeCdtMyBP7BiqNNLcmz2wXlXNRi6sk5XkxPvCRqHFEI
 aNjRHwr5dFzMY8AD6WBQtKZON1ZWerPUcgWI9/NCUFzY6RnpvCm7sYQa1STy8gun
 47KktkV+utm6qUgPl6PMIoYgexaNP3WsAP1Ljw65i1F+mYAT2CCf1unNv6nUb7PH
 AkmgYxmYyYs3IJDMb/Fp4A/dEKnaDUS3j4jupOv0zAJ0cypbJt9uXEaKEHoGTajK
 VGasPa1F1It26nwdA7uRMVCEaYuhZZ15xZNMUKZsfiBQUHUrBrSDiNfABEPlHVcJ
 negRvDOlCwbl1FEyd+D9lEnoEm/4/O/d1siKci0+QC34d4k/HKknmrCXju7IIQBT
 yCzu8ETkfemWzTTLzbxxJB9vf7AWm/7D6hDysxryJP9f24s6t04=
 =6EbJ
 -----END PGP SIGNATURE-----

Merge tag 'mvebu-dt64-6.14-1' of https://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu into soc/dt

mvebu dt64 for 6.14 (part 1)

Fix errors reported by dtbs_check for sata related nodes
Fix cp1 comphy link on Marvell CN913x platforms

* tag 'mvebu-dt64-6.14-1' of https://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu:
  arm64: dts: marvell: drop additional phy-names for sata
  arm64: dts: marvell: only enable complete sata nodes
  arm64: dts: marvell: cn9131-cf-solidwan: fix cp1 comphy links

Link: https://lore.kernel.org/r/87frlnygej.fsf@BLaptop.bootlin.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-01-16 16:37:53 +01:00
Arnd Bergmann
116eda2ec9 Qualcomm Arm64 DeviceTree updates for v6.14
This adds support for the new Snapdragon 8 Elite platform with MTP and
 QRD boards, QCS615 platform with the Ride board, QCS8300 platform with
 its Ride board, IPQ5424 platform with the RDP466 board, MSM8917 platform
 with Xiaomi Redmi 5A, and the SAR2130P platform with the Snapdragon AR2
 Gen1 Smart Viewer Development Kit.
 
 On X Elite the HP Omnibook X laptop and the Snapdragon Devkit are added.
 The 8cx Gen3-based Huawaei Matebook E Go and Microsoft Windows Dev Kit
 2023 are introduced.
 
 IPQ9574 gains PCIe and TRNG descriptions, together with a few other
 smaller improvements. TRNG is also enabled on the IPQ5332 platform.
 
 On MSM8994, Huawei Nexus 6P gains power and volume keys support. USB
 interrupts are corrected.
 
 On QCM6490 the FairPhone 5 gains camera EEPROM and Rb3Gen2 development
 kit gains description of the onboard LEDs.
 
 On QRB4210 RB2 support for HDMI audio playback is added.
 
 SA8775P gains missing clock controllers, CPUs are tied to PSCI power
 domains, DisplayPort is introduced and enabled on the Ride board.
 
 On SDM670 the GPU components are described and enabled for Google Pixel
 3a, together with camera clock controller and flash LED.
 
 Xiaomi Mi Pad 5 Pro, on SM8250, gets WiFi and Bluetooth enabled.
 
 "global" IRQ for PCIe RC controllers are described on SM8550 and SM8650,
 to allow for hotplug events.
 
 Coresight support is added for SM8450, SM8650, X 1 Elite, QCS615,
 and QCS8300.
 
 The X Elite platform gains QUP power domains and OPPs, another PCIe
 controller, another UART, and its SDHCI controllers. The ASUS Vivobook S
 15 gets GPU and lid switch enabled. Microsoft Surface Laptop 7 gains
 audio configuration, SD card reader support, and USB retimers. The
 Lenovo Yoga Slim 7x gets its LID switch described. Dell XPS 13 gains
 retimers described. The Lenovo Thinkpad T14s has additional USB ports
 enabled, as well as sound and fingerprint sensor.
 
 USB U1/U2 entry is disabled across a variety of platforms, to improve
 USB stability.
 
 sleep clock frequencies are reviewed and corrected for a variety of
 platforms, so is also various remoteproc mmio address ranges.
 -----BEGIN PGP SIGNATURE-----
 
 iQJJBAABCAAzFiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmeCs/AVHGFuZGVyc3Nv
 bkBrZXJuZWwub3JnAAoJEAsfOT8Nma3F0sIQAIAqtb0BfPYFi/Mn0cbahH8wzPNP
 q7RWfcIweNvAWpT7F7IBcaQpX9+14l0R5rCYzK+6BJzgPbaB5n3SPZVM+Szb/Ivy
 o8QxFG0j81Fn9KkM+bIuZdUd3joSwxNK61cOzGclI3lU8ljBJsc9qrm7l2eprgo2
 t3OZ9deXitP8ucPPOd1u7KdTtbtyLd95Ts54b0rnHlV3Lt6cEFidFsC1RPkK5qw2
 hzSEqDNjlg6cviVn5d4F29oezVyEsg1EDdU77Jr8y7zjx/H3moPgR+uOwHwz5vil
 UJ8kyYCZpUfVqnvG43Ts+KVxM2xxkkrWVxDFT5DtLYB1N83NOHBiOtN0Yix/Wi6Q
 1I/tZydc/+YeTR7PQMZQ0iMJ03iuv/GyWG2zRcA2djq7saU/iuToU+RlrouKwXnX
 ktVt2C6PFGXOG+bvATA61y2P5copNZqSOvfLBW75sYWyOTGkskDrolCWGQu03VhO
 d40vobBIW4qKonCWrrSPDm/riAL1yBxP3ZMPRzbskl0KReVkCNXKnP/VIccHoLeY
 AYRfl/1ABEYgADIzkqVAoF7qF0TeWH4Re1rao7fgKGR9oURisuZGWrqxRIZdmKqa
 z3Za0XSzRFqhoav4jsrw5xiOlTKbwFsXsCYfhpSrYXnV7sQn2gy+Iw0I674AqJxD
 MUY2eBMhi3HVBUnN
 =DnFP
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmeJGEUACgkQYKtH/8kJ
 Uieh1A/+Nvq8cwy8vNwwcfGibi5PC+X2UpLiXohm92sUBipilRwuRLMJztr5w/cL
 E/2Pa6h3XmY5trR6LTDd7/HoNnQ8t2B3VgPRqGLA6Qe6ITymr/Xl0QA+tWvVPYu+
 EKB2qUPUompMmz4GpkmoZMGND7ed2QjfOTocFRkeMxCcXpdXUZinuOjlOBNBq8WE
 L5e3ybkbBtFVWqaVt1S87DXGQ1MP0mvFWejNB4m2m+MpfZDLO+uPnZLxuOY7/rJk
 9L3xzdRO5AboNCVvoM9gh0S4xDJDmOGaa3AGwsf7gbo6lDskCHNQKKXzndrtT4YA
 JdJALiQ3UUhWRF1YgnV1jb1KGHWtRGCjI5sICcR+z722przNYo7JOaYuSx5oIIfm
 3ZNj/GrYPA4X3bktDbzAcUxlpEqhVKQFhSdAIcwS4+622ywOEoOCeyiAgsMnA0IX
 OhhRYbHp6Zz5hTSvRklF34Nlz4Xz/5Zp2K0/MemvmiuXS/gG62WKdUEGFsdUT3bR
 ncJuPF6sAdZsXXkblf96hDKzG7S4RZKYxPcqOjwHhuZNvSKlPt1JhePGp8jxdk3H
 c8HIxguSIqB/7nGrhKW2CvX4C0f2Ob1Xkzq1yFhhRu4ZlVO+QI/1chYtj2i6QwDQ
 /CC3AjizvyK0dPzuwwRpVgm84tTKjkIiHU00rFHo/akWKYrJjBA=
 =XqwN
 -----END PGP SIGNATURE-----

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

Qualcomm Arm64 DeviceTree updates for v6.14

This adds support for the new Snapdragon 8 Elite platform with MTP and
QRD boards, QCS615 platform with the Ride board, QCS8300 platform with
its Ride board, IPQ5424 platform with the RDP466 board, MSM8917 platform
with Xiaomi Redmi 5A, and the SAR2130P platform with the Snapdragon AR2
Gen1 Smart Viewer Development Kit.

On X Elite the HP Omnibook X laptop and the Snapdragon Devkit are added.
The 8cx Gen3-based Huawaei Matebook E Go and Microsoft Windows Dev Kit
2023 are introduced.

IPQ9574 gains PCIe and TRNG descriptions, together with a few other
smaller improvements. TRNG is also enabled on the IPQ5332 platform.

On MSM8994, Huawei Nexus 6P gains power and volume keys support. USB
interrupts are corrected.

On QCM6490 the FairPhone 5 gains camera EEPROM and Rb3Gen2 development
kit gains description of the onboard LEDs.

On QRB4210 RB2 support for HDMI audio playback is added.

SA8775P gains missing clock controllers, CPUs are tied to PSCI power
domains, DisplayPort is introduced and enabled on the Ride board.

On SDM670 the GPU components are described and enabled for Google Pixel
3a, together with camera clock controller and flash LED.

Xiaomi Mi Pad 5 Pro, on SM8250, gets WiFi and Bluetooth enabled.

"global" IRQ for PCIe RC controllers are described on SM8550 and SM8650,
to allow for hotplug events.

Coresight support is added for SM8450, SM8650, X 1 Elite, QCS615,
and QCS8300.

The X Elite platform gains QUP power domains and OPPs, another PCIe
controller, another UART, and its SDHCI controllers. The ASUS Vivobook S
15 gets GPU and lid switch enabled. Microsoft Surface Laptop 7 gains
audio configuration, SD card reader support, and USB retimers. The
Lenovo Yoga Slim 7x gets its LID switch described. Dell XPS 13 gains
retimers described. The Lenovo Thinkpad T14s has additional USB ports
enabled, as well as sound and fingerprint sensor.

USB U1/U2 entry is disabled across a variety of platforms, to improve
USB stability.

sleep clock frequencies are reviewed and corrected for a variety of
platforms, so is also various remoteproc mmio address ranges.

* tag 'qcom-arm64-for-6.14' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (240 commits)
  arm64: dts: qcom: x1e80100-romulus: Update firmware nodes
  arm64: dts: qcom: msm8916-samsung-serranove: Add display panel
  arm64: dts: qcom: sm8650: Add 'global' interrupt to the PCIe RC nodes
  arm64: dts: qcom: sm8550: Add 'global' interrupt to the PCIe RC nodes
  arm64: dts: qcom: Remove unused and undocumented properties
  arm64: dts: qcom: sdm450-lenovo-tbx605f: add DSI panel nodes
  arm64: dts: qcom: pmi8950: add LAB-IBB nodes
  arm64: dts: qcom: ipq5424: enable the download mode support
  arm64: dts: qcom: ipq5424: add scm node
  arm64: dts: qcom: sm8250: Fix interrupt types of camss interrupts
  arm64: dts: qcom: sdm845: Fix interrupt types of camss interrupts
  arm64: dts: qcom: sc8280xp: Fix interrupt type of camss interrupts
  arm64: dts: qcom: qcs8300-ride: Enable USB controllers
  arm64: dts: qcom: qcs8300: Add support for usb nodes
  arm64: dts: qcom: qcs8300: Add support for clock controllers
  arm64: dts: qcom: sm8450: Add coresight nodes
  arm64: dts: qcom: sa8775p: Fix the size of 'addr_space' regions
  arm64: dts: qcom: qcs615-ride: Enable UFS node
  arm64: dts: qcom: qcs615: add UFS node
  arm64: dts: qcom: ipq5424: Add USB controller and phy nodes
  ...

Link: https://lore.kernel.org/r/20250111181025.394631-1-andersson@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-01-16 15:31:33 +01:00
Arnd Bergmann
29a0522094 New boards rk3576-evb1, H96 Max V58 TV Box (rk3588), BigTreeTech CB2
(SoM + baseboard) and Pi2 (SBC), Firefly ITX-3588J (Core-3588J SoM),
 Orange Pi 5 Max.
 
 A interesting case is the Radxa E52C using a soc called rk3582. This is
 rk3588-variant where some cpu cores are disabled during production and
 the bootloader needs to read the available cores from efuses and adapt
 the DT it hands over to the kernel.
 
 New supported peripherals are just the naneng combophy + the usb
 controllers using them on the rk3576 as well as the arm,smmu attached
 to the PCI controller on rk3588.
 
 And finally there are of course a number of board-specific enablements
 and refinements (MCU on Qnap-TS433, USB3 on NanoPi R6C/R6S and Orange Pi
 5+ etc.
 -----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCAAuFiEE7v+35S2Q1vLNA3Lx86Z5yZzRHYEFAmeBsd0QHGhlaWtvQHNu
 dGVjaC5kZQAKCRDzpnnJnNEdgb3ACACUZKG31p8IQ2dzkbR+0HZSNef3F2q+ENcP
 /NLqeLSzMbs2FbyWu4yRrymrQyeBsIsrH0/catdoj+Z5fMp8VvD6eabN6u/35pEy
 Tl0K8PgYs6FAQ4Lm4dl0Z+D/g7R1/uOphQdRbrcsFKnfC4rXGkXrWb9fbg1ejN9A
 tOPORXVXXOv4aCMV7gmyC5WdlkFTjpG0prgFf88edj1LQSTfk9mRE0G+tTe9jvQq
 FfDqCF71ckODrV2yrYJMw6+7t/oi0ewxfM8J33dofs8xxDjT5kw+3FR9PxCe8cBL
 NnyjC0ntYykgDWTrTJSDeETto2zA4BoRU4LSizD+ZZQrcUZirVj6
 =4vmj
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmeJF68ACgkQYKtH/8kJ
 UicNhQ/+Izw9YQp3Bf2Mi8abOY19IoqyL2m1nVlFG6ipylJMNbrb+FOZeR41aNsV
 rUxh/q0C0kYQ7QkgL1N3BfRu9d6wLicHqpIsjmLKssJmn040SpbDeOjm1HSKp2F2
 YwjX3vO4fWJS5D03FdLEuK+FeaoHIUOvb5H+fXGswZyOQIvdAXqWcRAHd//1DPVI
 1lQBQbKmRwBndnOSq4WwV1M+CwsYSGa2v4AFUyNmHc1Qe2sMozkHvUoK8e1ccMpO
 r5iPA244udmVi0vIB0E1CEKUuw+XwnRx0UQYt+FLQiFWadh/mSfP+b3k+Rd6U5ir
 ZZ7FIIfcZTZVpv8QbSGWUXiPx8sLQG31lfbBEXSKb9Am/tN4fAP1Ckq+kWhyDJRB
 YORO8NbJYLR9ZGcD19KWQNRErAKLbtlq5De35kpOaNe9OEcFTCTitf8TK2ZkHv93
 ImOQyv8wPjNFgwD7yqBAPcYoR/iCIAb5LO7otykzku5CiepmSlvAz93FmqUMkcS/
 s4Tt0Yijc2y++zKOx2oI7FG2S/nk0ZUJg51d42MyRtjP5aMED9jMAC8n3MywuBf9
 /akJVYxdv/q8+drDZbgyoSRhPN1O3BT1dh2LGtBJaI4qugVvkFS8j0FthGjE1g89
 fbbbNRUB0A2714X5uoozwaURJ1jl2GrGiqh3xAs+NqoYRP6sD0E=
 =c5iW
 -----END PGP SIGNATURE-----

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

New boards rk3576-evb1, H96 Max V58 TV Box (rk3588), BigTreeTech CB2
(SoM + baseboard) and Pi2 (SBC), Firefly ITX-3588J (Core-3588J SoM),
Orange Pi 5 Max.

A interesting case is the Radxa E52C using a soc called rk3582. This is
rk3588-variant where some cpu cores are disabled during production and
the bootloader needs to read the available cores from efuses and adapt
the DT it hands over to the kernel.

New supported peripherals are just the naneng combophy + the usb
controllers using them on the rk3576 as well as the arm,smmu attached
to the PCI controller on rk3588.

And finally there are of course a number of board-specific enablements
and refinements (MCU on Qnap-TS433, USB3 on NanoPi R6C/R6S and Orange Pi
5+ etc.

* tag 'v6.14-rockchip-dts64-1' of https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: (31 commits)
  arm64: dts: rockchip: add DTs for Firefly ITX-3588J and its Core-3588J SoM
  dt-bindings: arm: rockchip: Add Firefly ITX-3588J board
  arm64: dts: rockchip: Add Orange Pi 5 Max board
  dt-bindings: arm: rockchip: Add Xunlong Orange Pi 5 Max
  arm64: dts: rockchip: refactor common rk3588-orangepi-5.dtsi
  arm64: dts: rockchip: add WLAN to rk3588-evb1 controller
  arm64: dts: rockchip: increase gmac rx_delay on rk3399-puma
  arm64: dts: rockchip: Delete redundant RK3328 GMAC stability fixes
  arm64: dts: rockchip: enable hdmi out audio on wolfvision pf5
  arm64: dts: rockchip: fix num-channels property of wolfvision pf5 mic
  arm64: dts: rockchip: Enable the USB 3.0 port on NanoPi R6C/R6S
  arm64: dts: rockchip: Add FRAM MB85RS128TY to rk3568-mecsbc
  arm64: dts: rockchip: Remove unused i2c2 node from rk3568-mecsbc
  arm64: dts: rockchip: Fix PCIe3 handling for Edgeble-6TOPS Modules
  arm64: dts: rockchip: Add Radxa E52C
  dt-bindings: arm: rockchip: Add Radxa E52C
  arm64: dts: rockchip: Add BigTreeTech CB2 and Pi2
  dt-bindings: arm: rockchip: Add BigTreeTech CB2 and Pi2
  arm64: dts: rockchip: Enable USB 3.0 ports on orangepi-5-plus
  arm64: dts: rockchip: Add H96 Max V58 TV Box based on RK3588 SoC
  ...

Link: https://lore.kernel.org/r/2193001.3Lj2Plt8kZ@diego
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-01-16 15:29:03 +01:00
Arnd Bergmann
ce4805664b TI K3 device tree updates for v6.14
Generic Fixups/Cleanups:
 - Remove unused and undocumented "ti,(rx|tx)-fifo-depth" properties for
   ethernet phy
 - Clock description added to ICSS-G
 
 SoC Specific features and Fixes:
 - Duplicate GICR reg defines in am62x/am62ax
 - Mailbox nodes are enabled at board level bringing AM67/j722s/am62p to same
   behavior as other K3 SoCs.
 - Introduction of deep-sleep state defines for pinctrl header
 
 AM62Ax
 - Enable ti-sysc for wkup_uart0
 
 AM64:
 - Switch ICSSG clock to core clock.
 
 J7200:
 - Disable SPI1 loopback default.
 
 J784s4:
 - Clock ID fix for McSPI instances
 - Use j7200-padconf compatibility for padconf to enable suspend-to-ram support.
 
 Board Specific:
 
 AM62
 - phyboard - hdmi bridge regulator and using 16bit input for hdmi bridge,
   vcc-supply for i2c eeprom
 - SK - SoC wakeup using USB1, Add bootph property around cpsw mac syscon node,
   M4 mailbox node redefinition fixup.
 - BeaglePlay: Fix ethernet phy reset time
 
 AM64
 - hummingboard-t: Convert PCIE/USB overlays to independent dts.
 
 j7200:
 - EVM: fix typo in overlay name.
 
 j721e:
 - EVM: overlay for pcie1 endpoint mode.
 
 j722s:
 - EVM: Add mcu_i2c0 support for expansion pins., Add USB0 DFU support, Enable
   PMIC
 - AM67a-beagley-ai: Add remote proc nodes
 
 j784s4:
 - AM69-SK/ j784s4-EVM - Mark PMIC regulators with bootph-all property to
   indicate ones that are needed through boot phases.
 - AM69-sk: PIC0 Endpoint mode overlay, USB Superspeed mode.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEE+KKGk1TrgjIXoxo03bWEnRc2JJ0FAmeBg4IACgkQ3bWEnRc2
 JJ2S7w//QzPdkA1niL7/KXOadjUgrVJkUe4Ck9tpBYPGmDRxowONF2z6fauNRvDt
 OOxxmwfPwbDwGP0GLxYUOIf6WzXFB6IQhkFOgItxhjDnu9MUIHDCE4IVCgewwiil
 wpXZ7pPqMu7N13IfmpLgPGV4m/KUGjbN2ZBNvFw3SEV5VDA9r7pruGNpBC3z6Nzj
 V3e9bCVWvxTxUX3vOI5Wxq+Oqpo+lSc7MRDedb/fgVRwrt5+LQ7EIN6R2EVsHDR7
 BtINNRbduzsfHZmSXXYIKnv6XMdsoTqfauMa9YQzNg3DoI6ua5Yqh0RwOkM0IS4P
 l7hFHKrmiiU+zKH0kVwc7T0ipmvspU61uGPQx/6tlZGIacTXBg/KazHYfpgdLIwJ
 hoZfGCfab3kjo7tpciTkjIPib6NHbhpOS5QVx3NKk9KUYrutahVeZE6KnQ2eVUWm
 Xhbu1AFCTzZvC8Q2cBQdsRgAkON8pjQWjF6D5YLJPrTaQ2SNyW2d7FQavC0GHkZK
 TCiPbmP/Cskw8LkpW4PEJOjdiOYZlBj3Vepr4+A6gZNMESZkrVb4X4Ub6KTMDOBK
 /jrw8aecyZMCUlMHmnb3t66J2sWpnTUPDf1P4686o1gGiIHlig7abdbthVG/VGPr
 MsLXM9w9Mrtv7ld9Ra9hu4npJzZMZtJi/PInnOTh2BKvJkOu3J8=
 =CWTE
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmeJF3YACgkQYKtH/8kJ
 Uidj0w//XTlHUzbYxgXLsrW6ORNephizA2FsKasXX/s1/fhrY2hc5gRWdTM5JYHd
 IG+HVlB95GPhy9f61VjEcj+WDHXzc3wx0vbhaODIPUOuZ8U+dqn7l5TEqZkWsRMN
 Ay44AbjnMZxubrsxMxa8DT3WVxezjdV8UcObDhG7xmMNxxalh0JRXZF98PldzAGE
 hKM1mdnWqp1aqfKCQrAFmkQoZtNu/wlzh8nHUIO5tRIKjyYdLEFd3l4VUGtWHAtp
 kbc7TktXkJDmYYA0l5mm9B+RRvwjr8tobk1imtIIIQcWOiboqCQr95hYLE0DEd31
 7XEnseNqDLGdnEvwEBwLw3ADnTYbLxwVofn4zqy+LWHNcKAYmG/HhGYUe1UOuDH+
 DCpJ73uNO9/rlnKpOL5rYHR/+ZgacPZ3vAVjXiNdIhsB6eiX9tYvaZ62reoUvq+a
 m2ynRGopQGlwmZdpOQaExWWxJNIjqxP/MesN+DlOO5E3hfF1I7ZW1eoqDU1iF3mZ
 Y/P8nEWRvietQ2MIwl0T2qjkViIvOwmZHeFk0/x7wYHrRAgnWS2g95ThcfDg1jbF
 M2/8h9pgX1Y/6L/eFc0CMe+lIxpi4NXNRdUUkMKd+z0aUHxfHC+rnL4zp76OpT0x
 WLYKvHSsg0cPYboi6kzBszqHHbx62DmgHYazUxExvVh08+3D6x0=
 =vrRY
 -----END PGP SIGNATURE-----

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

TI K3 device tree updates for v6.14

Generic Fixups/Cleanups:
- Remove unused and undocumented "ti,(rx|tx)-fifo-depth" properties for
  ethernet phy
- Clock description added to ICSS-G

SoC Specific features and Fixes:
- Duplicate GICR reg defines in am62x/am62ax
- Mailbox nodes are enabled at board level bringing AM67/j722s/am62p to same
  behavior as other K3 SoCs.
- Introduction of deep-sleep state defines for pinctrl header

AM62Ax
- Enable ti-sysc for wkup_uart0

AM64:
- Switch ICSSG clock to core clock.

J7200:
- Disable SPI1 loopback default.

J784s4:
- Clock ID fix for McSPI instances
- Use j7200-padconf compatibility for padconf to enable suspend-to-ram support.

Board Specific:

AM62
- phyboard - hdmi bridge regulator and using 16bit input for hdmi bridge,
  vcc-supply for i2c eeprom
- SK - SoC wakeup using USB1, Add bootph property around cpsw mac syscon node,
  M4 mailbox node redefinition fixup.
- BeaglePlay: Fix ethernet phy reset time

AM64
- hummingboard-t: Convert PCIE/USB overlays to independent dts.

j7200:
- EVM: fix typo in overlay name.

j721e:
- EVM: overlay for pcie1 endpoint mode.

j722s:
- EVM: Add mcu_i2c0 support for expansion pins., Add USB0 DFU support, Enable
  PMIC
- AM67a-beagley-ai: Add remote proc nodes

j784s4:
- AM69-SK/ j784s4-EVM - Mark PMIC regulators with bootph-all property to
  indicate ones that are needed through boot phases.
- AM69-sk: PIC0 Endpoint mode overlay, USB Superspeed mode.

* tag 'ti-k3-dt-for-v6.14' of https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux: (31 commits)
  arm64: dts: ti: k3-am62a-wakeup: Configure ti-sysc for wkup_uart0
  arm64: dts: ti: k3-j722s-evm: Enable PMIC
  arm64: dts: ti: k3-am69-sk: Add USB SuperSpeed support
  arm64: dts: ti: k3-am625-beagleplay: Fix DP83TD510E reset time
  arm64: dts: ti: k3-am642-hummingboard-t: Convert overlay to board dts
  arm64: dts: ti: k3-am69-sk: Add overlay for PCIE0 Endpoint Mode
  arm64: dts: ti: k3-am68-sk-base-board: Add overlay for PCIE1 Endpoint Mode
  arm64: dts: ti: k3-j721e-evm: Add overlay for PCIE1 Endpoint Mode
  arm64: dts: ti: Makefile: Fix typo "k3-j7200-evm-pcie1-ep.dtbo"
  arm64: dts: ti: k3-j7200: Add node to disable loopback connection
  arm64: dts: ti: k3-j784s4: Use ti,j7200-padconf compatible
  arm64: dts: ti: k3-am62p-j722s-common-main: Enable USB0 for DFU boot
  arm64: dts: ti: k3-am62a: Remove duplicate GICR reg
  arm64: dts: ti: k3-am62: Remove duplicate GICR reg
  arm64: dts: ti: k3-am67a-beagley-ai: Add remote processor nodes
  arm64: dts: ti: k3-am62p: Enable Mailbox nodes at the board level
  arm64: dts: ti: k3-am625-sk: Remove M4 mailbox node redefinition
  arm64: dts: ti: k3-j722s-evm: Enable support for mcu_i2c0
  arm64: dts: ti: k3-am62x-sk-common: Add bootph-all property in cpsw_mac_syscon node
  arm64: dts: ti: Remove unused and undocumented "ti,(rx|tx)-fifo-depth" properties
  ...

Link: https://lore.kernel.org/r/20250110210812.bdpypzvmg6s6sr5t@itinerary
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-01-16 15:28:06 +01:00
Arnd Bergmann
73ac18dec2 arm64: tegra: Device tree fixes for v6.14-rc1
These patches fix up an issue with the DMA support on one of the SPI
 controllers, as well as properly identify the SCE fabric and disable
 it to prevent accessing registers that may not be accessible to the
 CPU. Finally, the GIC's #address-cells property is set to 0 to fix a
 problem in the PCIe interrupt-map property.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmeBX/wACgkQ3SOs138+
 s6FJMQ//QTiQ/jZNgr3s1/jLCUW+y9mHywFzT8Oa746T18wf25cq3rjEE+C9j/VE
 ioogR/BEUGnCvwMRqculyCfsM72kgYor5X/olU1xcP4nTCj2x/X0mzud6xfPKS7b
 xvw4a9CHUgRs80c+nh7DqgMQrfxO/GFoSTMgCTDarrCNMOwavOStNUT63hqlN1tO
 cdoDe4fHFKL/sdXeD/wxKDNYrHgER47S4lIoeRgMVINCQ33h6bNByZeSMUR7btdX
 29C8QhFdEbxvyolzvrbIChS6FgtEemZZM30lcrZmRwnuCJ1hV0xazzPzyS14CEES
 QtqGFgWxsX1YfMyN8jdORctMa2++zVsMq6iHorPSP3Nw8qO2jTDqs8ypNgEyYLOt
 4hLk5oMVvFtCEvW0Su3iCsQOUSYKKtiAiwW92NaZxtqEgd+QvXiCl1dPAqXoseon
 V95dLTP2X4SMkwJoxb2M9pgS5A3XC6x3ZsDjRhqk456HYJkjcf0VG+iRblUe70DB
 6NPEDgvfkPAz3iWH4Z6Y30xN1cUDbqWL11rzNTNuRYUa9viq4L4o3E4o/XEHh+J7
 kZyZC+J3HYy3hXeh/6dPw61H+QLbY/s+tsN/B3IyYm/+yn15kQGteL683418luko
 PQ4vilBkzPve9la7Cc8uc/t4n3Fr5CPf76A7N+2yNM3HNGvePCk=
 =IIxY
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmeJFMkACgkQYKtH/8kJ
 Uic4Vg/7B4aPh20jS/k+zOs2jHqGap5Yt72jBpPDIbevT9Y2xZ4KSBV9excG0aYZ
 lLmVjNyfra2SpTh5GQnO9vULdLc7CPqS6DpflWO1n9bBnpNpoAuRaBAT/+udbm8Q
 ucC7h7ST78VkZ4zbzBkPtk6yMYovm9b1tPxsNRSOG1GSpqSWVAfvGIWvtuRlEELF
 NglFROn18aRTrZrZrMtHpOkT7ZixLKaUgeVO9sPPh02ouem+YVP25h7b0PQ+qSIL
 e5nlI3Vi60Q7f+gCuAPDc+Cf8UbnnwQPRLV3qkcv/nTY94783rpvj0i5t2Zy2zL6
 Sp1Mo0Fe9k7p4iKmmWbf9z483W684a306Q7VQ+DtmaNPICvb+RqbPS+DqOFuhJAF
 gfDOehzRZ7xWTvVFGpfRgM+0Mb5ODAfm7JjXuPzB26pIHs8kmC8bwR1/DrHtUQ0w
 6SWHKr6stzPulp9l/JwUY3HbXvbTlZfCc5yfo6Jyu7LwE8I+zfTPSMqoRmW1ub1b
 JiZ/3UyqhUq/pvrKqSR0RiVQBSZ3oPAEB1koKMufZ0vG4EjG8/9fLhr84u2AY+X5
 2Psrx6KiXIclaiG3qd8IDsAlyQ2T2YolYJnypwz6mlWv/75xJAkAYbyiEyVq9/ew
 p+PhLF4Rof6hGgYBzbO8JX77Zi/1L81AfGsVXIWMk/4haG79Pvs=
 =wbJd
 -----END PGP SIGNATURE-----

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

arm64: tegra: Device tree fixes for v6.14-rc1

These patches fix up an issue with the DMA support on one of the SPI
controllers, as well as properly identify the SCE fabric and disable
it to prevent accessing registers that may not be accessible to the
CPU. Finally, the GIC's #address-cells property is set to 0 to fix a
problem in the PCIe interrupt-map property.

* tag 'tegra-for-6.14-arm64-dt' of https://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  arm64: tegra: Fix Tegra234 PCIe interrupt-map
  arm64: tegra: Disable Tegra234 sce-fabric node
  arm64: tegra: Fix typo in Tegra234 dce-fabric compatible
  arm64: tegra: Fix DMA ID for SPI2

Link: https://lore.kernel.org/r/20250110185355.4143505-3-thierry.reding@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-01-16 15:16:41 +01:00
Arnd Bergmann
ab6efed7ec This pull request contains Broadcom ARM64-based SoCs Device Tree updates
for 6.14:
 
 - Dave adds the display pipeline DT nodes on BCM2712 (Raspberry Pi 5)
 
 - Rob removes some undocumented properties
 
 - Same ensures that the CFE stub area is reserved to allow secondary
   CPUs to be successfully brought up in Linux, also making sure that the
   address used in the spin table is also carved out. Finally he adds
   support for the Zyxel EX3510-B router using BCM4906
 
 - Rosen converts the BCM4908 platforms to use the more flexible
   nvmem-layout representation
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEm+Rq3+YGJdiR9yuFh9CWnEQHBwQFAmeAFF4ACgkQh9CWnEQH
 BwT0GxAAky4zXzWxJfeBflilG4vKj9T9pYo9ECqgc7/EBGk8+JlXGZM0WqQmJiPs
 tngRySVW7AR9ZI7OwzcnLWyErKm4HgnN4tBPEUkJf12fmoUDNo/q0jw2CyRLw7Hi
 X7cYGE83iJI4WoDxAnI66AEDlSfbC0yoFLM4xzoW8lCsWDjhIG7D2naV1utpaWm4
 MfdwEW6/oRZHL8Tm+2FCYXVl3rW68rrjbHQKN2r1nahyzBPhWkxDqjYwlXxZSYiv
 uVyY9SZPBhBadD7owCr2eGbXhwNAaclnqlPUud9YBJgIruRi6TeHjBC/53uQfLBS
 0r5KZAC33NAjhjg8lfMaZMKmDzciUi3x3iNbMWskcsYPSgrAz9+GjOnoHyGgbWUs
 T7iGwMcWX1nG8SFhhkLtqWar8kSs5kZGXR25dFsn/uKHeIoDFq2gLDRFVfxanZXt
 jvVChgFRS3i27r4QARmLeWhdcfvM0mg4yVby1Ge14iQCPy6dFJlIHBKWVWQR5iRJ
 Oy56zmLT3xMfquE4A99YeJcSEkssHLDSY91AZoM73jvylnSpvEFWOMkYWiYBMten
 5JLEe2hqd4r4WBBkNtvv6g1cyNrKKBND5cGSrOO+cCupGY9HZbJMlrzf4/M2CdGg
 E/y+VhISOCEZr9iqk0OMJ720AuAoGN7elLAkTAsP1os3sJPiO9Q=
 =Cpr3
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmeJEzsACgkQYKtH/8kJ
 UifHUQ/+IK/7JxLvZ/5VEoCEFVHuvpUEUzQNNhzO5i5UzWYeJIijmhKpSoVmgS45
 2SIB4FdjkeDr8S93ZVYZGiM3/P0AwDD46YsRMxvUWSSw5fDX1xbGJNrD708QSPTy
 Uy6coBIhhcmFX8TJw9PU86mt143ll+c/1zmu23WSyIM/US9tYjMbGYC0qhVG1Qbq
 O7tbIBWJnwoXmwKSbx5R3xEnKMWzIvYcnp6OVvv+OnlKK7FnA4lBORG7qrewBhgi
 5oUpifX2QWx6PGpHsmBpznzg8NAOouAFoY46z/tvZQeRwq2mo6haLW+M95BpttGd
 JYM03mAud1IBnf2BNGaJT25euAcsLI6Io2CGaQi2qXd2s26anhaoEXxzHoJbYoGp
 /QCSCvgjM/yMmqJnC4c7gAglus1WrzVEiMGzoq44KeMPqgcgMBHZRKVV79/x06Ai
 FZJUawHiJs/2LKqGH9IpwQEjWiCbzmX3Hhkh+KR+uEiZ77z0oBhFfsROCUi6vDmH
 AlkND/7R81au8Gy7vOJY/9ECJ4xtJzKlrPe4sI4XJPj6Kunhq9x6HKjpLtioM4Vg
 3jd1rHviIXUIvQgIc7JNPUPG5F0UbMF88kPxeTLWZ/7uVQeatQ2fGq0v5qiaQkKd
 F/Ca6mJQiU/aCCHjeIEmRwkA7Ib/h5Ixee48XSxRoLvMqrLMkuo=
 =tcyR
 -----END PGP SIGNATURE-----

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

This pull request contains Broadcom ARM64-based SoCs Device Tree updates
for 6.14:

- Dave adds the display pipeline DT nodes on BCM2712 (Raspberry Pi 5)

- Rob removes some undocumented properties

- Same ensures that the CFE stub area is reserved to allow secondary
  CPUs to be successfully brought up in Linux, also making sure that the
  address used in the spin table is also carved out. Finally he adds
  support for the Zyxel EX3510-B router using BCM4906

- Rosen converts the BCM4908 platforms to use the more flexible
  nvmem-layout representation

* tag 'arm-soc/for-6.14/devicetree-arm64' of https://github.com/Broadcom/stblinux:
  arm64: dts: bcm4908: nvmem-layout conversion
  arm64: dts: broadcom: bcmbca: bcm4908: Add DT for Zyxel EX3510-B
  dt-bindings: arm64: bcmbca: Add Zyxel EX3510-B based on BCM4906
  arm64: dts: broadcom: bcmbca: bcm4908: Protect cpu-release-addr
  arm64: dts: broadcom: bcmbca: bcm4908: Reserve CFE stub area
  arm64: dts: broadcom: Remove unused and undocumented properties
  arm64: dts: broadcom: Add DT for D-step version of BCM2712
  arm64: dts: broadcom: Add display pipeline support to BCM2712
  arm64: dts: broadcom: Add firmware clocks and power nodes to Pi5 DT

Link: https://lore.kernel.org/r/20250109224756.3632025-2-florian.fainelli@broadcom.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-01-16 15:10:03 +01:00
Arnd Bergmann
36ad66238e Allwinner Device Tree changes for 6.14
- Add support for DMA engine and audio codec on F1C100s
   and enable audio codec on Lichee Pi Nano
 - Add syscon and SRAM nodes for A100
 - Enable CPU DVFS for Tanix TX1
 - Explicitly configure TCON0 pixel clock parent according to display
   output used
 
 This includes one commit shared with the clock tree
 
     dt-bindings: clock: sunxi: Export PLL_VIDEO_2X and PLL_MIPI
 
 which adds the macros for the TCON0 pixel clock parents.
 -----BEGIN PGP SIGNATURE-----
 
 iQJCBAABCgAsFiEE2nN1m/hhnkhOWjtHOJpUIZwPJDAFAmd+iXwOHHdlbnNAY3Np
 ZS5vcmcACgkQOJpUIZwPJDBXjRAAtDe3dNrPw9vcsv1d0xVp2J3Q4gOGLhf/BzN+
 +1Bg1ETngDwkHF11KAD38t+3z/Kccg63tsy8F8GBzE9MxhDUka3IdIV9WZkeRcn0
 Cb97gtPAc3yawgGtOwNbzf/5YFU26z89X3m2yLl2JcXXp2KN+aHt4yccCNi1s+79
 lJBKzDNVlEVxsqRYAJtC13FLNfoG/oGKjAG7+qJu79WjjlXJu55eEGfLOHQFhpVX
 rUauQkY2uOxRJ8AqA/YjqY3zSSQW0N1dp6KGhxy2IjXcE9sBOG3G6CsRTfzXMYXb
 b78viKGSz/vahUs82Tnb9OI6kAOMS06rRrI6wmZzsb9hopC2LUKX2u9oJwUN31SI
 Oz5tCgGgt8Do63KW3Ds9BORvqg6MymMmjf8KCHieOm3WXuKElHY4lY5X2y/FK1jH
 JAYrtwbjxce0KMQFI61lUNHH3eJYnW3G1mN9Ii9CnRNKSoROSt/7bA2DsQkBD11Y
 5tSZag73T83p/v8+vXEosN+zf41dATNTP3E3pLzGWOjabtm01e5I25FhiT5BgWog
 WshcSKhIKESuek/zyg/6TfDCPHKFmFFnX+itUyzDP1tTT5o8Ij307QIaJqAQR/CC
 Jq+q1HL1u5SDOogWrd74cQG9RDGFIT0eLTu1SAnoRN3foj+IpE8DEF+4FjEI1Zk7
 qVHZzds=
 =+zy6
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmeJEVYACgkQYKtH/8kJ
 UidE9Q/9GDSLN1ZzsOa8z9xf33IpH9RAWZ2Ir//WnVlMgPpp04P1S87qA6CUNjIN
 c/j9jDSKQoullQa06C7ON6DkyZr8wYrxlOYQ8Dh5bq54vXB5JS7z0r/4+H759CnJ
 JtF5aUpcY2ubAsCtmbA86ex2Yu4TwSc24RmMUUMO3thh3JtQiUxkDFEmMLzhSKMU
 C6bl5pT9YlGPwnVo105zXK687x67YdT7S/Foi291lDGr2PlJeGpH7ZakDgn5/S1h
 J4g2LytSyUyrGLNFq30t8wTfBBgLyjuVQstBm5k7ff/GuY2wowMZvBVAS/4Mm07D
 YoeLY9vq4Rvx+CrrFRem0bptLSAp7IIfO1zLpJUnPoUl50vJi3BIq/VCEJeajTEg
 Pw2tFR5SlaC2uu3XH6jOXHVLVH7hrUElOr0usdklxhnKFogymz75da891ZPK56KC
 ZYJkNagqrFcZgPoSXXaijzZZ3q3uWKXL4olPqjUKAx7FHX8RLTrSWelAxSwYQ33B
 L3jDQ9v1LQCnxyAnZBPDjBxxnI8KdxyGRv9iC0lTaxVkyxgawIGM3mbpfl1PF8uN
 zmqB+42BEeAudupEAVZuKph2vDaSWPS9bG91yzuZxY+a31Myx87Wog7vQ/LU1PX0
 IS45Ji6Nv5+SNdi9NO9GY9h1pJYu/wzK4Fmq2CRn4YJtF7tABOQ=
 =zhiA
 -----END PGP SIGNATURE-----

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

Allwinner Device Tree changes for 6.14

- Add support for DMA engine and audio codec on F1C100s
  and enable audio codec on Lichee Pi Nano
- Add syscon and SRAM nodes for A100
- Enable CPU DVFS for Tanix TX1
- Explicitly configure TCON0 pixel clock parent according to display
  output used

This includes one commit shared with the clock tree

    dt-bindings: clock: sunxi: Export PLL_VIDEO_2X and PLL_MIPI

which adds the macros for the TCON0 pixel clock parents.

* tag 'sunxi-dt-for-6.14' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
  arm64: dts: allwinner: a64: explicitly assign clock parent for TCON0
  dt-bindings: clock: sunxi: Export PLL_VIDEO_2X and PLL_MIPI
  arm64: dts: allwinner: h313: enable DVFS for Tanix TX1
  arm64: dts: allwinner: a100: Add syscon nodes
  dt-bindings: sram: sunxi-sram: Add A100 compatible
  ARM: dts: suniv: f1c100s: Activate Audio Codec for Lichee Pi Nano
  ARM: dts: suniv: f1c100s: Add support for Audio Codec
  ARM: dts: suniv: f1c100s: Add support for DMA

Link: https://lore.kernel.org/r/Z36h2FwUxro8rouO@wens.tw
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-01-16 15:01:58 +01:00
Arnd Bergmann
5c9e59a05b MediaTek ARM64 DeviceTree updates for v6.14
This adds a few cleanups, enhances support for upstreamed SoCs
 and machines, other than adding new ones.
 
 In particular, fixes and improvements:
  - MT8516 gets a few fixes for GICv2, Watchdog and I2C, and
    support for the Keypad controller;
  - MT8390 Genio 700 board gets basic audio support;
  - MT8365 gets an alias for its integrated ethernet controller;
  - MT8195 gets an important fix for system suspend: all of the
    machines based on this SoC and its IoT variant can now
    properly perform PM Suspend to RAM;
  - MT8188 gets support for its Mali GPU with DVFS and a fix for
    the OVL Hardware found in the Display Controller using the
    right compatible strings;
  - MT8186 Chromebooks can now suspend properly thanks to a fix
    moving the USB wakeups from XHCI to MTU3 (USB) controller;
  - MT8183 Chromebooks get a fix for their DMIC microphone and
    proper support for their second-source touchscreen;
  - MT7988 SoC and the BananaPi R4 board gets support for Pinctrl,
    eMMC/SD, Thermal, CPU DVFS, PCI-Express, and peripherals like
    the RT5190A PMIC, PCA9545 I2C mux, and others;
  - MT7986 BananaPi R3 board gets support for SATA power socket;
 
 And cleanups:
  - Dropped regulator-compatible property from MediaTek DTs;
  - Aligned thermal node names with bindings on MT8183 Kukui;
  - MT6397 PMIC get proper sub-node names, fixing dt validation;
  - The property enabling Wake-On-Lan feature changed in all of
    the boards and driver to match the actual meaning of it
    (mediatek,mac-wol now enables wol on mac instead of phy);
  - Compatibles for MediaTek PMIC Keypad are added to bindings
    and can now pass dts validation;
 
 ...and the newly added machines are:
  - MT8188 (Ciri) Lenovo Chromebook Duet
  - MT8186 (Starmie) ASUS Chromebook Enterprise CM30
  - MT8186 (Chinchou) ASUS Chromebook CZ12 and CZ12 Flip
 -----BEGIN PGP SIGNATURE-----
 
 iJ4EABYKAEYWIQQn3Xxr56ypAcSHzXSaNgTPrZeEeAUCZ35MmigcYW5nZWxvZ2lv
 YWNjaGluby5kZWxyZWdub0Bjb2xsYWJvcmEuY29tAAoJEJo2BM+tl4R4JE4A/3Bj
 3aajf1GuDl8oxKuTGmx4k8ih3QpfwkhFE/R6FOvzAQDzsZBOHqJtXSuaRCWxvpR9
 ezFHytWtk3w2NJuRjK8vDw==
 =HRtU
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmeJDlcACgkQYKtH/8kJ
 UidYdg//cFqLJg0al12zaXooEHyRjh5Xc12H2yf2OPDKXyk7pp95By7p+Db2Pct9
 2jAbOMoeZKJmSXwH0A+R5pdH3FJuXI7pLlGmsWd1BuGWqTbeEzihXyf1oK2uNhSU
 5i6PcfUjc10865LAKGuD+zCAz2nzjZq8F5hAm1sShE6zaY/2xQ24QCaFBc1ZrkN1
 xiGgGI8lBCGEXZRUiumCi/31AQbH/yGCgmCTxDSQVH8rDwCSZ3qWNuj4Oav6FC6Q
 pjf2IP6kUlPwg7H2sPlpQwbxmUn9Tijks8TnxS6YvjXo4jPiR9lzJLUQCWwjUhlt
 OCLMO2bfKumfEnopDpQStbYfwKFXZFq+ooU1NYrMhMv4ttR9neoQZF61gUCll5Q8
 NJZNinv/gbmH+8wzi7eu02aTnnuqiwMwc+6IQZXdjUcCc1qVQtRItuxt89eEguj/
 R+bluBJI2pKXRWt0HqniolajBePHq+YV7OYiZpCG+E3HbkjgMxqGanWkv2OgoEvH
 6fzPDHVNF4Gjb40bkWr/+2bxlAJcGdWOmfMVKNdIZ1yUdP8JfFTwKtWwBdHXwOMO
 89sdX69yJIWnES0Hl4bLMCWa2UIOwUKtrCGDzAVnPGkTwVzjpPNWM0EYtC8QwNl6
 28GowrgUD2qB/Pj0Pp4HnDI+iC4NihFxBPEbJPojWSLWhUXc2N0=
 =YYJ2
 -----END PGP SIGNATURE-----

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

MediaTek ARM64 DeviceTree updates for v6.14

This adds a few cleanups, enhances support for upstreamed SoCs
and machines, other than adding new ones.

In particular, fixes and improvements:
 - MT8516 gets a few fixes for GICv2, Watchdog and I2C, and
   support for the Keypad controller;
 - MT8390 Genio 700 board gets basic audio support;
 - MT8365 gets an alias for its integrated ethernet controller;
 - MT8195 gets an important fix for system suspend: all of the
   machines based on this SoC and its IoT variant can now
   properly perform PM Suspend to RAM;
 - MT8188 gets support for its Mali GPU with DVFS and a fix for
   the OVL Hardware found in the Display Controller using the
   right compatible strings;
 - MT8186 Chromebooks can now suspend properly thanks to a fix
   moving the USB wakeups from XHCI to MTU3 (USB) controller;
 - MT8183 Chromebooks get a fix for their DMIC microphone and
   proper support for their second-source touchscreen;
 - MT7988 SoC and the BananaPi R4 board gets support for Pinctrl,
   eMMC/SD, Thermal, CPU DVFS, PCI-Express, and peripherals like
   the RT5190A PMIC, PCA9545 I2C mux, and others;
 - MT7986 BananaPi R3 board gets support for SATA power socket;

And cleanups:
 - Dropped regulator-compatible property from MediaTek DTs;
 - Aligned thermal node names with bindings on MT8183 Kukui;
 - MT6397 PMIC get proper sub-node names, fixing dt validation;
 - The property enabling Wake-On-Lan feature changed in all of
   the boards and driver to match the actual meaning of it
   (mediatek,mac-wol now enables wol on mac instead of phy);
 - Compatibles for MediaTek PMIC Keypad are added to bindings
   and can now pass dts validation;

...and the newly added machines are:
 - MT8188 (Ciri) Lenovo Chromebook Duet
 - MT8186 (Starmie) ASUS Chromebook Enterprise CM30
 - MT8186 (Chinchou) ASUS Chromebook CZ12 and CZ12 Flip

* tag 'mtk-dts64-for-v6.14' of https://git.kernel.org/pub/scm/linux/kernel/git/mediatek/linux: (71 commits)
  arm64: dts: mediatek: mt8516: add keypad node
  arm64: dts: mediatek: add per-SoC compatibles for keypad nodes
  dt-bindings: mediatek,mt6779-keypad: add more compatibles
  arm64: dts: mediatek: mt8365-evk: Set ethernet alias
  dts: arm64: mediatek: mt8195: Remove MT8183 compatible for OVL
  dts: arm64: mediatek: mt8188: Update OVL compatible from MT8183 to MT8195
  dt-bindings: display: mediatek: ovl: Modify rules for MT8195/MT8188
  dt-bindings: display: mediatek: ovl: Add compatible strings for MT8188 MDP3
  dt-bindings: arm: mediatek: Drop MT8192 Chromebook variants that never shipped
  arm64: dts: mediatek: mt8192: Drop Chromebook variants that never shipped
  arm64: dts: mediatek: mt7988a-bpi-r4: Add proc-supply for cpus
  arm64: dts: mediatek: mt7988a-bpi-r4: Add MediaTek MT6682A/RT5190A PMIC
  arm64: dts: mediatek: mt7988a-bpi-r4: Enable pcie
  arm64: dts: mediatek: mt7988a-bpi-r4: Enable pwm
  arm64: dts: mediatek: mt7988a-bpi-r4: Enable ssusb1 on bpi-r4
  arm64: dts: mediatek: mt7988a-bpi-r4: Enable t-phy for ssusb1
  arm64: dts: mediatek: mt7988a-bpi-r4: Add PCA9545 I2C Mux
  arm64: dts: mediatek: mt7988a-bpi-r4: Enable I2C controllers
  arm64: dts: mediatek: mt7988a-bpi-r4: Add default UART stdout
  arm64: dts: mediatek: mt7988a-bpi-r4: Enable serial0 debug uart
  ...

Link: https://lore.kernel.org/r/20250108100826.32458-1-angelogioacchino.delregno@collabora.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-01-16 14:49:11 +01:00
Arnd Bergmann
c50a335571 Renesas DTS updates for v6.14 (take two)
- Add pin control support for the RZ/G3E SoC and the RZ/G3E SMARC
     Carrier-II EVK development board,
   - Add Image Signal Processor helper block (FCPVX and VSPX) support for
     the R-Car V4H SoC,
   - Describe odd C-PHY wiring on the White Hawk CSI/DSI sub-board,
   - Miscellaneous fixes and improvements.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCZ3wB8AAKCRCKwlD9ZEnx
 cIvMAQCrRApne6xtA5WnNe5GCDkg/AddJgTImIJ7VvYJdNRi1gEA+2wlAtzO/s+S
 UB1i0B7ApeY+SeL/gO7+ntK4if3R1g4=
 =/DFi
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmeJDYgACgkQYKtH/8kJ
 UicyQQ/9GUImOiz3shTIGMCR0vvPfwDOYXeBbPXC13OrsVqPRQMs1bXhFyJ9xqER
 9nUPdECbqSujaEY72W/3KEpqCMIU2vgIyyRMrGI1UArOsbQNImH5sOIek6GkC91A
 BnT8Nit50iue7lZEfrasFr+n6yx3xkIjmdnzDOrcDZIR0xF68/YMZX2P5mO8WMqI
 uASVTVkjYX46M81CPRW4JYW7mvhvH20ri+Ih2sb6ZNsjCHahZr3HlvC2/m3epyJ3
 5dOb3FjUVmDIitMeplWv9uzHYlRaYv8lkBaN13lI0UkkBaLlKf6NDq7RqraDkzZq
 lSdjCZLGDIay4+v35k85PYs7R5Yxhn87oID3gtANl1h6DePUjONX6jCDpW4m4N99
 56iuj/P1KlrtYfifr7VMREuunhpOSm2L6SxPYQFdD1d6TzqwfhBXkaP+qt87Yvnd
 9HiQueI2FjMsL58+rSc9l1iDrfny1XovLbU1IHR+vOpAXw+htOed5Vy4Jhz2hZ6y
 LfY/L8X2queHfDVFmw2q43C8nD2BVMlHCD3jnx4XnT0HxtyujoeitmiCJEARGzw7
 LrFLNXsxNgSbf5Axix6PW97KAdcr33s0rel5TrJPWbZbo3PLXjGuEferL+zEbRln
 hZ805br9ka8LVmPISnMZXqkkUy1iaU7l4nf79Yma+69TAfY1zRo=
 =wfr/
 -----END PGP SIGNATURE-----

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

Renesas DTS updates for v6.14 (take two)

  - Add pin control support for the RZ/G3E SoC and the RZ/G3E SMARC
    Carrier-II EVK development board,
  - Add Image Signal Processor helper block (FCPVX and VSPX) support for
    the R-Car V4H SoC,
  - Describe odd C-PHY wiring on the White Hawk CSI/DSI sub-board,
  - Miscellaneous fixes and improvements.

* tag 'renesas-dts-for-v6.14-tag2' of https://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  arm64: dts: renesas: white-hawk-csi-dsi: Define CSI-2 data line orders
  arm64: dts: renesas: r8a779g0: Add VSPX instances
  arm64: dts: renesas: r8a779g0: Add FCPVX instances
  arm64: dts: renesas: r9a09g047e57-smarc: Add SCIF pincontrol
  arm64: dts: renesas: r9a09g047: Add pincontrol node
  arm64: dts: renesas: r9a09g057h44-rzv2h-evk: Replace RZG2L macros
  dt-bindings: pinctrl: renesas: Document RZ/G3E SoC
  dt-bindings: pinctrl: renesas: Add alpha-numerical port support for RZ/V2H

Link: https://lore.kernel.org/r/cover.1736180859.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-01-16 14:45:44 +01:00
Arnd Bergmann
608e9fe27f Amlogic ARM64 DT changes for v6.13:
- remove broadcom wifi compatible from GX reference boards
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEPVPGJshWBf4d9CyLd9zb2sjISdEFAmd7n2sACgkQd9zb2sjI
 SdHBbBAAriQE522XRvvxktiIcHZOqqoh7DCWaN8bPw93M+atcVYx62mEpT8eNE73
 13QT7P8/Kxpvbc906cT+myAt/yqB0eJmi4UlPpJa+q8AH8DIt1khezaXm5/8aPiX
 GLoq1RJaVOAAHAxT26U86ohqDC/3m6xfb/yHBvzKO9TNlOXzMMznBH0F/olTfGVF
 F9QanoKfTzdVzevR2QcTOLXeWMLUyaAqIT3sQmbxrF+LMd9oa2jhGOe1rzi45F7Q
 wQ75OdjoRZKEuPIc6LI+KBKhB36nDX2WNvlxNdnyeMvlp6TYqFZ6daeHL6UmtLTL
 FYgC++6vH8IPr3d9uQSY2Q0Obn25y5e0D1n3bSRclrReWOtXw5a5/LF8OB5dSUQs
 OqCyPnJf+Q9xaJULWJE1xZdq9xNf+71tnrvCT3IEocYM0Wl0SZxcCLFLv0XT1bF5
 VUYKGBPpCxvO+FmKehiZF6lSbMZHMvY1/hiopByk0fj7Bi1TG5Z3ajUFzpWrU1Uy
 2ufUfnQgB3Tb8muyenUNO5Np27EWpYxPPlfjcs0We/d1lw+owXTJhYH1T5vMItgW
 7hxPZXhYu+knMbO5OZq8qKT+D9J7jHQhOMMKqI+MK+G0JhxCR5LpdgXsuhDhkQWx
 QYjz8BWwfTvsOhiwZKVFlERXNihA48tAVTm5Pd4d1K3qNBKvhi0=
 =e2+6
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmeJDTsACgkQYKtH/8kJ
 Uic9UQ/+PyW7bWcDD0CBCtRloNS5C5iT4ccRKN4zA/KMjwMYRzu7+6Uljf8TIMwP
 09eOpc3XuXx9gHpc3Ae4ME3lodx45r+joqEbAVBhXcFvvjD9WnGtUxMnxG89h902
 R2YuxnEdveUiURk0TGcSfWF3ItvT5FULUq0SlgGwZILgNzMcuLYfCdcA9EsP1tbW
 j0OF1IBZ51hsSvsXV6e25hq9nAy8POBakq88OYxzpPtThyasE9smpeF5SFnk2BJO
 VNYJa4jqRY7hMvyqbheneDWEvgPMNkJVQSMtX36vT83vDoWeQPc82VfwUyhTqUeY
 Xh3eyVZlz4AbuXLmaNtDZgyT2zwrglcA7N0jxHKUvxY3UK7LnQgqrH0I1rKsSE4O
 tXVFqm3sn1HOQQgxKM0PedJ3UWjxlgqMFka+Pe3Vk2bvPGAG6HdoWOBd2ulHyR/+
 vVhJ8If8SS8LvxKTTtZNKDzqEMtkRIaPoEadMkYH3fnCC//mdQOmsyB7XixiSjj/
 LWFSqy4cgGZVtVVzPHiU5hEBWv1O09VkjF/Nr8+3MBuTWzRapXILuFF8h4+8WEjw
 lTc7yMhiuE2DA5FWIcEiVi9LagCN6DnzjACEMxCp8qPt7MT1RZ2H7qe3Gs7UHuSm
 yBUF+k/eVUf6xLt+kZZYG7HDs3G3LZ9yLRXdmcHyC1f3jpopZ04=
 =CWlx
 -----END PGP SIGNATURE-----

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

Amlogic ARM64 DT changes for v6.13:
- remove broadcom wifi compatible from GX reference boards

* tag 'amlogic-arm64-dt-for-v6.14' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux:
  arm64: dts: meson: remove broadcom wifi compatible from GX reference boards

Link: https://lore.kernel.org/r/72d71d3f-99c3-4767-8c80-8fa7a865c846@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-01-16 14:44:27 +01:00
Arnd Bergmann
50e859f99d i.MX arm64 device tree change for 6.14:
- Add simple-framebuffer support for imx8mn-bsh-smm-s2/pro board
   (Dario Binacchi)
 - Add LVDS compatible string for imx8mm-phg board (Fabio Estevam)
 - Add P3T1085 temperature sensor support for imx93-9x9-qsb board (Frank Li)
 - Add support for i.MX8MP based aristainetos3 boards from ABB
   (Heiko Schocher)
 - Add PCA9452 system PMIC support for imx93-14x14-evk board (Joy Zou)
 - Support NXP LVDS to HDMI adapter cards for imx8mp-evk board with DT
   overlays (Liu Ying)
 - A couple of changes from Markus Niebel to enable Open Drain for MDIO
   on imx93-tqma9352 boards
 - A series from Peng Fan to enable wdog3 fsl,ext-reset-output support
   for NXP i.MX93 boards
 - A couple changes from Wei Fang to add NETC support for i.MX95
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmd6U+AUHHNoYXduZ3Vv
 QGtlcm5lbC5vcmcACgkQUFdYWoewfM6d1wf+Ka0EO5GsrNy8TLs5NBMfSRpGiZmK
 v42FL/z4Hz74lwYRhQpEOQbQQPYYNgVQXOcPPgqmLj8+vUygDk9gHANmrw28S3i6
 Cg9nqFTO8BpLD0HNwjSmZqvksy48mnO4dDg/0Ci9k1yWRggiQpRU8N5wQAzWDng2
 GoExAWd00hpc7oFPMhthNO9MSE/fFPfRymifxyJ4La4GprCmTALG7F4ubGNOVBmf
 D1ZWcRicgTazJMpZKTZiuzle9x+V/JrEf3iIS6qykd0SSYJZjxpz6bA5hcYyqkYH
 eUg+SrTidS942uvnkhM8YD7vD46av0gLH6gpG7btVrSBoojzpvHdTEoC5w==
 =ophk
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmeJDIoACgkQYKtH/8kJ
 Uif/sg//afaJQEf3j64t1zQKwlxXptx9tczjN2HmnofCEwzmfx8oxLt9yCGB/pWI
 CKppqHMkz25VIVs2rlZxINssS0GLxVFl66VYo6Yl9IYKdr40dCFDi+s84ktBChBu
 o8hBX6AgczKEhrgpGNn9CA6VU4LSUX49hUp8uTLT3iwYlZCF8pRFMxGXWsZzNzmD
 d1EPUBZhW3DR7VleZxG9HwuC/CxHD/6LSu/WPKCFWPTe973c6CBbBfvNy51jZ4Ho
 f7Izh/TfNQEEdkRE1G1JCSMtk7VJ3zs76lOd6IXsNdkrGopXP74YQm2JxP9ZYJkR
 N4ZQ4A/6t7NsU/yaylue9H4t/G0gGleZDF4wjes4kV1RUe+wIpZDW6P5lXv3/JdG
 9e4LkUYk7t6RJyu9Gw7nFqQiRLQAmyG7JnllG9WJryk5LuqmLPGq2NSSB5DESXyn
 V5ZO0hIiRwb4i6ohtxxqJV8Sc9xWYWqubM5hcl6EHxJiSP41bJPSeS8tPTAY7EGC
 EDnfvgpUsf5oB5P2isuCkXrhrqm58FzvrMLvXZA5NfHEnxaJE5PidF4ivnYSZeyb
 UVvTayWFwNvhRlwndNrt91MH9NhRPh/jPGH+qSboGAp8bWny8dJ1q8ad5K7S5RCy
 4WDTEa2YyRXUE8OvM5IqwzIUAhrFNZr/sxmuh4UewogaZ6bGzbc=
 =50jj
 -----END PGP SIGNATURE-----

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

i.MX arm64 device tree change for 6.14:

- Add simple-framebuffer support for imx8mn-bsh-smm-s2/pro board
  (Dario Binacchi)
- Add LVDS compatible string for imx8mm-phg board (Fabio Estevam)
- Add P3T1085 temperature sensor support for imx93-9x9-qsb board (Frank Li)
- Add support for i.MX8MP based aristainetos3 boards from ABB
  (Heiko Schocher)
- Add PCA9452 system PMIC support for imx93-14x14-evk board (Joy Zou)
- Support NXP LVDS to HDMI adapter cards for imx8mp-evk board with DT
  overlays (Liu Ying)
- A couple of changes from Markus Niebel to enable Open Drain for MDIO
  on imx93-tqma9352 boards
- A series from Peng Fan to enable wdog3 fsl,ext-reset-output support
  for NXP i.MX93 boards
- A couple changes from Wei Fang to add NETC support for i.MX95

* tag 'imx-dt64-6.14' of https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  arm64: dts: freescale: imx93-9x9-qsb: enable fsl,ext-reset-output for wdog3
  arm64: dts: freescale: imx93-14x14-evk: enable fsl,ext-reset-output for wdog3
  arm64: dts: freescale: imx93-11x11-evk: enable fsl,ext-reset-output for wdog3
  arm64: dts: imx95-19x19-evk: add ENETC 0 support
  arm64: dts: imx95: add NETC related nodes
  arm64: dts: imx8mm-phg: Add LVDS compatible string
  arm64: dts: imx93: add pca9452 support
  arm64: dts: imx8mn-bsh-smm-s2/pro: add simple-framebuffer
  arm64: dts: imx93-tqma9352-mba93xxla: enable Open Drain for MDIO
  arm64: dts: imx93-tqma9352-mba93xxca: enable Open Drain for MDIO
  arm64: dts: imx93-9x9-qsb: add temp-sensor nxp,p3t1085
  arm64: dts: imx8mp-evk: Add NXP LVDS to HDMI adapter cards
  arm64: dts: imx8mp-skov-revb-mi1010ait-1cp1: Set "media_disp2_pix" clock rate to 70MHz
  arm64: dts: imx8mp: add aristainetos3 board support
  arm64: dts: imx8mq-zii-ultra: remove #address-cells of eeprom@a4
  arm64: dts: imx: Switch to simple-audio-card,hp-det-gpios

Link: https://lore.kernel.org/r/20250105095139.714590-4-shawnguo2@yeah.net
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-01-16 14:41:30 +01:00
Arnd Bergmann
e736f2ad32 SoCFPGA DTS updates for v6.14
- Remove unused and undocumented property "snps,max-mtu"
 - Add gpio and spi node for Agilex5
 - Add VGIC maintenance interrupt for Agilex
 - Use correct reset name of "stmmaceth-ocp" instead of "ahb"
 - Drop unused #address-cells/#size-cells in the cyclone5-mcvevk
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEoHhMeiyk5VmwVMwNGZQEC4GjKPQFAmd3SrUACgkQGZQEC4Gj
 KPTCNBAAkwUbqeJvGjdZip5XD0f7bQYRoDB98cB0RiWoh53n71x5sVps41zXIZOW
 /8cvMD9G+qpnCox9hRq2PpJdz26wuiQPCs3Nh9yeOLvvVOBH0L8bf80CgKi8N8d/
 rosiAQdg63S2QNKMBvClwKyee9TX2JD8y6u3NyO/mqmMU8JbUj06VPAVldP4pOFF
 wiU7diEehD5KWFW6o2V3T/7sL2R9MIBKE9MuSO2u9OoaDvaKc4BsNOA6u4j7FuXA
 VSbfZDj9Q5fZEH1uM4YNSgsB2fcZjQGHHkmnx/YT0uJoxl7p2wHyX/wSvU67lf90
 eXDhkp1pWrxFxcQS03LoFMHTKQGFdeDa5l3JcyAE4fWM9LjQhIOHOuYUuDUrqoVt
 MvuI5YJvfdhP1U2gGHNH/K2MYtdKk3tsxe3h7OuSPsIF4sUSmDZ6C1WjEs7yZaVk
 PRj0NpxBF1fw8unhKVlQXowvgWlfwfmv5puAFc5g0ZsVGaAyf0BTqlud2okAlcr2
 xoZMOOMajwr89MKLmgnENimAyhvwhDCF4+a/QtdO2RDuLGSorLwLUIWxbLlLMKta
 M6D+yH45sTlyS4xOJeNu9KqV1YNDzSdVYMyU4NK2NZYEmAAWMdaCOSHzw7H7nXJS
 Y+DdqIW/HXF7YKye4Gg9Tu990G7RkLhiT3yk53AunUkC3t6E8Y8=
 =fpq7
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmeJC/8ACgkQYKtH/8kJ
 UidHXxAAwEGQGdEznZ9BtOSpK4o7FXj24P84losdB3UYLDc8VKSp9HaNgcdL5mXD
 152Z8fVxNXRVJmb1eb4oFRSGJErsDQLZRNXbHQwN8+7kFYdQxOL01XpfkneCcdPp
 8+Jjm5rPtNA//d2vXypWYyfre3qvojvHENZnFvtXhPzTGREGE8yzNjMB60vtdUaB
 tZd3h6oA1lGDFQdNTFZKhUrBlYPd/TyJMfs2DtMy7s+h65d260PB0WhZ6JSZTp3U
 78zIxNDwKXRNP6twQB+7uE1nfDISNUc8lldaNw7ifKMgTvymbasU4Ty9XZwFpwuw
 7RCQ7ub/5CGk2O+MarY9uuklLRGxqlqIBwjeE/dWe2kHosGJN1Fa2QoQqz0/d0VR
 NZXsB+WR0ZKiFLNXVrSgY0GLk5DmmosAk1WPnBDi9RD6P60eW57zivc4tGVWLKvK
 OHaNHY31lXXIbie8qFeW18dP2E6VPfxeywcMrZAMdHmvZB0dKFf62wFiL1K3fTUA
 blwqStUmhi+eynKt81FUPVj5f0CLRhLoH20yCUVUsJac3kh9BFZwEht5TeNrSPPp
 WBCi04Bkq4w+mXWCv24u4tWcdHZw+eetTzVcRAKQTi7Jj3NzCS4cAy5cdPTF219S
 87NqR/O6zC/OWNJc3qN+/1zbOTIXQsFOWX+9ZlTJG7sta+r52VQ=
 =WUez
 -----END PGP SIGNATURE-----

Merge tag 'socfpga_dts_updates_v6.14' of https://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux into soc/dt

SoCFPGA DTS updates for v6.14
- Remove unused and undocumented property "snps,max-mtu"
- Add gpio and spi node for Agilex5
- Add VGIC maintenance interrupt for Agilex
- Use correct reset name of "stmmaceth-ocp" instead of "ahb"
- Drop unused #address-cells/#size-cells in the cyclone5-mcvevk

* tag 'socfpga_dts_updates_v6.14' of https://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux:
  arm64: dts: altera: Remove unused and undocumented "snps,max-mtu" property
  arm64: dts: socfpga: agilex5: Add gpio0 node and spi dma handshake id
  arm64: dts: socfpga: agilex: Add VGIC maintenance interrupt
  arm: dts: socfpga: use reset-name "stmmaceth-ocp" instead of "ahb"
  ARM: dts: socfpga_cyclone5_mcvevk: Drop unused #address-cells/#size-cells

Link: https://lore.kernel.org/r/20250103023012.1268627-1-dinguyen@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-01-16 14:39:11 +01:00
Arnd Bergmann
596f35f9d3 ARM64: DT: HiSilicon ARM64 DT updates for v6.14
- Remove "enable-dma" and "bus-id" properties from the spi node on hi6220
 -----BEGIN PGP SIGNATURE-----
 
 iQJJBAABCgAzFiEEQeMYD8qOQTc1R/snC8hXbtmJZlwFAmdhcs4VHHh1d2VpNUBo
 aXNpbGljb24uY29tAAoJEAvIV27ZiWZcF7sP/RJZ75cGNyiW+qOi73r6RmnzKnPq
 9RSLlsieimjVxw7H3ljIpDCAsuodFmYrWXpX8ft0FUnqlDsFLfKxS6v/e8gauEnG
 ZNbWHtdsglOxjuC6YLMa2KPiR8BWrSVg/tp6iAPk8I+n6AlQ3qNOQ8WhWnqWKJX0
 IHpWolgEU2PzFH5O7S9nYpfpjsEXWaslkRkeT2gYFGuPOKyp65VlwvNOZMrtWNAE
 mtLbtxF/1QYN1NLaHZMFsoU+qmoHz+WnnQuRZkmdPBg157Dxuk5c4dr0VYu0wy7p
 +9YBzehYNqVOaFou1dXSHzUB3Py4OVQ9uVUwz01edr0lUh6nK+7O6CkLHUfnYeAt
 gcbfhB40952apxnutzUa9j/OZhYYdyeuRGDX4qB6ErQsmCtEy2xi54kRwxI7wnfJ
 UwywlSM5nVpleXKK2F8jHBfACmZi2Mcibw0kIkev68TLmhW2UA4QGcmLOIjLV1Ru
 jsqoyAuWXBK26TpmnlYfiElGySbNJ6FiAvX/L5LyhA4EHcTVNWncqR+GmEmqMAqY
 gxpvTn45TOg8uo/D0H6JBekDRz1NtRSXIYdTp7crLRCDR/efwI2YiKePBo8F7Ed4
 KdA3JOruKGf0sKaSGaMFGMDUVgXU+ngFX5auF+H6y4JX8fR7/lJx+nu94JW/gjvP
 RljhN0epWuOaYDGN
 =4Fvb
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmeJC88ACgkQYKtH/8kJ
 UifhshAAg3h2ur5yxASXJqZ19kOKpjvvOvpWYQHBgqnywqMeKHih0VgGOjddYnCA
 8tKYs+kOOH4Y+dXaYG7rTJ56j/k1u3152JhqTP73dsr7LcP+ZTBtuN2kxdSnbrnK
 TwhdBi6StM7bNA+14lF35xEioG4/lqc9ptUaTA+jCtSfKlUi06zauJQakElcc2v/
 bloK7+YNaCVf2YliQSjEJzEpl3LGxvuI1kH6gk8O3NV6eeCnm0Z/Rl14Xkyo9EZk
 N0DDY6mKFHWEhCGWKaqSGNreRuycPiECKnKAuSRZjc8KcS7rfppfy5tK2eAT3cpx
 da8zHOMRo+CD6oF/hbxaXaGRmik6QMvUOmOazDjr1QIlZh+WTXNBqQHYTIaqnflL
 rqcP6BtTv7flxH9suV01h0PS1KOBVE98A4ZhofruZqRYewmNghMKTvJcUKAjqOJq
 UmYCKsuSrUdOtvGZjVlGC9IGqCILrMIXibbwT0kC7BqdxuIdCud4kUoz+hGRArQD
 RgjcaXmmZbyee1EYITtgtcYkIRO3Ou/eUmA89AkA+umcpVqcfs3SCfH4Bimigi35
 moEDEsp8DmJH/h0JrbGf2LfHHKNlWlKcbuvpVyxlDflECAc3qiM8kP7/wI3Zs7R6
 ES4yGgEA+NiTSYIOayXg++IEDY3pCazCbF0RA7qBwQafyzAEgaQ=
 =kcbz
 -----END PGP SIGNATURE-----

Merge tag 'hisi-arm64-dt-for-6.14' of https://github.com/hisilicon/linux-hisi into soc/dt

ARM64: DT: HiSilicon ARM64 DT updates for v6.14

- Remove "enable-dma" and "bus-id" properties from the spi node on hi6220

* tag 'hisi-arm64-dt-for-6.14' of https://github.com/hisilicon/linux-hisi:
  arm64: dts: hisilicon: Remove unused and undocumented "enable-dma" and "bus-id" properties

Link: https://lore.kernel.org/r/67767DCA.8060902@hisilicon.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-01-16 14:38:23 +01:00
Arnd Bergmann
925477396d Minor improvements in ARM64 DTS for v6.14
1. Spreadtrum:
    - Correct few issues pointed out by DT schema around properties and
      node names.
    - Move fuel-gauge from DTSI to DTS, because it belongs to the board.
    - Use undeprecated properties, like battery-detect-gpios, already
      supported by Linux.
 
 2. Uniphier: Use un-deprecated hp-det-gpios (no ABI impact expected).
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmdz8DcQHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD1x2OD/wKTRgxeiVafNc2rCXuAMskPYL64SXwzLFi
 x+0hSHCFIuzyVdwDONFL6SlT82umqr2ngMZbY6718di6vnkTV06yrJAQIiMS0H7R
 RM1giaZDhHaz+nySmZ6oPCmFjEApYxVed7RmuCyB4bvKsMf7zjqdLAohS7RIY08W
 djCm4Ffhk7uFywioeGjjt1sdRP4jWputNAhfq4PZ/Q6ByuWs3gNTfDQ7WU7cjaKg
 d/gP/+S6vGWdusXE2QmAADI+XMQ/ke4ktirq1uKE2jUAHYeBpob3DgM22WcQDebk
 8DifY18zKbHx1ugnbw5PkNc0josXbM01x/TaBkSq2MFcM70KW2z63mJmFWiJnitF
 U+jiylb1dR+VeAVgFLOBODlDk43aqTPEUOSbbdpVeA7OKNh8m+kC+U8PuSaZv7yU
 KP6RN0JuGArn7plXbeyZII4KAFLjAX8OdsmpwM5pbgBK5aWporMolqcLXT8vuKBF
 khWXIo06bmqn8jpaTzFOqWAoUuqkkSJE2717R/rJch4MSO6VX2Y/Cz+zMKdriQec
 f+1gOLUwcDz0AyVTNpLTcMZN6e9Ctqnl3iMLavkQeGVQ4PHdOpUFw8UTV8OBpaPx
 qzrbBY2MjuPEu8VdUOAWxloLlUencvyyhO1++X2OUihqZ74fXi0vlZ8WBh4rzaSd
 1EYKq0FoeA==
 =4hXT
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmeI/hcACgkQYKtH/8kJ
 Uic4Ew//V1cj23JElcoQ3lDwqwRlO1NLsfsIDXGohwM9Vl0QkwJZN7B3g5wsthcz
 pBOXiS0M5luiS+o9W44tweJ0R68zkwFP4gGYZsuXH+so1mqx8CVfVF99RtbrLMmB
 aamCwp+9PgmMYLhIVpJ5Gi8q2CZ/wgl9Xx446jpMActptvXaTJPxkGz7cKxlflqa
 71/lnqzEYJ6neXRRUKSU7nntBZTHJCjbQXw1weCCX3FpbVYhsSGpE5l/OQQfkiA6
 w0rsqA3b4aW179I3AawQh/o7Kv6fWCXK51qbBB2qu/70xOe7ud4IRFOJbQgpYRyj
 h+Zgbae9T4F4CulHu/BtbNBWex3T250Dx/jhQy7Ic+TD0BHgDaDSYEe6/zOpy0vp
 cSmOVR5//oROVHvPHosc7pz6h99IcgcyC2HzUEIVehZ//73Xc1eC21snn/FzyP80
 N47sqwLmJBg3T1szB2iZ+qJJ5Q+nIOoICprQF7CzvpvJ5DBaclrWzhlBni/rhD0Y
 XgMeWzBoCVWynv3PGbBxXYmeOhjYhJbV7b0YnAPtFWwVPS/dSVP8qmlLDkAq0htO
 SglUgeZw3At7bSwkNOBqA+qC+smOQ+QVa960yyn3yld5sOYxvUAmls0eKmnsRRT1
 kNcGrEffEIt1PMRmZ0iUANrrcaish6Bk4PTUk84Ink0BO9tLHew=
 =Q7BZ
 -----END PGP SIGNATURE-----

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

Minor improvements in ARM64 DTS for v6.14

1. Spreadtrum:
   - Correct few issues pointed out by DT schema around properties and
     node names.
   - Move fuel-gauge from DTSI to DTS, because it belongs to the board.
   - Use undeprecated properties, like battery-detect-gpios, already
     supported by Linux.

2. Uniphier: Use un-deprecated hp-det-gpios (no ABI impact expected).

* tag 'dt64-cleanup-6.14' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-dt:
  arm64: dts: sprd: Fix battery-detect-gpios property
  arm64: dts: uniphier: Switch to hp-det-gpios
  arm64: dts: sprd: sc9863a: reorder clocks, clock-names per bindings
  arm64: dts: sprd: sc9863a: fix in-ports property
  arm64: dts: sprd: sc2731: move fuel-gauge monitored-battery to device DTS
  arm64: dts: sprd: sp9860g-1h10: fix factory-internal-resistance-micro-ohms property
  arm64: dts: sprd: sp9860g-1h10: fix constant-charge-voltage-max-microvolt property

Link: https://lore.kernel.org/r/20241231132847.135814-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-01-16 13:39:51 +01:00
Arnd Bergmann
73a2e82123 Samsung DTS ARM64 changes for v6.14
1. Exynos8895: Add UART nodes, PMU (performance) for the M2 cluster and
    I2C controllers in the camera block (HSI2C in CAM0-3).
 2. Exynos990: Add Power Management Unit (Samsung block), PMU
    (performance) for M5 cluster and two clock controllers.
 3. ExynosAutov920: Add watchdog and DMA controllers.
 4. Google GS101: Minor fixes for phy and USB. Add USB Type-C.
 5. Exynos850-e850-96 board: Drop gap in memory layout.
 6. New SoC: Exynos9810.
 7. New boards, all mobile phones:
     - Exynos9810:
       Samsung Galaxy S9 (SM-G960F)
     - Exynos990:
       Samsung Galaxy S20 FE (SM-G780F)
       Samsung Galaxy S20 5G  (SM-G980F)
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmdz7fUQHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD13DVD/wN2KLgyIb3xLzcWN6exT9AP+WzOXZteIqE
 YZzRIbc/trQlwPCh3RKTFjP4Oqo4lRv6oC+zEo1L/foLRhP2f4YOp6hspQdjmxvt
 GGk98GIHLGvIColtk/drPUOkl0C/xaoKJXV6EzYBM3x8dEBGn0RqDAdN3fiOBEMU
 xgbPr9+T5lJxpm1ZR3PQUqlySq48M4B2kptd2QJzprujyREAKLKPL3Zy02mPCWGA
 zgUkoP1bnPp5HR78zZtF4u0eJsHWx/GOUq+y0q6xA9lZ3QOL5wvL/uyJvJVIDO3D
 yGHjfrZYME1vFVlF6HLg3St0ISFspZiZV1ToWIlbBln+uIGrden24An1aR+svbtw
 +v7MM617PYB8356wHEweIg0+rDrhnqokefn20L6z7QEr/4SfFOzjhrcKQUCcjL2c
 cejfvL1jN/2kzP0ia5A0Y5wS/NVHwporFsI03+RQVXBqowzVTJueIGmPt7BHcvgC
 y3xp0jE/C22JPVSKbR4SsNCiSjM9Q2NqomjS385vZPhDwCFgMKobZ1QhZ1ef3gN9
 rL1lpbxe4mhJP4iCFW7p3Tl0x7UL/5Oo874t4iHEsU4NjaKrw2hE/0vXrNn/dRE9
 SO8jK/ZG1zMo8npvKKSw+Qa9oX4mM5uhkZa4VkeSVtM5QPyHmO/Xyb+8fpSh/7/R
 KRbzIKIbSw==
 =Ps/u
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmeH9ZEACgkQYKtH/8kJ
 UiftNxAAr1VHsS7oW4h2viFwGnVK4g6cx0TIPrIar5XoxrmBiv3McZyLsFFpzaLE
 Cbb4W0ikWriCAHrs6GQhFlEhLv/isveBvjZIRO1Y5rClUPLXkdHNYuWMhwCFeofc
 9uW6Ti/uXCAAkgt8h+qdaglXiOedNTAmqq+iHBMnD9JeMm42wcMdUx2ZUcGiOPe7
 PkdFVA2e8d0crVrXLwgwOaBcsx93xKSJDy8VWIejn5wOCgVnVJR90v38O8itrXo8
 W26ddAnlpKuSMq1Kj5iFnaj1A6ODswNuXKN7IgekfGprSE1ZtdG1CVmVPo/c5X7+
 bELBxexSuCz/o9bieBeBLAzCFTgw1MqJDdXmoGIfqqHNALoFpaPMKHpDTnBpNgef
 DfA3U5ai+QtI+AqtR0qhV6ltCJKFimx3PdBR0P+FegvswMitCwJScIoGje4xOR7A
 VUYTyMRLES4GsC9m9K/442Vnk7LIRPfzOZXTUWbVfPd50BTc8rexjUEJLD8LwFfJ
 0PDtDD5JRR1MK+cgzBKTJVSUBd4AyZmYRWlA1+fI9//Ir3NO9kZWlF0nUgLAWS5m
 KS3Rdy4RVj2XPuszpsMVjCwShNNEeKT1WQnK6QM9eUvPp0m1y8oMWgtHwkn0gjD9
 mt4cSREdbE8U/MhO/FhKlq0g4RdmOp6fEjfUVstzo2GvW5xo420=
 =iQYo
 -----END PGP SIGNATURE-----

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

Samsung DTS ARM64 changes for v6.14

1. Exynos8895: Add UART nodes, PMU (performance) for the M2 cluster and
   I2C controllers in the camera block (HSI2C in CAM0-3).
2. Exynos990: Add Power Management Unit (Samsung block), PMU
   (performance) for M5 cluster and two clock controllers.
3. ExynosAutov920: Add watchdog and DMA controllers.
4. Google GS101: Minor fixes for phy and USB. Add USB Type-C.
5. Exynos850-e850-96 board: Drop gap in memory layout.
6. New SoC: Exynos9810.
7. New boards, all mobile phones:
    - Exynos9810:
      Samsung Galaxy S9 (SM-G960F)
    - Exynos990:
      Samsung Galaxy S20 FE (SM-G780F)
      Samsung Galaxy S20 5G  (SM-G980F)

* tag 'samsung-dt64-6.14' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux: (23 commits)
  arm64: dts: exynos8895: Add camera hsi2c nodes
  arm64: dts: exynos990: Add clock management unit nodes
  arm64: dts: exynos: gs101-oriole: add pd-disable and typec-power-opmode
  arm64: dts: exynos: gs101-oriole: enable Maxim max77759 TCPCi
  arm64: dts: exynos: Add initial support for Samsung Galaxy S9 (SM-G960F)
  arm64: dts: exynos: Add Exynos9810 SoC support
  arm64: dts: exynos850-e850-96: Specify reserved secure memory explicitly
  arm64: dts: exynos990: Add a PMU node for the third cluster
  arm64: dts: exynosautov920: Add DMA nodes
  arm64: dts: exynos8895: Add a PMU node for the second cluster
  dt-bindings: clock: samsung: Add Exynos990 SoC CMU bindings
  arm64: dts: exynosautov920: add watchdog DT node
  arm64: dts: exynos: Add initial support for Samsung Galaxy S20 (x1slte)
  arm64: dts: exynos: Add initial support for Samsung Galaxy S20 5G (x1s)
  arm64: dts: exynos: Add initial support for Samsung Galaxy S20 Series boards (x1s-common)
  dt-bindings: arm: samsung: samsung-boards: Add bindings for SM-G981B and SM-G980F board
  arm64: dts: exynos: gs101: allow stable USB phy Vbus detection
  arm64: dts: exynos: gs101: phy region for exynos5-usbdrd is larger
  MAINTAINERS: add myself and Tudor as reviewers for Google Tensor SoC
  arm64: dts: exynos990: Add pmu and syscon-reboot nodes
  ...

Link: https://lore.kernel.org/r/20241231131742.134329-4-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-01-15 18:51:13 +01:00
Paolo Bonzini
5cf32aff20 LoongArch KVM changes for v6.14
1. Clear LLBCTL if secondary mmu mapping changed.
 2. Add hypercall service support for usermode VMM.
 
 This is a really small changeset, because the Chinese New Year
 (Spring Festival) is coming. Happy New Year!
 -----BEGIN PGP SIGNATURE-----
 
 iQJKBAABCAA0FiEEzOlt8mkP+tbeiYy5AoYrw/LiJnoFAmeFGcIWHGNoZW5odWFj
 YWlAa2VybmVsLm9yZwAKCRAChivD8uImern1D/9AZ8M+0nBAaONZaq2qKLC+RaW6
 KqvFsR1PUUFzVcQZaHh9OZcx5s4EAH12EaxBH68W0o0ejbTUJp8QXT6cmO9bNFj1
 tVaczGACss34kDerrddHisOpimFdaP+ECX4Q43oTc5N7vG6zUu3ijOISnIIxkhHP
 RlX/+5Djw0NoaVAkhEj4v+LkY33z5QnDFNI0OjJiHpDepP2vLQ1FD573pLMeqcGs
 BVYwZv7DP3SnVajSjRhT/r5qjy9EMjrXRLkIIwyjOUArRaPq/Lfg4CTK85e5MZsR
 2GTkdjvh/YArpluRki4FX1cVOwpBbEtC+24/NWB+MPijtnYqMyAoIraZGqJMAzhw
 P6W70A15GvBhlhQmvKNai1oXkdZaaT7XDcbFT706Cwhu7LvcNM8kK7VrPc59WLTR
 uHO+ehJh0DCpBMC2BKH/8sztGx80u7SB4Ph0ytZCK+uYznTMEiBqRup7E/QLLG+1
 EotXv8U4+Bwx/inzMxwi6vR1ZXo0dIDsnvFdSZeA6PC/cSoPzdqCdrXjQT/7HUIu
 DNgcsRVL3LFE+A/sDVGb5/w9UPdQfCdO10bu97FkY37ftqp7LvPTlWJvDZJx+Wle
 KfErCOM1/ZRQ2knzE7fst58auA3ZFNn3jWRkD/0gJ4X1Fgu63VrYeuc4FL7r8ken
 HxKLYOLtD6dOzR5DeA==
 =z2VU
 -----END PGP SIGNATURE-----

Merge tag 'loongarch-kvm-6.14' of git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson into HEAD

LoongArch KVM changes for v6.14

1. Clear LLBCTL if secondary mmu mapping changed.
2. Add hypercall service support for usermode VMM.

This is a really small changeset, because the Chinese New Year
(Spring Festival) is coming. Happy New Year!
2025-01-15 11:51:56 -05:00