Commit graph

982,081 commits

Author SHA1 Message Date
Linus Torvalds
eeddbe6841 s390 fixes for 5.9-rc7
- Fix truncated ZCRYPT_PERDEV_REQCNT ioctl result. Copy entire reqcnt list.
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCAAdFiEE3QHqV+H2a8xAv27vjYWKoQLXFBgFAl9vAiwACgkQjYWKoQLX
 FBj+xwf8DvOpBW0mo0D+aYqUrA0ETpeF5GIJe+yG/Sf4ozx7Qk49GvoC2ahEomSN
 jM4V7wkcnbjoPe1Cisv5PfzSf88AaZFJBbcoC7UKHQqVF2N8FVw59I2zI1+TFf6O
 RXtDZYeaVKNT2l40xrkZJudG4FEhlo9W7FZZqgdQy/4YZmof7p8mMQ0VhB/HQuh0
 qsihtefG9PLKYUUw7GvEtrPfrWoyFfwWfMAc00JklPsnwb6Y+heYgdzNM2ElIj6m
 u5dmnZoq7qsyAcwdA1t1TSCYgGSuYjny87NJ6dbe2HPzRFmwIhIAj1Jgr4ubFDBF
 4zZn0S8PDE4r4MEKDfvq9kohQ6uXCQ==
 =+5YA
 -----END PGP SIGNATURE-----

Merge tag 's390-5.9-7' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux

Pull s390 fix from Vasily Gorbik:
 "Fix truncated ZCRYPT_PERDEV_REQCNT ioctl result. Copy entire reqcnt
  list"

* tag 's390-5.9-7' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
  s390/zcrypt: Fix ZCRYPT_PERDEV_REQCNT ioctl
2020-09-26 11:01:18 -07:00
Linus Torvalds
8fb1e91033 Merge branch 'akpm' (patches from Andrew)
Merge misc fixes from Andrew Morton:
 "9 patches.

  Subsystems affected by this patch series: mm (thp, memcg, gup,
  migration, memory-hotplug), lib, and x86"

* emailed patches from Andrew Morton <akpm@linux-foundation.org>:
  mm: don't rely on system state to detect hot-plug operations
  mm: replace memmap_context by meminit_context
  arch/x86/lib/usercopy_64.c: fix __copy_user_flushcache() cache writeback
  lib/memregion.c: include memregion.h
  lib/string.c: implement stpcpy
  mm/migrate: correct thp migration stats
  mm/gup: fix gup_fast with dynamic page table folding
  mm: memcontrol: fix missing suffix of workingset_restore
  mm, THP, swap: fix allocating cluster for swapfile by mistake
2020-09-26 10:53:35 -07:00
Minchan Kim
ce2684254b mm: validate pmd after splitting
syzbot reported the following KASAN splat:

  general protection fault, probably for non-canonical address 0xdffffc0000000003: 0000 [#1] PREEMPT SMP KASAN
  KASAN: null-ptr-deref in range [0x0000000000000018-0x000000000000001f]
  CPU: 1 PID: 6826 Comm: syz-executor142 Not tainted 5.9.0-rc4-syzkaller #0
  Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
  RIP: 0010:__lock_acquire+0x84/0x2ae0 kernel/locking/lockdep.c:4296
  Code: ff df 8a 04 30 84 c0 0f 85 e3 16 00 00 83 3d 56 58 35 08 00 0f 84 0e 17 00 00 83 3d 25 c7 f5 07 00 74 2c 4c 89 e8 48 c1 e8 03 <80> 3c 30 00 74 12 4c 89 ef e8 3e d1 5a 00 48 be 00 00 00 00 00 fc
  RSP: 0018:ffffc90004b9f850 EFLAGS: 00010006
  Call Trace:
    lock_acquire+0x140/0x6f0 kernel/locking/lockdep.c:5006
    __raw_spin_lock include/linux/spinlock_api_smp.h:142 [inline]
    _raw_spin_lock+0x2a/0x40 kernel/locking/spinlock.c:151
    spin_lock include/linux/spinlock.h:354 [inline]
    madvise_cold_or_pageout_pte_range+0x52f/0x25c0 mm/madvise.c:389
    walk_pmd_range mm/pagewalk.c:89 [inline]
    walk_pud_range mm/pagewalk.c:160 [inline]
    walk_p4d_range mm/pagewalk.c:193 [inline]
    walk_pgd_range mm/pagewalk.c:229 [inline]
    __walk_page_range+0xe7b/0x1da0 mm/pagewalk.c:331
    walk_page_range+0x2c3/0x5c0 mm/pagewalk.c:427
    madvise_pageout_page_range mm/madvise.c:521 [inline]
    madvise_pageout mm/madvise.c:557 [inline]
    madvise_vma mm/madvise.c:946 [inline]
    do_madvise+0x12d0/0x2090 mm/madvise.c:1145
    __do_sys_madvise mm/madvise.c:1171 [inline]
    __se_sys_madvise mm/madvise.c:1169 [inline]
    __x64_sys_madvise+0x76/0x80 mm/madvise.c:1169
    do_syscall_64+0x31/0x70 arch/x86/entry/common.c:46
    entry_SYSCALL_64_after_hwframe+0x44/0xa9

The backing vma was shmem.

In case of split page of file-backed THP, madvise zaps the pmd instead
of remapping of sub-pages.  So we need to check pmd validity after
split.

Reported-by: syzbot+ecf80462cb7d5d552bc7@syzkaller.appspotmail.com
Fixes: 1a4e58cce8 ("mm: introduce MADV_PAGEOUT")
Signed-off-by: Minchan Kim <minchan@kernel.org>
Acked-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-09-26 10:48:08 -07:00
Laurent Dufour
f85086f95f mm: don't rely on system state to detect hot-plug operations
In register_mem_sect_under_node() the system_state's value is checked to
detect whether the call is made during boot time or during an hot-plug
operation.  Unfortunately, that check against SYSTEM_BOOTING is wrong
because regular memory is registered at SYSTEM_SCHEDULING state.  In
addition, memory hot-plug operation can be triggered at this system
state by the ACPI [1].  So checking against the system state is not
enough.

The consequence is that on system with interleaved node's ranges like this:

 Early memory node ranges
   node   1: [mem 0x0000000000000000-0x000000011fffffff]
   node   2: [mem 0x0000000120000000-0x000000014fffffff]
   node   1: [mem 0x0000000150000000-0x00000001ffffffff]
   node   0: [mem 0x0000000200000000-0x000000048fffffff]
   node   2: [mem 0x0000000490000000-0x00000007ffffffff]

This can be seen on PowerPC LPAR after multiple memory hot-plug and
hot-unplug operations are done.  At the next reboot the node's memory
ranges can be interleaved and since the call to link_mem_sections() is
made in topology_init() while the system is in the SYSTEM_SCHEDULING
state, the node's id is not checked, and the sections registered to
multiple nodes:

  $ ls -l /sys/devices/system/memory/memory21/node*
  total 0
  lrwxrwxrwx 1 root root     0 Aug 24 05:27 node1 -> ../../node/node1
  lrwxrwxrwx 1 root root     0 Aug 24 05:27 node2 -> ../../node/node2

In that case, the system is able to boot but if later one of theses
memory blocks is hot-unplugged and then hot-plugged, the sysfs
inconsistency is detected and this is triggering a BUG_ON():

  kernel BUG at /Users/laurent/src/linux-ppc/mm/memory_hotplug.c:1084!
  Oops: Exception in kernel mode, sig: 5 [#1]
  LE PAGE_SIZE=64K MMU=Hash SMP NR_CPUS=2048 NUMA pSeries
  Modules linked in: rpadlpar_io rpaphp pseries_rng rng_core vmx_crypto gf128mul binfmt_misc ip_tables x_tables xfs libcrc32c crc32c_vpmsum autofs4
  CPU: 8 PID: 10256 Comm: drmgr Not tainted 5.9.0-rc1+ #25
  Call Trace:
    add_memory_resource+0x23c/0x340 (unreliable)
    __add_memory+0x5c/0xf0
    dlpar_add_lmb+0x1b4/0x500
    dlpar_memory+0x1f8/0xb80
    handle_dlpar_errorlog+0xc0/0x190
    dlpar_store+0x198/0x4a0
    kobj_attr_store+0x30/0x50
    sysfs_kf_write+0x64/0x90
    kernfs_fop_write+0x1b0/0x290
    vfs_write+0xe8/0x290
    ksys_write+0xdc/0x130
    system_call_exception+0x160/0x270
    system_call_common+0xf0/0x27c

This patch addresses the root cause by not relying on the system_state
value to detect whether the call is due to a hot-plug operation.  An
extra parameter is added to link_mem_sections() detailing whether the
operation is due to a hot-plug operation.

[1] According to Oscar Salvador, using this qemu command line, ACPI
memory hotplug operations are raised at SYSTEM_SCHEDULING state:

  $QEMU -enable-kvm -machine pc -smp 4,sockets=4,cores=1,threads=1 -cpu host -monitor pty \
        -m size=$MEM,slots=255,maxmem=4294967296k  \
        -numa node,nodeid=0,cpus=0-3,mem=512 -numa node,nodeid=1,mem=512 \
        -object memory-backend-ram,id=memdimm0,size=134217728 -device pc-dimm,node=0,memdev=memdimm0,id=dimm0,slot=0 \
        -object memory-backend-ram,id=memdimm1,size=134217728 -device pc-dimm,node=0,memdev=memdimm1,id=dimm1,slot=1 \
        -object memory-backend-ram,id=memdimm2,size=134217728 -device pc-dimm,node=0,memdev=memdimm2,id=dimm2,slot=2 \
        -object memory-backend-ram,id=memdimm3,size=134217728 -device pc-dimm,node=0,memdev=memdimm3,id=dimm3,slot=3 \
        -object memory-backend-ram,id=memdimm4,size=134217728 -device pc-dimm,node=1,memdev=memdimm4,id=dimm4,slot=4 \
        -object memory-backend-ram,id=memdimm5,size=134217728 -device pc-dimm,node=1,memdev=memdimm5,id=dimm5,slot=5 \
        -object memory-backend-ram,id=memdimm6,size=134217728 -device pc-dimm,node=1,memdev=memdimm6,id=dimm6,slot=6 \

Fixes: 4fbce63391 ("mm/memory_hotplug.c: make register_mem_sect_under_node() a callback of walk_memory_range()")
Signed-off-by: Laurent Dufour <ldufour@linux.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Reviewed-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Oscar Salvador <osalvador@suse.de>
Acked-by: Michal Hocko <mhocko@suse.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: "Rafael J. Wysocki" <rafael@kernel.org>
Cc: Fenghua Yu <fenghua.yu@intel.com>
Cc: Nathan Lynch <nathanl@linux.ibm.com>
Cc: Scott Cheloha <cheloha@linux.ibm.com>
Cc: Tony Luck <tony.luck@intel.com>
Cc: <stable@vger.kernel.org>
Link: https://lkml.kernel.org/r/20200915094143.79181-3-ldufour@linux.ibm.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-09-26 10:33:57 -07:00
Laurent Dufour
c1d0da8335 mm: replace memmap_context by meminit_context
Patch series "mm: fix memory to node bad links in sysfs", v3.

Sometimes, firmware may expose interleaved memory layout like this:

 Early memory node ranges
   node   1: [mem 0x0000000000000000-0x000000011fffffff]
   node   2: [mem 0x0000000120000000-0x000000014fffffff]
   node   1: [mem 0x0000000150000000-0x00000001ffffffff]
   node   0: [mem 0x0000000200000000-0x000000048fffffff]
   node   2: [mem 0x0000000490000000-0x00000007ffffffff]

In that case, we can see memory blocks assigned to multiple nodes in
sysfs:

  $ ls -l /sys/devices/system/memory/memory21
  total 0
  lrwxrwxrwx 1 root root     0 Aug 24 05:27 node1 -> ../../node/node1
  lrwxrwxrwx 1 root root     0 Aug 24 05:27 node2 -> ../../node/node2
  -rw-r--r-- 1 root root 65536 Aug 24 05:27 online
  -r--r--r-- 1 root root 65536 Aug 24 05:27 phys_device
  -r--r--r-- 1 root root 65536 Aug 24 05:27 phys_index
  drwxr-xr-x 2 root root     0 Aug 24 05:27 power
  -r--r--r-- 1 root root 65536 Aug 24 05:27 removable
  -rw-r--r-- 1 root root 65536 Aug 24 05:27 state
  lrwxrwxrwx 1 root root     0 Aug 24 05:25 subsystem -> ../../../../bus/memory
  -rw-r--r-- 1 root root 65536 Aug 24 05:25 uevent
  -r--r--r-- 1 root root 65536 Aug 24 05:27 valid_zones

The same applies in the node's directory with a memory21 link in both
the node1 and node2's directory.

This is wrong but doesn't prevent the system to run.  However when
later, one of these memory blocks is hot-unplugged and then hot-plugged,
the system is detecting an inconsistency in the sysfs layout and a
BUG_ON() is raised:

  kernel BUG at /Users/laurent/src/linux-ppc/mm/memory_hotplug.c:1084!
  LE PAGE_SIZE=64K MMU=Hash SMP NR_CPUS=2048 NUMA pSeries
  Modules linked in: rpadlpar_io rpaphp pseries_rng rng_core vmx_crypto gf128mul binfmt_misc ip_tables x_tables xfs libcrc32c crc32c_vpmsum autofs4
  CPU: 8 PID: 10256 Comm: drmgr Not tainted 5.9.0-rc1+ #25
  Call Trace:
    add_memory_resource+0x23c/0x340 (unreliable)
    __add_memory+0x5c/0xf0
    dlpar_add_lmb+0x1b4/0x500
    dlpar_memory+0x1f8/0xb80
    handle_dlpar_errorlog+0xc0/0x190
    dlpar_store+0x198/0x4a0
    kobj_attr_store+0x30/0x50
    sysfs_kf_write+0x64/0x90
    kernfs_fop_write+0x1b0/0x290
    vfs_write+0xe8/0x290
    ksys_write+0xdc/0x130
    system_call_exception+0x160/0x270
    system_call_common+0xf0/0x27c

This has been seen on PowerPC LPAR.

The root cause of this issue is that when node's memory is registered,
the range used can overlap another node's range, thus the memory block
is registered to multiple nodes in sysfs.

There are two issues here:

 (a) The sysfs memory and node's layouts are broken due to these
     multiple links

 (b) The link errors in link_mem_sections() should not lead to a system
     panic.

To address (a) register_mem_sect_under_node should not rely on the
system state to detect whether the link operation is triggered by a hot
plug operation or not.  This is addressed by the patches 1 and 2 of this
series.

Issue (b) will be addressed separately.

This patch (of 2):

The memmap_context enum is used to detect whether a memory operation is
due to a hot-add operation or happening at boot time.

Make it general to the hotplug operation and rename it as
meminit_context.

There is no functional change introduced by this patch

Suggested-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Laurent Dufour <ldufour@linux.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Reviewed-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Oscar Salvador <osalvador@suse.de>
Acked-by: Michal Hocko <mhocko@suse.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: "Rafael J . Wysocki" <rafael@kernel.org>
Cc: Nathan Lynch <nathanl@linux.ibm.com>
Cc: Scott Cheloha <cheloha@linux.ibm.com>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Fenghua Yu <fenghua.yu@intel.com>
Cc: <stable@vger.kernel.org>
Link: https://lkml.kernel.org/r/20200915094143.79181-1-ldufour@linux.ibm.com
Link: https://lkml.kernel.org/r/20200915132624.9723-1-ldufour@linux.ibm.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-09-26 10:33:57 -07:00
Mikulas Patocka
a1cd6c2ae4 arch/x86/lib/usercopy_64.c: fix __copy_user_flushcache() cache writeback
If we copy less than 8 bytes and if the destination crosses a cache
line, __copy_user_flushcache would invalidate only the first cache line.

This patch makes it invalidate the second cache line as well.

Fixes: 0aed55af88 ("x86, uaccess: introduce copy_from_iter_flushcache for pmem / cache-bypass operations")
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Reviewed-by: Dan Williams <dan.j.wiilliams@intel.com>
Cc: Jan Kara <jack@suse.cz>
Cc: Jeff Moyer <jmoyer@redhat.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Toshi Kani <toshi.kani@hpe.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Matthew Wilcox <mawilcox@microsoft.com>
Cc: Ross Zwisler <ross.zwisler@linux.intel.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: <stable@vger.kernel.org>
Link: https://lkml.kernel.org/r/alpine.LRH.2.02.2009161451140.21915@file01.intranet.prod.int.rdu2.redhat.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-09-26 10:33:57 -07:00
Jason Yan
ffa550cd69 lib/memregion.c: include memregion.h
This addresses the following sparse warning:

  lib/memregion.c:8:5: warning: symbol 'memregion_alloc' was not declared. Should it be static?
  lib/memregion.c:14:6: warning: symbol 'memregion_free' was not declared. Should it be static?

Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Jason Yan <yanaijie@huawei.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Link: https://lkml.kernel.org/r/20200921142852.875312-1-yanaijie@huawei.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-09-26 10:33:57 -07:00
Nick Desaulniers
1e1b6d63d6 lib/string.c: implement stpcpy
LLVM implemented a recent "libcall optimization" that lowers calls to
`sprintf(dest, "%s", str)` where the return value is used to
`stpcpy(dest, str) - dest`.

This generally avoids the machinery involved in parsing format strings.
`stpcpy` is just like `strcpy` except it returns the pointer to the new
tail of `dest`.  This optimization was introduced into clang-12.

Implement this so that we don't observe linkage failures due to missing
symbol definitions for `stpcpy`.

Similar to last year's fire drill with: commit 5f074f3e19
("lib/string.c: implement a basic bcmp")

The kernel is somewhere between a "freestanding" environment (no full
libc) and "hosted" environment (many symbols from libc exist with the
same type, function signature, and semantics).

As Peter Anvin notes, there's not really a great way to inform the
compiler that you're targeting a freestanding environment but would like
to opt-in to some libcall optimizations (see pr/47280 below), rather
than opt-out.

Arvind notes, -fno-builtin-* behaves slightly differently between GCC
and Clang, and Clang is missing many __builtin_* definitions, which I
consider a bug in Clang and am working on fixing.

Masahiro summarizes the subtle distinction between compilers justly:
  To prevent transformation from foo() into bar(), there are two ways in
  Clang to do that; -fno-builtin-foo, and -fno-builtin-bar.  There is
  only one in GCC; -fno-buitin-foo.

(Any difference in that behavior in Clang is likely a bug from a missing
__builtin_* definition.)

Masahiro also notes:
  We want to disable optimization from foo() to bar(),
  but we may still benefit from the optimization from
  foo() into something else. If GCC implements the same transform, we
  would run into a problem because it is not -fno-builtin-bar, but
  -fno-builtin-foo that disables that optimization.

  In this regard, -fno-builtin-foo would be more future-proof than
  -fno-built-bar, but -fno-builtin-foo is still potentially overkill. We
  may want to prevent calls from foo() being optimized into calls to
  bar(), but we still may want other optimization on calls to foo().

It seems that compilers today don't quite provide the fine grain control
over which libcall optimizations pseudo-freestanding environments would
prefer.

Finally, Kees notes that this interface is unsafe, so we should not
encourage its use.  As such, I've removed the declaration from any
header, but it still needs to be exported to avoid linkage errors in
modules.

Reported-by: Sami Tolvanen <samitolvanen@google.com>
Suggested-by: Andy Lavr <andy.lavr@gmail.com>
Suggested-by: Arvind Sankar <nivedita@alum.mit.edu>
Suggested-by: Joe Perches <joe@perches.com>
Suggested-by: Kees Cook <keescook@chromium.org>
Suggested-by: Masahiro Yamada <masahiroy@kernel.org>
Suggested-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Tested-by: Nathan Chancellor <natechancellor@gmail.com>
Cc: <stable@vger.kernel.org>
Link: https://lkml.kernel.org/r/20200914161643.938408-1-ndesaulniers@google.com
Link: https://bugs.llvm.org/show_bug.cgi?id=47162
Link: https://bugs.llvm.org/show_bug.cgi?id=47280
Link: https://github.com/ClangBuiltLinux/linux/issues/1126
Link: https://man7.org/linux/man-pages/man3/stpcpy.3.html
Link: https://pubs.opengroup.org/onlinepubs/9699919799/functions/stpcpy.html
Link: https://reviews.llvm.org/D85963
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-09-26 10:33:57 -07:00
Zi Yan
6c5c7b9f33 mm/migrate: correct thp migration stats
PageTransHuge returns true for both thp and hugetlb, so thp stats was
counting both thp and hugetlb migrations.  Exclude hugetlb migration by
setting is_thp variable right.

Clean up thp handling code too when we are there.

Fixes: 1a5bae25e3 ("mm/vmstat: add events for THP migration without split")
Signed-off-by: Zi Yan <ziy@nvidia.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Reviewed-by: Daniel Jordan <daniel.m.jordan@oracle.com>
Cc: Anshuman Khandual <anshuman.khandual@arm.com>
Link: https://lkml.kernel.org/r/20200917210413.1462975-1-zi.yan@sent.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-09-26 10:33:57 -07:00
Vasily Gorbik
d3f7b1bb20 mm/gup: fix gup_fast with dynamic page table folding
Currently to make sure that every page table entry is read just once
gup_fast walks perform READ_ONCE and pass pXd value down to the next
gup_pXd_range function by value e.g.:

  static int gup_pud_range(p4d_t p4d, unsigned long addr, unsigned long end,
                           unsigned int flags, struct page **pages, int *nr)
  ...
          pudp = pud_offset(&p4d, addr);

This function passes a reference on that local value copy to pXd_offset,
and might get the very same pointer in return.  This happens when the
level is folded (on most arches), and that pointer should not be
iterated.

On s390 due to the fact that each task might have different 5,4 or
3-level address translation and hence different levels folded the logic
is more complex and non-iteratable pointer to a local copy leads to
severe problems.

Here is an example of what happens with gup_fast on s390, for a task
with 3-level paging, crossing a 2 GB pud boundary:

  // addr = 0x1007ffff000, end = 0x10080001000
  static int gup_pud_range(p4d_t p4d, unsigned long addr, unsigned long end,
                           unsigned int flags, struct page **pages, int *nr)
  {
        unsigned long next;
        pud_t *pudp;

        // pud_offset returns &p4d itself (a pointer to a value on stack)
        pudp = pud_offset(&p4d, addr);
        do {
                // on second iteratation reading "random" stack value
                pud_t pud = READ_ONCE(*pudp);

                // next = 0x10080000000, due to PUD_SIZE/MASK != PGDIR_SIZE/MASK on s390
                next = pud_addr_end(addr, end);
                ...
        } while (pudp++, addr = next, addr != end); // pudp++ iterating over stack

        return 1;
  }

This happens since s390 moved to common gup code with commit
d1874a0c28 ("s390/mm: make the pxd_offset functions more robust") and
commit 1a42010cdc ("s390/mm: convert to the generic
get_user_pages_fast code").

s390 tried to mimic static level folding by changing pXd_offset
primitives to always calculate top level page table offset in pgd_offset
and just return the value passed when pXd_offset has to act as folded.

What is crucial for gup_fast and what has been overlooked is that
PxD_SIZE/MASK and thus pXd_addr_end should also change correspondingly.
And the latter is not possible with dynamic folding.

To fix the issue in addition to pXd values pass original pXdp pointers
down to gup_pXd_range functions.  And introduce pXd_offset_lockless
helpers, which take an additional pXd entry value parameter.  This has
already been discussed in

  https://lkml.kernel.org/r/20190418100218.0a4afd51@mschwideX1

Fixes: 1a42010cdc ("s390/mm: convert to the generic get_user_pages_fast code")
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Reviewed-by: Gerald Schaefer <gerald.schaefer@linux.ibm.com>
Reviewed-by: Alexander Gordeev <agordeev@linux.ibm.com>
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Reviewed-by: Mike Rapoport <rppt@linux.ibm.com>
Reviewed-by: John Hubbard <jhubbard@nvidia.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Dave Hansen <dave.hansen@intel.com>
Cc: Russell King <linux@armlinux.org.uk>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Jeff Dike <jdike@addtoit.com>
Cc: Richard Weinberger <richard@nod.at>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Andrey Ryabinin <aryabinin@virtuozzo.com>
Cc: Heiko Carstens <hca@linux.ibm.com>
Cc: Christian Borntraeger <borntraeger@de.ibm.com>
Cc: Claudio Imbrenda <imbrenda@linux.ibm.com>
Cc: <stable@vger.kernel.org>	[5.2+]
Link: https://lkml.kernel.org/r/patch.git-943f1e5dcff2.your-ad-here.call-01599856292-ext-8676@work.hours
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-09-26 10:33:57 -07:00
Muchun Song
8d3fe09d8d mm: memcontrol: fix missing suffix of workingset_restore
We forget to add the suffix to the workingset_restore string, so fix it.

And also update the documentation of cgroup-v2.rst.

Fixes: 170b04b7ae ("mm/workingset: prepare the workingset detection infrastructure for anon LRU")
Signed-off-by: Muchun Song <songmuchun@bytedance.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Reviewed-by: Shakeel Butt <shakeelb@google.com>
Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: Tejun Heo <tj@kernel.org>
Cc: Zefan Li <lizefan@huawei.com>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Michal Hocko <mhocko@kernel.org>
Cc: Vladimir Davydov <vdavydov.dev@gmail.com>
Cc: Roman Gushchin <guro@fb.com>
Cc: Randy Dunlap <rdunlap@infradead.org>
Link: https://lkml.kernel.org/r/20200916100030.71698-1-songmuchun@bytedance.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-09-26 10:33:57 -07:00
Gao Xiang
4166343058 mm, THP, swap: fix allocating cluster for swapfile by mistake
SWP_FS is used to make swap_{read,write}page() go through the
filesystem, and it's only used for swap files over NFS.  So, !SWP_FS
means non NFS for now, it could be either file backed or device backed.
Something similar goes with legacy SWP_FILE.

So in order to achieve the goal of the original patch, SWP_BLKDEV should
be used instead.

FS corruption can be observed with SSD device + XFS + fragmented
swapfile due to CONFIG_THP_SWAP=y.

I reproduced the issue with the following details:

Environment:

  QEMU + upstream kernel + buildroot + NVMe (2 GB)

Kernel config:

  CONFIG_BLK_DEV_NVME=y
  CONFIG_THP_SWAP=y

Some reproducible steps:

  mkfs.xfs -f /dev/nvme0n1
  mkdir /tmp/mnt
  mount /dev/nvme0n1 /tmp/mnt
  bs="32k"
  sz="1024m"    # doesn't matter too much, I also tried 16m
  xfs_io -f -c "pwrite -R -b $bs 0 $sz" -c "fdatasync" /tmp/mnt/sw
  xfs_io -f -c "pwrite -R -b $bs 0 $sz" -c "fdatasync" /tmp/mnt/sw
  xfs_io -f -c "pwrite -R -b $bs 0 $sz" -c "fdatasync" /tmp/mnt/sw
  xfs_io -f -c "pwrite -F -S 0 -b $bs 0 $sz" -c "fdatasync" /tmp/mnt/sw
  xfs_io -f -c "pwrite -R -b $bs 0 $sz" -c "fsync" /tmp/mnt/sw

  mkswap /tmp/mnt/sw
  swapon /tmp/mnt/sw

  stress --vm 2 --vm-bytes 600M   # doesn't matter too much as well

Symptoms:
 - FS corruption (e.g. checksum failure)
 - memory corruption at: 0xd2808010
 - segfault

Fixes: f0eea189e8 ("mm, THP, swap: Don't allocate huge cluster for file backed swap device")
Fixes: 38d8b4e6bd ("mm, THP, swap: delay splitting THP during swap out")
Signed-off-by: Gao Xiang <hsiangkao@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Reviewed-by: "Huang, Ying" <ying.huang@intel.com>
Reviewed-by: Yang Shi <shy828301@gmail.com>
Acked-by: Rafael Aquini <aquini@redhat.com>
Cc: Matthew Wilcox <willy@infradead.org>
Cc: Carlos Maiolino <cmaiolino@redhat.com>
Cc: Eric Sandeen <esandeen@redhat.com>
Cc: Dave Chinner <david@fromorbit.com>
Cc: <stable@vger.kernel.org>
Link: https://lkml.kernel.org/r/20200820045323.7809-1-hsiangkao@redhat.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-09-26 10:33:57 -07:00
Olof Johansson
fffde96eb0 mt2701:
- add jpeg enconder node
 mt7623:
 - refactor dts and add hdmi support
 -----BEGIN PGP SIGNATURE-----
 
 iQJLBAABCAA1FiEEUdvKHhzqrUYPB/u8L21+TfbCqH4FAl9uCjwXHG1hdHRoaWFz
 LmJnZ0BnbWFpbC5jb20ACgkQL21+TfbCqH5zkg//eBk9qt4UkYFhy1YmG8SMvjPa
 Qiix0dsalNaxjGodq2z1289qDlkzIXh8rBXKrjy33ILRICyhH4ilnTjpyryeiSJX
 bviceQO+E29DOwUthnKhM5Aag65SJ62/CVI0v/ofRk+NZD0pwj/RMQBUvpKyVe+1
 gdzw76tFm41cIk2vWO5NPVreeediIQVN9oszmUQ6mebA5NA1zk7vyBhOAM5NvWvP
 jjnMEqRjo1mUYJ/x8QiNDu4shsTRr0vKJGJWUrHq/gAPlQ8xZND5SyChE3CsExM1
 5fzpyUdUAqJS6d70RD+ePQ4N8SKxEtIedXk1MoAZBHNP4S2zKtrvGmj6CZ02OisB
 YlpSQGfkmCYonsnvCpxUuS8mvgtsPkQUx0gtfGOcsQ2DY7ZH/kXaPS8Z35/LgIlW
 Qhwj9mQ8f6Txr1vzoZsiyRWySdXxo5csOMsis6n0Y9BC6gANOQFRCrHo0yKFDo/3
 fBy3XC7U1L2j567GFV85a7MIrsg4OYyb9X2posrWCFunV61R3dU02ZhVlwlEEBs8
 uLkhT+lsYKIRI6fhwv9ETBOawCx9iit7BujJjobzsexvQUf/kJ8+EHKucpOqu1Qt
 P3zObxohYgIlrv4oW6whlmsrKStpNOTzT6OOx1eBX4apU0kZp4opbVV2DWJfsQ4W
 DlGnwGJF1sUcAkFmb8s=
 =6jDY
 -----END PGP SIGNATURE-----

Merge tag 'v5.9-next-dts32' of https://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux into arm/dt

mt2701:
- add jpeg enconder node
mt7623:
- refactor dts and add hdmi support

* tag 'v5.9-next-dts32' of https://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux:
  arm: dts: mt7623: add missing pause for switchport
  arm: dts: mt7623: add lima related regulator
  arm: dts: mt7623: add display subsystem related device nodes
  arm: dts: mt7623: move display nodes to separate mt7623n.dtsi
  arm: dts: mt2701: Add jpeg enc device tree node

Link: https://lore.kernel.org/r/641d4d47-b7ad-42dd-f7a8-e028a1f64d70@gmail.com
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-09-26 10:24:37 -07:00
Olof Johansson
f75ff2c7bc mt8173:
- make nor flash work
 - fix da9211 regulator modes
 
 mt8183:
 - add support for system companion processor
 
 mt8516:
 - set reset gpio for gpio expander in pumpkin board
 -----BEGIN PGP SIGNATURE-----
 
 iQJLBAABCAA1FiEEUdvKHhzqrUYPB/u8L21+TfbCqH4FAl9uC+IXHG1hdHRoaWFz
 LmJnZ0BnbWFpbC5jb20ACgkQL21+TfbCqH7c3w/+L6fmP/VXGl89AN7JG3J+45yo
 WCyjT+JnQIOvI38o6ueGet/I5M6uFNC3wLM9VKa3/9Jj8fxJuSpQQzxBojwKwEHG
 hqBUVlhC12WdHLtf15fulwmkuXOi731NbnRW6/lBWZ2dW8ZNqxRu7T5kRGuWgokk
 Uoo38SI81xFBaOBkYZy4S+MEZIWFsvD4wxehJKkb+yT+IRXEYUA8zGbzznLKnojQ
 XUMuGaoB6uJiW2dme19pwj0AeG/maYuD6XkOEqY6YHaF7GCY9dk+xBiys581M5wn
 2/XpLoZu1jPQkPOlylwl5zc0TbVbZuqpESOVoCotSz+tO6OekNQQ8gouGzGjRU45
 fZtVKI9M8hl4NKldtnPoqykGLnfgveFNu0Kz0sQ8t47JWP4y/lKnusRxsWptWpe/
 RlKPHq/Hkg7yMEXsQoiOwGy4gOe5+2p29H4G/GcsRjY0fEaqs8s9mtwaYTzc4Wi6
 TsI0FTudmp9BenCKLmctt3Cbp5VASN+pXMfZm5mXudC1CloLxMqDw5Ny0duKvxJ0
 innCl38E4UpmTPBjsxdJ3UU7gJJjMwZas8oKsBkNBP7xbEKA1EqfX37Pg3TUBGJf
 sSY+UYWfhkYNtqSTXj/7uRvo1YRD3LZbt0QBNtDok3BxbExv695AWe3rRkKSkmiU
 tYYVlX0N76LXsJ3sCSk=
 =hAPZ
 -----END PGP SIGNATURE-----

Merge tag 'v5.9-next-dts64' of https://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux into arm/dt

mt8173:
- make nor flash work
- fix da9211 regulator modes

mt8183:
- add support for system companion processor

mt8516:
- set reset gpio for gpio expander in pumpkin board

* tag 'v5.9-next-dts64' of https://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux:
  arm64: dts: mt8183: update watchdog device node
  arm64: dts: mt8173: elm: Fix nor_flash node property
  arm64: dts: mediatek: fix tca6416 reset GPIOs in pumpkin
  arm64: dts: mt8183: add scp node
  arm64: dts: mt8173-elm: fix supported values for regulator-allowed-modes of da9211

Link: https://lore.kernel.org/r/1580bc76-b05a-ad29-1854-d2aca657c775@gmail.com
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-09-26 10:23:59 -07:00
Olof Johansson
9289beb8eb arm64: dtc: amlogic updates for v5.10
- new boards: libretch s905x cc v2, Hardkernel ODROID-N2+
 - vim3: sound updates
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEe4dGDhaSf6n1v/EMWTcYmtP7xmUFAl9t/bwACgkQWTcYmtP7
 xmX/kg//Sk4td4460YcVXrkNJCZ5m7PXiOlJ/ATVz2pv8lb+bf7bOkYWR+pUyxv0
 FERntgCgH8BlY+omNVRq3EduVjaaoeilKwCuaHgbGExy20dRLh8BhiYCqRKADnL5
 dJ59HKntHh6S/7NbooYRgSdlE2uAmt2hdQx7mtJQZNlTraRCXs/NP3WmBrmOLbjS
 1CDLk7iG0S7b6McsNwZnWje6aV01g53599aM1WRKgNbNl7hafnpTB3YB+IdI0wwK
 k1hX1ma77TmwXTk2CuSZh2rL0k22Gqd6kzMnH1x5rvSwhhpARDoqMDqCGTrcqbqJ
 Ziy8EXaVT/S8NkcPbdGQtu6vwlXjBskSA5bEqNylCdkpsghukbXTMug5fw3ftVWZ
 s67Vw/fFGEnzSINJ8uVQxMT6dkKRjkvSIYgukaAQG8Ni+xqfZfulbHkgo5HdVNvt
 8YlgbhOx4dmPvZLvkjP3mzlaoZbPt2Fg+4XVPtHyXjK52ppjt08xzZ2xscq0APNG
 G/eF2+treEn305I3kmOK0flrPelpOy6BVcB6lyK6L3DsGYb/hoGI/55y0JvGFxwp
 j0i59X1b9LrBmxi8C96x5dQSzrzprnj6sI1aaTsereAJyuA6rZ6B+nN9bzj1Xfk+
 7/RsXzSJ/gkOudDgFFyjML8IqXhlhQull0y5+iiDib7vQ1XS/9A=
 =vrF9
 -----END PGP SIGNATURE-----

Merge tag 'amlogic-dt64' of https://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic into arm/dt

arm64: dtc: amlogic updates for v5.10
- new boards: libretch s905x cc v2, Hardkernel ODROID-N2+
- vim3: sound updates

* tag 'amlogic-dt64' of https://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic:
  arm64: dts: meson: initial support for aml-s905x-cc v2
  dt-bindings: arm: amlogic: add support for libretch s905x cc v2
  arm64: dts: meson: add support for the ODROID-N2+
  dt-bindings: arm: amlogic: add support for the ODROID-N2+
  arm64: dts: meson: convert ODROID-N2 to dtsi
  arm64: dts: meson: vim3l: remove sound card definition
  arm64: dts: meson: vim3: make sound card common to all variants
  arm64: dts: meson: vim3: correct led polarity

Link: https://lore.kernel.org/r/7h3636kjxd.fsf@baylibre.com
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-09-26 10:23:18 -07:00
Olof Johansson
c490eab969 ARM: dts: amlogic updates for v5.10
- minor cleanup
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEe4dGDhaSf6n1v/EMWTcYmtP7xmUFAl9t/WcACgkQWTcYmtP7
 xmU5Kw/+JRejv/lMw0pNhHPLB3U2op65qnayvba9Ra1bWwXrGD3oNjBmAaAhfCGO
 MYX7oHjRK/LchLJQW2CG4mdkV9cb/hFTVOqILQPyQfLpQl0kGstKsRYP7boF68Ih
 jJZ+OstroocKiG1jmvtgMHdRZvNRRzXq+ycOyIj2teuM7LN9+passF3GM5oydzf7
 Kdxz3YhsG+DAYBBtf52ZWmeTr8rvgfZ5zckfTxv4ex6SgduT7ELG05+J6IA1hpf0
 h3fi+pIqaCWZ3+zBJPBGIRDOu4rdA8PQH0exLk8gFgxizAamAqvqH66eNwt8wGSl
 CfdpFswhEVitDEIElsVzxfxkM0jYTTOAK8Vmd+woBN0cYF70KxS3JjsrwDF4rqG5
 u1FmfA+J/D1rAwe9tVROD8Zhb1BommgygU60j8KbHyBYDvhIiL4Q6Bv0bnDs2R/G
 1gznUILQ299TKN8xQRa5xXBFFl9L7z/ewRwayyUPd+SSFu87i+kl8N+TD1ZN05jv
 uyyjlJDNdujo1njxStTSbaqL3AR7J3T7NznrPpvRoRUv65Z2AS0PNtRyUbGXcffC
 urUCeM2CSSg7vOKMrHdf+60aWjRiLFY2SrbH8tahXCjJSDpDjInO+4BXHcAfI0+9
 OiLYsA/bO5Vm7TsNUsR+Kb/OvBlS4tKGbMJSusFp84cIthWcOZA=
 =TQbU
 -----END PGP SIGNATURE-----

Merge tag 'amlogic-dt' of https://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic into arm/dt

ARM: dts: amlogic updates for v5.10
- minor cleanup

* tag 'amlogic-dt' of https://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic:
  ARM: dts: meson: move the L2 cache-controller inside the SoC node

Link: https://lore.kernel.org/r/7h7dsikjyt.fsf@baylibre.com
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-09-26 10:22:47 -07:00
Olof Johansson
873c331927 STM32 DT updates for v5.10, round 1
Highlights:
 ----------
 
 MCU part:
  -Some changes on stm32h743: enable display controler, add SPI resets,
   use "st,stm32h7-uart" compatible.
 
 MPU part:
  -Add new Odyssey SOM board based on STM32MP157CAC. It embeds 4GB eMMC, 512
   MB DDR3 RAM, USB and ETH connectors and a combo wifi/BT (AP6236 chip).
  -Add FMC2 EBI support on EV1 board.
  -Add arm-pmu node.
  -LXA:
   -Change ethernet phy delays to avoid kernel warnings.
   -Enable DDR50 eMMC mode.
  -DH:
   -Add new DH DRC02 unit board.
   -Add USB OTG support on PDK2 board.
   -Use uart8 RTS/CTS on PDK2 board.
   -Fix display PWM channel on PDK2 board.
   -Swap phy reset line and touchscreen irq on DHCOM SOM.
   -Drop QSPI CS2 on DHCOM SOM.
   -Update SDMMC pin config on AV96.
   -Enable uart7 RTS/CTS on AV96.
 -----BEGIN PGP SIGNATURE-----
 
 iQJMBAABCgA2FiEEctl9+nxzUSUqdELdf5rJavIecIUFAl9sbWkYHGFsZXhhbmRy
 ZS50b3JndWVAc3QuY29tAAoJEH+ayWryHnCFMT8P/1dgIDuB6ipE/F62JafiEAfJ
 gH+VPNaqzmOKLN7j5Nuhp1NIxE2FK4suJb7tT2ORbrv+uiO4t8e8dtpG8nzRCTbh
 p6Mmko/Hvchxxt/7ij8bllLIBjfYQfqQT81dJwR32ZheA7IZDuSEUZoMXZFxA73r
 GpYc6wq/J9990MEUgiDWyRuIuM00XRGlfeJM421n84Ce04q6YF6EAkNUdtIwVljv
 iw/il+jR+i4kal/aTJPGylPclQl/FCPaRDGivRSX11GU+ONDT5js23L18Odk+0W3
 ta2Qgb9667R6rD/C6imc46jNE76I/5/LLLpWaXzaGNzBEZ23WgifL76xSKGya9wV
 wN0/PoBnqBeUVbRFUQ+LHnZ5aN+wIebIcgBpa6WK2msmDztAwAVP81xqWKju2NlY
 7G67M8Yh7qYbEiAa4KFnMpp6wDxUVkx+fs+jPuOqO6mtGgXtx/M3ddVjxGETnEPX
 iBtylQ2SADTWV+TAhkVOM7xOEJl/btkxdsXt4dGh2vxQ8fouGJnQFj+sGUxPoSwg
 QbIHmhybSwol0MhvThoS6CYhxNQqpLbM3T4MNu8sPe8ArU7tlT2GheUrZlG8krkv
 JqIFM4Mp8bZaUl6l6awNF/+4EbffghvJR7+9WIKa15L4LkWLD++zp/PR87TLz1NU
 8KxsDc+JMz6WxHOeZ0uL
 =K195
 -----END PGP SIGNATURE-----

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

STM32 DT updates for v5.10, round 1

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

MCU part:
 -Some changes on stm32h743: enable display controler, add SPI resets,
  use "st,stm32h7-uart" compatible.

MPU part:
 -Add new Odyssey SOM board based on STM32MP157CAC. It embeds 4GB eMMC, 512
  MB DDR3 RAM, USB and ETH connectors and a combo wifi/BT (AP6236 chip).
 -Add FMC2 EBI support on EV1 board.
 -Add arm-pmu node.
 -LXA:
  -Change ethernet phy delays to avoid kernel warnings.
  -Enable DDR50 eMMC mode.
 -DH:
  -Add new DH DRC02 unit board.
  -Add USB OTG support on PDK2 board.
  -Use uart8 RTS/CTS on PDK2 board.
  -Fix display PWM channel on PDK2 board.
  -Swap phy reset line and touchscreen irq on DHCOM SOM.
  -Drop QSPI CS2 on DHCOM SOM.
  -Update SDMMC pin config on AV96.
  -Enable uart7 RTS/CTS on AV96.

* tag 'stm32-dt-for-v5.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32:
  ARM: dts: stm32: add arm-pmu node on stm32mp15
  ARM: dts: stm32: add FMC2 EBI support for stm32mp157c
  ARM: dts: stm32: lxa-mc1: enable DDR50 mode on eMMC
  ARM: dts: stm32: Fix DH PDK2 display PWM channel
  ARM: dts: stm32: Enable RTS/CTS for DH AV96 UART7
  ARM: dts: stm32: Swap PHY reset GPIO and TSC2004 IRQ on DHCOM SOM
  ARM: dts: stm32: use stm32h7 usart compatible string for stm32h743
  ARM: dts: stm32: add resets property to spi device nodes on stm32h743
  ARM: dts: stm32: add display controller node to stm32h743
  ARM: dts: stm32: Enable RTS/CTS for DH PDK2 UART8
  ARM: dts: stm32: Drop QSPI CS2 pinmux on DHCOM
  ARM: dts: stm32: Add STM32MP1 UART8 RTS/CTS pinmux
  ARM: dts: stm32: add initial support for stm32mp157-odyssey board
  dt-bindings: arm: stm32: document Odyssey compatible
  dt-bindings: vendor-prefixes: add Seeed Studio
  ARM: dts: stm32: lxa-mc1: Fix kernel warning about PHY delays
  ARM: dts: stm32: Add USB OTG support to DH PDK2
  ARM: dts: stm32: Fix sdmmc2 pins on AV96
  ARM: dts: stm32: Add DHSOM based DRC02 board
  ARM: dts: stm32: Move ethernet PHY into DH SoM DT

Link: https://lore.kernel.org/r/7e2a93c9-cf37-bc93-ed6e-d9cb1808b7a3@st.com
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-09-26 10:22:14 -07:00
Olof Johansson
a1c259cdb0 Qualcomm ARM64 DT updates for v5.10
Cleanup, refactor and modernize MSM8916 by sorting nodes, moving device
 and platform specific parts to their respective files, add and use
 labels for reference nodes and use IRQ defines. Migrate TCSR mutex off
 the depricated binding, add resin node for PM8916.
 
 Add LPASS clock controller for SC7180. Fix the LLCC reg, increase
 interconnect-cells, drop flags on MDSS irqs. Add interconnects for
 display, eMMC and SD-card, specify 'sustainable_power' for CPU thermal
 zones, improve pinconf states related to UART and Bluetooth. Add new DT
 for Lazor and Trogdor.
 
 Increase #interconnect-cells for SDM845 to allow tags, add OPP tables
 and power-domains for Venus and interconnects for display. Fix the ports
 on the HDMI nodes for DB845c and add DT for the Xiaomi Poco F1.
 
 Add interconnect providers, fix up primary USB's clock and use
 dt-binding defines for GPU clocks on SM8150.
 
 Add interconnect providers, CPUfreq, thermal configuration and missing
 uarts for SM8250. Fix up naming of debug uart, add always-on supply
 clock to gcc, fix up the sleep clock rate and define OPP tables for all
 QUP devices. Then add a new DeviceTree for the QRB5165 RB5 board.
 
 Enable watchdog on IPQ8074 and use the appropriate compatible for the
 PMU node. Enable DVFS support for IPQ6018.
 
 Finally correct the spelling of "interrupts" in MSM8992 uart node, fix
 missing # in PM660 #interrupt-cells, add second VFE power-domain to
 camss in MSM8996 and sort the Makefile.
 -----BEGIN PGP SIGNATURE-----
 
 iQJPBAABCAA5FiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAl9sGmAbHGJqb3JuLmFu
 ZGVyc3NvbkBsaW5hcm8ub3JnAAoJEAsfOT8Nma3F7n4QANwKflwOuE+KDK5/SCNb
 T7xYWw8ZV1GylHh3E52I42EmpkNDojepBUcjGMy+CZecZzD6cmivKRPu//X6GYzE
 MCE+1Z6pUugiDFpcQ2xuY62H1nw+52FeiF9Ze9lITvsKv6nGb+9iVjwU34PXGxuj
 uzUCTwqjF/At52zEO+nU0GoN51r3KZgnQEaI/dgTiSV5m0mb8eIG29oq0qB7RTno
 mcM8SWcewUHJOJP0/MzdFVE1Vp1MyiL5U7ilKKCCBg5U2Jwzif7Ugv5ZqR3wQ1vD
 I3Si9WaLechmCUPWsc6xuysreIdzUrWg37gL+FUdWLj+eWQw6NWjdJDZQM/Zr1DC
 XLxHYVliVr164XwTbZOR+JjaJKBOd1b399N8PKGaDYmlHZqP4L81LbfNvB3rkH2o
 Y1NuKksicUWt9E6+tAIIceBxBbUW4T2z4FEqwd4edFYxknAk/kr0iVT796Unv9lT
 mcsZW7zjN7ob1hqRlUNgPk/u8zASz0/7kGTEyJAbf8Q8MsJSkqvteJpFo0xcVM0W
 ty0sC8g7yGgEkuz9Ou5KIXT/5ulinhR+NjoBi1bG8mtgkDnw4k2hyEIpNbuWx5iP
 7CjM5ECDV5DK+Q1IXLDyQfrpUIRs9u9QOhoGuNvEztl9q/irJo26m0EEUrIoEgMI
 mH/AQkwMrY2x9aXGhtAjOxW9
 =yiGd
 -----END PGP SIGNATURE-----

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

Qualcomm ARM64 DT updates for v5.10

Cleanup, refactor and modernize MSM8916 by sorting nodes, moving device
and platform specific parts to their respective files, add and use
labels for reference nodes and use IRQ defines. Migrate TCSR mutex off
the depricated binding, add resin node for PM8916.

Add LPASS clock controller for SC7180. Fix the LLCC reg, increase
interconnect-cells, drop flags on MDSS irqs. Add interconnects for
display, eMMC and SD-card, specify 'sustainable_power' for CPU thermal
zones, improve pinconf states related to UART and Bluetooth. Add new DT
for Lazor and Trogdor.

Increase #interconnect-cells for SDM845 to allow tags, add OPP tables
and power-domains for Venus and interconnects for display. Fix the ports
on the HDMI nodes for DB845c and add DT for the Xiaomi Poco F1.

Add interconnect providers, fix up primary USB's clock and use
dt-binding defines for GPU clocks on SM8150.

Add interconnect providers, CPUfreq, thermal configuration and missing
uarts for SM8250. Fix up naming of debug uart, add always-on supply
clock to gcc, fix up the sleep clock rate and define OPP tables for all
QUP devices. Then add a new DeviceTree for the QRB5165 RB5 board.

Enable watchdog on IPQ8074 and use the appropriate compatible for the
PMU node. Enable DVFS support for IPQ6018.

Finally correct the spelling of "interrupts" in MSM8992 uart node, fix
missing # in PM660 #interrupt-cells, add second VFE power-domain to
camss in MSM8996 and sort the Makefile.

* tag 'qcom-arm64-for-5.10' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (75 commits)
  arm64: dts: qcom: sm8250: Add thermal zones and throttling support
  arm64: dts: qcom: sm8250: Add cpufreq hw node
  arm64: dts: qcom: sdm845: Add interconnects property for display
  arm64: dts: qcom: sm8250: Add EPSS L3 interconnect provider
  arm64: dts: qcom: sm8150: Add OSM L3 interconnect provider
  arm64: dts: qcom: sm8250: add interconnect nodes
  arm64: dts: qcom: sm8150: add interconnect nodes
  arm64: dts: qcom: sc7180: Increase the number of interconnect cells
  arm64: dts: qcom: sdm845: Increase the number of interconnect cells
  arm64: dts: qcom: Makefile: Sort lines
  arm64: dts: qcom: pm8916: Sort nodes
  arm64: dts: qcom: msm8916: Sort nodes
  arm64: dts: qcom: msm8916: Pad addresses
  arm64: dts: qcom: msm8916: Rename "x-smp2p" to "smp2p-x"
  arm64: dts: qcom: msm8916: Use more generic node names
  arm64: dts: qcom: msm8916: Add MSM8916-specific compatibles to SCM/MSS
  arm64: dts: qcom: msm8916: Minor style fixes
  arm64: dts: qcom: msm8916: Drop qcom,tcsr-mutex syscon
  arm64: dts: qcom: msm8916: Use IRQ defines, add IRQ types
  arm64: dts: qcom: msm8916: Fix MDP/DSI interrupts
  ...

Link: https://lore.kernel.org/r/20200924040607.180039-1-bjorn.andersson@linaro.org
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-09-26 10:21:23 -07:00
Olof Johansson
99bf15c707 New boards NanoPi R2S, A95X-Z2 and more Rock-Pi4 variants.
Khadas-edge additions and a some fixes.
 -----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCAAuFiEE7v+35S2Q1vLNA3Lx86Z5yZzRHYEFAl9ryD0QHGhlaWtvQHNu
 dGVjaC5kZQAKCRDzpnnJnNEdgU20CACU6tSCmlWEQ2dK3KLavODfcs2GvBpNlUA9
 xfoSmMcVbiFosmO7t9gSbJHkIqadMaU/XDZWU/aIcnnPffX3YnCSqRiRWmtw05PG
 7kBwHgPOqWhNc9fB7saj/sxth39V/7WKl3qwGuEPUZSDPJ/ZO9008vM0d6kbIQbA
 ubZqFZA3fM847Ej5LJgJ1yY2adYPYL5b43b5y6H5Us1nXPt5ONHrSoLhLLeoCVk8
 Ds+UdkLeu7zy2fDN4V6jhkEVFPgG2yq+xeDudIsFk1WXWsB7lO8yGdhPwfOrRire
 fsK3dGyO8dKvc8rhshTYwEPyJchrIIQsJFdqLBbVKeVW2mHxKtjC
 =WETP
 -----END PGP SIGNATURE-----

Merge tag 'v5.10-rockchip-dts64-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into arm/dt

New boards NanoPi R2S, A95X-Z2 and more Rock-Pi4 variants.
Khadas-edge additions and a some fixes.

* tag 'v5.10-rockchip-dts64-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  arm64: dts: rockchip: add ir-receiver node to rk3399-khadas-edge
  arm64: dts: rockchip: add spiflash node to rk3399-khadas-edge
  arm64: dts: rockchip: Add support for FriendlyARM NanoPi R2S
  dt-bindings: Add doc for FriendlyARM NanoPi R2S
  arm64: dts: rockchip: replace status value "ok" by "okay"
  arm64: dts: rockchip: fix cpu-supply for rk3328-evb
  arm64: dts: rockchip: add rk3318 A95X Z2 board
  dt-bindings: arm: rockchip: add Zkmagic A95X Z2 description
  dt-bindings: Add vendor prefix for Shenzhen Zkmagic Technology Co., Ltd.
  arm64: dts: rockchip: Add Radxa ROCK Pi 4C support
  arm64: dts: rockchip: Add Radxa ROCK Pi 4B support
  arm64: dts: rockchip: Mark rock-pi-4 as rock-pi-4a dts
  dt-bindings: arm: rockchip: Update ROCKPi 4 binding
  arm64: dts: rockchip: change spdif fallback compatible on rk3308
  arm64: dts: rockchip: Fix power routing to support POE on rk3399-roc-pc

Link: https://lore.kernel.org/r/16010805.MhVyP8KKtY@diego
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-09-26 10:18:13 -07:00
Olof Johansson
5f7067bc3a i.MX arm64 device tree change for 5.10:
- New board/device support: Librem 5 phone, i.MX8MM DDR4 EVK, Variscite
   VAR-SOM-MX8MN SoM and Symphony board.
 - Add NWL MIPI DSI controller support for i.MX8MQ.
 - Several series from Krzysztof Kozlowski to clean and fix up i.MX8
   based device trees according to DT schema.
 - A series from Michael Walle to add sl28cpld support for Kontron sl28
   device based on LS1028A.
 - Add two parameters for Samsung picophy tuning on imx8mm-evk and
   imx8mn-evk boards.
 - Add more thermal zones for Layerscape SoCs.
 - Various random update and minor fix-ups.
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAl9q8W0UHHNoYXduZ3Vv
 QGtlcm5lbC5vcmcACgkQUFdYWoewfM4AhQf+L6avHelgOvIbZFqv3EJEPsCZgTzQ
 ryXDfdC+x5tpWWdd2ulu3XevaNSWpDwrmmNEKr0jqehsRDQz/Q+/H13DZgz9qALy
 4vWyd6eY16pY38bTHC+Bf57LsC5scbpwkt/2gdy2oh73p4R0GwrBNp2CLo9ATduw
 QoVY9+5AOCilinI0Smqg/a2o1UeDoUSwzfnlEwA6hlx5cR7mla5wM6mRX8DNaFO3
 zEes8mpLaWfxWw256NPMUL9RTgVTaAPaR/hboN3DYjoUDSinv+5zxKbJDMavG5Ok
 1uG/T0g+XbvQJbOz1CDI4gI0tRgqWAJMtYCjH62m6DXBmajOaUcHi/Il7A==
 =XIpX
 -----END PGP SIGNATURE-----

Merge tag 'imx-dt64-5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into arm/dt

i.MX arm64 device tree change for 5.10:

- New board/device support: Librem 5 phone, i.MX8MM DDR4 EVK, Variscite
  VAR-SOM-MX8MN SoM and Symphony board.
- Add NWL MIPI DSI controller support for i.MX8MQ.
- Several series from Krzysztof Kozlowski to clean and fix up i.MX8
  based device trees according to DT schema.
- A series from Michael Walle to add sl28cpld support for Kontron sl28
  device based on LS1028A.
- Add two parameters for Samsung picophy tuning on imx8mm-evk and
  imx8mn-evk boards.
- Add more thermal zones for Layerscape SoCs.
- Various random update and minor fix-ups.

* tag 'imx-dt64-5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (71 commits)
  arm64: dts: imx8mq-librem5: correct GPIO hog property
  arm64: dts: imx8mm-var-som-symphony: Drop wake-up source from RTC
  arm64: dts: imx8mq: correct interrupt flags
  arm64: dts: imx8mn: correct interrupt flags
  arm64: dts: imx8mm: correct interrupt flags
  arm64: dts: imx8mm-var-som-symphony: fix ptn5150 interrupts
  arm64: dts: layerscape: correct watchdog clocks for LS1088A
  arm64: dts: freescale: sl28: enable fan support
  arm64: dts: freescale: sl28: enable LED support
  arm64: dts: freescale: sl28: map GPIOs to input events
  arm64: dts: freescale: sl28: enable sl28cpld
  arm64: dts: imx8mq-evk: Add MIPI DSI support
  arm64: dts: layerscape: Add label to pcie nodes
  arm64: dts: imx8mn-var-som-symphony: Add Variscite Symphony board with VAR-SOM-MX8MN
  arm64: dts: imx8mn-var-som: Add Variscite VAR-SOM-MX8MN System on Module
  arm64: dts: imx8mn-ddr4-evk: Remove unneeded PMIC pin configuration
  arm64: dts: imx8mm-var-som-symphony: Adjust ethernet pin configuration
  arm64: dts: imx8mm-var-som-symphony: Remove unneeded i2c3 properties
  arm64: dts: imx8mm-var-som-symphony: Drop unused gpioledgrp
  arm64: dts: imx8mq-librem5: Add interrupt-names to ti,tps6598x
  ...

Link: https://lore.kernel.org/r/20200923073009.23678-5-shawnguo@kernel.org
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-09-26 10:17:45 -07:00
Olof Johansson
2b7cfaaf0b i.MX arm32 device tree change for 5.10:
- New board/device support: Tolino Shine 2 HD, TQMa6 SoM, Y Soft IOTA
   Orion board.
 - update GPMI NAND node name to nand-controller for aligning with DT
   schema.
 - Remove the legacy fsl,spi-num-chipselects property from a few board.
 - A series to update imx6q-logicpd support, using GPIO chipselect,
   adding board compatible string, and enabling DTB build for the board.
 - Complete RNG device node in i.MX6SL device tree, and add RNG node for
   i.MX6SLL and i.MX6ULL.
 - Correct interrupt flags for imx6qdl-gw5xxx boards.
 - Add missing enet_out clock for i.MX6Q/DL Ethernet device.
 - Enable PCIe support for imx6qp-sabreauto board.
 - A series from Shengjiu Wang to add audio sound card for imx7d-sdb and
   imx6sll-evk board, add headphone detection for sound card on a few NXP
   development boards.
 - A couple of minor fix-ups on i.MX25 pin functions.
 - Some random update on various boards.
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAl9qrwoUHHNoYXduZ3Vv
 QGtlcm5lbC5vcmcACgkQUFdYWoewfM7Fqgf/Y+6XGsUY+QHRK6CTglOsDgC43Ixw
 mhJkvG7AWcu+2Oz+WLFVbncbcBBy1swrAAss0DlwAB3BXijWiytSz6flPCBHrFiN
 pyM1CLhgQChI2JfWRRc1ij/WOHkztnxR7CHLOycdhn8WQLFLQeC6Axox+d22IW4L
 NgbR08eq2g2+QjMjHPyGpxnCw7AoGzexCwCLC8ajKTFe16k61bkz5Q2SxXogdlkO
 cusfGpdFDme04Fl/T9sWOyIO/+l1qOzDx5JIQHRVnTB8hY7Dl7r7NQYdcvcdYrIj
 AR31fXEjioR5C+AYr25ZILowZlS8VyvfTi1ZFHMFG3yD+856AYqCDB40Jw==
 =w/3X
 -----END PGP SIGNATURE-----

Merge tag 'imx-dt-5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into arm/dt

i.MX arm32 device tree change for 5.10:

- New board/device support: Tolino Shine 2 HD, TQMa6 SoM, Y Soft IOTA
  Orion board.
- update GPMI NAND node name to nand-controller for aligning with DT
  schema.
- Remove the legacy fsl,spi-num-chipselects property from a few board.
- A series to update imx6q-logicpd support, using GPIO chipselect,
  adding board compatible string, and enabling DTB build for the board.
- Complete RNG device node in i.MX6SL device tree, and add RNG node for
  i.MX6SLL and i.MX6ULL.
- Correct interrupt flags for imx6qdl-gw5xxx boards.
- Add missing enet_out clock for i.MX6Q/DL Ethernet device.
- Enable PCIe support for imx6qp-sabreauto board.
- A series from Shengjiu Wang to add audio sound card for imx7d-sdb and
  imx6sll-evk board, add headphone detection for sound card on a few NXP
  development boards.
- A couple of minor fix-ups on i.MX25 pin functions.
- Some random update on various boards.

* tag 'imx-dt-5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (37 commits)
  ARM: dts: imx6qdl-gw5xxx: correct interrupt flags
  ARM: dts: imx6q-logicpd: Use GPIO chipselect
  ARM: dts: imx: Add an entry for imx6q-logicpd.dtb
  ARM: dts: imx6q-logicpd: Add a specific board compatible string
  ARM: dts: imx6q: align GPIO hog names with dtschema
  ARM: dts: imx6qdl-tqma6: fix LM75 compatible string
  ARM: dts: imx6qdl-tqma6: remove obsolete fsl,spi-num-chipselects
  ARM: dts: imx6qdl-tqma6: fix indentation
  ARM: dts: imx28-m28: Align GPMI NAND node name with schema
  ARM: dts: imx6qdl: add enet_out clk support
  ARM: dts: imx6qdl: move iomuxc compatible assignment out of root node
  ARM: dts: vf: Fix PCA95xx GPIO expander properties on ZII CFU1
  ARM: dts: imx: add devicetree for Tolino Shine 2 HD
  ARM: dts: imx6qdl-gw553x: Remove unneeded #address-cells/#size-cells
  ARM: dts: imx6sll-evk: Add audio sound card node
  ARM: dts: imx6sl-evk: Add headphone detection for sound card
  ARM: dts: imx6sx-sdb: Add headphone detection for sound card
  ARM: dts: imx6q-kontron-samx6i: Remove old fsl,spi-num-chipselects
  ARM: dts: imx: Fix the SPI chipselect polarity
  ARM: dts: imx25-pinfunc: Fix GPT function names
  ...

Link: https://lore.kernel.org/r/20200923073009.23678-4-shawnguo@kernel.org
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-09-26 10:17:13 -07:00
Olof Johansson
531696020e i.MX DT bindings update for 5.10:
- Various board compatible string additions to fsl.ymal.
 - Update Vybrid OCOTP binding for syscon compatible string, which is
   required to access the UID.
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAl9qnywUHHNoYXduZ3Vv
 QGtlcm5lbC5vcmcACgkQUFdYWoewfM6yVggAtuwwe3E49NQLgQipH/cj5z0oDeg+
 LJFNtE9I82V/Dj7ai/kJIoLq0CnTjOI6BH1O70iqUkQnaWkgaQLEFqq4bjvdBjwK
 f1xPHQAvWat2zmz50DpnmE5E8a6lqQ2yBLIbgTnDDBcX96kpto6noiIkQlK4EVCD
 1wQu/Iu5kaOlndZgmdl4Hm0dwHhof6fji1lbbHX9r3h817bkI22G2uAUJVwpZ6k0
 tr7mAhO/9g/GCGnmShfEWgAC2cW1wylffyFAHTO++tNP6Ll2En3rsvZFg4I/ai5g
 fclPKfht/bKdW7/4LfumfVJLLePl+LVO+w06W5JpL7JxkXDtiqOFn5zxZw==
 =CSGK
 -----END PGP SIGNATURE-----

Merge tag 'imx-bindings-5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into arm/dt

i.MX DT bindings update for 5.10:

- Various board compatible string additions to fsl.ymal.
- Update Vybrid OCOTP binding for syscon compatible string, which is
  required to access the UID.

* tag 'imx-bindings-5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  dt-bindings: arm: fsl: Add binding for Variscite Symphony board with VAR-SOM-MX8MN
  dt-bindings: arm: fsl: Add PHYTEC i.MX6 devicetree bindings
  dt-bindings: arm: fsl: Add PHYTEC i.MX6 UL/ULL devicetree bindings
  dt-bindings: arm: fsl: Add an entry for the i.MX6 LogicPD board
  dt-bindings: arm: fsl: Fix matching Purism Librem5 phones
  dt-bindings: arm: fsl: Add imx8mm ddr4 evk board
  dt-bindings: arm: fsl: add compatible string for Tolino Shine 2 HD
  dt-bindings: nvmem: Add syscon to Vybrid OCOTP driver
  dt-bindings: arm: fsl: Add binding for Variscite Symphony board with VAR-SOM-MX8MM
  dt-bindings: arm: fsl: Add binding for Variscite VAR-SOM-MX8MM module
  dt-bindings: arm: fsl: Add ZII Ultra boards binding
  dt-bindings: arm: fsl: Fix Toradex Colibri i.MX 8 binding
  dt-bindings: arm: fsl: Add Beacon i.MX8M Mini Development Kit binding
  dt-bindings: arm: fsl: Add the librem 5 phone
  dt-bindings: arm: fsl: Add Y Soft IOTA Orion board

Link: https://lore.kernel.org/r/20200923073009.23678-3-shawnguo@kernel.org
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-09-26 10:15:53 -07:00
Olof Johansson
5310d705a9 Device tree updates towards 5.10-rc1 for TI K3 platform.
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEE+KKGk1TrgjIXoxo03bWEnRc2JJ0FAl9p/FMACgkQ3bWEnRc2
 JJ2WQxAAg2Amv8rpc1e0PWFQdRf374rZ6KpjtsIm7fXX6PMA39G8tcBmQVgC7xLN
 a+bMceoBJatq8pUxBH91UluMZmG+cH3yzp0rgmP7uZSHPecOgkXhMUxdDwy0+hFj
 xKClp/j9zdma8Zab/gG3h4G6NPw6aBOFxkOkXW7pKCXcRNYSyqiIilafCTfV1Z1C
 A5rETY/FKjXBhT0N9702MooaPXq00cxcKwqO6nTCJzK8X3d/GhDD+QsabVteVN9H
 S+45r8KYxw7JCgt34EUW/LLrexnMOKCLjudcWE7FWMGb0W+KGnuxFUfRpGkbB5jU
 zH+yXiATBQFJOt1+KkxkS7osjf5jbNLsJP9dD8kMYsMEzd0TAQ9lgoVBBMnzUCPf
 68hYOc2kUkQaxOTZ+rhJjz5jbwUjADJ5jr8lJyjMIwey6Ne8BoAgN5Twpj4h58K8
 eFlVIOJ9mpsRLy1GCBgw4VohN+6bCO6K2p69CXgseKfj7JJ+5mtgNA1fVLQ16yB6
 wqdld12bWg83xuI6+pe6JYHVnMpgN2sUn6+uPMIM2YuZBXFTp2fqCSLAqaZeCMna
 37O7Yi3wXgS08IctTRkUNjTfBKzAXebO/x4Rko2/OdUNcYJh3LmFinbU1WY2wEND
 FXWd+GFL2DdmuF/09l0pqFKzvjdUeZMfcI3EeN3KJnNGZoWue7o=
 =7wth
 -----END PGP SIGNATURE-----

Merge tag 'ti-k3-dt-for-v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/nmenon/linux into arm/dt

Device tree updates towards 5.10-rc1 for TI K3 platform.

* tag 'ti-k3-dt-for-v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/nmenon/linux: (23 commits)
  arm64: dts: ti: k3-j721e-common-proc-board: Configure the PCIe instances
  arm64: dts: ti: k3-j721e-main: Add PCIe device tree nodes
  arm64: dts: ti: k3-*: Fix up node_name_chars_strict warnings
  arm64: dts: ti: k3-am65-wakeup: Use generic temperature-sensor for node name
  arm64: dts: ti: k3-am65-base-board Use generic camera for node name instead of ov5640
  arm64: dts: ti: k3-*: Use generic pinctrl for node names
  arm64: dts: ti: k3-am65*: Use generic clock for syscon clock names
  arm64: dts: ti: k3-am65*: Use generic gpio for node names
  arm64: dts: ti: k3-am65-main: Use lower case hexadecimal
  arm64: dts: ti: k3-j721e: Use lower case hexadecimal
  arm64: dts: ti: k3-am65: restrict PCIe to Gen2 speed
  arm64: dts: ti: k3-j721e-som-p0: Reserve memory for IPC between RTOS cores
  arm64: dts: ti: k3-j721e-som-p0: Add DDR carveout memory nodes for C71x DSP
  arm64: dts: ti: k3-j721e-som-p0: Add mailboxes to C71x DSP
  arm64: dts: ti: k3-j721e-main: Add C71x DSP node
  arm64: dts: ti: k3-j721e-som-p0: Add DDR carveout memory nodes for C66 DSPs
  arm64: dts: ti: k3-j721e-som-p0: Add mailboxes to C66x DSPs
  arm64: dts: ti: k3-j721e-main: Add C66x DSP nodes
  arm64: dts: ti: k3-j721e-som-p0: Move mailbox nodes from board dts file
  arm64: dts: ti: k3-j721e-main: Add crypto accelerator node
  ...

Link: https://lore.kernel.org/r/20200922134722.2y5kqxu4lghbwp5u@akan
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-09-26 10:15:12 -07:00
Shakeel Butt
678ff6a7af mm: slab: fix potential double free in ___cache_free
With the commit 10befea91b ("mm: memcg/slab: use a single set of
kmem_caches for all allocations"), it becomes possible to call kfree()
from the slabs_destroy().

The functions cache_flusharray() and do_drain() calls slabs_destroy() on
array_cache of the local CPU without updating the size of the
array_cache.  This enables the kfree() call from the slabs_destroy() to
recursively call cache_flusharray() which can potentially call
free_block() on the same elements of the array_cache of the local CPU
and causing double free and memory corruption.

To fix the issue, simply update the local CPU array_cache cache before
calling slabs_destroy().

Fixes: 10befea91b ("mm: memcg/slab: use a single set of kmem_caches for all allocations")
Signed-off-by: Shakeel Butt <shakeelb@google.com>
Reviewed-by: Roman Gushchin <guro@fb.com>
Tested-by: Ming Lei <ming.lei@redhat.com>
Reported-by: kernel test robot <rong.a.chen@intel.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Ted Ts'o <tytso@mit.edu>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-09-26 10:15:01 -07:00
Olof Johansson
f1466cdd82 Actions Semi drivers fixes for v5.9
- Fix the missing prototype warning in owl-sps-helper driver by
   including owl-sps header
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCgAdFiEEZ6VDKoFIy9ikWCeXVZ8R5v6RzvUFAl9p3t4ACgkQVZ8R5v6R
 zvWX3wf9GXCOpjT9duwdBqS1dqf69bYXlG+Hzxpc8Zd5Sc5gkhuKQyoK9bXIAs1j
 fbxpRNyJd2+5RtcOvJfA5LOqEE1jrBhHqOQcir28qyR8ZUGrlCzd1933RM+1jJPV
 9OFLxs6xENz4uSq4WkJpSIFDiiNfYdyuiDnQrhe1+0VGf8CcXLu1YAA1JZVFKOJF
 gandXfwglPK18Ta0uMBJhstFkM7SGUN9n5vbMmOcnl/AzEt2CeBRtj22et+UlppH
 YdbmugkXNM3GxTi5Imnoli7IY6dcJ8fJDfqOtaxQLusGnsi9J4/XLlpRuv3j7S/3
 +k+FOsZyghsi+i5j34/wzEWCloq3mw==
 =YB0/
 -----END PGP SIGNATURE-----

Merge tag 'actions-drivers-fixes-for-v5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/mani/linux-actions into arm/fixes

Actions Semi drivers fixes for v5.9

- Fix the missing prototype warning in owl-sps-helper driver by
  including owl-sps header

* tag 'actions-drivers-fixes-for-v5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/mani/linux-actions:
  soc: actions: include header to fix missing prototype

Link: https://lore.kernel.org/r/20200922114559.GD11251@Mani-XPS-13-9360
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-09-26 10:11:17 -07:00
Olof Johansson
6cd19012d0 Qualcomm ARM64 DT fixes for v5.9
This fixes the OPP table for SDM845 QUP devices to bring back
 Bluetooth support, disables SMMU on SDM630 to make the devices boot
 again, disables the eMMC controller on Kitakami to prevent permanent
 damage and fixes a typo in the pm660.
 -----BEGIN PGP SIGNATURE-----
 
 iQJPBAABCAA5FiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAl9pPacbHGJqb3JuLmFu
 ZGVyc3NvbkBsaW5hcm8ub3JnAAoJEAsfOT8Nma3F820P/Ry8VzhQqj9G+jivcGyN
 M62rUcN1vkPQlc6NwtqxeUtIwrORIo8xIV5QH7urNO5PhzZuA/E06tedqmlfGkV9
 znq5NGm22BICkgpN/tFOTM01aOSwyOZ3QEcxOslkCHjSlulwJsSYbG8A/PKtLzG0
 nQSy4mYrNDg4Yl39M1PDapYKLAAJvwxaQvrMyaXOeoZwARy/wexb5p4IyBJqUdel
 xVg8Y7KPNHkXClnWS6rfTumcsgCksnU+ww3BQbPnWs+u95uBuC7oGbxuAPq2to+i
 uOa8TfLuorcpHEaKTrQIsvBoDYQER+o+JrLaoWOygDIW/GPVQiPlzj4f4kavXpOm
 NFEu3BE6TRSaCPP+gK/18qeiJx5WooEuhffzVwxyfhhig5Y95dsLzzSKB8kLiyL5
 4iBFT8fmSNbgrehN5izZ57Qvy7ugID3/B08pwYyEn9fgCHmsVQh0l5QnwvEQHDx9
 wq1HIuLpdIln34v9aB+dAT91xPNIzOK1CAs+bGLvlPsII8eRfKI4L5ABU715GNJP
 Du1B0fY8cwrm2iOmmERkrjhJJgOZx3AR8wFM1Why5LY2KHKQBysNj+EpuO+3CG+N
 fJGgV4B5odBtIKG9Apd9jA8KjTD7Q1AQMKGHS+xyxghOlf3pmWmvxPGYMZoRXwiL
 zm/u4fN8sLmAEk9iGgAPTSUL
 =1HTr
 -----END PGP SIGNATURE-----

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

Qualcomm ARM64 DT fixes for v5.9

This fixes the OPP table for SDM845 QUP devices to bring back
Bluetooth support, disables SMMU on SDM630 to make the devices boot
again, disables the eMMC controller on Kitakami to prevent permanent
damage and fixes a typo in the pm660.

* tag 'qcom-arm64-fixes-for-5.9' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
  arm64: dts: qcom: pm660: Fix missing pound sign in interrupt-cells
  arm64: dts: qcom: kitakami: Temporarily disable SDHCI1
  arm64: dts: sdm630: Temporarily disable SMMUs by default
  arm64: dts: sdm845: Fixup OPP table for all qup devices

Link: https://lore.kernel.org/r/20200922000521.39621-1-bjorn.andersson@linaro.org
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-09-26 10:10:47 -07:00
Olof Johansson
32fe0116aa Qualcomm driver fixes for v5.9
Fix the array type of the domain_list QMI response in PDR.
 -----BEGIN PGP SIGNATURE-----
 
 iQJPBAABCAA5FiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAl9pOLsbHGJqb3JuLmFu
 ZGVyc3NvbkBsaW5hcm8ub3JnAAoJEAsfOT8Nma3F3DwP/iiHTvcSVTmpCz4Kk87e
 VgvhsIp/c9tGW5Spgdb9dTI469fznkbR/MhV8VHyz2boJRAZSqXzi5wCUP0Y1nwt
 4aoUk0eL9aecH88trkHcsKQYbgLcoKUkqftFMGe4DNX6ja34BKbg52SZ/xupVFp/
 aFk1iFk0Wm0cbh7r4X27vT3yIHcf2ic6VxuTEsDWnbohP3AmXamUq2iRduZwhVNB
 JEhju3hb+LqrZiSdYLu85/LSH/Obo1310dNo8TjNn29GE7DZTqtsm9hBl+79IxuW
 B9CCCbmo+jVQ/w+6s+b/T9J6aqcw+fEHD5KmOt3/QqGE3BgytuIq9I3u1rEdu139
 akK8xGzOQDT3Bkau3rgYDWUzY+BhnF8akvIQEhtkoBMW75yoTxuxFFQykDTtxQhO
 1XBD8hAIvfure8I6MmlvIehtuN19eS93gXsf15k+17umhr6lSYvogpFLHDSdhMx2
 jx7o9+xQxFST/f/HAxCQqIB0WW57HEMCL5rvMJXbJnkOzWcppUExbHRlaMOmG1fp
 N8llrXoChfYHSM0ijh4DhWA3Pq14ZKUM/7efRxUjPJ5iSq4mYTVfZ4TsozyIpect
 R0+zNZU27l9tzAJ7cfp87ajzEFj7IC8aeHZqt4yeSgLAMugUxiB8w/XguYBLWjiX
 sJ3AFwoKWBiKTGHk08xeufsK
 =RBzc
 -----END PGP SIGNATURE-----

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

Qualcomm driver fixes for v5.9

Fix the array type of the domain_list QMI response in PDR.

* tag 'qcom-drivers-fixes-for-5.9' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
  soc: qcom: pdr: Fixup array type of get_domain_list_resp message

Link: https://lore.kernel.org/r/20200921235241.36463-1-bjorn.andersson@linaro.org
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-09-26 10:10:28 -07:00
Olof Johansson
190b05d751 Two fixes for the Allwinner SoCs, one for the H5 GPU support and one for
a misconfigured regulator on the Bananapi M2 Ultra.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQRcEzekXsqa64kGDp7j7w1vZxhRxQUCX2jLlQAKCRDj7w1vZxhR
 xfeOAP9HaamZwsHuTm+4FYLhJwUe44c1cHmnRTA49I8ifWaAqwEAt0+SfFue9GG7
 ToKUFegAf7NP2h82QB04a72wHBo8CQk=
 =uA2F
 -----END PGP SIGNATURE-----

Merge tag 'sunxi-fixes-for-5.9-1' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into arm/fixes

Two fixes for the Allwinner SoCs, one for the H5 GPU support and one for
a misconfigured regulator on the Bananapi M2 Ultra.

* tag 'sunxi-fixes-for-5.9-1' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
  arm64: dts: allwinner: h5: remove Mali GPU PMU module
  ARM: dts: sun8i: r40: bananapi-m2-ultra: Fix dcdc1 regulator

Link: https://lore.kernel.org/r/8a436328-b844-4599-8695-ab2088a00ade.lettre@localhost
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-09-26 10:09:39 -07:00
Olof Johansson
abc7220b22 Tag fix up for TI serdes mux definition introduced in 5.9
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEE+KKGk1TrgjIXoxo03bWEnRc2JJ0FAl9onNQACgkQ3bWEnRc2
 JJ3YIw//VzEDb1AlwT40/LMd5i1wWP3mVbRf3oQMGHh0PXW8nM/OA1mD4f0br38e
 /32TeQvF9GsImQF2aUI2vN07cjZFKu3bm8vNmxdPIlQM/tZlL4lfiZAjVrQtc9XH
 +O2z0Y7/3MMf5mJe/kDD0AtTqcIk9nUH0bg8A+teN8QTl+cy/CAmzTbK5oEB6pYy
 08zJlgZBqm4pbeSG4VZyfoTDRwSMg5LyGCG9Z5LgE8fjW9evIqnDJOoErsU+pZZr
 o/SWIQSWFi+Q82OsBuq3OrSwxwAsRI6T7rADcnrwJEFY6G9K+7GCxlYmgX8fq+Y0
 OzIkMce/vmWp4wJ6z2OUbe36Ujvp/rdjhqFFCHuG0rr4czVGF5QKNokqP3BdZGQh
 5IXvDXxMEJZlizNwyUyrruI4D4fLenpbudvOG7IJ+TtSJGNxp04gXda766M1B5+S
 iz4HSnhLq2oNYTyYotcpXeO/p47vuf+ZX258yxtgeMxpsG+nw5FTE1zPcRmNWnMj
 7KVKyXrv/7aPlsoWyREQ4K7olDhiFqF7iLgvrqwuQzvOBwxV+5BeYlXT8JMjApQV
 Jm4evbZYI6Qs1gUWU6NvjHymQT9AHeA0da1AharGEBbGDY5nvepAyn0fTcvO3IwJ
 jpOSQa+OOlJok3nJy9SaNimQScwNogLsxvHHvWc7lsXmIMbOQSE=
 =rVCz
 -----END PGP SIGNATURE-----

Merge tag 'ti-k3-dt-fixes-for-v5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/nmenon/linux into arm/fixes

Tag fix up for TI serdes mux definition introduced in 5.9

* tag 'ti-k3-dt-fixes-for-v5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/nmenon/linux: (637 commits)
  arm64: dts: ti: k3-j721e: Rename mux header and update macro names
  Linux 5.9-rc3
  genirq/matrix: Deal with the sillyness of for_each_cpu() on UP
  fsldma: fix very broken 32-bit ppc ioread64 functionality
  kernel.h: Silence sparse warning in lower_32_bits
  cifs: fix check of tcon dfs in smb1
  KVM: arm64: Set HCR_EL2.PTW to prevent AT taking synchronous exception
  KVM: arm64: Survive synchronous exceptions caused by AT instructions
  KVM: arm64: Add kvm_extable for vaxorcism code
  arm64: vdso32: make vdso32 install conditional
  arm64: use a common .arch preamble for inline assembly
  mfd: mfd-core: Ensure disabled devices are ignored without error
  usb: storage: Add unusual_uas entry for Sony PSZ drives
  md/raid5: make sure stripe_size as power of two
  powerpc/32s: Disable VMAP stack which CONFIG_ADB_PMU
  io_uring: don't bounce block based -EAGAIN retry off task_work
  io_uring: fix IOPOLL -EAGAIN retries
  arm64/cpuinfo: Remove unnecessary fallthrough annotation
  media: dib0700: Fix identation issue in dib8096_set_param_override()
  hwmon: (gsc-hwmon) Scale temperature to millidegrees
  ...

Link: https://lore.kernel.org/r/20200921125402.mtwypblhb45a6ssh@akan
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-09-26 10:08:48 -07:00
Olof Johansson
12f0f6f654 Samsung DTS ARM64 changes for v5.10, part two
Minor cleanups: removal of undocumented I2S properties, alignment of OPP
 table node name with dtschema.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAl9nefUQHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD10wPD/9KA3aaph63wzNeVnktLt8U71Va5OilCtb3
 McsKUv0ibQJ1YXFGMbChpG0rwsExJE2gA+Ur0YdwgoEtQvYi1wwKTTCyWLejzNRT
 uWITxCodPeXDUnNG7TM7BIefb/bO1L1bhjuGLF0S2ThiPMW19+cDXUDZIQBC9aSn
 NmHajddNs+S7x7FnHHRgdTuQ+aTvcFPWzshtLAOEbfOEf4VyyFjRrK0XRfqPpc/i
 n5vmj0uaGuet3b0mODvnzPn2LlajWQN3B4XGR+wCphFBAwl15a0ZI3OKZsshF4UP
 OXm6pd7hbCOHtByKAjq8zBVTYsNUiSyXvtRmujhQWsa8hqqnKd4JkuddRGDMN/Xj
 zUGzo/71m8Tv7IfeTR1W+DQUFQnBM8n5FjbvXLA251TMZu99Fwg9ZVRZEmpqclyR
 xFr4EAglBjpvmW5bYSHdBTJu5kf2g8eizGkf/951UvQythGpkn4dQUGBDfsvY/hm
 Dr30owmE84waThpWVOjXTnZgAw1z062DnVqj5NKg1wXRCQcb1BfqwzF94Qjbe7Ce
 K4+SW3eVFx4oclmBja8a7PlVh+avF1zbx81Rpi04WFACo2DrQNU0YCzlUpNhD9DD
 o2ZI1M2odP7HXtKXg46CELhxZvpCubg4jH35EHj0VFIwTVL3bCGor48cE9rtrjQ6
 7YRDlPWvnQ==
 =RS85
 -----END PGP SIGNATURE-----

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

Samsung DTS ARM64 changes for v5.10, part two

Minor cleanups: removal of undocumented I2S properties, alignment of OPP
table node name with dtschema.

* tag 'samsung-dt64-5.10-2' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  arm64: dts: exynos: Align OPP table name with dt-schema
  arm64: dts: exynos: Remove undocumented i2s properties in Exynos5433

Link: https://lore.kernel.org/r/20200920160705.9651-4-krzk@kernel.org
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-09-26 10:02:59 -07:00
Olof Johansson
76e5b12c90 Samsung DTS ARM changes for v5.10, part two
1. Further cleanup of DTS with dtschema: s5pv210, s3c6410 and s3c24xx.
    This fixes many minor dtschema violations, adds few missing
    functionalities (like clock for RTC) and improves the code
    maintainability in few places. Except the RTC clock, this should not
    have visible impact.
 2. Fix few remaining Exynos dtschema violations.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAl9nebQQHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD1zeHD/9ykZ+GLUZkUQQGjFKuCAyJsUPMUBr6+oqM
 Ab8za4YXrWi/Kctp+sDp5yRl3XsgB+VgJHfP+GjQnAVmYGE3gEIpJ4Ig0iSjikWJ
 Hk8tqZqQca6sOI/cfowCDAwWIPU6N1V5IO0rC7MiCdEfAFF22xhzXSp2WiFLsPHQ
 cMa9pUb8KKZEA48annLXUxMjogGFdaCmFpQhugek22zfE99Zl11/PcM1U9LiHfdL
 r+iHMfI5Nya/5sHKrtypdO3y8o90f/ZTDhqp2XmMa7uLgmRDvqtAuglR/Gkrnfxj
 XzNYQgaa/yd6WVvXNZWUsBphSOxDE7loYwmD21yUOSP/PhuoiP4PrzbPk0ewrfZX
 PRHN7NwjkFWDVaKjbsg329j30U+82SRxnJVOVbnog1l5iUQxE9/8+/I1GYt1sfGD
 xNsoRJohALyifaACBNRCusauZXQkZi9LEQlYVVKSL7TLdgx76dzTyc2S39aTDYft
 QQZbNZwhIOaHeFzR4Xlx/fVZUrSymzvYUOBJRs1E486zS8RK+v6J65QU6zenW2xV
 2TUVsMYrzvdwBZm9GIJbhx86r5Il1iPkXzyMblgQseUgPtV5F54DloqW5pQ7V1iZ
 YadW+c3EzUhHmLvvO8GCdsQrWBKZcm3eCaTttdPQD+omb5/I9imNRZ1CUyZwrp/b
 qtI0QQdMzA==
 =yolB
 -----END PGP SIGNATURE-----

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

Samsung DTS ARM changes for v5.10, part two

1. Further cleanup of DTS with dtschema: s5pv210, s3c6410 and s3c24xx.
   This fixes many minor dtschema violations, adds few missing
   functionalities (like clock for RTC) and improves the code
   maintainability in few places. Except the RTC clock, this should not
   have visible impact.
2. Fix few remaining Exynos dtschema violations.

* tag 'samsung-dt-5.10-2' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux: (36 commits)
  ARM: dts: s5pv210: replace deprecated "gpios" i2c-gpio property in Goni
  ARM: dts: s5pv210: replace deprecated "gpios" i2c-gpio property in Aquila
  ARM: dts: s5pv210: move fixed regulators under root node in Goni
  ARM: dts: s5pv210: move fixed regulators under root node in Aquila
  ARM: dts: exynos: Align OPP table name with dt-schema
  ARM: dts: exynos: move assigned-clock* properties to i2s0 node in Odroid XU4
  ARM: dts: exynos: add input clock to CMU in Exynos4412 Odroid
  ARM: dts: exynos: add input clock to CMU in Exynos3250
  ARM: dts: s3c24xx: move fixed clocks under root node in SMDK2416
  ARM: dts: s3c24xx: add address to CPU node
  ARM: dts: s3c24xx: align PWM/timer node name with dtschema
  ARM: dts: s3c24xx: override nodes by label
  ARM: dts: s3c24xx: fix number of PWM cells
  ARM: dts: s3c6410: remove additional CPU compatible
  ARM: dts: s3c6410: align node SROM bus node name with dtschema in SMDK6410
  ARM: dts: s3c6410: align node SROM bus node name with dtschema in Mini6410
  ARM: dts: s3c6410: move fixed clocks under root node in SMDK6410
  ARM: dts: s3c6410: move fixed clocks under root node in Mini6410
  ARM: dts: s5pv210: correct ethernet unit address in SMDKV210
  ARM: dts: s5pv210: align SPI GPIO node name with dtschema in Aries
  ...

Link: https://lore.kernel.org/r/20200920160705.9651-3-krzk@kernel.org
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-09-26 10:02:37 -07:00
Olof Johansson
dd59aed76d arm64: tegra: Changes for v5.10-rc1
This set of changes fixes some minor issues in existing device trees and
 adds ID EEPROMs on the Jetson Xavier NX. All ID EEPROMs are now labelled
 to allow them to be detected by software.
 
 It also adds support for the Tegra234 VDK board, which is a pre-silicon
 platform for the upcoming Orin SoC.
 -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCAAxFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAl9ky48THHRyZWRpbmdA
 bnZpZGlhLmNvbQAKCRDdI6zXfz6zoVVtEACJcW6ztbQiqrksFdVW+8wlT/EZwNwr
 qwwjGvy0ovJIYAPTB+XhGllUp17QR2EVzdGJW9Q8mr92QRpoQxSg3yB3BaJWsMoz
 AH+9qkQoRE5F+aFwO2l8kTBDswyiOQCLxsiDSCcCWTHtvAQOl/K2HjG+4kxtko+C
 0in+p67PG0t4qanjeTApWEWXjfiXBpM0bcv89TKK0SO+k+zsjupEZeOnVIbEpGTa
 SMjKm/0l0jZIEMoweqX3H0jpTBvqE6IjLm4EAbCfLJrhDEIQe50WkNpw2CVaCZy6
 2Mjnv7Gr/XO3MKmM4stLYTZ9eu5qDa7wGrQT/mXZt7kEc3L85rGZGyWQm5bCmspa
 mSKZ+swtegkEBBofOabxcCDi0V9KxDiba3hwv4mr17qMjj7VBK5le3JhUS19qnZ8
 Osu81JqKrDjfkmxtqSnJEeTTVwxBG09WQ5lME9FRBqH9P5Y1L7yCAuqPLzYhXxtj
 KAcqveVzoMMi2YIp4Rt07seWsHhuNqkY9XWtPWrgubGtU1AKYXWHYDojefyo1VUq
 1bOkzSa+ZVBwZuRmdgn2vxbeJnexeTAPolJp4WCpJpSGJbiFKNqhh5scjjfSviGS
 PfOITtuJgaxoqEZRhCdF/VM2+YSjjVljRkiE6b8W0+eKkeQKzzDvJIDnOqeb7PGX
 1gJniuIR25eShg==
 =zeT7
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-5.10-arm64-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into arm/dt

arm64: tegra: Changes for v5.10-rc1

This set of changes fixes some minor issues in existing device trees and
adds ID EEPROMs on the Jetson Xavier NX. All ID EEPROMs are now labelled
to allow them to be detected by software.

It also adds support for the Tegra234 VDK board, which is a pre-silicon
platform for the upcoming Orin SoC.

* tag 'tegra-for-5.10-arm64-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  arm64: tegra: Initial Tegra234 VDK support
  arm64: tegra: Populate EEPROMs for Jetson Xavier NX
  arm64: tegra: Add label properties for EEPROMs
  arm64: tegra: Add DT binding for AHUB components
  arm64: tegra: Enable ACONNECT, ADMA and AGIC on Jetson Nano
  arm64: tegra: Properly size register regions for GPU on Tegra194
  arm64: tegra: Use valid PWM period for VDD_GPU on Tegra210
  arm64: tegra: Describe display controller outputs for Tegra210
  arm64: tegra: Disable SD card write-protection on Jetson Nano
  arm64: tegra: Add VBUS supply for micro USB port on Jetson Nano
  arm64: tegra: Wire up pinctrl states for all DPAUX controllers
  arm64: tegra: Add ID EEPROMs on Jetson AGX Xavier

Link: https://lore.kernel.org/r/20200918150303.3938852-5-thierry.reding@gmail.com
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-09-26 10:01:52 -07:00
Olof Johansson
61d5d791cb dt-bindings: Changes for v5.10-rc1
This set of changes adds compatible strings for Tegra234 to existing
 device tree bindings.
 -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCAAxFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAl9kyicTHHRyZWRpbmdA
 bnZpZGlhLmNvbQAKCRDdI6zXfz6zoU0CD/4u3fv5Z3UlNZFGk2XO/LBJabE8S9X2
 77HyC+xh9///HrGtMO1H3Va8BHn1bPItiiTY73GyyI7usi1B+Won9Z8EhPN4SW+c
 OptvXsiuUtLAmx0/Q+rJb8YPhJ+GwOS73XW7JUafyR6gsqRGM+WQOg2GMJthTw+G
 0PxpjvfS2Jb2K1M9zWgnHT1vxpbDUvBrCGqX++/8vAa3r+XdCiBGEdBlQslmzREg
 qhtWXqueszkUeJlFrsNBEZZesR7umjsmLAa/bWrf1nyyDkDsmSwZRwxfyHxrB/iE
 0Ipg6J374tKfmXjSXVz/Bt1HvQzzlEAT0/tWSkZtURthkvQnAOz0muhb+Oo+ui3O
 GKhiVNqXvtnpVOrH9mnbtn2kGm6f+tJAhYs7eX9GVOKrbORo4GV2gYa5tc21j9QX
 hpzUL7h9kA7T/sRTtlO8gadAVYLimWrQaqNAaCdblqqnchWXYM9TEpR+CDDIT1mj
 DARnoP9+XFKyLbuf4tKEj0wnSsbLy6q9zsBjN+Ob5vHKSt4VeM+wMQ9wJE0yGpZX
 KUcLgPovJ22P9P+8My7ezjowc2HbsU4r3aZSOtSneuhWvIIcK8onUCu+sOozCzPo
 63tS8BlFolaJ+/bwbSPldKJBhNOndWfzJZvkzGjatZSODn1obyE+4D79PqbFWOq5
 JKRHxsRjkRlSuQ==
 =bnbf
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-5.10-dt-bindings' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into arm/dt

dt-bindings: Changes for v5.10-rc1

This set of changes adds compatible strings for Tegra234 to existing
device tree bindings.

* tag 'tegra-for-5.10-dt-bindings' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  dt-bindings: power: supply: Add device-tree binding for Summit SMB3xx
  dt-bindings: tegra: pmc: Add Tegra234 support
  dt-bindings: fuse: tegra: Add Tegra234 support
  dt-bindings: tegra: Add Tegra234 VDK compatible
  dt-bindings: misc: tegra186-misc: Add Tegra234 support
  dt-bindings: misc: tegra186-misc: Add missing compatible string
  dt-bindings: misc: tegra-apbmisc: Add missing compatible strings

Link: https://lore.kernel.org/r/20200918150303.3938852-1-thierry.reding@gmail.com
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-09-26 10:01:07 -07:00
Olof Johansson
2e6115aa2b Renesas DT binding updates for v5.10
- Document core support for the R-Car V3U (R8A779A0) SoC and the
     Renesas Falcon CPU and BreakOut boards.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCX2SgdwAKCRCKwlD9ZEnx
 cMZwAQCE2jD6gvS56pI2k7zDyX5r8mbhHgxXfw2PpHFV1O831QEAjQ9/PET1JbaS
 McoeM3Yumhg1vizNqrpmupnb0ujP/Qw=
 =VWF0
 -----END PGP SIGNATURE-----

Merge tag 'renesas-dt-bindings-for-v5.10-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into arm/dt

Renesas DT binding updates for v5.10

  - Document core support for the R-Car V3U (R8A779A0) SoC and the
    Renesas Falcon CPU and BreakOut boards.

* tag 'renesas-dt-bindings-for-v5.10-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  dt-bindings: arm: renesas: Document Renesas Falcon boards
  dt-bindings: reset: renesas,rst: Document r8a779a0 reset module
  dt-bindings: power: renesas,rcar-sysc: Document r8a779a0 SYSC bindings
  dt-bindings: arm: renesas: Document R-Car V3U SoC DT bindings

Link: https://lore.kernel.org/r/20200918124800.15555-5-geert+renesas@glider.be
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-09-26 09:59:52 -07:00
Olof Johansson
0b69d912b3 Renesas ARM DT updates for v5.10 (take two)
- PCIe endpoint support for the RZ/G2H SoC,
   - SATA support for the HopeRun HiHope RZ/G2H board,
   - Increase support (CAN, LED, SPI NOR, VIN, VSP) for the RZ/G1H SoC on
     the iWave Qseven board (G21D), and its camera add-on board,
   - Initial support for the R-Car V3U SoC on the Falcon CPU and BreakOut
     boards,
   - HDMI display and sound support for the R-Car M3-W+ SoC on the
     Salvator-XS board,
   - Digital Radio Interface (DRIF) support for the R-Car E3 SoC,
   - Minor fixes and cleanups.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCX2SkmQAKCRCKwlD9ZEnx
 cIXNAP0XqvKJP7xGjQ1ORyePB1nWZtebVqGoQFxpvqwznMNZlAD7BIRlATo4LYpu
 LNMya5sk85WAhZNbpkHwR++3/8m+mgE=
 =Va2A
 -----END PGP SIGNATURE-----

Merge tag 'renesas-arm-dt-for-v5.10-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into arm/dt

Renesas ARM DT updates for v5.10 (take two)

  - PCIe endpoint support for the RZ/G2H SoC,
  - SATA support for the HopeRun HiHope RZ/G2H board,
  - Increase support (CAN, LED, SPI NOR, VIN, VSP) for the RZ/G1H SoC on
    the iWave Qseven board (G21D), and its camera add-on board,
  - Initial support for the R-Car V3U SoC on the Falcon CPU and BreakOut
    boards,
  - HDMI display and sound support for the R-Car M3-W+ SoC on the
    Salvator-XS board,
  - Digital Radio Interface (DRIF) support for the R-Car E3 SoC,
  - Minor fixes and cleanups.

* tag 'renesas-arm-dt-for-v5.10-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel: (24 commits)
  arm64: dts: renesas: r8a774c0: Fix MSIOF1 DMA channels
  arm64: dts: renesas: r8a77990: Fix MSIOF1 DMA channels
  arm64: dts: renesas: r8a77990: Add DRIF support
  ARM: dts: r8a7742-iwg21d-q7-dbcm-ca: Add can0 support to camera DB
  ARM: dts: r8a7742: Add VSP support
  arm64: dts: renesas: Drop superfluous pin configuration containers
  arm64: dts: renesas: r8a77961: salvator-xs: Add HDMI Sound support
  arm64: dts: renesas: r8a77961: salvator-xs: Add HDMI Display support
  arm64: dts: renesas: r8a77961: Add HDMI device nodes
  arm64: dts: renesas: r8a77961: Add DU device nodes
  arm64: dts: renesas: r8a77961: Add VSP device nodes
  arm64: dts: renesas: r8a77961: Add FCP device nodes
  arm64: dts: renesas: Fix pin controller node names
  ARM: dts: renesas: Fix pin controller node names
  arm64: dts: renesas: Add Renesas Falcon boards support
  arm64: dts: renesas: Add Renesas R8A779A0 SoC support
  ARM: dts: r8a7742-iwg21d-q7: Enable SD2 LED indication
  ARM: dts: r8a7742-iwg21d-q7: Add can1 support to carrier board
  ARM: dts: r8a7742-iwg21d-q7: Add SPI NOR support
  ARM: dts: r8a7742: Add VIN DT nodes
  ...

Link: https://lore.kernel.org/r/20200918124800.15555-2-geert+renesas@glider.be
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-09-26 09:59:32 -07:00
Krzysztof Kozlowski
e90ac411dc arm64: dts: apm: add required gpio-cells to DW APB GPIO controller port
The Synopsys DesignWare APB GPIO controller port must have gpio-cells
property, as pointed by dtschema:

  arch/arm64/boot/dts/apm/apm-mustang.dt.yaml: gpio@1c024000: gpio-controller@0: '#gpio-cells' is a required property

Link: https://lore.kernel.org/r/20200917165040.22908-2-krzk@kernel.org
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-09-26 09:50:18 -07:00
Krzysztof Kozlowski
61163895f3 arm64: dts: apm: drop unused reg-io-width from DW APB GPIO controller
The Synopsys DesignWare APB GPIO controller driver does not parse
reg-io-width and dtschema does not allow it so drop it to fix dtschema
warnings like:

  arch/arm64/boot/dts/apm/apm-mustang.dt.yaml: gpio@1c024000:
    'reg-io-width' does not match any of the regexes: '^gpio-(port|controller)@[0-9a-f]+$', 'pinctrl-[0-9]+'

Link: https://lore.kernel.org/r/20200917165040.22908-1-krzk@kernel.org
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-09-26 09:50:07 -07:00
Krzysztof Kozlowski
088a2644de ARM: dts: picoxcell: drop unused reg-io-width from DW APB GPIO controller
The Synopsys DesignWare APB GPIO controller driver does not parse
reg-io-width and dtschema does not allow it so drop it to fix dtschema
warnings like:

  arch/arm/boot/dts/picoxcell-pc7302-pc3x2.dt.yaml: gpio@20000:
    'reg-io-width' does not match any of the regexes: '^gpio-(port|controller)@[0-9a-f]+$', 'pinctrl-[0-9]+'

Link: https://lore.kernel.org/r/20200917164909.22490-1-krzk@kernel.org
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Acked-by: Jamie Iles <jamie@jamieiles.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-09-26 09:49:42 -07:00
Krzysztof Kozlowski
e89c32fe22 ARM: dts: picoxcell: build DTBs with make dtbs
Add ARCH_PICOXCELL entries to Makefil so the DTBs get built with
`make dtbs`.

Link: https://lore.kernel.org/r/20200917163957.21895-1-krzk@kernel.org
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-09-26 09:49:32 -07:00
Olof Johansson
3e0111ecaf AT91 DT for 5.10
- New board: GARDENA smart Gateway (Art. 19000)
  - dtbs_check warnings fixes
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEycoQi/giopmpPgB12wIijOdRNOUFAl9ifO4ACgkQ2wIijOdR
 NOVboRAArOlSSf80uqgse6GIE7YiN0ZmrQTRX9kTbBW3MJno8mX6Qj9fqCKEXIhZ
 u8LfnUQXhPztx9drWAMUEJJURVSiQpiDUWZAwmWtSPz/qSdA8nNhDz0UcYoFkNww
 e9aOgVlZ0hKBWMyVJDHVmAxp31wy0Y0gse+YgMcsYTcG5PNR4ZzQD2yQqrXDxHJZ
 OaLdYjMDU3sKgsGq3DzTe6vaYoO9pqoed5evO+uhEmGnSIsmAFqCn1gcu87BPCXK
 m38Of8lFmzItrqd44rx61ZadwGzRJJNIwSbaHty1iraVUgfpVzXGo0BkKvrspYHh
 eQQ/2Ild5KFlNksDl7hKu2hJlO8xXDznaBxbFsOwQY3qHfGLQQc4vJPs77cI18JJ
 LeVUqOTkRJlRPewxjAC+UXtkmRvnrWMK6lIHgv8h4v63c7BrHewAeLxn9OuIGuOK
 7OgT64bANPojvTFTSgHzkpuNGLePV9yNFr2rbV+eD5f1MVio97+drJLlV7DPDFas
 IGoi6/NyDmtVkl/fsrLwQmhqY7gnjrRQYitRQspYgdHdzPwnv16/x0e7KOBeIuAc
 VCcWwcgxb/TutwdnIrSj7i5ZHZuSrAdUkBF2RyaWgXAC2gWhqgkq8JxRhMe+rIHZ
 6Fn7sz8DKQQlpxgNsVVoH5mu3rIje1oXtDM9sKzYUhAbOlW6SQ0=
 =dIZJ
 -----END PGP SIGNATURE-----

Merge tag 'at91-dt-5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/at91/linux into arm/dt

AT91 DT for 5.10

 - New board: GARDENA smart Gateway (Art. 19000)
 - dtbs_check warnings fixes

* tag 'at91-dt-5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/at91/linux:
  ARM: dts: at91: sama5d2: add missing flexcom spi node properties
  ARM: dts: at91: add unit-address to memory node
  ARM: dts: at91: move mmc pinctrl-names property to board dts
  ARM: dts: at91: fix sram nodes
  ARM: dts: at91: fix cpu node
  ARM: at91: Add GARDENA smart Gateway (Art. 19000) support
  dt-bindings: arm: at91: Add GARDENA smart Gateway (Art. 19000) board

Link: https://lore.kernel.org/r/20200916211348.GA275895@piout.net
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-09-26 09:48:36 -07:00
Olof Johansson
b042dc7424 SoCFPGA DTS updates for v5.10
- Increase shared-dma-pool size to 32MB
 - Add ptp_ref clock properties to the ethernet nodes on Stratix10 and Agilex
 -----BEGIN PGP SIGNATURE-----
 
 iQJIBAABCgAyFiEEoHhMeiyk5VmwVMwNGZQEC4GjKPQFAl9ieBkUHGRpbmd1eWVu
 QGtlcm5lbC5vcmcACgkQGZQEC4GjKPQxIA//VUV1yy5PWxHQSEVF47XinZFN9H/2
 pdxPF5O9z8S0CuHWQlYYi53wwLjw2cM44B78PbLx4dtQnmno1gaQQsUTuMfDjUeN
 E9DwTJJTonOYib7dIwLRh33mRSd8WA8Hp2up3Ban2X14Biec9VphTDo5ECXUxPk2
 +ajsDkFxBTREfTh8fwnJvZnj5ApimHfTvODEpDSdPqVY1vXCUIbMCHbWrTnCabck
 qvLzamZU6k7/dccEiv9eXnpN/WVj4jGgdHe3x8XApIEhqmdHqgP7okH1n8sZDkr/
 S0ew63ST+rD24+SC+OodWEpRGNkmfzzfi0I7aIVw2h3Nh+fwpx6HDQifnL5HtJKM
 lWqnVR9szxdwRRafqXMmG41qXmu6ZomD5TNGkPIfZJ2Ib67xoXpZB5WtQkDbu34r
 kBWQsLiEkN1mPjUs0htqskaPRc228zHMvTNd9OC9917/V7DgMg5dMEMbO5KUHCDv
 alX/rcYOXkUDEyCjKJ9zEAvYeO8Fq0pF9Onz8euYNQQCk9efBf/r3z9pwd7kJ8b9
 Tkg2SabimR+3qN6luiPwdaWGWk2MF6+JMQqKywanG+5DWT540Ka++IF/CR2KJh4J
 9F81oAF/Z94ATQ8F95bKogrSfeGj/jhwL5T0qIejOvaWW70Jb/C1DUBuEyl6g6ek
 oYXdZbiSmXvI1R8=
 =N0jI
 -----END PGP SIGNATURE-----

Merge tag 'socfpga_dts_update_for_v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux into arm/dt

SoCFPGA DTS updates for v5.10
- Increase shared-dma-pool size to 32MB
- Add ptp_ref clock properties to the ethernet nodes on Stratix10 and Agilex

* tag 'socfpga_dts_update_for_v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux:
  arm64: dts: stratix10/agilex: add the ptp_ref clock
  arm64: dts: agilex: increase shared memory size to 32Mb

Link: https://lore.kernel.org/r/20200916204422.30897-1-dinguyen@kernel.org
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-09-26 09:48:13 -07:00
Olof Johansson
dc47f7e772 Ux500 DTS updates for the v5.10 kernel cycle:
- Add the s6e63m0 display to the Golden device
 - Add the KTD253 backlight to the Skomer device
 - Update the LP5521 LED DTS entries for binding changes
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEElDRnuGcz/wPCXQWMQRCzN7AZXXMFAl9h/zEACgkQQRCzN7AZ
 XXNUlw//Zl3PjaGA2Uer0Wn1JGNJmtNmnMP1c8+bWh6kYqop4L1tn7kUmq6Wgc7i
 GlFrmX4NwsRRYA5CnYNsqUGYRXqjSHrjssUdHMllLcQPijvLE/POa/0rLwrVZjuZ
 4R73Bn3qyIi1LiJKx8KEnMfYeIpizv5WNGWukumyNQueg7Uzj1iayvnOQUHjxk4G
 PbNo5IbKLmU5XbVVzy06vfzPw5DwoPYB8L8PwAP5MrxDTH6FJ5ClleA14MovaDpI
 eYd2RzPkOG2QfLVPOgC/j6JaVR+p5q7SyKqmTGNgPz0pcA1FSCJNpxS5/8OlhTdm
 7G6U743jIQHMu09OVKKKjja7DMAVefgVp+/V4/dJplI2njyxLZtRb7MCfW4FFOzY
 mJpJ/oI6yrWSeEjNkCoYgSbmdQDLokLPqMYIeARDviY8YjbUHOV/+oOrw8V0Toyz
 2+bj5e6hoojCvKmjHvTH0cG6ATntVLPx8jGfVRRB4x87S46jC/zWfprsJGIvNKTh
 BGo4urhNVN6bt1kxMKOtowME3nzOQk4wFLxi1bEc4mrCr3oRHRkHOmg0FANq0lVP
 Il1lAWJ4BOLOxLhdEpT29MtU8hIFglzB/e9WGlXQFX1pRaqgDm+uroxBpaCft88X
 v/38mzNkIVM2119KSvCIdPJKhGCUqrdtdV78anVaZUZstKVDIII=
 =jwb5
 -----END PGP SIGNATURE-----

Merge tag 'ux500-dts-for-v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson into arm/dt

Ux500 DTS updates for the v5.10 kernel cycle:

- Add the s6e63m0 display to the Golden device
- Add the KTD253 backlight to the Skomer device
- Update the LP5521 LED DTS entries for binding changes

* tag 'ux500-dts-for-v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson:
  ARM: dts: ste-href: Add reg property to the LP5521 channel nodes
  ARM: dts: ux500-skomer: Add KTD253 backlight
  ARM: dts: ux500-golden: Add S6E63M0 DSI display

Link: https://lore.kernel.org/r/CACRpkda=-cgFjN7K2vBU5x4uSYrohrZSbjqMnSFb3Qe2Az1W5g@mail.gmail.com
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-09-26 09:47:48 -07:00
Olof Johansson
38c419037a Sparx5 DT updates for Linux 5.10
- Add public repo to MAINTAINERS
 - Add SPI controller and devices
 - Add eMMC controller and devices
 - Add temperature sensor
 -----BEGIN PGP SIGNATURE-----
 
 iJEEABYIADkWIQQaBzOicklHovJvajA3MaYaSgcc9AUCX2HdrxscbGFycy5wb3Zs
 c2VuQG1pY3JvY2hpcC5jb20ACgkQNzGmGkoHHPSyFgD8CeApRk+Nft2RMt72TyLW
 A/sGGCdqnhQqp7Sswpf625wA/idFqzcEfwQNVar29MBJ3A6Uu213DK4b/lnkw9cm
 Mg4E
 =Ln9n
 -----END PGP SIGNATURE-----

Merge tag 'sparx5-dt-5.10' of https://github.com/microchip-ung/linux-upstream into arm/dt

Sparx5 DT updates for Linux 5.10

- Add public repo to MAINTAINERS
- Add SPI controller and devices
- Add eMMC controller and devices
- Add temperature sensor

* tag 'sparx5-dt-5.10' of https://github.com/microchip-ung/linux-upstream:
  arm64: dts: sparx5: Add spi-nand devices
  arm64: dts: sparx5: Add spi-nor support
  arm64: dts: sparx5: Add SPI controller and associated mmio-mux
  MAINTAINERS: Add git tree for Sparx5
  arm64: dts: sparx5: Add hwmon temperature sensor
  arm64: dts: sparx5: Add Sparx5 eMMC support

Link: https://lore.kernel.org/r/878sda2dj0.fsf@microchip.com
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-09-26 09:47:12 -07:00
Olof Johansson
a7140476d6 ARM: DT: Hisilicon ARM32 SoCs DT updates for 5.10
- Update the SP804 nodes to have the correct clocks and
   clock names for the hi3620 SoC
 - Update the SP805 nodes to have the correct clocks and
   clock names for the hix5hd2 SoC
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJfYWhGAAoJEAvIV27ZiWZc1uwP/3gqVG7MQGWQfYde6wA/2xYw
 LLBF981m2893EXPO2R7VppBVdpXEe6no3hxqn5IQzhKKD2jGUABn9LuJv8mcsoV9
 +jsU7N6DtVKjdEQC5N8WokL032gccOwRWuCjYea39bt8bAZdLWO4LAqoacdgT78c
 Oh/QrtveSCdlEHN5/jzeedWGCumDR0c0KCOtx+0Uma9NHlxAu9xH6DRalfpU1tOf
 GOUzd4GzMa8dBYRXfuXxYTJJ92ivaGNPv6Q0ohIh2tnET7Ew7j5AaIvh1MDzj2NW
 8j/XIZTxN9El4MnLXuEnGNEm/MRNNSvz+XtgjGCA0/zy5BHlGWXDEe/Hi1BJPXev
 6faCMesvpe2Du5yKcWXhfZdiQaVmNQ2odtzQZhtDSHsxv0hXRt/XySM8LswoCVXT
 aTduBOc57KKG4bNIrNkN2wCtkG1Lht0c0eo+ihSUKx8MHDHfjqh6kiaukJACx/yX
 C6qdgEMyzQBvxW0Ii8lhBnP/CeVUTQPEx5m2cruitQ0mx+eDESw4rSR2jJZwG6hB
 Njmf6w1ilYI3naiQVzFIl8YOKxbUI9mtGXIbtwKe0ux3kBctvq5d9d/J/KF7ceSS
 fYyB8aDCPFS6BUQjWX9SOE8V/HkFiheR3UTqBS+WkNzLJ3SBF5Spzhbp3e3QD04F
 ZZFX3iXZAMQZoR0Kism6
 =WbPu
 -----END PGP SIGNATURE-----

Merge tag 'hisi-arm32-dt-for-5.10' of git://github.com/hisilicon/linux-hisi into arm/dt

ARM: DT: Hisilicon ARM32 SoCs DT updates for 5.10

- Update the SP804 nodes to have the correct clocks and
  clock names for the hi3620 SoC
- Update the SP805 nodes to have the correct clocks and
  clock names for the hix5hd2 SoC

* tag 'hisi-arm32-dt-for-5.10' of git://github.com/hisilicon/linux-hisi:
  ARM: dts: hisilicon: Fix SP805 clocks
  ARM: dts: hisilicon: Fix SP804 users

Link: https://lore.kernel.org/r/5F617209.90003@hisilicon.com
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-09-26 09:46:31 -07:00
Olof Johansson
39d601ba9a ARM64: DT: Hisilicon ARM64 SoCs DT updates for 5.10
- Change the status properties from "ok" to "okay" for
   all the hisilicon SoCs
 - Update the SP805 nodes to have the correct clocks and
   clock names for the hi3660 and hi6220 SoCs
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJfYWmLAAoJEAvIV27ZiWZcOhgP+gNhGuy1F1+P1LnvKDo5Hi/g
 a2mf6NfySPhm9Cg/2qSQkI5F1LnQayTBWEv850oL21CzqKZ8cpifs4HuQRZDwV4V
 L2MIB9/cQRKfj9cONOuRYjNNc7CZl+FmVWCIn/WV34x4xYs7QmH04n4VwBXP2VRx
 6UgZ96tMsT0LB+ni9qLdxBn8F8loF7YgJCcncOeViGic+TEa8qw9kDvXcqibuXIF
 R5LbhLfE1zZCBi1gveLHXIN6kAF+Zk27sZU+MwouhuYC2kp1EQ06bb0XJ8abiT93
 iLiUQXvPfj9tcsZ4P6XRGODgOkrl/JU/mtxCyNziBXOU5fgnBi8TniQQVn/+0Oy5
 XMtgWMFphRY5q/rnHCLgDVvp8At6mIOFjXx8+CBxoxhXEglpo2P5JQ3IXDOt/ZXA
 vm/68IbE9PDm/O0bzN2gOIbVBZAttydU+oL6Otpo4l1W1xETDUskH6kGt5SYeiO2
 HsTTfcKvORXmRmtfBoWMO3WfO3uRlSCtj5DygxBPn7cCNcdaaBWc9N1yVkMhhT2x
 FoDU2uA4q7T8DJRaHSArhdZJk0LHdgGmaT8C8ksMkQ+4aAPQi/lzqq9KG4LuyO7p
 j+F+7sKAsvOGiMcucpGilMX2QCCuicZRYs+d7QPslaiOywihHFwb3f/1c5BMpTam
 4D38UFWUX3RxNV8nyBWe
 =/Wrz
 -----END PGP SIGNATURE-----

Merge tag 'hisi-arm64-dt-for-5.10' of git://github.com/hisilicon/linux-hisi into arm/dt

ARM64: DT: Hisilicon ARM64 SoCs DT updates for 5.10

- Change the status properties from "ok" to "okay" for
  all the hisilicon SoCs
- Update the SP805 nodes to have the correct clocks and
  clock names for the hi3660 and hi6220 SoCs

* tag 'hisi-arm64-dt-for-5.10' of git://github.com/hisilicon/linux-hisi:
  arm64: dts: hisilicon: Fix SP805 clocks
  arm64: dts: hisilicon: replace status value "ok" by "okay"

Link: https://lore.kernel.org/r/5F617134.3050705@hisilicon.com
Signed-off-by: Olof Johansson <olof@lixom.net>
2020-09-26 09:46:10 -07:00
Chris Wilson
badef44def drm/i915/gem: Hold request reference for canceling an active context
We have to be very careful while walking the timeline->requests list
under the RCU guard, as the requests (and so rq->link) use
SLAB_TYPESAFE_BY_RCU and so the requests may be reallocated within an
rcu grace period. As the requests are reallocated, they are removed from
one list and placed on another, and if we are iterating over that
request at that moment, the list iteration jumps from one list to the
next and promptly gets confused. Verify we hold the request reference
to ensure that the request is not added to a new list behind our backs.

<4> [582.745252] general protection fault, probably for non-canonical address 0xcccccccccccccd5c: 0000 [#1] PREEMPT SMP PTI
<4> [582.745297] CPU: 0 PID: 1475 Comm: gem_ctx_persist Not tainted 5.9.0-rc1-CI-CI_DRM_8908+ #1
<4> [582.745304] Hardware name: Intel Corporation NUC7CJYH/NUC7JYB, BIOS JYGLKCPX.86A.0027.2018.0125.1347 01/25/2018
<4> [582.745317] RIP: 0010:__lock_acquire+0x2c3/0x1f40
<4> [582.745323] Code: 00 65 8b 05 c7 8a ef 7e 85 c0 0f 85 b4 07 00 00 44 8b 9d c4 08 00 00 45 85 db 0f 84 0f 01 00 00 ba 05 00 00 00 e9 c8 06 00 00 <48> 81 3f c0 89 c7 82 b8 00 00 00 00 41 0f 45 c0 83 fe 01 41 89 c3
<4> [582.745334] RSP: 0018:ffffc9000461bc40 EFLAGS: 00010002
<4> [582.745340] RAX: 0000000000000000 RBX: 0000000000000001 RCX: 0000000000000000
<4> [582.745345] RDX: 0000000000000000 RSI: 0000000000000000 RDI: cccccccccccccd5c
<4> [582.745350] RBP: ffff8881ec4a2880 R08: 0000000000000001 R09: 0000000000000001
<4> [582.745356] R10: 0000000000000001 R11: 0000000000000001 R12: 0000000000000000
<4> [582.745361] R13: 0000000000000000 R14: 0000000000000000 R15: cccccccccccccd5c
<4> [582.745367] FS:  00007fb44da78e40(0000) GS:ffff888278000000(0000) knlGS:0000000000000000
<4> [582.745373] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
<4> [582.745378] CR2: 00007fb44daad040 CR3: 0000000268428000 CR4: 0000000000350ef0
<4> [582.745383] Call Trace:
<4> [582.745390]  ? __lock_acquire+0x913/0x1f40
<4> [582.745397]  lock_acquire+0xb5/0x3c0
<4> [582.745526]  ? kill_engines+0x19a/0x4b0 [i915]
<4> [582.745533]  ? find_held_lock+0x2d/0x90
<4> [582.745541]  _raw_spin_lock_irq+0x30/0x40
<4> [582.745635]  ? kill_engines+0x19a/0x4b0 [i915]
<4> [582.745727]  kill_engines+0x19a/0x4b0 [i915]
<4> [582.745820]  context_close+0x195/0x410 [i915]
<4> [582.745912]  i915_gem_context_close+0x5b/0x160 [i915]
<4> [582.745994]  i915_driver_postclose+0x14/0x40 [i915]
<4> [582.746003]  drm_file_free.part.13+0x240/0x290
<4> [582.746009]  drm_release_noglobal+0x16/0x50
<4> [582.746016]  __fput+0xa5/0x250
<4> [582.746021]  task_work_run+0x6e/0xb0
<4> [582.746028]  exit_to_user_mode_prepare+0x178/0x180
<4> [582.746034]  syscall_exit_to_user_mode+0x36/0x220
<4> [582.746040]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
<4> [582.746045] RIP: 0033:0x7fb44d1dc421
<4> [582.746050] Code: f7 d8 64 89 02 48 c7 c0 ff ff ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 8b 05 ea cf 20 00 85 c0 75 16 b8 03 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 3f f3 c3 0f 1f 44 00 00 53 89 fb 48 83 ec 10
<4> [582.746062] RSP: 002b:00007ffed2e83818 EFLAGS: 00000246 ORIG_RAX: 0000000000000003
<4> [582.746069] RAX: 0000000000000000 RBX: 0000556410bfe840 RCX: 00007fb44d1dc421
<4> [582.746075] RDX: 000000000000000a RSI: 00000000c0406469 RDI: 0000000000000008
<4> [582.746080] RBP: 0000000000000008 R08: 00007fb44d1c51cc R09: 00007fb44d1c5240
<4> [582.746086] R10: 0000000000000001 R11: 0000000000000246 R12: 00000000fffffffb
<4> [582.746091] R13: 0000000000000006 R14: 0000000000000000 R15: 000000000000000a
<4> [582.746099] Modules linked in: vgem mei_hdcp snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_codec_generic ledtrig_audio btusb btrtl btbcm btintel x86_pkg_temp_thermal coretemp crct10dif_pclmul crc32_pclmul bluetooth ghash_clmulni_intel ecdh_generic ecc i915 r8169 realtek mei_me mei snd_hda_intel i2c_hid snd_intel_dspcfg snd_hda_codec snd_hwdep snd_hda_core snd_pcm pinctrl_geminilake pinctrl_intel prime_numbers [last unloaded: test_drm_mm]

Fixes: 736e785f9b ("drm/i915/gem: Reduce context termination list iteration guard to RCU")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200925101107.27869-2-chris@chris-wilson.co.uk
2020-09-26 16:48:33 +01:00
Sven Schnelle
ad5ceb33ee s390/stp: unify stp_work_mutex and clock_sync_mutex
No need to have two mutexes, and while at it rename it to
stp_mutex.

Signed-off-by: Sven Schnelle <svens@linux.ibm.com>
Reviewed-by: Alexander Egorenkov <egorenar@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
2020-09-26 15:51:21 +02:00
Sven Schnelle
4fb53dde77 s390/stp: add sysfs file to show scheduled leap seconds
This patch introduces /sys/devices/system/stp/scheduled_leap_seconds,
which will contain either 0,0 if no leap second is scheduled, or
the UTC timestamp + leap second offset.

Signed-off-by: Sven Schnelle <svens@linux.ibm.com>
Reviewed-by: Alexander Egorenkov <egorenar@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
2020-09-26 15:51:21 +02:00
Sven Schnelle
b2539aa0d7 s390/stp: add support for leap seconds
In the current implementation, leap seconds are only synchronized
during the bootup process when the STP clock is synced. If the Leap
second offset (LSO) changes the machine must be rebooted, which is
not desired. This patch adds the required code to handle Leap second
changes during runtime. If the Leap second changes, a Configuration
change machine check is triggered. The STP code than schedules a Leap
second insertion/deletion with do_adjtimex().

Signed-off-by: Sven Schnelle <svens@linux.ibm.com>
Reviewed-by: Alexander Egorenkov <egorenar@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
2020-09-26 15:51:21 +02:00
Sven Schnelle
4ab79ed223 s390/stp: use u32 instead of unsigned int
In hardware-dependent headers using u32 is easier
to read and less error-prone.

Signed-off-by: Sven Schnelle <svens@linux.ibm.com>
Reviewed-by: Alexander Egorenkov <egorenar@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
2020-09-26 15:51:21 +02:00