Граф коммитов

172180 Коммитов

Автор SHA1 Сообщение Дата
Paul Cercueil 62249209a7 MIPS: ingenic: Default to a generic board
Having a generic board option makes it possible to create a kernel that
will run on various Ingenic SoCs, as long as the right devicetree is
provided.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
2020-05-27 13:04:22 +02:00
Paul Cercueil d653d1ffba MIPS: ingenic: Add support for GCW Zero prototype
Add support for the GCW Zero prototype. The only (?) difference is that
it only has 256 MiB of RAM, compared to the 512 MiB of RAM of the retail
device.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
2020-05-27 13:04:09 +02:00
Paul Cercueil 963287e483 MIPS: ingenic: DTS: Add memory info of GCW Zero
Add memory info of the GCW Zero in its devicetree. The bootloader
generally provides this information, but since it is fixed to 512 MiB,
it doesn't hurt to have it in devicetree. It allows the kernel to boot
without any parameter passed as argument.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
2020-05-27 13:03:56 +02:00
Jiaxun Yang 6423e59a64 MIPS: Loongson64: Switch to generic PCI driver
We can now enable generic PCI driver in Kconfig, and remove legacy
PCI driver code.

Radeon vbios quirk is moved to the platform folder to fit the
new structure.

Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
2020-05-27 13:01:56 +02:00
Jiaxun Yang d8242e6a71 MIPS: DTS: Loongson64: Add PCI Controller Node
Add PCI Host controller node for Loongson64 with RS780E PCH dts.
Note that PCI interrupts are probed via legacy way, as different
machine have different interrupt arrangement, we can't cover all
of them in dt.

Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
2020-05-27 12:53:44 +02:00
Álvaro Fernández Rojas 2038e04165 MIPS: BCM63xx: fix 6328 boot selection bit
MISC_STRAP_BUS_BOOT_SEL_SHIFT is 18 according to Broadcom's GPL source code.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
2020-05-27 12:50:15 +02:00
Fugang Duan f099b8b753 ARM: dts: imx6qdl-sabresd: enable fec wake-on-lan
Enable ethernet wake-on-lan feature for imx6q/dl/qp sabresd
boards since the PHY clock is supplied by external osc.

Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2020-05-26 20:21:43 -07:00
Fugang Duan d009a621b9 ARM: dts: imx: add ethernet stop mode property
- Update the imx6qdl gpr property to define gpr register
  offset and bit in DT.
- Add imx6sx/imx6ul/imx7d ethernet stop mode property.

Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2020-05-26 20:21:43 -07:00
YueHaibing fd52a75ca3 x86/io_apic: Remove unused function mp_init_irq_at_boot()
There are no callers in-tree anymore since

  ef9e56d894 ("x86/ioapic: Remove obsolete post hotplug update")

so remove it.

Signed-off-by: YueHaibing <yuehaibing@huawei.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Link: https://lkml.kernel.org/r/20200508140808.49428-1-yuehaibing@huawei.com
2020-05-26 17:01:20 +02:00
Andy Lutomirski 700d3a5a66 x86/syscalls: Revert "x86/syscalls: Make __X32_SYSCALL_BIT be unsigned long"
Revert

  45e29d119e ("x86/syscalls: Make __X32_SYSCALL_BIT be unsigned long")

and add a comment to discourage someone else from making the same
mistake again.

It turns out that some user code fails to compile if __X32_SYSCALL_BIT
is unsigned long. See, for example [1] below.

 [ bp: Massage and do the same thing in the respective tools/ header. ]

Fixes: 45e29d119e ("x86/syscalls: Make __X32_SYSCALL_BIT be unsigned long")
Reported-by: Thorsten Glaser <t.glaser@tarent.de>
Signed-off-by: Andy Lutomirski <luto@kernel.org>
Signed-off-by: Borislav Petkov <bp@suse.de>
Cc: stable@kernel.org
Link: [1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=954294
Link: https://lkml.kernel.org/r/92e55442b744a5951fdc9cfee10badd0a5f7f828.1588983892.git.luto@kernel.org
2020-05-26 16:42:43 +02:00
Gregory Fong fb597f2a39 ARM: 8980/1: Allow either FLATMEM or SPARSEMEM on the multiplatform build
ARMv7 chips with LPAE can often benefit from SPARSEMEM, as portions of
system memory can be located deep in the 36-bit address space.  Allow
FLATMEM or SPARSEMEM to be selectable at compile time; FLATMEM remains
the default.

This is based on Kevin's "[PATCH 3/3] ARM: Allow either FLATMEM or
SPARSEMEM on the multi-v7 build" from [1] and shamelessly rips off his
commit message text above.  As Arnd pointed out at [2] there doesn't
seem to be any reason to tie this specifically to ARMv7, so this has
been changed to apply to all multiplatform kernels.

The addition of this option does not change the defaults and a build with
any defconfig will behave the same way as previously.

The only effect this change has is to enable user to change "Memory model"
selection in interactive kernel configuration (menuconfig, xconfig etc).

[1] http://lists.infradead.org/pipermail/linux-arm-kernel/2014-September/286837.html
[2] http://lists.infradead.org/pipermail/linux-arm-kernel/2014-October/298950.html

[ rppt: added ARCH_SELECT_MEMORY_MODEL and updated the changelog ]

Cc: Kevin Cernekee <cernekee@gmail.com>
Tested-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Gregory Fong <gregory.0xf0@gmail.com>
Signed-off-by: Doug Berger <opendmb@gmail.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2020-05-26 12:46:51 +01:00
Kevin Cernekee 98f3f7e513 ARM: 8979/1: Remove redundant ARCH_SPARSEMEM_DEFAULT setting
If ARCH_SPARSEMEM_ENABLE=y and ARCH_{FLATMEM,DISCONTIGMEM}_ENABLE=n,
then the logic in mm/Kconfig already makes CONFIG_SPARSEMEM the only
choice.  This is true for all of the existing ARM users of
ARCH_SPARSEMEM_ENABLE.

Forcing ARCH_SPARSEMEM_DEFAULT=y if ARCH_SPARSEMEM_ENABLE=y prevents
us from ever defaulting to FLATMEM, so we should remove this setting.

Link: https://lkml.org/lkml/2015/6/4/757

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
Tested-by: Stephen Boyd <sboyd@codeaurora.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Gregory Fong <gregory.0xf0@gmail.com>
Signed-off-by: Doug Berger <opendmb@gmail.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2020-05-26 12:46:49 +01:00
Linus Walleij e1de94380a ARM: 8978/1: mm: make act_mm() respect THREAD_SIZE
Recent work with KASan exposed the folling hard-coded bitmask
in arch/arm/mm/proc-macros.S:

  bic     rd, sp, #8128
  bic     rd, rd, #63

This forms the bitmask 0x1FFF that is coinciding with
(PAGE_SIZE << THREAD_SIZE_ORDER) - 1, this code was assuming
that THREAD_SIZE is always 8K (8192).

As KASan was increasing THREAD_SIZE_ORDER to 2, I ran into
this bug.

Fix it by this little oneline suggested by Ard:

  bic     rd, sp, #(THREAD_SIZE - 1) & ~63

Where THREAD_SIZE is defined using THREAD_SIZE_ORDER.

We have to also include <linux/const.h> since the THREAD_SIZE
expands to use the _AC() macro.

Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Florian Fainelli <f.fainelli@gmail.com>
Suggested-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2020-05-26 12:02:39 +01:00
Russell King fce2bc254a Simplify EFI handover to decompressor
The EFI stub in the ARM kernel runs in the context of the firmware, which
 means it usually runs with the caches and MMU on. Currently, we relocate
 the zImage so it appears in the first 128 MiB, disable the MMU and caches
 and invoke the decompressor via its ordinary entry point. However, since we
 can pass the base of DRAM directly, there is no need to relocate the zImage,
 which also means there is no need to disable and re-enable the caches and
 create new page tables etc.
 
 This also allows systems whose DRAM start address is not a round multiple
 of 128 MB to decompress the kernel proper to the base of memory, ensuring
 that all memory is usable at runtime.
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCgAdFiEEnNKg2mrY9zMBdeK7wjcgfpV0+n0FAl7FbMMACgkQwjcgfpV0
 +n15TAgAmWgczY35HCM4Hosv8c7N1xG3HAo5Dn/M6I0twTtAYki33Nb2UgX771sq
 tkk8eetDCOtDmfGP0ZED/n2EstXIRcpmCl2cqPdZjX/0XrSpUEyyuTZ+jGoaL6Tb
 l8joWq9cr9aCDd0jIKLdwFhusk+dXJWyyoXguFZnIkwMsTauBeNCwMbuUgTyOFro
 6R5iF9CFnWl+yNheNQe/F2QKbsCdExW22gBaR2z3sMCeuJKSviy9nwJZGafmm/+S
 ySKhFnzREdAdTfk9BEzOm4J3kZFrSOn5YxEOAde/zYB1kcPg/+t0xFdIEu2C0iQp
 ruTaJmq0YLSr7psZm3CMmMe0P2lBiw==
 =2BnA
 -----END PGP SIGNATURE-----

Merge tag 'efi-arm-no-relocate-for-rmk' of git://git.kernel.org/pub/scm/linux/kernel/git/ardb/linux into misc

Simplify EFI handover to decompressor

The EFI stub in the ARM kernel runs in the context of the firmware, which
means it usually runs with the caches and MMU on. Currently, we relocate
the zImage so it appears in the first 128 MiB, disable the MMU and caches
and invoke the decompressor via its ordinary entry point. However, since we
can pass the base of DRAM directly, there is no need to relocate the zImage,
which also means there is no need to disable and re-enable the caches and
create new page tables etc.

This also allows systems whose DRAM start address is not a round multiple
of 128 MB to decompress the kernel proper to the base of memory, ensuring
that all memory is usable at runtime.
2020-05-26 10:52:26 +01:00
Michael Ellerman 595d153dd1 powerpc/64s: Fix restore of NV GPRs after facility unavailable exception
Commit 702f098052 ("powerpc/64s/exception: Remove lite interrupt
return") changed the interrupt return path to not restore non-volatile
registers by default, and explicitly restore them in paths where it is
required.

But it missed that the facility unavailable exception can sometimes
modify user registers, ie. when it does emulation of move from DSCR.

This is seen as a failure of the dscr_sysfs_thread_test:
  test: dscr_sysfs_thread_test
  [cpu 0] User DSCR should be 1 but is 0
  failure: dscr_sysfs_thread_test

So restore non-volatile GPRs after facility unavailable exceptions.

Currently the hypervisor facility unavailable exception is also wired
up to call facility_unavailable_exception().

In practice we should never take a hypervisor facility unavailable
exception for the DSCR. On older bare metal systems we set HFSCR_DSCR
unconditionally in __init_HFSCR, or on newer systems it should be
enabled via the "data-stream-control-register" device tree CPU
feature.

Even if it's not, since commit f3c99f97a3 ("KVM: PPC: Book3S HV:
Don't access HFSCR, LPIDR or LPCR when running nested"), the KVM code
has unconditionally set HFSCR_DSCR when running guests.

So we should only get a hypervisor facility unavailable for the DSCR
if skiboot has disabled the "data-stream-control-register" feature,
and we are somehow in guest context but not via KVM.

Given all that, it should be unnecessary to add a restore of
non-volatile GPRs after the hypervisor facility exception, because we
never expect to hit that path. But equally we may as well add the
restore, because we never expect to hit that path, and if we ever did,
at least we would correctly restore the registers to their post
emulation state.

In future we can split the non-HV and HV facility unavailable handling
so that there is no emulation in the HV handler, and then remove the
restore for the HV case.

Fixes: 702f098052 ("powerpc/64s/exception: Remove lite interrupt return")
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20200526061808.2472279-1-mpe@ellerman.id.au
2020-05-26 17:32:37 +10:00
Linus Torvalds 444fc5cde6 ARM fixes for 5.7:
- correct value of decompressor tag size in header
 - fix DACR value when we have nested exceptions
 - fix a missing newline on a kernel message
 - fix mask for ptrace thumb breakpoint hook
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEuNNh8scc2k/wOAE+9OeQG+StrGQFAl7MMsIACgkQ9OeQG+St
 rGQndBAAkKYBumFJbYbFDtPa4OT2bQM3GCydzHbFytglj2F01s1EJ5MaBE42ad/L
 OvCnRzxL52L6h8+Lm+KR5SynKSy7FjZuP29Efv+VAXi/PywAhV+LnwNom4gtdnBu
 r8nXakQRi6Kmw4+h1RfURr4MqpkQBC7ROzI1+5ttyvUPbk5O3RD6a5U0nJ6LTXxg
 tvlEDhJwC0ZXBxEBcO/Hypxqc+beYhOWYPvR4/8jP43VB1erlB3etOQeYCp1aO8Y
 sHDG7RMYvsRlIxFKOljpyUkqA5UTPeShEKQZ4U7vnQCRjQ+zAe4NwZX3iJNP7k1D
 bjyqeqvIgALoT2eR2ST4SgjRQCXGdX4KTGKtegxo1TlESeQxHutzCcDmeOFlTv4U
 Nc5WU9v/IEZZp4lBZkTg0SNXfNWiZX/AMWfCbKyastNZhwz0vpTX7EN9Q9PbZGRM
 54vUmCUXRwFT/h/FHjdUUi1ECZGama87d8B+c+OQ4Owmfqq8Oaf/guRBy4w6tLVa
 T3NTf7FUExWEIuN0rb8SbGpjIYLag9LX06b/B3xyN9BA5icXLWLBz8cxnSwZq2jJ
 TbGsLbdgIBKF97yAkO3dOPRKLb3NmkzTa+PoUPiYNjOCJVyRqH/gqIGnjUAR/Wes
 7Sjk0+GY1B3cq6czQCeTzyZb9mGRzWrc5pEI0FxgnBy3utEaESE=
 =dAx4
 -----END PGP SIGNATURE-----

Merge tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm

Pull ARM fixes from Russell King:

 - correct value of decompressor tag size in header

 - fix DACR value when we have nested exceptions

 - fix a missing newline on a kernel message

 - fix mask for ptrace thumb breakpoint hook

* tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm:
  ARM: 8977/1: ptrace: Fix mask for thumb breakpoint hook
  ARM: 8973/1: Add missing newline terminator to kernel message
  ARM: uaccess: fix DACR mismatch with nested exceptions
  ARM: uaccess: integrate uaccess_save and uaccess_restore
  ARM: uaccess: consolidate uaccess asm to asm/uaccess-asm.h
  ARM: 8970/1: decompressor: increase tag size
2020-05-25 17:11:39 -07:00
Chris Packham 3ead2f97bd xtensa: Fix spelling/grammar in comment
Change 'excpetion' to 'exception', 'handeled' to 'handled' and 'the the'
to 'the'.

Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
Message-Id: <20200525230413.15551-1-chris.packham@alliedtelesis.co.nz>
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
2020-05-25 16:11:43 -07:00
Arnd Bergmann 3908895f41 mt8183:
- add PMIC mt6358
 - add MMC node
 
 mt2712:
 - enable APDMA for the uart node
 - add ethernet gmac node
 
 mmsys:
 - change node name to syscon as mmsys no longer represents only clocks
   but also the DRM subsystem
 -----BEGIN PGP SIGNATURE-----
 
 iQJLBAABCAA1FiEEUdvKHhzqrUYPB/u8L21+TfbCqH4FAl7JhRAXHG1hdHRoaWFz
 LmJnZ0BnbWFpbC5jb20ACgkQL21+TfbCqH6JoBAAh8MGhFbUYtXTGzVL66fZ479F
 Ez8HZ9XM2Tn9Q5Kc8BrAEMM6KTHknQ2NiA8OLSt7c1KutITQVUB9czi3YU/jwt/k
 XabatUlwqTjFuy+lrgjmdtqOdYxKlKbIERLIXp+oq9jpYIDfpJP8KwipezRCBYfT
 nF98aMBEsVHP46S/5zrivkj8gvEjMRMDtIGmrmlAMblYHij72827U8jMNnauWTDU
 PuTXE+sqtxXeGJbpEwiXzYu8/+lIIdDL2HhwQp6E7S8EwiP1VP80Pw3tlR1JjPeh
 Ev+oUl/CEVKtIVCpf/AUqbkWkuesxe4gYjZsiiYTC1eKgnycytaOidm2tKEdSgkj
 6Pee2MNOMQItuDFmCxraZD57YEitWAqhSxcIMZsN77q35JbYdeew9Zbfz0o6L0Vu
 tPUXeZnEYUvKrxVp8OWg1IV8STg5FkU3WnFtHSeJyODuQnsBmCEZI8PVN8O+4aaD
 QruV7T9vIySpGHoHAmnW6P5bhESPFlE4KbQLBKsdx5zGxlwXKlRCQsO8arxNmIpv
 VA/Waz+g+A1PWsG78vj7gfYnOLh4RAqEOyn87cai5JO3MNux2AEEFBPeIqvHQqKo
 Rnsr9xgnNWveodgQ89r1ej02mbv+TtNH8BjVs+ZWLcMILPQlQdf2iDlhr0N6MOHc
 c4cpky/a5hcQMc3z/5U=
 =KGrQ
 -----END PGP SIGNATURE-----

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

mt8183:
- add PMIC mt6358
- add MMC node

mt2712:
- enable APDMA for the uart node
- add ethernet gmac node

mmsys:
- change node name to syscon as mmsys no longer represents only clocks
  but also the DRM subsystem

* tag 'v5.7-next-dts64.2' of git://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux:
  arm: dts: mt2712: add uart APDMA to device tree
  arm64: dts: mt8183: add mmc node
  arm64: dts: mt2712: add ethernet device node
  arm64: dts: mt6358: add PMIC MT6358 related nodes
  arm64: dts: mt6797: Fix mmsys node name
  arm64: dts: mt8173: Fix mmsys node name

Link: https://lore.kernel.org/r/7c9f85c7-5b13-38e3-7a1f-a3cd6461b095@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-26 00:24:39 +02:00
Arnd Bergmann 28ed0a0b44 i.MX arm64 device tree changes:
- New support of Beacon i.MX8m-Mini development kit.
 - Add secondary cpus supply on imx8mm-evk and imx8mn-ddr4-evk for
   completeness.
 - Add thermal zones for imx8mp and lx2160a, PMIC thermal zone for
   imx8qxp-mek board.
 - Update VDD_ARM 1.2GHz setpoint voltage for imx8mn.
 - Add SRC device interrupt for i.MX8 SoCs.
 - Use 0.9V for VDD_GPU on imx8mq-librem5-devkit, since there is no need
   to support overclocking to 1GHz.
 - Update imx8qxp SCU device to use MU channel with less interrupt
   triggering, one RX interrupt for a RX and one TX interrupt for a TX.
 - Specify DMA channels for LS1028A DSPI controllers.
 - Add QE and DS26522 device support for fsl-ls1043a-rdb board.
 - Misc random update and cleanup.
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAl7IjXEUHHNoYXduZ3Vv
 QGtlcm5lbC5vcmcACgkQUFdYWoewfM5wlAf/YBbXQ/9lXCxicQdS3Qkos9It3e2c
 DXcO44vJjPJoK4NMelj1ULTnLAtG18zwwZOloBM+/TynMDkzZpEHUd0TJte94uIH
 YUhMnGD+YQ1DniJKAFcfMdwpMsXPtz2bSGcaPtohxa2q0yYF7c0w1HfURtMtKAn5
 UgxNJr0SBWzhCp8ErZxQgi91UBORgUKQNHg+ea7Z6lvIdTBM42gh24O2GMxMTJEq
 72uveOw9+GgpTq4Yy6/W4jmtBekgyOB1JDDHlt0ecHiYPs6qKPc9rVRNMB2REEEv
 kGgy6x2MR6jEMKnQkRKsyhzin3XdZiwGjVVWn7zz1BzPLC8CvyTKImyLUw==
 =5yI8
 -----END PGP SIGNATURE-----

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

i.MX arm64 device tree changes:

- New support of Beacon i.MX8m-Mini development kit.
- Add secondary cpus supply on imx8mm-evk and imx8mn-ddr4-evk for
  completeness.
- Add thermal zones for imx8mp and lx2160a, PMIC thermal zone for
  imx8qxp-mek board.
- Update VDD_ARM 1.2GHz setpoint voltage for imx8mn.
- Add SRC device interrupt for i.MX8 SoCs.
- Use 0.9V for VDD_GPU on imx8mq-librem5-devkit, since there is no need
  to support overclocking to 1GHz.
- Update imx8qxp SCU device to use MU channel with less interrupt
  triggering, one RX interrupt for a RX and one TX interrupt for a TX.
- Specify DMA channels for LS1028A DSPI controllers.
- Add QE and DS26522 device support for fsl-ls1043a-rdb board.
- Misc random update and cleanup.

* tag 'imx-dt64-5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (25 commits)
  arm64: dts: Add ds26522 node to dts to ls1043ardb
  arm64: dts: add qe node to ls1043ardb
  arm64: dts: ls1028a: sl28: keep switch port names consistent
  arm64: dts: imx8mp: Add src node interrupts
  arm64: dts: imx8mq: Add src node interrupts
  arm64: dts: imx8m: assign clocks for A53
  arm64: dts: freescale: sl28: enable LPUART1
  arm64: dts: ls1043a-rdb: add compatible for board
  arm64: dts: imx8mp: add "fsl,imx6sx-fec" compatible string
  arm64: dts: imx8qxp-mek: Do not use underscore in node name
  arm64: dts: fsl: add fsl,extts-fifo property for fman ptp
  arm64: dts: imx8mn: Update VDD_ARM 1.2GHz setpoint voltage
  arm64: dts: lx2160a: add more thermal zone support
  arm64: dts: imx8qxp-mek: Add PMIC thermal zone support
  arm64: dts: imx8qxp-mek: Sort labels alphabetically
  arm64: dts: imx8mm: specify #sound-dai-cells for SAI nodes
  arm64: dts: imx8qxp: support scu mailbox channel
  arm64: dts: imx8mp: Add thermal zones support
  arm64: dts: ls1012a: Add QSPI node properties
  arm64: dts: imx: Add Beacon i.MX8m-Mini development kit
  ...

Link: https://lore.kernel.org/r/20200523032516.11016-5-shawnguo@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-26 00:23:40 +02:00
Arnd Bergmann d39b6ae4be i.MX device tree changes for 5.8:
- A series from Anson Huang updating SRC devices to match bindings
   schema definition.
 - Correct CPU supply name and add cpu1 supply for i.MX7D.
 - Convert thermal device to use nvmem interface to get fuse data
   for imx6qdl and imx6sl.
 - A series from Tim Harvey to update imx6qdl-gw devices, adding support
   of LSM9DS1 IIO imu/magn, USB OTG, bcm4330-bt, etc.
 - Add input MUX for ENET2 MDIO into IMX7D pin functions.
 - Misc random device addition or update.
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAl7IhYQUHHNoYXduZ3Vv
 QGtlcm5lbC5vcmcACgkQUFdYWoewfM5Bvwf8Cy/gm3ezs2OmjtdF3jql86qo7tqk
 nUwPDnRhlPYInN8yKlipMsYn2yupCPSwENGYwxLculwsHyQ7RNEI8a1jY2zEkdh9
 +IoZCNeOxOk40iQoCtaxBAJVz73BY8ptdKgfKL44xQ32e4oVQrgw1iAPdNS60yzl
 5TRXxghYnfeRC5c7ZKKEF0X74RzWb/zwEWAcs3yczuPzQGAtcBmYTG8b/y+/HNT0
 oTTcnN+clw48xAPuq6/8nMseVMLqTzyyBQpn/TI78LWGfBtaTIv6l7pjZBquhSGi
 +QYKHgbC3POv8TYWGu+csqFfQvbfeiO/HEHFKPcvJ8O+QoRMB9nvejn42Q==
 =I7h9
 -----END PGP SIGNATURE-----

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

i.MX device tree changes for 5.8:

- A series from Anson Huang updating SRC devices to match bindings
  schema definition.
- Correct CPU supply name and add cpu1 supply for i.MX7D.
- Convert thermal device to use nvmem interface to get fuse data
  for imx6qdl and imx6sl.
- A series from Tim Harvey to update imx6qdl-gw devices, adding support
  of LSM9DS1 IIO imu/magn, USB OTG, bcm4330-bt, etc.
- Add input MUX for ENET2 MDIO into IMX7D pin functions.
- Misc random device addition or update.

* tag 'imx-dt-5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (22 commits)
  ARM: dts: imx53-cx9020: Group port definitions for the dvi-converter
  ARM: dts: imx5: make src node name generic
  ARM: dts: imx50: Add src node interrupt
  ARM: dts: imx: make src node name generic
  ARM: dts: imx7d-pinfunc: add input mux for ENET2 mdio
  ARM: dts: imx6sl: Use nvmem interface to get fuse data
  ARM: dts: imx6qdl: Use nvmem interface to get fuse data
  ARM: dts: imx6qdl-gw5910: fix wlan regulator
  ARM: dts: imx6qdl-gw5910: add support for bcm4330-bt
  ARM: dts: imx6qdl-gw5904: add lsm9ds1 iio imu/magn support
  ARM: dts: imx6qdl-gw560x: add lsm9ds1 iio imu/magn support
  ARM: dts: imx53: Add src node interrupt
  ARM: dts: imx51: Add src node interrupt
  ARM: dts: imx50: Remove unused iomuxc-gpr node
  ARM: dts: imx6qdl-gw552x: add USB OTG support
  ARM: dts: imx6-sr-som: add ethernet PHY configuration
  arm: dts: ls1021atwr: Add QSPI node properties
  ARM: dts: e60k02: add interrupt for PMIC
  ARM: dts: colibri: introduce device trees with UHS-I support
  ARM: dts: imx7d: Add cpu1 supply
  ...

Link: https://lore.kernel.org/r/20200523032516.11016-4-shawnguo@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-26 00:22:40 +02:00
Arnd Bergmann 4cafc5d9c9 arm64: tegra: Device tree changes for v5.8-rc1
This contains a couple of fixes for minor issues, enables XUDC support
 on Tegra194, and enables EMC frequency scaling and video capture on
 Tegra210.
 -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCAAxFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAl7HzdITHHRyZWRpbmdA
 bnZpZGlhLmNvbQAKCRDdI6zXfz6zoZq+D/4r4KG1to0L9PSiZe0KAf9LzrUScPbi
 sY3XrBCmQzYrYaNwr0kuGZGc39treo1iVPZmWSRRhKFHItMaUJikxV7wdOeSPEd2
 AwI2FXZtyBtf3ptOQ0027qJC4HutiASCL65A/rbSw0eqVwjfLfNdT5Z6yPQ95j20
 S43Ub3ufHyT77FyrwVbaou06ohQSo7YtsVYdpsg2pkH3hT47NTDYbzxyTs4k223Z
 DKacE5oiLOkSUzT93HYiFip+1MoprN9S/QrcQdfenrXRwFwennp2+NLvz+lkYBwf
 yTwq9H9jVvJ6PrYhBHfsqkvGvsgZw/YgXK5lwQIOg1afL3K56oauRn9+utWDZ/hm
 fWqArKCss61/t9Kn/5uVyx2cSD2HbCA+UhJZcUlnnuZDd0TZ0j3ODKj0nPneKBvy
 t4lNLFY6AWshBos66HxkhiCjeeI5sbiBVnM7cdiPqohbV9lHDEWyLyx0vi0YRNJp
 DiJsXhp9+gVyt9c4ZO1BUc1Ka5x2RsxsqjkOPuErny1Fqcr/zFgjAJg/y/ytIYDR
 43NCZqNLmkXpuxqrincQyBLg45dV1pvbyItO1XxnK6t+MJVZoR+2Nhe48CJSV7WD
 pShwjVFtOuTpTZGwVUNIS38U+ORrPLDid9B9w7oc9WQatcGOZYOHJcgFjGQQbeNB
 cmrrt+J0BTMBXg==
 =A/Pb
 -----END PGP SIGNATURE-----

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

arm64: tegra: Device tree changes for v5.8-rc1

This contains a couple of fixes for minor issues, enables XUDC support
on Tegra194, and enables EMC frequency scaling and video capture on
Tegra210.

* tag 'tegra-for-5.8-arm64-dt-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  arm64: tegra: Make the RTC a wakeup source on Jetson Nano and TX1
  arm64: tegra: Make the RTC a wakeup source on Jetson TX2
  arm64: tegra: Enable VI I2C on Jetson Nano
  arm64: tegra: Fix flag for 64-bit resources in 'ranges' property
  arm64: tegra: Add Tegra VI CSI support in device tree
  arm64: tegra: Add reset-cells to memory controller
  arm64: tegra: Fix SOR powergate clocks and reset
  arm64: tegra: Allow the PMIC RTC to wakeup Jetson Xavier
  arm64: tegra: Fix ethernet phy-mode for Jetson Xavier
  arm64: tegra: Hook up EMC cooling device
  arm64: tegra: Add external memory controller node for Tegra210
  arm64: tegra: Add XUDC node on Tegra194
  arm64: tegra: Kill off "simple-panel" compatibles

Link: https://lore.kernel.org/r/20200522142846.2376224-3-thierry.reding@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-26 00:21:15 +02:00
Arnd Bergmann 34a07a8da3 arm64: dts: Amlogic updates for v5.8
Highlights:
 - new boards :Beelink GT-King Pro (G12B SoC), Smartlabs SML-5442TW
   (S905D), Hardkernel ODROID-C4 (SM1)
 - audio: support for GX-family SoCs
 - audio: internal DAC support
 - use the new USB control driver for GXL and GXM
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEe4dGDhaSf6n1v/EMWTcYmtP7xmUFAl7G0fMACgkQWTcYmtP7
 xmXYOg/8Dp9b4OpTxZ8GQmD6sUrPFxnWi9mckDGYAqvtzNA2MdTzrkJAo6D9jQqC
 83uqqVGUKmgSuDnUKfesLLUHPu464Ab2cWLsuKsMIJNO+B9sYX0SAzePT53mdKDR
 WDCS9h0UN+smL3WjEb/dZ3gthiXYaBhSEtMyTLq47MJTcbCwvVsvOJmdM2pXkzRx
 3kosB22+vLVWyih2tSSIdfzqn3nNFRh1Cs0pnqynMjfkTIsr5XTgmN+BFKmFVefA
 qHPpgJ1fGwRBS6sQg/1h3H1zC6pUAXCYXOhaBeOzOumVp3jxR3E0aqux8/CwqEWX
 ppkU6sCpuI/BZcHK+76+87SUyBOuuZ9TK2SQuoNGEzT0sZ8GZHTfRD/Edw5YYtGe
 l9RpJyq11QOPEv+/q5nNMD9mLzd2pH5WItiO6inj0V03g2jS5t2Kz05awolDbESZ
 ELPq5iKHttdxvcV1e5HK5HwKevkXW2+EJSaBRTzFneheQllryZubPVCfV02Ybijf
 k97WLs2swKpRjvsIdg2o6MXy8xd/kmj5zclgj6z2S9FF+rgTl9jw3l/GIDZ2kgEx
 0YXQL9Pec8xtdux//WwIP931TIHUnI5IUTjGOWy1Ch/QLwA/BxVy+BeQVCAidN3Y
 5U6NbowE5UdozThi1BMxVokPWoF9XJlpcQISrmuVrgRtnbfiaMY=
 =JbXj
 -----END PGP SIGNATURE-----

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

arm64: dts: Amlogic updates for v5.8

Highlights:
- new boards :Beelink GT-King Pro (G12B SoC), Smartlabs SML-5442TW
  (S905D), Hardkernel ODROID-C4 (SM1)
- audio: support for GX-family SoCs
- audio: internal DAC support
- use the new USB control driver for GXL and GXM

* tag 'amlogic-dt64' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic: (33 commits)
  arm64: dts: meson-g12b-gtking-pro: add initial device-tree
  dt-bindings: arm: amlogic: add support for the Beelink GT-King Pro
  arm64: dts: meson-g12b-gtking: add initial device-tree
  dt-bindings: arm: amlogic: add support for the Beelink GT-King
  arm64: dts: meson: convert ugoos-am6 to common w400 dtsi
  arm64: dts: meson: add ethernet interrupt to wetek dtsi
  arm64: dts: meson: add support for the Smartlabs SML-5442TW
  dt-bindings: arm: amlogic: add support for the Smartlabs SML-5442TW
  dt-bindings: add vendor prefix for Smartlabs LLC
  arm64: dts: meson: g12: add internal DAC glue
  arm64: dts: meson: g12: add internal DAC
  arm64: dts: meson: libretech-pc: add internal DAC support
  arm64: dts: meson: libretech-ac: add internal DAC support
  arm64: dts: meson: libretech-cc: add internal DAC support
  arm64: dts: meson: p230-q200: add internal DAC support
  arm64: dts: meson: gxl: add acodec support
  arm64: dts: meson-sm1: add support for Hardkernel ODROID-C4
  dt-bindings: arm: amlogic: add odroid-c4 bindings
  arm64: dts: meson-sm1: add cpu thermal nodes
  arm64: dts: meson-g12b: move G12B thermal nodes to meson-g12b.dtsi
  ...

Link: https://lore.kernel.org/r/5ec6f56a.1c69fb81.fc5d5.9ca6@mx.google.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-26 00:20:16 +02:00
Arnd Bergmann 06273547dd ARM: dts: Amlogic updates for v5.8
- eth PHY and USB PHY updates
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEe4dGDhaSf6n1v/EMWTcYmtP7xmUFAl7G0CoACgkQWTcYmtP7
 xmUI8A/+LsCl6lz0CysXtJRQHpu9ohcUbsy4OMPTVsSq5Ct50M5/4pScgwlZJfCM
 SCMXQsSDul8gjOmO3UNhs2qC8/gk02ceRkXIJi5zi3SiUOKFm8SACQzuDcUvhUGt
 UL6x7v9E2v8otxHvF1yjnzRXUny6XYm5qYCsbsiv2HgwLKHNSlkdWP79k3U4VvvK
 uLiMVbmucMSz/pbt4nYlxzHUbNPtQTzWf52gP3ctuta6h6nPJNmmJmBg5d9z0vAM
 MMrjqLwwz6ZSg+XtHVRvFGNEBwMYxy6xooPWZWFIFF66gMHT/yMNrVeoA0S1relY
 t8UOP+K9tkYpLmObiDosnutkWvoQTcHXGh9Gchl5fRZlVNrgPD6Ki5lKnERXo67w
 wh18d842YVYIRM2a1rFWEkiYojnUhxxGeXGUSJ4qVIL99vdP2Qs03WcUSS8SfBrx
 l07esdHyc1MCsjvuqkaFofqD8D0ISjNN8IEf3CWEUNjuGRr9gXsX1ti63cNA51Ap
 IAuE+JgS4qG5HoSnY6iNlgmmTTAEEzjaochMYYgh6zYW8x2JKkn9Ckgpf9I3S6iB
 NisuUZ/75NCzQjV+Cil3PgP3UH9/BmeHq8aMKlC7Fdvc12S0O5DxmWxEWU3qZM03
 XCDQ8XIpeXgTAY4i9unCkduLxNQBxO1NZwZBR7H8cD7MTHDolII=
 =H41z
 -----END PGP SIGNATURE-----

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

ARM: dts: Amlogic updates for v5.8
- eth PHY and USB PHY updates

* tag 'amlogic-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic:
  ARM: dts: meson: Switch existing boards with RGMII PHY to "rgmii-id"
  ARM: dts: meson: Add the Ethernet "timing-adjustment" clock
  ARM: dts: meson8m2: Use the Meson8m2 specific USB2 PHY compatible
  ARM: dts: meson: add the gadget mode properties to the USB0 controller

Link: https://lore.kernel.org/r/5ec6f524.1c69fb81.b979a.ae15@mx.google.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-26 00:19:42 +02:00
Arnd Bergmann 99706d62fb Few cpsw related dts fixes for omaps
Recent cpsw driver changes exposed few regressions in the cpsw related
 dts configuration that would be good to fix:
 
 - Few more boards still need to be updated to use rgmii-rxid phy caused
   by the fallout from commit bcf3440c6d ("net: phy: micrel: add phy-mode
   support for the KSZ9031 PHY" as the rx delay is now disabled unless we
   use rgmii-rxid.
 
 - On dm814x we have been using a wrong clock for mdio that now can produce
   external abort on some boards
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCAAvFiEEkgNvrZJU/QSQYIcQG9Q+yVyrpXMFAl68I9MRHHRvbnlAYXRv
 bWlkZS5jb20ACgkQG9Q+yVyrpXO2/Q/+IiBtpAgZ1Y5XCXjfmBOGF5H5DKtSK7xd
 pOVqkRq6N0akGOuwLWaI9CHoJnEZ1VUMQZzBbZjCia640BeGvyM7rEs8ffCmvlqa
 aLRwDAV3+mg0D4M5TyElLqAc5a3pNBDmOvyUCgXAql6wy2tLdkzC+P8K+LaFltPW
 05j/jfLM5EOvfRPxX0xvz+qZYTiKeOw5GZosGz2MwRAemSFy5EWm9yTqyO+exJm3
 IMWkdwR9TBgkf8FE+QhuhnVIS+VmXT5VVFgAEcYWCmAOjvbPONFeumjKJNxTEgpf
 /IzuAE5FRr+d7OqPcHV8XFhsfw2NlyKmyqzdm+RTzV4RosmsU9c8rdkV/vqWfKbO
 oVw5DHFT20jRRCcFGJp81yMaeo6KPPe8X5l+0/DeyC0ai4Vq/eQKlJaB3LOsYJSa
 FUjyrCex8d2n2qQlkuXRCkIj259wPFtjFbgwQBzgYD33KEpOLlNseLMV3Qa8E63S
 qCZTAQs2rlEjJgmdByZ38Pjcu+Rq/qhwG12+73oF8tQmoNf+VSKVrfbki4Q5Ne37
 L8TvQFWODeE5aUu+MYRQKMDvMd6ufUtUDQLOSIO+pd0C5fDcaxUFT9kOvlM/zBW+
 b2AcggtPOeNFtoJK7V2Z4IpnqSdZyX+sPpUPLRZZr0V21bw22Gw6WLu0izMdPqWE
 mrzCYrDSy0k=
 =tWSS
 -----END PGP SIGNATURE-----

Merge tag 'omap-for-v5.7/cpsw-fixes-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/fixes

Few cpsw related dts fixes for omaps

Recent cpsw driver changes exposed few regressions in the cpsw related
dts configuration that would be good to fix:

- Few more boards still need to be updated to use rgmii-rxid phy caused
  by the fallout from commit bcf3440c6d ("net: phy: micrel: add phy-mode
  support for the KSZ9031 PHY" as the rx delay is now disabled unless we
  use rgmii-rxid.

- On dm814x we have been using a wrong clock for mdio that now can produce
  external abort on some boards

* tag 'omap-for-v5.7/cpsw-fixes-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: dts: Fix wrong mdio clock for dm814x
  ARM: dts: am437x: fix networking on boards with ksz9031 phy
  ARM: dts: am57xx: fix networking on boards with ksz9031 phy

Link: https://lore.kernel.org/r/pull-1589472123-367692@atomide.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-26 00:18:48 +02:00
Arnd Bergmann f11d7cb47f i.MX defconfig update for 5.8:
- Enable RTC and ADC support of RN5T618 PMIC in imx_v6_v7_defconfig.
 - Enable i.MX8DXL pinctrl driver support in arm64 defconfig.
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAl7Ij6IUHHNoYXduZ3Vv
 QGtlcm5lbC5vcmcACgkQUFdYWoewfM5peQf+N9PmhSdT/xgWUsudpYBTFGxZ7CP2
 mkt86Qxdw5MboaR0Z+L1fsNRYglWU14Hn9GTvPmcoN7VTx6nDJnC55F5xWmP7r1C
 ZgI9hH1jZG/jEWJAJmp0sZIBuaZJegUmbD1Pk3dOIMwv/9hEGtj2nI05QuUaTKof
 qa8KxSwvYZSd8SKZHDoEl/E6yZZjNIlfMsv6BKTbRfqMHrixZ1y54muNNLKuca3v
 hoI4I+AYPy3XhhACjYR3mhSVUF2pCVOpUcFktKdH+ZTLXX/dShMec5vyLwws+CEi
 Oldg3J98qkDMnmMXV/1RLvYI/CIR6v7GbsashfinSAeeut6uPz4kgVyhpA==
 =kqAi
 -----END PGP SIGNATURE-----

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

i.MX defconfig update for 5.8:

- Enable RTC and ADC support of RN5T618 PMIC in imx_v6_v7_defconfig.
- Enable i.MX8DXL pinctrl driver support in arm64 defconfig.

* tag 'imx-defconfig-5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  ARM: imx_v6_v7_defconfig: extend RN5T618 PMIC family support
  arm64: defconfig: Enable CONFIG_PINCTRL_IMX8DXL by default

Link: https://lore.kernel.org/r/20200523032516.11016-6-shawnguo@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-26 00:17:12 +02:00
Arnd Bergmann 8ce538ef2b ARM64 defconfig update for v5.8
- Add LEDS_TRIGGER_TIMER
 -----BEGIN PGP SIGNATURE-----
 
 iQJIBAABCgAyFiEEoHhMeiyk5VmwVMwNGZQEC4GjKPQFAl6+6+0UHGRpbmd1eWVu
 QGtlcm5lbC5vcmcACgkQGZQEC4GjKPQhgw//QPa8dX3MFip0rapm6Vk9TqJwIjo2
 3S6cNI93n5q70tK3T3PM0opFmeYCHSnHG+0AmiAQCmNfmtohiOqXOjdxN25DOj5H
 yFK3P8JO+41wCx4+fzoJ5OeWY2dxr5mSSRMftRc0hSic+5gvpKBow+31pIYVLN1G
 qE9kHEOxnCLWspecRGTM1ZmtcaEeMLMR4i7PB/D+QDyiLaYHnK7Dyv13iHqKV5QH
 aSNls5Gdeo1/yNdjw8HU9zFjtRvLVB1usxnIbXYyAKTkLVNLbABGH/L1ndqWw9iv
 l+TaYGr0DueHFxd8hx2iYlFffGSRyvVgifUifpUwU3CgYa2dVbkHiw6jWEPWyVTp
 5SR3lEQltQq2ARW0fYhO/oZk9TP9KLX3N+f2z5QmaV+Hkf6Ykpko7g3nUrHKmSHV
 7APgTKkGDrkptVybeEIS379YdBYOMQbxIcDM+TY4R14SPcHWQ/LoaLbnh8TKZWM9
 nBY4SQNAA0BYOM8J/xsVM75wl7H2pR1WFlo/IrYI0ncShUyFWq2AaIq6+Soys+Sx
 1SsKXLdOq5vy2eSafeR8i/7mhMaEAxmn3BCI87qr79Vj3TUQQAR1uGlZi06YHvVb
 DjuUAqFRDSQjYTEoAQI4gf2xX406OZF4n9p+K4R1S/JFHV3EtjOQXqZX/FF00AQ3
 6VSGNRgl1R47Oog=
 =cSAJ
 -----END PGP SIGNATURE-----

Merge tag 'arm64_defconfig_for_v5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux into arm/defconfig

ARM64 defconfig update for v5.8
- Add LEDS_TRIGGER_TIMER

* tag 'arm64_defconfig_for_v5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux:
  arm64: defconfig: Add LEDS_TRIGGER_TIMER

Link: https://lore.kernel.org/r/20200515193029.11318-1-dinguyen@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-26 00:15:01 +02:00
Arnd Bergmann 063731c87a A spelling fix and stop using clk_provider.h when of_clk.h is enough
as the soc file is only a clock user, not a provider.
 -----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCAAuFiEE7v+35S2Q1vLNA3Lx86Z5yZzRHYEFAl7F1lcQHGhlaWtvQHNu
 dGVjaC5kZQAKCRDzpnnJnNEdga8UB/0WnnjKQD414n4tTQwcc64iRnrWHzHw44VS
 KvfPaQCsMow1riZ6N+l9BSy+p9vnLn5Lzzu4XRn6dcKBDWKysYwcvSDTW2Q0mlWq
 wv4LuAsvpENm41OY2i5C+6F+AFzIzYiA8YXUOgGWSvq6jxqMQs2fL6Hyg0kO7T63
 3H7Tj1Rm7TRyyR5lPEibe4n35kOe4HeQqEP8XbyFilUduNVCx/GVchv7ivj3Uqu9
 qZTouGskXjX7qYk+ga6uGJ1O6lKI0WKhHJFIvfjcgkRbWCTXYj5d8lwP2Asc+Mlx
 TE9NZ/XTNlwL+X3G0m30NQ+HimNvS2jOq9GlhFQa70NRqKiy5m2V
 =oHJL
 -----END PGP SIGNATURE-----

Merge tag 'v5.8-rockchip-soc32-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into arm/soc

A spelling fix and stop using clk_provider.h when of_clk.h is enough
as the soc file is only a clock user, not a provider.

* tag 'v5.8-rockchip-soc32-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  ARM: rockchip: fix spelling mistake "to" -> "too"
  ARM: rockchip: Replace <linux/clk-provider.h> by <linux/of_clk.h>

Link: https://lore.kernel.org/r/2307012.mB7vfBFN1M@phil
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-26 00:13:21 +02:00
Robert Jarzmik 9d3239147d ARM: pxa: remove Compulab pxa2xx boards
As these boards have no more users nor testers, and patching them has
become a burden, be that because of the PCI part or the MTD NAND
support, let's remove them.

The cm-x300 will for now remain and represent Compulab boards at its
best in the PXA department.

Link: https://lore.kernel.org/r/20200521185140.27276-1-robert.jarzmik@free.fr
Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Acked-by: Mike Rapoport <rppt@kernel.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-26 00:10:57 +02:00
Arnd Bergmann 803b504bf5 System timer changes for omaps for v5.8 merge window
This series of changes finally gets the legacy omap dual-mode timer and
 32k counter system timer updated to use drivers/clocksource and device
 tree data. And we can now remove the unused legacy platform data.
 
 These changes are based on an immutable clocksource branch set up by
 Daniel Lezcano.
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCAAvFiEEkgNvrZJU/QSQYIcQG9Q+yVyrpXMFAl7ID2gRHHRvbnlAYXRv
 bWlkZS5jb20ACgkQG9Q+yVyrpXNgIg//ThhlcPMWT/wDAr2KTZTQ6gMgXyrbGtWT
 i4y4cGTALFYpHG0Mm9XQnyt8z9s1Ep8ENU8lnF6js/3Izgci3WEvQs92VOYOdzQT
 2NZ2nk7s1+kG1j8F3A+rPxYodXA/wR74G+IOFXezsgUwmY8LUaH0PWbQsC8tDYBq
 3jRE8v9HlX66yraGlT484xyZp11aYlwkyUA5+Qt/TYutMYNtCJQG4Z7B9dS0dQ+B
 6GyWaNg9ksiEy5MmBRRSR3UrFd5rkG6QHrwIZ5t9lFnE+J60B4LFxo98Udr0Upqo
 TqSke2CpFHtq4xGrq5A+HiVJEs5XTke14GRx8G6agQe5jJns6QPzZvqpzLkAI0A3
 vUTcODbwwmewee6GAIGvky0rqT47w5HhYdBI4Fge7yBHW/MZ1HwrnQ8dL99E8dyp
 ANh1BT/ws+v3VuO/3rSfqlW4v0gjUltHKds33F5uabRSJ8FF2xRl6zPuBQFvXazC
 z0gadCrlpYMQAmWd9q4znPBnjHGxE0XuPvoDIhN3ALB5T3DEnDb72cuBT1ACPgFC
 5lceY08qVhl16hbe1UyRt6rFbs2wpLqpxPZRR4p81MiDvbjHOgnZe0+QWkpmyzL9
 bse2rnI+mAZ+gZbFoUD7oyOat5jtH/Y/6VCQao6KPtyL16ft3yk4FrQeUV6enK9C
 NOQFfSdHpMI=
 =07SB
 -----END PGP SIGNATURE-----

Merge tag 'omap-for-v5.8/timer-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/soc

System timer changes for omaps for v5.8 merge window

This series of changes finally gets the legacy omap dual-mode timer and
32k counter system timer updated to use drivers/clocksource and device
tree data. And we can now remove the unused legacy platform data.

These changes are based on an immutable clocksource branch set up by
Daniel Lezcano.

* tag 'omap-for-v5.8/timer-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  bus: ti-sysc: Timers no longer need legacy quirk handling
  ARM: OMAP2+: Drop old timer code for dmtimer and 32k counter
  ARM: dts: Configure system timers for omap2
  ARM: dts: Configure system timers for ti81xx
  ARM: dts: Configure system timers for omap3
  ARM: dts: Configure system timers for omap5 and dra7
  ARM: dts: Configure system timers for omap4
  ARM: dts: Configure system timers for am437x
  ARM: dts: Configure system timers for am335x
  ARM: OMAP2+: Add omap_init_time_of()
  bus: ti-sysc: Ignore timer12 on secure omap3
  clk: ti: dm816: enable sysclk6_ck on init
  clocksource/drivers/timer-ti-dm: Fix warning for set but not used
  clocksource/drivers/timer-ti-dm: Add clockevent and clocksource support
  clocksource/drivers/timer-ti-32k: Add support for initializing directly

Link: https://lore.kernel.org/r/pull-1590169577-735045@atomide.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-26 00:04:19 +02:00
Arnd Bergmann 66ee9359b0 i.MX SoC changes for 5.8:
- Add soc device support for Vybrid/VF platform.
 - Move the i.MX soc device registration code from mach-imx to
   drivers/soc/imx for possible future consolidation with i.MX8 code.
 - A small fixup to make pcm970_sja1000_platform_data static.
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAl7IflgUHHNoYXduZ3Vv
 QGtlcm5lbC5vcmcACgkQUFdYWoewfM5Tswf+Id6DM109IHuZxhPWNB5SKEkVa1cr
 v7u7GeT/REqnsVCoFgC0kYIVlOj6nm7F8wwrHziiocvryUV8KPiENG3zMCVzJfLz
 +xkZxIYEuMeLoJjWOz3HeR5bp8G5GeL8sGt2D5OrMh1EUHYTZdnf4/nESvCMJb41
 rOaBRHuhhR1/Dv8qwCkXU9zep/jwlVXf+r6pC5pQNGmUpUGC2VFc7rDYkODS8Jo4
 MfNx5S+HHk2Jabei+6fKEsVG1x7E3lv3ky/ZdVWhjtgy19I32E+o4Cr+UQqegIen
 N4V/Uya6KejSvhaHDf6Pz2TjqTkXxlWSQ0Lu2I7pDMWdU5Upf0iLqbV1rQ==
 =MC2F
 -----END PGP SIGNATURE-----

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

i.MX SoC changes for 5.8:

- Add soc device support for Vybrid/VF platform.
- Move the i.MX soc device registration code from mach-imx to
  drivers/soc/imx for possible future consolidation with i.MX8 code.
- A small fixup to make pcm970_sja1000_platform_data static.

* tag 'imx-soc-5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  soc: imx: move cpu code to drivers/soc/imx
  ARM: imx: move cpu definitions into a header
  ARM: imx: use device_initcall for imx_soc_device_init
  ARM: imx: pcm037: make pcm970_sja1000_platform_data static
  ARM: vf610: report soc info via soc device

Link: https://lore.kernel.org/r/20200523032516.11016-2-shawnguo@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-26 00:03:12 +02:00
Arnd Bergmann 2e60fac703 cpuidle: Changes for v5.8-rc1
These changes add support for cluster power-down on Tegra30.
 -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCAAxFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAl6+osUTHHRyZWRpbmdA
 bnZpZGlhLmNvbQAKCRDdI6zXfz6zocUrEACMK3vTOW57P11X8C62WAZWgA2087uA
 /wPdbWHH3D5G6huNcxSa6w+lOhfGjXaEyk0tO4SmILyL+WjxVMQ3DlZwyHmbgGqM
 FVP2pg67H0uyo2oXM67FSYhoIefTmMa4mGnWVHA4O7SIWJbd2FJGJ9Yb0Li3R86s
 W9YPsztrjD1i2g3oiF/KrS8Y7kP/qq11mCaExx3zHn1o6kIsKYCvilbSuoKQ6E72
 LTd2smSYk7TCEFvi3Lv4WiU7MIHgojb3AMHRM4m6JA4X20qm7ASOV2DyL1sL0RkR
 MosvYmi7ZnkiJQ+nKd2HKcTUWtWJ5AIfxkmW8yW64In7axSxPWNEUZb9MO8ELNru
 2CgdrlTLEgMbNdY2hcRSgLqLYH1m7qiV9MCS/GogQji9FaOAKQ4Hr9/RMYTpukJ0
 9QY63bqkCRqBqOZ1mjKz/X+/pvdMVKn2iCoCqgSJwBESlrkCpOO8WhmFPNLocQAi
 V95yOkdJwVCzK2CaIVBgJYbZ/ZdbeH8+bSEzKmGgXulfmSAEOfARTfEh1edv9sUl
 aZOZv1BJwDu1RXg5d74NgpK3nbQ+lm+3R25wq3t9IMpQz98o56H/QxyLzwOOuznG
 7NHSq4cuKcj9KyAePeXt9CTX8j8wg5L3BPk2vKfYYFfBuV5hAJem/Y4GIpy+bTef
 JybvQoYQzVwycg==
 =AjMB
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-5.8-cpuidle' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into arm/drivers

cpuidle: Changes for v5.8-rc1

These changes add support for cluster power-down on Tegra30.

* tag 'tegra-for-5.8-cpuidle' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  cpuidle: tegra: Support CPU cluster power-down state on Tegra30
  ARM: tegra: Do not fully reinitialize L2 on resume
  ARM: tegra: Initialize r0 register for firmware wake-up

Link: https://lore.kernel.org/r/20200515145311.1580134-3-thierry.reding@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-25 23:26:02 +02:00
Andrew Scull 0a78791c0d KVM: arm64: Remove obsolete kvm_virt_to_phys abstraction
This abstraction was introduced to hide the difference between arm and
arm64 but, with the former no longer supported, this abstraction can be
removed and the canonical kernel API used directly instead.

Signed-off-by: Andrew Scull <ascull@google.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
CC: Marc Zyngier <maz@kernel.org>
CC: James Morse <james.morse@arm.com>
CC: Suzuki K Poulose <suzuki.poulose@arm.com>
Link: https://lore.kernel.org/r/20200519104036.259917-1-ascull@google.com
2020-05-25 16:16:27 +01:00
David Brazdil 438f711ce1 KVM: arm64: Fix incorrect comment on kvm_get_hyp_vector()
The comment used to say that kvm_get_hyp_vector is only called on VHE systems.
In fact, it is also called from the nVHE init function cpu_init_hyp_mode().
Fix the comment to stop confusing devs.

Signed-off-by: David Brazdil <dbrazdil@google.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20200515152550.83810-1-dbrazdil@google.com
2020-05-25 16:16:16 +01:00
David Brazdil 71b3ec5f22 KVM: arm64: Clean up cpu_init_hyp_mode()
Pull bits of code to the only place where it is used. Remove empty function
__cpu_init_stage2(). Remove redundant has_vhe() check since this function is
nVHE-only. No functional changes intended.

Signed-off-by: David Brazdil <dbrazdil@google.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20200515152056.83158-1-dbrazdil@google.com
2020-05-25 16:15:47 +01:00
Arnd Bergmann b4e3b881b9 Refactor the mmsys to reflect that it's a clock driver and
the entry point for the DRM subsystem.
 
 Replace clk-provider.h include with of_clk.h for mach-mediatek
 -----BEGIN PGP SIGNATURE-----
 
 iQJLBAABCAA1FiEEUdvKHhzqrUYPB/u8L21+TfbCqH4FAl7AQAcXHG1hdHRoaWFz
 LmJnZ0BnbWFpbC5jb20ACgkQL21+TfbCqH6WvxAAiwYtX0o4PMYD1B04YnlSQHGs
 rj/3NkoYQwuiw4P03XbJB9Oj0nSq63KW+P7eb6jsL0Tqr+17ZyeJHTo+qeLtJHj3
 tgdS29M63HHB6dXKIX+F+hpC2sKbmWdsI/cyuFPBSuhS2MRp0PlWHT10lpduzBAk
 SUjpdB+xuBPa+KbJSFgg4ArdOEzMEjQnwzEOALEGhlpeHgFjWZ+bgSfVlytjH7Wy
 7yEl2BA/QuAIkje9iwZpggdRBwwHGjr5/BDpqPDY1nv5CuzBnNZLD6A0jhKWZyaI
 je69WCJ8HQ+yPLg+GxULk70GFyl/zSpQmYp3XQovZ5BJ53qDUCchFUgvJAs8moaw
 ly2OguL3BONyMiCZqLfF+K+nYeg6VUrhsiDAMom7pr+R222mkjNawdKL1Re7WtsA
 L7jkCPxmVNhvzX7p6KnvplnoNHfZj5P1wZbK0aty1RJO+BP/WsHAqG8tOZ75+hXZ
 HtooLwrcmqpyBrsnZhASr24JoOpfCuNJTId16Xt+AZjwyAS7BOMc9/SxwcdVW+bc
 J+QGgvoS+pbY7o7NVRRygFNRuabGkSCUq8escmMQl4r5XcZirHcg60UlgZUfUNVJ
 7Bwa/v3MzYEEFZVtToK0RhNgrAdhtUDYMpK1083rvC7E86+HQddYD6T/c6LVL/4j
 sFfxy3TTYdEIDjNcBSw=
 =v4ft
 -----END PGP SIGNATURE-----

Merge tag 'v5.7-next-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux into arm/drivers

Refactor the mmsys to reflect that it's a clock driver and
the entry point for the DRM subsystem.

Replace clk-provider.h include with of_clk.h for mach-mediatek

* tag 'v5.7-next-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux:
  ARM: mediatek: Replace <linux/clk-provider.h> by <linux/of_clk.h>
  soc: mediatek: Missing platform_device_unregister() on error in mtk_mmsys_probe()
  soc: mediatek: mmsys: Drop <linux/clk-provider.h>
  soc / drm: mediatek: Fix mediatek-drm device probing
  soc / drm: mediatek: Move routing control to mmsys device
  clk / soc: mediatek: Move mt8173 MMSYS to platform driver
  dt-bindings: mediatek: Update mmsys binding to reflect it is a system controller
  drm/mediatek: Omit warning on probe defers

Link: https://lore.kernel.org/r/2cf27d33-59c6-023b-9993-57a2639824ea@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-25 16:53:25 +02:00
Ingo Molnar d1343da330 More EFI changes for v5.8:
- Rename pr_efi/pr_efi_err to efi_info/efi_err, and use them consistently
 - Simplify and unify initrd loading
 - Parse the builtin command line on x86 (if provided)
 - Implement printk() support, including support for wide character strings
 - Some fixes for issues introduced by the first batch of v5.8 changes
 - Fix a missing prototypes warning
 - Simplify GDT handling in early mixed mode thunking code
 - Some other minor fixes and cleanups
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCgAdFiEEnNKg2mrY9zMBdeK7wjcgfpV0+n0FAl7Lb8UACgkQwjcgfpV0
 +n3/aAgAkEqqR/BoyzFiyYHujq6bXjESKYr8LrIjNWfnofB6nZqp1yXwFdL0qbj/
 PTZ1qIQAnOMmj11lvy1X894h2ZLqE6XEkqv7Xd2oxkh3fF6amlQUWfMpXUuGLo1k
 C4QGSfA0OOiM0OOi0Aqk1fL7sTmH23/j63dTR+fH8JMuYgjdls/yWNs0miqf8W2H
 ftj8fAKgHIJzFvdTC0vn1DZ6dEKczGLPEcVZ2ns2IJOJ69DsStKPLcD0mlW+EgV2
 EyfRSCQv55RYZRhdUOb+yVLRfU0M0IMDrrCDErHxZHXnQy00tmKXiEL20yuegv3u
 MUtRRw8ocn2/RskjgZkxtMjAAlty9A==
 =AwCh
 -----END PGP SIGNATURE-----

Merge tag 'efi-changes-for-v5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/efi/efi into efi/core

More EFI changes for v5.8:

 - Rename pr_efi/pr_efi_err to efi_info/efi_err, and use them consistently
 - Simplify and unify initrd loading
 - Parse the builtin command line on x86 (if provided)
 - Implement printk() support, including support for wide character strings
 - Some fixes for issues introduced by the first batch of v5.8 changes
 - Fix a missing prototypes warning
 - Simplify GDT handling in early mixed mode thunking code
 - Some other minor fixes and cleanups

Conflicts:
	drivers/firmware/efi/libstub/efistub.h

Signed-off-by: Ingo Molnar <mingo@kernel.org>
2020-05-25 15:11:14 +02:00
Ingo Molnar a5d8e55b2c Linux 5.7-rc7
-----BEGIN PGP SIGNATURE-----
 
 iQFSBAABCAA8FiEEq68RxlopcLEwq+PEeb4+QwBBGIYFAl7K9iEeHHRvcnZhbGRz
 QGxpbnV4LWZvdW5kYXRpb24ub3JnAAoJEHm+PkMAQRiGzTAH/0ifZEG4BQ8x/WlB
 8YLSLE6QQTSXYi25nyExuJbFkkKY5Tik8M2HD/36xwY/HnZOlH9jH6m0ntqZxpaA
 3EU9lr1ct79nCBMYhiJssvz8d9AOZXlyogFW9y2y9pmPjlmUtseZ7yGh1xD465cj
 B5Ty2w2W34cs7zF3og2xn5agOJMtWWXLXZ5mRa9EOquKC5zeYyRicmd0T+plYQD6
 hbRYmxFfDfppVnBCBARPNN0+NU5JJD94H+8bOuf1tl48XNrLiZMOicmtohKNQ6+W
 rZNpJNEGEp7KMtqWH0Nl3hmy3yfZHMwe1DXM/AZDqR7jTHZY4mZ0GEpLyfI9AU4n
 34jVHwU=
 =SmJ9
 -----END PGP SIGNATURE-----

Merge tag 'v5.7-rc7' into efi/core, to refresh the branch and pick up fixes

Signed-off-by: Ingo Molnar <mingo@kernel.org>
2020-05-25 15:10:37 +02:00
Daniel González Cabanelas 6af2aa7f66 MIPS: BCM63XX: fix BCM6358 GPIO count
The BCM6358 SoC has only 38 available GPIOs. Fix it.

Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
2020-05-25 14:55:19 +02:00
Arnd Bergmann 364d1ac229 This pull request contains Broadcom ARM-based SoCs Device Tree fixes for
5.7, please pull the following:
 
 - Vincent fixes the polarity of the ACT LED on the Raspberry Pi Zero W
   board
 
 - Hamish fixes the ARM PPI interrupts sensitivy for the Hurricane 2
   SoCs
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEm+Rq3+YGJdiR9yuFh9CWnEQHBwQFAl7K2okACgkQh9CWnEQH
 BwRTEg//T9ji481s6UHNRKzPsJrUP/ImRzefOjhKMHtj5JAmlzjXHt7pzylvFYpc
 dlgRDEY3Lrx8DSeTq41E99fHPpBLVupCNAxVOodVXDKW+hfrZVkqJRwfE3PT+m9z
 p+N9ZRfzyyEvGvlS2DXEG5WqXZCTdOx1yvH02Xsb1DU35mJdd7IA6cuaT/mvnS1c
 xZb5dvNn58ZELm/T6WY9wHsazMOnQjZz6KHFEc91EF3aiAR2V8c0QfjdDmW23odN
 ALPFY61A31/uNkzsiKXIqqN2B0djZvCeUdxXqYJZmkK7f+UBRCKLJMDAWd1ZHVDN
 P4H65FLHtZL596YirKEbAy5OPV+VFUkJ36WpBrAJuJqVMtEzmLrsLeGfWJNVQ+Yt
 bTrwa75V/z/2ZkCMyccwSXofVBt4A444Lk0ik8mymz1Bg9YF9A0PH56Zac6Zykuw
 rkSTG6wyF8qgDLZuUSsY1ygQ9lTUzIr6kF1qqtWdrBUYZYMXgxR1gNvd5fYdwb3T
 4wef0vlE4mBFI63qXEM6/xDhMCIoTOx6Jl5Nheo/4TzXIMyRWtUeGUSigF0CdZlX
 B8UvxiZEP5NLW3hQPvBg/O+u7zPsl3eH7tWdraQIh7ZF3uyku9gdrpcdyjUS5rdp
 5/iH7MC/BmdcfycFIaP7ysd4SmcELA7oqjIxWOOn0F7qczyra4Q=
 =klA0
 -----END PGP SIGNATURE-----

Merge tag 'arm-soc/for-5.7/devicetree-fixes-part2-v2' of https://github.com/Broadcom/stblinux into arm/fixes

This pull request contains Broadcom ARM-based SoCs Device Tree fixes for
5.7, please pull the following:

- Vincent fixes the polarity of the ACT LED on the Raspberry Pi Zero W
  board

- Hamish fixes the ARM PPI interrupts sensitivy for the Hurricane 2
  SoCs

* tag 'arm-soc/for-5.7/devicetree-fixes-part2-v2' of https://github.com/Broadcom/stblinux:
  ARM: dts: bcm: HR2: Fix PPI interrupt types
  ARM: dts: bcm2835-rpi-zero-w: Fix led polarity

Link: https://lore.kernel.org/r/20200524203714.17035-1-f.fainelli@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-25 11:25:03 +02:00
Gustavo A. R. Silva 3381df0954 m68k: tools: Replace zero-length array with flexible-array member
The current codebase makes use of the zero-length array language
extension to the C90 standard, but the preferred mechanism to declare
variable-length types such as these ones is a flexible array member[1][2],
introduced in C99:

struct foo {
        int stuff;
        struct boo array[];
};

By making use of the mechanism above, we will get a compiler warning
in case the flexible array does not occur last in the structure, which
will help us prevent some kind of undefined behavior bugs from being
inadvertently introduced[3] to the codebase from now on.

Also, notice that, dynamic memory allocations won't be affected by
this change:

"Flexible array members have incomplete type, and so the sizeof operator
may not be applied. As a quirk of the original implementation of
zero-length arrays, sizeof evaluates to zero."[1]

This issue was found with the help of Coccinelle.

[1] https://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html
[2] https://github.com/KSPP/linux/issues/21
[3] commit 7649773293 ("cxgb3/l2t: Fix undefined behaviour")

Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Link: https://lore.kernel.org/r/20200521185707.GA3661@embeddedor
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
2020-05-25 10:55:56 +02:00
Jason Wang 2941a4731f m68k: Add missing __user annotation in get_user()
The ptr is a pointer to userspace memory. So we need annotate it with
__user otherwise we may get sparse warnings like:

drivers/vhost/vhost.c:1603:13: sparse: sparse: incorrect type in initializer (different address spaces) @@    expected void const *__gu_ptr @@    got unsigned int [noderef] [usertypvoid const *__gu_ptr @@
drivers/vhost/vhost.c:1603:13: sparse:    expected void const *__gu_ptr
drivers/vhost/vhost.c:1603:13: sparse:    got unsigned int [noderef] [usertype] <asn:1> *idxp

Reported-by: kbuild test robot <lkp@intel.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Link: https://lore.kernel.org/r/20200520065750.8401-1-jasowang@redhat.com
Fixes: 7124330dab ("m68k/uaccess: Revive 64-bit get_user()")
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
2020-05-25 10:55:56 +02:00
Finn Thain b2003c7a81 m68k: mac: Avoid stuck ISM IOP interrupt on Quadra 900/950
On a Quadra 900/950, the ISM IOP IRQ output pin is connected to an
edge-triggered input on VIA2. It is theoretically possible that this
signal could fail to produce the expected VIA2 interrupt.

The two IOP interrupt flags can be asserted in any order but the logic
in iop_ism_irq() does not allow for that. In particular, INT0 can be
asserted right after INT0 is checked and before INT1 is cleared.

Such an interrupt would produce no new edge and VIA2 would detect no
further interrupts from the IOP. Avoid this by looping over the INT0/1
handlers so an edge can be produced.

Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
Tested-by: Stan Johnson <userm57@yahoo.com>
Cc: Joshua Thompson <funaho@jurai.org>
Link: https://lore.kernel.org/r/bfbb71db52c5e162d3afa25a28fc5d535ca87138.1589949122.git.fthain@telegraphics.com.au
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
2020-05-25 10:55:56 +02:00
Finn Thain bf6c68ead3 m68k: mac: Remove misleading comment
This code path was tested on a Quadra 950 a long time ago and the
comment isn't needed.

Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
Cc: Joshua Thompson <funaho@jurai.org>
Link: https://lore.kernel.org/r/10dff3e7c17d363a4b239aae7b3ebab32bef3547.1589949122.git.fthain@telegraphics.com.au
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
2020-05-25 10:55:56 +02:00
Finn Thain bcc44f6b74 m68k: mac: Don't call via_flush_cache() on Mac IIfx
There is no VIA2 chip on the Mac IIfx, so don't call via_flush_cache().
This avoids a boot crash which appeared in v5.4.

printk: console [ttyS0] enabled
printk: bootconsole [debug0] disabled
printk: bootconsole [debug0] disabled
Calibrating delay loop... 9.61 BogoMIPS (lpj=48064)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
devtmpfs: initialized
random: get_random_u32 called from bucket_table_alloc.isra.27+0x68/0x194 with crng_init=0
clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
futex hash table entries: 256 (order: -1, 3072 bytes, linear)
NET: Registered protocol family 16
Data read fault at 0x00000000 in Super Data (pc=0x8a6a)
BAD KERNEL BUSERR
Oops: 00000000
Modules linked in:
PC: [<00008a6a>] via_flush_cache+0x12/0x2c
SR: 2700  SP: 01c1fe3c  a2: 01c24000
d0: 00001119    d1: 0000000c    d2: 00012000    d3: 0000000f
d4: 01c06840    d5: 00033b92    a0: 00000000    a1: 00000000
Process swapper (pid: 1, task=01c24000)
Frame format=B ssw=0755 isc=0200 isb=fff7 daddr=00000000 dobuf=01c1fed0
baddr=00008a6e dibuf=0000004e ver=f
Stack from 01c1fec4:
        01c1fed0 00007d7e 00010080 01c1fedc 0000792e 00000001 01c1fef4 00006b40
        01c80000 00040000 00000006 00000003 01c1ff1c 004a545e 004ff200 00040000
        00000000 00000003 01c06840 00033b92 004a5410 004b6c88 01c1ff84 000021e2
        00000073 00000003 01c06840 00033b92 0038507a 004bb094 004b6ca8 004b6c88
        004b6ca4 004b6c88 000021ae 00020002 00000000 01c0685d 00000000 01c1ffb4
        0049f938 00409c85 01c06840 0045bd40 00000073 00000002 00000002 00000000
Call Trace: [<00007d7e>] mac_cache_card_flush+0x12/0x1c
 [<00010080>] fix_dnrm+0x2/0x18
 [<0000792e>] cache_push+0x46/0x5a
 [<00006b40>] arch_dma_prep_coherent+0x60/0x6e
 [<00040000>] switched_to_dl+0x76/0xd0
 [<004a545e>] dma_atomic_pool_init+0x4e/0x188
 [<00040000>] switched_to_dl+0x76/0xd0
 [<00033b92>] parse_args+0x0/0x370
 [<004a5410>] dma_atomic_pool_init+0x0/0x188
 [<000021e2>] do_one_initcall+0x34/0x1be
 [<00033b92>] parse_args+0x0/0x370
 [<0038507a>] strcpy+0x0/0x1e
 [<000021ae>] do_one_initcall+0x0/0x1be
 [<00020002>] do_proc_dointvec_conv+0x54/0x74
 [<0049f938>] kernel_init_freeable+0x126/0x190
 [<0049f94c>] kernel_init_freeable+0x13a/0x190
 [<004a5410>] dma_atomic_pool_init+0x0/0x188
 [<00041798>] complete+0x0/0x3c
 [<000b9b0c>] kfree+0x0/0x20a
 [<0038df98>] schedule+0x0/0xd0
 [<0038d604>] kernel_init+0x0/0xda
 [<0038d610>] kernel_init+0xc/0xda
 [<0038d604>] kernel_init+0x0/0xda
 [<00002d38>] ret_from_kernel_thread+0xc/0x14
Code: 0000 2079 0048 10da 2279 0048 10c8 d3c8 <1011> 0200 fff7 1280 d1f9 0048 10c8 1010 0000 0008 1080 4e5e 4e75 4e56 0000 2039
Disabling lock debugging due to kernel taint
Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b

Thanks to Stan Johnson for capturing the console log and running git
bisect.

Git bisect said commit 8e3a68fb55 ("dma-mapping: make
dma_atomic_pool_init self-contained") is the first "bad" commit. I don't
know why. Perhaps mach_l2_flush first became reachable with that commit.

Fixes: 1da177e4c3 ("Linux-2.6.12-rc2")
Reported-and-tested-by: Stan Johnson <userm57@yahoo.com>
Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
Cc: Joshua Thompson <funaho@jurai.org>
Link: https://lore.kernel.org/r/b8bbeef197d6b3898e82ed0d231ad08f575a4b34.1589949122.git.fthain@telegraphics.com.au
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
2020-05-25 10:55:56 +02:00
Julius Werner 72a9e7fea5 watchdog: Add new arm_smc_wdt watchdog driver
This patch adds a watchdog driver that can be used on ARM systems
with the appropriate watchdog implemented in Secure Monitor firmware.
The driver communicates with firmware via a Secure Monitor Call.
This may be useful for platforms using TrustZone that want
the Secure Monitor firmware to have the final control over the watchdog.

This is implemented on mt8173 chromebook devices oak, elm and hana in
arm trusted firmware file plat/mediatek/mt8173/drivers/wdt/wdt.c.

Signed-off-by: Julius Werner <jwerner@chromium.org>
Signed-off-by: Evan Benn <evanbenn@chromium.org>
Reviewed-by: Julius Werner <jwerner@chromium.org>
Tested-by: Xingyu Chen<xingyu.chen@amlogic.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Link: https://lore.kernel.org/r/20200505131242.v6.2.Ia92bb4d4ce84bcefeba1d00aaa1c1e919b6164ef@changeid
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
2020-05-25 08:55:46 +02:00
David S. Miller 13209a8f73 Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
The MSCC bug fix in 'net' had to be slightly adjusted because the
register accesses are done slightly differently in net-next.

Signed-off-by: David S. Miller <davem@davemloft.net>
2020-05-24 13:47:27 -07:00
Linus Torvalds 98790bbac4 A set of EFI fixes:
- Don't return a garbage screen info when EFI framebuffer is not available
 
  - Make the early EFI console work proper with wider fonts instead of drawing
    garbage
 
  - Prevent a memory buffer leak in allocate_e820()
 
  - Print the firmware error record proper so it can be decoded by users
 
  - Fix a symbol clash in the host tool build which only happens with newer
    compilers.
 
  - Add a missing check for the event log version of TPM which caused boot
    fails on several Dell systems due to an attempt to decode SHA-1 format
    with the crypto agile algorithm
 -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCgAxFiEEQp8+kY+LLUocC4bMphj1TA10mKEFAl7KiA4THHRnbHhAbGlu
 dXRyb25peC5kZQAKCRCmGPVMDXSYoS+WD/93Pd1AyO2wX8EBp7hKMFIof2fUlFGd
 yErHZibCZzTbvxsN+g1WNJBI7/9OjCcU6rG383ky4hZzZZ/pjtLhOSO08Q9mGsIg
 8lTQWozBWTjz73uHi4XItF9UkXy3QG7CwWFa3wgpD/VxTEgcEblczDJ+YU9TNX/L
 cA2TnSmjey+Kh6BbBMp1mKIpFN+hryAv70d2qaJJJkEolNDAkDpRfefaVdlbm/2E
 8gqNXaETn7nhaJpyHEqjipOAKYsTHbASfB3NLXjh+R88em5v0LGg/EZ9UTgFAq2x
 kQZr/O3wgOZ5ahzhtCcTx8VyTVE7AFxJqi8MkaTEYzQeFwK5xBJgf/tpJ/2CH7aj
 S0/dDZ4U3hyG29DI6BKDAQOxX5H315Q/7FBLLVHXGXO4VEz18qowZN4WkemPB27m
 5jt07TCHp+tf3TAaunjmISrUrh8ZD4SB6gnMHKXM2x7t80hxoqm7gI6Cf4tdGB3S
 DK6uYMydG5ecdmtrgZzWWDVX42D6vfKkVdYuAZlrBaZ6gFGs4WM2vmDDozmx5MRk
 znFr5hjjVoXyBwTs0UavBeSCOlB0/ifXICzg0Ba5/wG1Li9DUX3KwG7mlWVJnyfo
 r/CryLmeIEZ7JPl60+gXT3Nnd6dTgiA4EcR53HhPEbSoJ+58ITcuxPm4lCRdesJK
 QLlF4Yye/nn14Q==
 =BiIm
 -----END PGP SIGNATURE-----

Merge tag 'efi-urgent-2020-05-24' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull EFI fixes from Thomas Gleixner:
 "A set of EFI fixes:

   - Don't return a garbage screen info when EFI framebuffer is not
     available

   - Make the early EFI console work properly with wider fonts instead
     of drawing garbage

   - Prevent a memory buffer leak in allocate_e820()

   - Print the firmware error record properly so it can be decoded by
     users

   - Fix a symbol clash in the host tool build which only happens with
     newer compilers.

   - Add a missing check for the event log version of TPM which caused
     boot failures on several Dell systems due to an attempt to decode
     SHA-1 format with the crypto agile algorithm"

* tag 'efi-urgent-2020-05-24' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  tpm: check event log version before reading final events
  efi: Pull up arch-specific prototype efi_systab_show_arch()
  x86/boot: Mark global variables as static
  efi: cper: Add support for printing Firmware Error Record Reference
  efi/libstub/x86: Avoid EFI map buffer alloc in allocate_e820()
  efi/earlycon: Fix early printk for wider fonts
  efi/libstub: Avoid returning uninitialized data from setup_graphics()
2020-05-24 10:24:10 -07:00
Linus Torvalds 667b6249b7 Two fixes for x86:
- Unbreak stack dumps for inactive tasks by interpreting the special
     first frame left by __switch_to_asm() correctly. The recent change not
     to skip the first frame so ORC and frame unwinder behave in the same
     way caused all entries to be unreliable, i.e. prepended with '?'.
 
   - Use cpumask_available() instead of an implicit NULL check of a
     cpumask_var_t in mmio trace to prevent a Clang build warning
 -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCgAxFiEEQp8+kY+LLUocC4bMphj1TA10mKEFAl7KjZITHHRnbHhAbGlu
 dXRyb25peC5kZQAKCRCmGPVMDXSYofGED/9q61QWzA7WULpps2UA1JDa8JGvxwIl
 Z/juNskVAXWZRlBOACPD7mZNz3tkfHnl62igHIwUNlEddSANQ22c/7Yt74w+lCcD
 KtPVVx/zdnO2nt5HVekRT6D9pKfD8cfSF4X2k2/HF6u8hQGoqWGv2BVBuarNurWE
 3CIFtLbNvBhjI4WdzK7Y0IfcINSkcyABQn1+9Id8mwH8XOStl1aaIMY7hxlpj9e4
 mXoQtkbRXnTbv6Asw6Obb1F/7AtCdaDrNqfBCA0Juv4fJzPQOMgZSWEX6OtZny6E
 8vsDsSCYOY4wcGYH5CBJd3n48UOsrWbT+7yNLeAnE7ZaZzc0pdi0g2NVWUGuhYa3
 EbPzvj+kPgcVsfpfasts9KRAR57GNysKD8MLZGqaST9MAB7EKLbPWEDnhNnsAnU5
 3KNFEbfB16CyJmztlE2YCT6nNJ3rzaOtcDiRmJduf0Ib9PEEkPaaX85DfO0Yabnn
 QilGsYbkdux+UTQUtZg6+HPsikcKiN46hOLrSXXu1O+iMDxhL/mq/79hNrO9hffI
 idV+js2nxv9tC30MMczMdPuUX4nOHs26IMZObdV88gDMV9n9TGkW+XinoJBi/+er
 3xuDQw6aRqpolMmUVFhBLV0gYTB2+J0zc3eawa5c6U6B9avc4j4KxkNVIfrLiRkK
 3brABHq+di44MA==
 =COcb
 -----END PGP SIGNATURE-----

Merge tag 'x86-urgent-2020-05-24' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull x86 fixes from Thomas Gleixner:
 "Two fixes for x86:

   - Unbreak stack dumps for inactive tasks by interpreting the special
     first frame left by __switch_to_asm() correctly.

     The recent change not to skip the first frame so ORC and frame
     unwinder behave in the same way caused all entries to be
     unreliable, i.e. prepended with '?'.

   - Use cpumask_available() instead of an implicit NULL check of a
     cpumask_var_t in mmio trace to prevent a Clang build warning"

* tag 'x86-urgent-2020-05-24' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86/unwind/orc: Fix unwind_get_return_address_ptr() for inactive tasks
  x86/mmiotrace: Use cpumask_available() for cpumask_var_t variables
2020-05-24 10:21:02 -07:00
Kaige Li f33a0b9410 MIPS: tools: Fix resource leak in elf-entry.c
There is a file descriptor resource leak in elf-entry.c, fix this
by adding fclose() before return and die.

Signed-off-by: Kaige Li <likaige@loongson.cn>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
2020-05-24 09:29:48 +02:00
Joshua Kinard b34a1a7120 MIPS: SGI-IP30: Reorder the macros in war.h
Fix the ordering of the macros in arch/mips/mach-ip30/war.h to match
those in arch/mips/mach-ip27/war.h.

Signed-off-by: Joshua Kinard <kumba@gentoo.org>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
2020-05-24 09:28:49 +02:00
WANG Xuerui ec7a93188a MIPS: emulate CPUCFG instruction on older Loongson64 cores
CPUCFG is the instruction for querying processor characteristics on
newer Loongson processors, much like CPUID of x86. Since the instruction
is supposedly designed to provide a unified way to do feature detection
(without having to, for example, parse /proc/cpuinfo which is too
heavyweight), it is important to provide compatibility for older cores
without native support. Fortunately, most of the fields can be
synthesized without changes to semantics. Performance is not really big
a concern, because feature detection logic is not expected to be
invoked very often in typical userland applications.

The instruction can't be emulated on LOONGSON_2EF cores, according to
FlyGoat's experiments. Because the LWC2 opcode is assigned to other
valid instructions on 2E and 2F, no RI exception is raised for us to
intercept. So compatibility is only extended back furthest to
Loongson-3A1000. Loongson-2K is covered too, as it is basically a remix
of various blocks from the 3A/3B models from a kernel perspective.

This is lightly based on Loongson's work on their Linux 3.10 fork, for
being the authority on the right feature flags to fill in, where things
aren't otherwise discoverable.

Signed-off-by: WANG Xuerui <git@xen0n.name>
Reviewed-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Cc: Huacai Chen <chenhc@lemote.com>
Cc: Jiaxun Yang <jiaxun.yang@flygoat.com>
Cc: Tiezhu Yang <yangtiezhu@loongson.cn>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
2020-05-24 09:26:55 +02:00
Huacai Chen 8267e78f02 MIPS: Tidy up CP0.Config6 bits definition
CP0.Config6 is a Vendor-defined register whose bits definitions are
different from one to another. Recently, Xuerui's Loongson-3 patch and
Serge's P5600 patch make the definitions inconsistency and unclear.

To make life easy, this patch tidy the definition up:
1, Add a _MTI_ infix for proAptiv/P5600 feature bits;
2, Add a _LOONGSON_ infix for Loongson-3 feature bits;
3, Add bit6/bit7 definition for Loongson-3 which will be used later.

All existing users of these macros are updated.

Cc: WANG Xuerui <git@xen0n.name>
Cc: Serge Semin <Sergey.Semin@baikalelectronics.ru>
Signed-off-by: Huacai Chen <chenhc@lemote.com>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
2020-05-24 09:24:49 +02:00
Tiezhu Yang 41528ba6af MIPS: DTS: Only build subdir of current platform
Add config check in Makefile to only build the subdir of current platform.

E.g. without this patch:

  AR      arch/mips/built-in.a
  AR      arch/mips/boot/dts/brcm/built-in.a
  AR      arch/mips/boot/dts/cavium-octeon/built-in.a
  AR      arch/mips/boot/dts/img/built-in.a
  AR      arch/mips/boot/dts/ingenic/built-in.a
  AR      arch/mips/boot/dts/lantiq/built-in.a
  DTC     arch/mips/boot/dts/loongson/loongson3_4core_rs780e.dtb
  DTB     arch/mips/boot/dts/loongson/loongson3_4core_rs780e.dtb.S
  AS      arch/mips/boot/dts/loongson/loongson3_4core_rs780e.dtb.o
  DTC     arch/mips/boot/dts/loongson/loongson3_8core_rs780e.dtb
  DTB     arch/mips/boot/dts/loongson/loongson3_8core_rs780e.dtb.S
  AS      arch/mips/boot/dts/loongson/loongson3_8core_rs780e.dtb.o
  AR      arch/mips/boot/dts/loongson/built-in.a
  AR      arch/mips/boot/dts/mscc/built-in.a
  AR      arch/mips/boot/dts/mti/built-in.a
  AR      arch/mips/boot/dts/netlogic/built-in.a
  AR      arch/mips/boot/dts/ni/built-in.a
  AR      arch/mips/boot/dts/pic32/built-in.a
  AR      arch/mips/boot/dts/qca/built-in.a
  AR      arch/mips/boot/dts/ralink/built-in.a
  AR      arch/mips/boot/dts/xilfpga/built-in.a
  AR      arch/mips/boot/dts/built-in.a

With this patch:

  AR      arch/mips/built-in.a
  DTC     arch/mips/boot/dts/loongson/loongson3_4core_rs780e.dtb
  DTB     arch/mips/boot/dts/loongson/loongson3_4core_rs780e.dtb.S
  AS      arch/mips/boot/dts/loongson/loongson3_4core_rs780e.dtb.o
  DTC     arch/mips/boot/dts/loongson/loongson3_8core_rs780e.dtb
  DTB     arch/mips/boot/dts/loongson/loongson3_8core_rs780e.dtb.S
  AS      arch/mips/boot/dts/loongson/loongson3_8core_rs780e.dtb.o
  AR      arch/mips/boot/dts/loongson/built-in.a
  AR      arch/mips/boot/dts/built-in.a

Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
2020-05-24 09:24:49 +02:00
Ben Hutchings f39293fd37 MIPS: Fix exception handler memcpy()
The exception handler subroutines are declared as a single char, but
when copied to the required addresses the copy length is 0x80.

When range checks are enabled for memcpy() this results in a build
failure, with error messages such as:

In file included from arch/mips/mti-malta/malta-init.c:15:
In function 'memcpy',
    inlined from 'mips_nmi_setup' at arch/mips/mti-malta/malta-init.c:98:2:
include/linux/string.h:376:4: error: call to '__read_overflow2' declared with attribute error: detected read beyond size of object passed as 2nd parameter
  376 |    __read_overflow2();
      |    ^~~~~~~~~~~~~~~~~~

Change the declarations to use type char[].

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: YunQiang Su <syq@debian.org>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
2020-05-24 09:15:54 +02:00
Arvind Sankar 9241dfe7f2 efi/x86: Drop the special GDT for the EFI thunk
Instead of using efi_gdt64 to switch back to 64-bit mode and then
switching to the real boot-time GDT, just switch to the boot-time GDT
directly. The two GDT's are identical other than efi_gdt64 not including
the 32-bit code segment.

Signed-off-by: Arvind Sankar <nivedita@alum.mit.edu>
Link: https://lore.kernel.org/r/20200523221513.1642948-1-nivedita@alum.mit.edu
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
2020-05-24 00:25:15 +02:00
Mike Rapoport 0cfc8a8d70 sparc32: fix page table traversal in srmmu_nocache_init()
The srmmu_nocache_init() uses __nocache_fix() macro to add an offset to
page table entry to access srmmu_nocache_pool.

But since sparc32 has only three actual page table levels, pgd, p4d and
pud are essentially the same thing and pgd_offset() and p4d_offset() are
no-ops, the __nocache_fix() should be done only at PUD level.

Remove __nocache_fix() for p4d_offset() and pud_offset() and keep it
only for PUD and lower levels.

Fixes: c2bc26f7ca ("sparc32: use PUD rather than PGD to get PMD in srmmu_nocache_init()")
Signed-off-by: Mike Rapoport <rppt@linux.ibm.com>
Cc: David S. Miller <davem@davemloft.net>
Cc: Anatoly Pugachev <matorola@gmail.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-05-23 13:59:12 -07:00
Long Cheng 21eb9ec7c3 arm: dts: mt2712: add uart APDMA to device tree
1. add uart APDMA controller device node
2. add uart 0/1/2/3/4/5 DMA function

Signed-off-by: Long Cheng <long.cheng@mediatek.com>
Link: https://lore.kernel.org/r/1556336193-15198-3-git-send-email-long.cheng@mediatek.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2020-05-23 21:03:13 +02:00
jjian zhou 5e6cdf0051 arm64: dts: mt8183: add mmc node
Add mmc DTS node to the mt8183 and mt8183-evb.

Signed-off-by: Jjian Zhou <jjian.zhou-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org>
Link: https://lore.kernel.org/r/1554888341-5249-1-git-send-email-jjian.zhou@mediatek.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2020-05-23 21:03:13 +02:00
Biao Huang e9cabfd046 arm64: dts: mt2712: add ethernet device node
This patch add device node for mt2712 ethernet.

Signed-off-by: Biao Huang <biao.huang@mediatek.com>
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2020-05-23 21:03:12 +02:00
Linus Torvalds 423b8baf18 Merge branch 'akpm' (patches from Andrew)
Merge misc fixes from Andrew Morton:
 "11 fixes"

* emailed patches from Andrew Morton <akpm@linux-foundation.org>:
  MAINTAINERS: add files related to kdump
  z3fold: fix use-after-free when freeing handles
  sparc32: use PUD rather than PGD to get PMD in srmmu_nocache_init()
  MAINTAINERS: update email address for Naoya Horiguchi
  sh: include linux/time_types.h for sockios
  kasan: disable branch tracing for core runtime
  selftests/vm/write_to_hugetlbfs.c: fix unused variable warning
  selftests/vm/.gitignore: add mremap_dontunmap
  rapidio: fix an error in get_user_pages_fast() error handling
  x86: bitops: fix build regression
  device-dax: don't leak kernel memory to user space after unloading kmem
2020-05-23 11:21:47 -07:00
Linus Torvalds 9bca7c4085 s390 updates for 5.7-rc7
- Add missing R_390_JMP_SLOT relocation type in KASLR code.
 
 - Fix set_huge_pte_at for empty ptes issue which has been uncovered with
   arch page table helper tests.
 
 - Correct initrd location for kdump kernel.
 
 - Fix s390_mmio_read/write with MIO in PCI code.
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCAAdFiEE3QHqV+H2a8xAv27vjYWKoQLXFBgFAl7I9iIACgkQjYWKoQLX
 FBglZQf6A5i+U0NCiFNNxUC7Fhv++wxczTZbYQONUEkiTW81s9gOMDMcQfKrOtDa
 v6g9F1qLQDbdjY9pqB9EfHnKwqZxWReu1Zh0AhV4hJGO0w34jK59yw0AappLRKer
 aQHbDl8i+2IITk9L0CKEogf+pSyDZbzZM1o6if3GHIfdi9GjllJu1u/YmPbX3S80
 209+17ELCFZwsFPPsRts1D5rjVvAtfPamUE1X3Be+RItCWqzeVz/kW93eyNLr46b
 iAqMPZjjRLnmoQEw8pL4sKqm5sDsRSCYPJ2XmwHt3J50+EHY0SpkDULwVhAL3BYv
 s8In/ZgmcwhctRv+ZMB7YFF7DZOVaA==
 =5q8n
 -----END PGP SIGNATURE-----

Merge tag 's390-5.7-4' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux

Pull s390 fixes from Vasily Gorbik:

 - Add missing R_390_JMP_SLOT relocation type in KASLR code.

 - Fix set_huge_pte_at for empty ptes issue which has been uncovered
   with arch page table helper tests.

 - Correct initrd location for kdump kernel.

 - Fix s390_mmio_read/write with MIO in PCI code.

* tag 's390-5.7-4' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
  s390/kaslr: add support for R_390_JMP_SLOT relocation type
  s390/mm: fix set_huge_pte_at() for empty ptes
  s390/kexec_file: fix initrd location for kdump kernel
  s390/pci: Fix s390_mmio_read/write with MIO
2020-05-23 10:42:12 -07:00
Mike Rapoport c2bc26f7ca sparc32: use PUD rather than PGD to get PMD in srmmu_nocache_init()
The kbuild test robot reported the following warning:

  arch/sparc/mm/srmmu.c: In function 'srmmu_nocache_init': arch/sparc/mm/srmmu.c:300:9: error: variable 'pud' set but not used [-Werror=unused-but-set-variable]
  300 |  pud_t *pud;

This warning is caused by misprint in the page table traversal in
srmmu_nocache_init() function which accessed a PMD entry using PGD
rather than PUD.

Since sparc32 has only 3 page table levels, the PGD and PUD are
essentially the same and usage of __nocache_fix() removed the type
checking.

Use PUD for the consistency and to silence the compiler warning.

Fixes: 7235db268a ("sparc32: use pgtable-nopud instead of 4level-fixup")
Reported-by: kbuild test robot <lkp@intel.com>
Signed-off-by: Mike Rapoport <rppt@linux.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Cc: David S. Miller <davem@davemloft.net>
Cc: Anatoly Pugachev <matorola@gmail.com>
Cc: <stable@vger.kernel.org>
Link: http://lkml.kernel.org/r/20200520132005.GM1059226@linux.ibm.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-05-23 10:26:32 -07:00
Arnd Bergmann fc94cf2092 sh: include linux/time_types.h for sockios
Using the socket ioctls on arch/sh (and only there) causes build time
problems when __kernel_old_timeval/__kernel_old_timespec are not already
visible to the compiler.

Add an explict include line for the header that defines these
structures.

Fixes: 8c709f9a06 ("y2038: sh: remove timeval/timespec usage from headers")
Fixes: 0768e17073 ("net: socket: implement 64-bit timestamps")
Reported-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Tested-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
Cc: Rich Felker <dalias@libc.org>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Cc: <stable@vger.kernel.org>
Link: http://lkml.kernel.org/r/20200519131327.1836482-1-arnd@arndb.de
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-05-23 10:26:31 -07:00
Nick Desaulniers c071b0f11e x86: bitops: fix build regression
This is easily reproducible via CC=clang + CONFIG_STAGING=y +
CONFIG_VT6656=m.

It turns out that if your config tickles __builtin_constant_p via
differences in choices to inline or not, these statements produce
invalid assembly:

    $ cat foo.c
    long a(long b, long c) {
      asm("orb	%1, %0" : "+q"(c): "r"(b));
      return c;
    }
    $ gcc foo.c
    foo.c: Assembler messages:
    foo.c:2: Error: `%rax' not allowed with `orb'

Use the `%b` "x86 Operand Modifier" to instead force register allocation
to select a lower-8-bit GPR operand.

The "q" constraint only has meaning on -m32 otherwise is treated as
"r".  Not all GPRs have low-8-bit aliases for -m32.

Fixes: 1651e70066 ("x86: Fix bitops.h warning with a moved cast")
Reported-by: kernelci.org bot <bot@kernelci.org>
Suggested-by: Andy Shevchenko <andriy.shevchenko@intel.com>
Suggested-by: Brian Gerst <brgerst@gmail.com>
Suggested-by: H. Peter Anvin <hpa@zytor.com>
Suggested-by: Ilie Halip <ilie.halip@gmail.com>
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Tested-by: Sedat Dilek <sedat.dilek@gmail.com>
Tested-by: Nathan Chancellor <natechancellor@gmail.com>	[build, clang-11]
Reviewed-by: Nathan Chancellor <natechancellor@gmail.com>
Reviewed-By: Brian Gerst <brgerst@gmail.com>
Reviewed-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Marco Elver <elver@google.com>
Cc: "Paul E. McKenney" <paulmck@kernel.org>
Cc: Andrey Ryabinin <aryabinin@virtuozzo.com>
Cc: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: Daniel Axtens <dja@axtens.net>
Cc: "Peter Zijlstra (Intel)" <peterz@infradead.org>
Link: http://lkml.kernel.org/r/20200508183230.229464-1-ndesaulniers@google.com
Link: https://github.com/ClangBuiltLinux/linux/issues/961
Link: https://lore.kernel.org/lkml/20200504193524.GA221287@google.com/
Link: https://gcc.gnu.org/onlinedocs/gcc/Extended-Asm.html#x86Operandmodifiers
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-05-23 10:26:31 -07:00
Steve Wahl 33649bf449 x86/apic/uv: Remove code for unused distributed GRU mode
Distributed GRU mode appeared in only one generation of UV hardware,
and no version of the BIOS has shipped with this feature enabled, and
we have no plans to ever change that.  The gru.s3.mode check has
always been and will continue to be false.  So remove this dead code.

Signed-off-by: Steve Wahl <steve.wahl@hpe.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Acked-by: Dimitri Sivanich <sivanich@hpe.com>
Link: https://lkml.kernel.org/r/20200513221123.GJ3240@raspberrypi
2020-05-23 16:19:57 +02:00
Ard Biesheuvel 6e99d3213b efi/libstub: Add missing prototype for PE/COFF entry point
Fix a missing prototype warning by adding a forward declaration
for the PE/COFF entrypoint, and while at it, align the function
name between the x86 and ARM versions of the stub.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
2020-05-23 11:01:57 +02:00
Arvind Sankar 67d631b7c0 x86/mm: Stop printing BRK addresses
This currently leaks kernel physical addresses into userspace.

Signed-off-by: Arvind Sankar <nivedita@alum.mit.edu>
Signed-off-by: Borislav Petkov <bp@suse.de>
Acked-by: Kees Cook <keescook@chromium.org>
Acked-by: Dave Hansen <dave.hansen@intel.com>
Link: https://lkml.kernel.org/r/20200229231120.1147527-1-nivedita@alum.mit.edu
2020-05-23 09:34:18 +02:00
Max Filippov 2adf5352a3 xtensa: add missing __user annotations to asm/uaccess.h
clear_user, strncpy_user, strnlen_user and their helpers operate on user
pointers, but don't have their arguments marked as __user.
Add __user annotation to userspace pointers of those functions.
Fix open-coded access check in the strnlen_user while at it.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
2020-05-22 16:09:00 -07:00
Max Filippov 9afcc71b4f xtensa: fix error paths in __get_user_{check,size}
Error paths in __get_user_check and __get_user_size directly assing 0 to
the result. It causes the following sparse warnings:

  sparse: warning: Using plain integer as NULL pointer

Convert 0 to the type pointed to by the user pointer before assigning it.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
2020-05-22 16:09:00 -07:00
Max Filippov c22f907504 xtensa: fix type conversion in __get_user_size
8-byte access in __get_user_size converts pointer to temporary variable
to the type of original user pointer and then dereferences it, resulting
in the following sparse warning:

  sparse: warning: dereference of noderef expression

Instead dereference the original user pointer under the __typeof__ and
add indirection outside.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
2020-05-22 14:33:52 -07:00
Max Filippov 3ac4a615bd xtensa: add missing __user annotations to __{get,put}_user_check
__get_user_check and __put_user_check use temporary pointer but don't
mark it as __user, resulting in sparse warnings:

  sparse: warning: incorrect type in initializer (different address spaces)
  sparse:    expected long *__pu_addr
  sparse:    got long [noderef] <asn:1> *ret

  sparse: warning: incorrect type in argument 1 (different address spaces)
  sparse:    expected void [noderef] <asn:1> *to
  sparse:    got long *__pu_addr

Add __user annotation to temporary pointer in __get_user_check and
__put_user_check.

Reported-by: kbuild test robot <lkp@intel.com>
Reported-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
2020-05-22 14:32:13 -07:00
Bartosz Golaszewski 4e4ad6862d ARM64: dts: mediatek: enable ethernet on pumpkin boards
Add remaining properties to the ethernet node and enable it.

Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2020-05-22 14:20:12 -07:00
Bartosz Golaszewski 7c20f7f36e ARM64: dts: mediatek: add ethernet pins for pumpkin boards
Setup the pin control for the Ethernet MAC.

Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2020-05-22 14:20:12 -07:00
Bartosz Golaszewski b3f5758f0d ARM64: dts: mediatek: add an alias for ethernet0 for pumpkin boards
Add the ethernet0 alias for ethernet so that u-boot can find this node
and fill in the MAC address.

Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2020-05-22 14:20:12 -07:00
Bartosz Golaszewski fe3b2107ae ARM64: dts: mediatek: add the ethernet node to mt8516.dtsi
Add the Ethernet MAC node to mt8516.dtsi. This defines parameters common
to all the boards based on this SoC.

Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2020-05-22 14:20:11 -07:00
Bartosz Golaszewski e56e82da17 ARM64: dts: mediatek: add pericfg syscon to mt8516.dtsi
This adds support for the PERICFG register range as a syscon. This will
soon be used by the MediaTek Ethernet MAC driver for NIC configuration.

Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2020-05-22 14:20:11 -07:00
Linus Torvalds b09ca17a2a RISC-V Fixes for 5.7-rc7
This tag contains two fixes:
 
 * Another !MMU build fix that was a straggler from last week.
 * A fix to use the "register" keyword for the GP global register variable.
 -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCgAxFiEEKzw3R0RoQ7JKlDp6LhMZ81+7GIkFAl7H9tYTHHBhbG1lckBk
 YWJiZWx0LmNvbQAKCRAuExnzX7sYiewuEACejtJD1KbV4MoHSKw98WwtCPp7xceF
 pm73DR5drm03T+dBIt0IQe9MnlAN6oMuPw1NvwHhJWX1ezvs1o2ZegZw7ZA5uczl
 QFqHFCajzzRyF7C0KCukONYhGV67xrrapVfFMfytvdCTuhTjYUHQAjXHuciI2BiP
 1VeGZzECj4nRAYFis9GVO652D3LRA+LZ0Op10IqsBHcV3Iia75GREj9IK34+Uwzq
 Xe+pVh9GVBINz6WVX8rBcK67z76pMNnTX2hMoHWbunHobXeYnh/uYZ79bcOrGFGc
 g2KTTDpYqU7FWRBqmj/P6rqNrUFFStMsH79YGabr3kOT/yyYLrGf17oZtrp5oy92
 68EMuM5DSO/2jRD8sHtW6gg1k7Kv1oo49TQlBb26ifTiOEGhCE8bD8rI4ADsx4N+
 6Oj5P7NTfqgc++e8NMRES59MiQNUg40nsA0AP1omwD163LN8bZNmI5kZZnvazH4k
 ViIGgwrPUKL8S1MxQ2S4maJhGdQ2UOsbPi99zQ+o6NxR2Dxf7OoqsrJYzDnVS3f6
 vmczgYshlXti6qhNbLmK8HIC4g0FzDg3CUpFvrezyWJJhmebyKRWGhUsaMLm9YDO
 vwX7UnOv9VMKzvOVoS9iDoIXSFtt1dt4SxZ1rQCPJwCb0fqBc/QqVL1pBtSh4iM8
 pL3DDCnOAgvr0Q==
 =L8xn
 -----END PGP SIGNATURE-----

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

Pull RISC-V fixes from Palmer Dabbelt:
 "Two fixes:

   - Another !MMU build fix that was a straggler from last week

   - A fix to use the "register" keyword for the GP global register
     variable"

* tag 'riscv-for-linus-5.7-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux:
  RISC-V: gp_in_global needs register keyword
  riscv: Fix print_vm_layout build error if NOMMU
2020-05-22 11:08:26 -07:00
Borislav Petkov 9bb4cbf486 EFI fixes for v5.7-rc6:
- fix EFI framebuffer earlycon for wide fonts
 - avoid filling screen_info with garbage if the EFI framebuffer is not
   available
 - fix a potential host tool build error due to a symbol clash on x86
 - work around a EFI firmware bug regarding the binary format of the TPM
   final events table
 - fix a missing memory free by reworking the E820 table sizing routine to
   not do the allocation in the first place
 - add CPER parsing for firmware errors
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCgAdFiEEnNKg2mrY9zMBdeK7wjcgfpV0+n0FAl7H3HIACgkQwjcgfpV0
 +n1pEAgAjJfwDJmBcYhJzjX8WLnXPJiUmUH9d9tF1t3TlhF6c1G8auXU+Fyia4uI
 ejRNw/N4+SXzM9yL+Z19PKBpQsPzQXgm2r9WTPVN5jTelUUI+jFZCH+pKC+TKRp1
 /Tx/XIMifCw18gNXsjj6WJEeAyLoh4tb+6bwn7DlPO5cPrxX49LvPuQNMXybk2yi
 KimdNKUry1wYpo/WpHqEdFq5//CLAWNkrL9UXlkANvQ6BJNIMI0kRIUC0MVsTMnE
 BoCkBO93PdvqxOcnV3WTRvSFetb7qA59Jay62jLc26Myqc4t4pgVWojVm6RHLfZg
 17btYACxICgF2mNTZYlKemEEqKPpzQ==
 =mY5f
 -----END PGP SIGNATURE-----

Merge tag 'efi-fixes-for-v5.7-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/efi/efi into efi/urgent

Pull EFI fixes from Ard Biesheuvel:

"- fix EFI framebuffer earlycon for wide fonts
 - avoid filling screen_info with garbage if the EFI framebuffer is not
   available
 - fix a potential host tool build error due to a symbol clash on x86
 - work around a EFI firmware bug regarding the binary format of the TPM
   final events table
 - fix a missing memory free by reworking the E820 table sizing routine to
   not do the allocation in the first place
 - add CPER parsing for firmware errors"
2020-05-22 20:06:25 +02:00
Josh Poimboeuf 187b96db5c x86/unwind/orc: Fix unwind_get_return_address_ptr() for inactive tasks
Normally, show_trace_log_lvl() scans the stack, looking for text
addresses to print.  In parallel, it unwinds the stack with
unwind_next_frame().  If the stack address matches the pointer returned
by unwind_get_return_address_ptr() for the current frame, the text
address is printed normally without a question mark.  Otherwise it's
considered a breadcrumb (potentially from a previous call path) and it's
printed with a question mark to indicate that the address is unreliable
and typically can be ignored.

Since the following commit:

  f1d9a2abff ("x86/unwind/orc: Don't skip the first frame for inactive tasks")

... for inactive tasks, show_trace_log_lvl() prints *only* unreliable
addresses (prepended with '?').

That happens because, for the first frame of an inactive task,
unwind_get_return_address_ptr() returns the wrong return address
pointer: one word *below* the task stack pointer.  show_trace_log_lvl()
starts scanning at the stack pointer itself, so it never finds the first
'reliable' address, causing only guesses to being printed.

The first frame of an inactive task isn't a normal stack frame.  It's
actually just an instance of 'struct inactive_task_frame' which is left
behind by __switch_to_asm().  Now that this inactive frame is actually
exposed to callers, fix unwind_get_return_address_ptr() to interpret it
properly.

Fixes: f1d9a2abff ("x86/unwind/orc: Don't skip the first frame for inactive tasks")
Reported-by: Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>
Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lkml.kernel.org/r/20200522135435.vbxs7umku5pyrdbk@treble
2020-05-22 19:55:17 +02:00
Linus Torvalds 4286d192c8 - Bring the PTRACE_SYSEMU semantics in line with the man page.
- Annotate variable assignment in get_user() with the type to avoid
   sparse warnings.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEE5RElWfyWxS+3PLO2a9axLQDIXvEFAl7H+w0ACgkQa9axLQDI
 XvEiVQ//azhBez3lTHeEgh2p45d75Na8HrrHjGGvQ9lhvtMBisrh/N7fp41Fl1vY
 2nG3YJqUY7SZJG2EZkF7OQOMHUjpGE3kHJX3YAn6dCk2RzNDe1TCXKrP0r7xkbLh
 OW3MpBsUbGksR8THYJsZ+GiTLZ/BrnZJjpJxcMHNwxnNZeVKT1OY4nJSebUo5Rdf
 4lm1jMuSiKuHHfkucp1UsGe3QQxsWYpFahjMgU/iCm3BhlzWvocV8NNG6na10SIb
 unT4+sXmFM/0pzVFBSdObmeEik4wSibkKh76A8z0SROMkPCtigu2n9RdDtii22ia
 uiixQ6CkEYaXaGBXFqjE50dKkMCH0EYpZiEPp22QGHkLRSKI6ZZi0wvQmTvYNLMI
 3a6Ptw0u9Ym/MH17HmjCiBuEfWOQeNhOM8YRcMqhHoguTz6Xj/mglbX8DDC37YAw
 MnGNH0a/uhBy35eujgW92b2wvNMWcYnuRSiSX8/PSsG3Hxe36nWTI8y20dQ88wAR
 wTqzNExmWDQqbTmaSAM0gGfDPkaSiiY+WDAO2FdB/jtovmefB/RBXVmwqbjBsigX
 OtXuyF/rVitZ6S3SXal5YBT4xey/MI4NRbnwCm4edXyz+Hz7cDM2iQwDBaiaVZj8
 4QHn+TqJTUKWeHRfLuMzg2a5UbCnEZGVBNEPtVxx9bSGqjQ2o+Q=
 =HdPI
 -----END PGP SIGNATURE-----

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

Pull arm64 fixes from Catalin Marinas:

 - Bring the PTRACE_SYSEMU semantics in line with the man page.

 - Annotate variable assignment in get_user() with the type to avoid
   sparse warnings.

* tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
  arm64: Add get_user() type annotation on the !access_ok() path
  arm64: Fix PTRACE_SYSEMU semantics
2020-05-22 09:34:19 -07:00
Al Viro 8cfb347ad0 arm64: Add get_user() type annotation on the !access_ok() path
Sparse reports "Using plain integer as NULL pointer" when the arm64
__get_user_error() assigns 0 to a pointer type. Use proper type
annotation.

Signed-of-by: Al Viro <viro@zeniv.linux.org.uk>
Reported-by: kbuild test robot <lkp@intel.com>
Link: http://lkml.kernel.org/r/20200522142321.GP23230@ZenIV.linux.org.uk
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2020-05-22 16:59:49 +01:00
Linus Torvalds c8347bbf19 powerpc fixes for 5.7 #5
A revert of a recent change to the PTE bits for 32-bit BookS, which broke swap.
 
 And a "fix" to disable STRICT_KERNEL_RWX for 64-bit in Kconfig, as it's causing
 crashes for some people.
 
 Thanks to:
   Christophe Leroy, Rui Salvaterra.
 -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCAAxFiEEJFGtCPCthwEv2Y/bUevqPMjhpYAFAl7H1aMTHG1wZUBlbGxl
 cm1hbi5pZC5hdQAKCRBR6+o8yOGlgG3sD/9L72cw3cI2TcDTw+OEv2S2TyXrZZc3
 09WyUeerEv8mK8pk1eH8jVk6BqQK9bVZaq/3zYxLr5vnL1m+CZ4Qr8eGy5AcV3AC
 HXiGKhLbEh4btuoN3NwJ6fvEzA85dMTWsowGpgW8JgX1o7rtJmro0XW9EndhZGd2
 WWMBDsWo+RaKODej0c0Bz3TAOVgvxalE1SSLq63Q1sRoPhAZAJ0l8K3ED/EgC+tb
 v/VUi3fQNJngIzlMBc0sNOPp7NgcnDXoozAkW5c2Bp7YURbzeU0oXmsMAxQnyzee
 MP4MY1fAHI3CYdQ7QVRRDpQsTc84bAXVD+te+zhUJejaNm3mWLojRVieYT98eZXi
 iCi4Q0aSuAh3H8rxaYgi9ZemUkSKn+5pLu4kIAyMkBtnTB50E1YqUXVxfPcqk48N
 Y3Fkd6AyZ2/HyxS3bBVAubT/+GxK8HgQNGUBaF7iS50QKd6fl8EKjEBK1tVbYrTj
 xH7lXJpBnLCIj2ygZE1mBLxG8UTLGTfdnpxVNfVkNsLZK4tdsMaQ/llOzVA1uBOY
 twaRAhJkC0RHKHak1KNIQ8gh6HPjqwfg+P6SXHvT347YlTbsKgZei9wHtnZy4lsD
 CAnSImfgJMbzXCoULSoQbgXW0PloRZ1Zz1+WdfxmNjcNsRSqBNoaS1CaPKr7f8to
 a5JEWrUY1D49YQ==
 =yBu+
 -----END PGP SIGNATURE-----

Merge tag 'powerpc-5.7-5' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux

Pull powerpc fixes from Michael Ellerman:

 - a revert of a recent change to the PTE bits for 32-bit BookS, which
   broke swap.

 - a "fix" to disable STRICT_KERNEL_RWX for 64-bit in Kconfig, as it's
   causing crashes for some people.

Thanks to Christophe Leroy and Rui Salvaterra.

* tag 'powerpc-5.7-5' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
  powerpc/64s: Disable STRICT_KERNEL_RWX
  Revert "powerpc/32s: reorder Linux PTE bits to better match Hash PTE bits."
2020-05-22 08:51:39 -07:00
Jon Hunter 358a6777f5 arm64: tegra: Make the RTC a wakeup source on Jetson Nano and TX1
The RTC found on the MAX77620 PMIC can be used as a wakeup source on
Jetson Nano and TX1, which is useful to wake the system from suspend
at a given time.

Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2020-05-22 14:56:54 +02:00
Fangrui Song d6ee652943 x86/boot: Discard .discard.unreachable for arch/x86/boot/compressed/vmlinux
With commit

  ce5e3f909f ("efi/printf: Add 64-bit and 8-bit integer support")

arch/x86/boot/compressed/vmlinux may have an undesired .discard.unreachable
section coming from drivers/firmware/efi/libstub/vsprintf.stub.o. That section
gets generated from unreachable() annotations when CONFIG_STACK_VALIDATION is
enabled.

.discard.unreachable contains an R_X86_64_PC32 relocation which will be
warned about by LLD: a non-SHF_ALLOC section (.discard.unreachable) is
not part of the memory image, thus conceptually the distance between a
non-SHF_ALLOC and a SHF_ALLOC is not a constant which can be resolved at
link time:

  % ld.lld -m elf_x86_64 -T arch/x86/boot/compressed/vmlinux.lds ... -o arch/x86/boot/compressed/vmlinux
  ld.lld: warning: vsprintf.c:(.discard.unreachable+0x0): has non-ABS relocation R_X86_64_PC32 against symbol ''

Reuse the DISCARDS macro which includes .discard.* to drop
.discard.unreachable.

 [ bp: Massage and complete the commit message. ]

Reported-by: kbuild test robot <lkp@intel.com>
Signed-off-by: Fangrui Song <maskray@google.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Reviewed-by: Kees Cook <keescook@chromium.org>
Tested-by: Arvind Sankar <nivedita@alum.mit.edu>
Tested-by: Sedat Dilek <sedat.dilek@gmail.com>
Link: https://lkml.kernel.org/r/20200520182010.242489-1-maskray@google.com
2020-05-22 12:42:07 +02:00
Serge Semin 21e1a03e1d mips: cevt-r4k: Update the r4k-clockevent frequency in sync with CPU
Due to being embedded into the CPU cores MIPS count/compare timer
frequency is changed together with the CPU clocks alteration.
In case if frequency really changes the kernel clockevent framework
must be notified, otherwise the kernel timers won't work correctly.
Fix this by calling clockevents_update_freq() for each r4k clockevent
handlers registered per available CPUs.

Traditionally MIPS r4k-clock are clocked with CPU frequency divided by 2.
But this isn't true for some of the platforms. Due to this we have to save
the basic CPU frequency, so then use it to scale the initial timer
frequency (mips_hpt_frequency) and pass the updated value further to the
clockevent framework.

Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
Cc: Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: Paul Burton <paulburton@kernel.org>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: devicetree@vger.kernel.org
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
2020-05-22 09:14:32 +02:00
Serge Semin 3858642805 mips: csrc-r4k: Mark R4K timer as unstable if CPU freq changes
Commit 07d69579e7 ("MIPS: Don't register r4k sched clock when CPUFREQ
enabled") disabled the r4k-clock usage for scheduler ticks counting due
to the scheduler being non-tolerant for unstable clocks sources. For the
same reason the clock should be used in the system clocksource framework
with care. As soon as CPU frequency changes the clocksource framework
should be notified about this by marking the R4K timer being unstable
(which it really is, since the ticks rate has been changed synchronously
with the CPU frequency).

Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
Cc: Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: Paul Burton <paulburton@kernel.org>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: devicetree@vger.kernel.org
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
2020-05-22 09:14:06 +02:00
Serge Semin ed26aacfb5 mips: Add udelay lpj numbers adjustment
Loops-per-jiffies is a special number which represents a number of
noop-loop cycles per CPU-scheduler quantum - jiffies. As you
understand aside from CPU-specific implementation it depends on
the CPU frequency. So when a platform has the CPU frequency fixed,
we have no problem and the current udelay interface will work
just fine. But as soon as CPU-freq driver is enabled and the cores
frequency changes, we'll end up with distorted udelay's. In order
to fix this we have to accordinly adjust the per-CPU udelay_val
(the same as the global loops_per_jiffy) number. This can be done
in the CPU-freq transition event handler. We subscribe to that event
in the MIPS arch time-inititalization method.

Co-developed-by: Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>
Signed-off-by: Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>
Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
Reviewed-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: Paul Burton <paulburton@kernel.org>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: devicetree@vger.kernel.org
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
2020-05-22 09:13:32 +02:00
Serge Semin ad42e0a8d4 mips: Add CPS_NS16550_WIDTH config
On some platforms IO-memory might require to use a proper load/store
instructions (like Baikal-T1 IO-memory). To fix the cps-vec UART debug
printout let's add the CONFIG_CPS_NS16550_WIDTH config to determine which
instructions lb/sb, lh/sh or lw/sw are required for MMIO operations.

Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
Cc: Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: Paul Burton <paulburton@kernel.org>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: devicetree@vger.kernel.org
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
2020-05-22 09:12:52 +02:00
Serge Semin 999079c851 mips: Add CONFIG/CONFIG6/Cause reg fields macro
There are bit fields which persist in the MIPS CONFIG and CONFIG6
registers, but haven't been described in the generic mipsregs.h
header so far. In particular, the generic CONFIG bitfields are
BE - endian mode, BM - burst mode, SB - SimpleBE, OCP interface mode
indicator, UDI - user-defined "CorExtend" instructions, DSP - data
scratch pad RAM present, ISP - instruction scratch pad RAM present,
etc. The core-specific CONFIG6 bitfields are JRCD - jump register
cache prediction disable, R6 - MIPSr6 extensions enable, IFUPerfCtl -
IFU performance control, SPCD - sleep state performance counter, DLSB -
disable load/store bonding. A new exception code reported in the
ExcCode field of the Cause register: 30 - Parity/ECC error exception
happened on either fetch, load or cache refill. Lets add them to the
mipsregs.h header to be used in future platform code, which have them
utilized.

Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
Cc: Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: Paul Burton <paulburton@kernel.org>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: devicetree@vger.kernel.org
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
2020-05-22 09:12:22 +02:00
Serge Semin 742318ad5e mips: Add CP0 Write Merge config support
CP0 config register may indicate whether write-through merging
is allowed. Currently there are two types of the merging available:
SysAD Valid and Full modes. Whether each of them are supported by
the core is implementation dependent. Moreover whether the ability
to change the mode also depends on the chip family instance. Taking
into account all of this we created a dedicated mm_config() method
to detect and enable merging if it's supported. It is called for
MIPS-type processors at CPU-probe stage and attempts to detect whether
the write merging is available. If it's known to be supported and
switchable, then switch on the full mode. Otherwise just perform the
CP0.Config.MM field analysis.

In addition there are platforms like InterAptiv/ProAptiv, which do have
the MM bit field set by default, but having write-through cacheing
unsupported makes write-merging also unsupported. In this case we just
ignore the MM field value.

Co-developed-by: Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>
Signed-off-by: Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>
Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: Paul Burton <paulburton@kernel.org>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: devicetree@vger.kernel.org
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
2020-05-22 09:11:45 +02:00
Serge Semin a2ac81c6ef mips: Fix cpu_has_mips64r1/2 activation for MIPS32 CPUs
Commit 1aeba347b3 ("MIPS: Hardcode cpu_has_mips* where target ISA
allows") updated the cpu_has_mips* macro to be replaced with a constant
expression where it's possible. By mistake it wasn't done correctly
for cpu_has_mips64r1/cpu_has_mips64r2 macro. They are defined to
be replaced with conditional expression __isa_range_or_flag(), which
means either ISA revision being within the range or the corresponding
CPU options flag was set at the probe stage or both being true at the
same time. But the ISA level value doesn't indicate whether the ISA is
MIPS32 or MIPS64. Due to this if we select MIPS32r1 - MIPS32r5
architectures the __isa_range() macro will activate the
cpu_has_mips64rX flags, which is incorrect. In order to fix the
problem we make sure the 64bits CPU support is enabled by means of
checking the flag cpu_has_64bits aside with proper ISA range and specific
Revision flag being set.

Fixes: 1aeba347b3 ("MIPS: Hardcode cpu_has_mips* where target ISA allows")
Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
Cc: Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: Paul Burton <paulburton@kernel.org>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: devicetree@vger.kernel.org
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
2020-05-22 09:11:15 +02:00
Serge Semin 281e3aea35 mips: Add MIPS Warrior P5600 support
This is a MIPS32 Release 5 based IP core with XPA, EVA, dual/quad issue
exec pipes, MMU with two-levels TLB, UCA, MSA, MDU core level features
and system level features like up to six P5600 calculation cores, CM2
with L2 cache, IOCU/IOMMU (though might be unused depending on the
system-specific IP core configuration), GIC, CPC, virtualisation module,
eJTAG and PDtrace.

As being MIPS32 Release 5 based core it provides all the features
available by the CPU_MIPS32_R5 config, while adding a few more like
UCA attribute support, availability of CPU-freq (by means of L2/CM
clock ratio setting), EI/VI GIC modes detection at runtime.

In addition to this if P5600 architecture is enabled modern GNU GCC
provides a specific tuning for P5600 processors with respect to the
classic MIPS32 Release 5. First of all branch-likely avoidance is
activated only when the code is compiled with the speed optimization
(avoidance is always enabled for the pure MIPS32 Release 5
architecture). Secondly the madd/msub avoidance is enabled since
madd/msub utilization isn't profitable due to overhead of getting the
result out of the HI/LO registers. Multiply-accumulate instructions are
activated and utilized together with the necessary code reorder when
multiply-add/multiply-subtract statements are met. Finally load/store
bonding is activated by default. All of these optimizations may make
the code relatively faster than if just MIP32 release 5 architecture
was requested.

Co-developed-by: Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>
Signed-off-by: Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>
Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: Paul Burton <paulburton@kernel.org>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: devicetree@vger.kernel.org
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
2020-05-22 09:10:53 +02:00
Serge Semin ab7c01fdc3 mips: Add MIPS Release 5 support
There are five MIPS32/64 architecture releases currently available:
from 1 to 6 except fourth one, which was intentionally skipped.
Three of them can be called as major: 1st, 2nd and 6th, that not only
have some system level alterations, but also introduced significant
core/ISA level updates. The rest of the MIPS architecture releases are
minor.

Even though they don't have as much ISA/system/core level changes
as the major ones with respect to the previous releases, they still
provide a set of updates (I'd say they were intended to be the
intermediate releases before a major one) that might be useful for the
kernel and user-level code, when activated by the kernel or compiler.
In particular the following features were introduced or ended up being
available at/after MIPS32/64 Release 5 architecture:
+ the last release of the misaligned memory access instructions,
+ virtualisation - VZ ASE - is optional component of the arch,
+ SIMD - MSA ASE - is optional component of the arch,
+ DSP ASE is optional component of the arch,
+ CP0.Status.FR=1 for CP1.FIR.F64=1 (pure 64-bit FPU general registers)
  must be available if FPU is implemented,
+ CP1.FIR.Has2008 support is required so CP1.FCSR.{ABS2008,NAN2008} bits
  are available.
+ UFR/UNFR aliases to access CP0.Status.FR from user-space by means of
  ctc1/cfc1 instructions (enabled by CP0.Config5.UFR),
+ CP0.COnfig5.LLB=1 and eretnc instruction are implemented to without
  accidentally clearing LL-bit when returning from an interrupt,
  exception, or error trap,
+ XPA feature together with extended versions of CPx registers is
  introduced, which needs to have mfhc0/mthc0 instructions available.

So due to these changes GNU GCC provides an extended instructions set
support for MIPS32/64 Release 5 by default like eretnc/mfhc0/mthc0. Even
though the architecture alteration isn't that big, it still worth to be
taken into account by the kernel software. Finally we can't deny that
some optimization/limitations might be found in future and implemented
on some level in kernel or compiler. In this case having even
intermediate MIPS architecture releases support would be more than
useful.

So the most of the changes provided by this commit can be split into
either compile- or runtime configs related. The compile-time related
changes are caused by adding the new CONFIG_CPU_MIPS32_R5/CONFIG_CPU_MIPSR5
configs and concern the code activating MIPSR2 or MIPSR6 already
implemented features (like eretnc/LLbit, mthc0/mfhc0). In addition
CPU_HAS_MSA can be now freely enabled for MIPS32/64 release 5 based
platforms as this is done for CPU_MIPS32_R6 CPUs. The runtime changes
concerns the features which are handled with respect to the MIPS ISA
revision detected at run-time by means of CP0.Config.{AT,AR} bits. Alas
these fields can be used to detect either r1 or r2 or r6 releases.
But since we know which CPUs in fact support the R5 arch, we can manually
set MIPS_CPU_ISA_M32R5/MIPS_CPU_ISA_M64R5 bit of c->isa_level and then
use cpu_has_mips32r5/cpu_has_mips64r5 where it's appropriate.

Since XPA/EVA provide too complex alterationss and to have them used with
MIPS32 Release 2 charged kernels (for compatibility with current platform
configs) they are left to be setup as a separate kernel configs.

Co-developed-by: Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>
Signed-off-by: Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>
Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: Paul Burton <paulburton@kernel.org>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: devicetree@vger.kernel.org
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
2020-05-22 09:09:01 +02:00
Arnd Bergmann ccffeae7af Merge branch 'v5.7-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux into arm/fixes
* 'v5.7-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux:
  soc: mediatek: cmdq: return send msg error code
  arm64: dts: mt8173: fix vcodec-enc clock

Link: https://lore.kernel.org/r/33a0556a-e2a3-7f0b-b09b-4516642a4bfe@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-22 00:09:09 +02:00
Arnd Bergmann ed9dc1df9f i.MX fixes for 5.7, round 2:
One imx6q-bx50v3 device tree change to fix an issue, attempting atomic
 modeset while using HDMI and display port at the same time causes LDB
 clock programming to destroy the programming of HDMI.
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAl7Glo8UHHNoYXduZ3Vv
 QGtlcm5lbC5vcmcACgkQUFdYWoewfM5L1wf9ErUGnk73syGW6Hhr8VRRGocK8Zj7
 Skh0E2k1ZT0YXRn5h6dikZw9TsR8IVt5CSt57NxvR61i4PnPm8PEBZdIl80kMu3P
 3wO28Z4oIqhi9tzI+fM6uRV6WGxp5fIuwyEghAPpv0Xo/XKDbDQZkk/TtQDhqvVC
 n7rjgk+N/x6kVTfRTYYIvI+XSoGM1lGdBl9DdAxKc2Suxr27qFcopYIE6JKsapoo
 0khguE7v8BNG+N7iJ6tDXRcn4MV1TEDpTQ0cwZr1zIAiA3P5ZYKIGdweScVJ80fa
 RGllUMBBrs7r0cNTpA8hu76omF2Kim0D8QsvLMDLELOijB4b/qBf2bU9AA==
 =cAJG
 -----END PGP SIGNATURE-----

Merge tag 'imx-fixes-5.7-2' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into arm/fixes

i.MX fixes for 5.7, round 2:

One imx6q-bx50v3 device tree change to fix an issue, attempting atomic
modeset while using HDMI and display port at the same time causes LDB
clock programming to destroy the programming of HDMI.

* tag 'imx-fixes-5.7-2' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  ARM: dts/imx6q-bx50v3: Set display interface clock parents

Link: https://lore.kernel.org/r/20200521150719.GB24084@dragon
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-22 00:08:40 +02:00
Arnd Bergmann fec6111ae3 ARM64: hisilicon: defconfig updates for 5.8
- Enable PCI PASID as built-in module and UACCE/SEC2/HPRE as
   loadable modules to support UACCE use case for the D06CS board
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJevg9xAAoJEAvIV27ZiWZcNlkQAI7ZLE9YP0KmkioDrPqABz+7
 2K3V0p66BaRdKtq1W9IASQ1sNYJUSDhQGrCrB1xyPGqsLdjGxz2bR8XI4E4bwzlL
 uO/8mKRmTDeAtSKuZf0p9hRh+HNdCi8juHm1f4ta02TaaRn0t+V2Hs/H9/+Zzxfl
 I+vDkGF2/0E52Gk1ZnxWr+to12O/wJgGResTS9E9qs77Lzzi1gSpg8EdC3ZWk5G5
 MUAk0V92jU+RwCCr6IFlQSkSDqkmeqnUTg9peqHrcZh2hi1EizQ6tcErSp7XvGA2
 Br2vXS/ZVDLVoVuo+jLEvSL2mCi5i/J1DfUvl5mVevtOulBWzkdhlBkMS2vOkJgm
 pyr1psyJUkhtUzq4FflQ7Jpfl4cSWuN2LEl9JpwOyIwfGUuZxPuhhaRlqd+usqRj
 UT3i/TQnvLoNEqhWUnztZcI4xIIwiHMo6q9zkMgaK+remG+JBK+lk0NQoQwPtoXy
 aGZere//k2rp/NQKJycUl9/hvBygOWn85NBAlE3eGVfMWJAV3GDs27HYexlssuPB
 XHVvjX/PLHwMpz5YbxwfgRaptLHgWnW7rakRRnMORHqapHHDU9K49qA/rGAfmqs1
 khTysBFjW5N0guHLLr224FRpvuKhW9qTdXrheA362Cd+3ADpTT/EYdOjbWZvz/GO
 1KxFzBRG7P0k9GlmrQH6
 =Oq8w
 -----END PGP SIGNATURE-----

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

ARM64: hisilicon: defconfig updates for 5.8

- Enable PCI PASID as built-in module and UACCE/SEC2/HPRE as
  loadable modules to support UACCE use case for the D06CS board

* tag 'hisi-arm64-defconfig-for-5.8' of git://github.com/hisilicon/linux-hisi:
  arm64: defconfig: Enable UACCE/PCI PASID/SEC2/HPRE configs

Link: https://lore.kernel.org/r/5EBE4217.6000900@hisilicon.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-21 23:56:22 +02:00
Arnd Bergmann 93d2fa6a03 arm64: defconfig: Amlogic updates for v5.8
- enable meson gx audio as module
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEe4dGDhaSf6n1v/EMWTcYmtP7xmUFAl7Gz50ACgkQWTcYmtP7
 xmX4Fg/+Is2GoZUGeh7seKGX3XjpYgwoDlzdUll1qp97Y/3ucDamCII2mirTFw0n
 lDGE+Hqtym4sYMulC67a5Mh8X6LxuwJDm6PsNlbKPNkD2w0OJIyDkd8hWvNlA6yg
 s2L3jGf+lTbvNk44QCBhre6Ur9uDt2ToxVIZ4nrZLsZZG7d1Ep2mocuHBxw7E3MJ
 zcJwBag+6KLlTeWCTW7/ZTKUNzS7zo/KMw9qWW2bRzyysSTDXL32p6udN6YhJapP
 38AUo5TIO8bSF8nwaZ1A513MRTiPQ2/pp+hn6rL/8FZDRe4XUEKJ8mppzdRofpa/
 24tB1l7y4mfyFqTb25ODTeEBtySld8a24eublil/yS5TBYVr8Cy7Z2sTa+QsqVFX
 tGwaZJwna0XLWIe6uIwYt1vnuDpa6ny12EuARA3QVSP3dQG4sngqGdrXeS1SkCkc
 vWRySFNNe6tAiriKy98yMoQnnQFVM90v4tF1utAL/0jbGYcXN5Pv7XpnSk1f6iOk
 dxne1aCcO6fp7LZBRiUVUN2VDOu8lOTs5yj74Cpf9uosC6OMacpmk49AgweIGwzF
 pFuOdr75IXbNEhcKfDs4L5z/IVDYOQZDvRyf5hqL8ARCg5MhrXCknEUSRnCuCocV
 gun1Br+9HRA/Iyxh6W9vPIEF0nxTpDrdL52Mo0yegl48DNrfH3c=
 =+zSH
 -----END PGP SIGNATURE-----

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

arm64: defconfig: Amlogic updates for v5.8
- enable meson gx audio as module

* tag 'amlogic-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic:
  arm64: defconfig: enable meson gx audio as module

Link: https://lore.kernel.org/r/5ec6f4f6.1c69fb81.3fe34.b693@mx.google.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-21 23:54:22 +02:00
Arnd Bergmann 72a790ac7c Qualcomm ARM64 defconfig updates for v5.8
This enables SM8250 GCC clock driver, SC7180 GCC clock driver and SC7180
 TLMM pinctrl driver, the IPA and RMNET drivers, CCI, camera subsystem
 and camera clock drivers and removes the now depricated GLINK_SSR entry.
 -----BEGIN PGP SIGNATURE-----
 
 iQJPBAABCAA5FiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAl7DWyAbHGJqb3JuLmFu
 ZGVyc3NvbkBsaW5hcm8ub3JnAAoJEAsfOT8Nma3FCR8P/3+4drYyXxNDSslPiy3v
 Nb4iffsrJlMMLehlYul4NhWDWh7HQ0+10D2CGyJjh/2sDQmyh4MVIePxtr3VoE8B
 51aM0OuBwHiQ6598rw6niQHnXcx2cdqXVesIVp6GkeYh0l1wt4KE7sPcmzag1ffm
 fVqu+jCUMgY6yt55Ac35jCCUBuD/V6G8RNFzeTDDJPpqiuc5H0v7BWSZwuJzE7N6
 0Y0raIdEdeYtZS1DNE+GU4v6/QuDSHsLtc6tXibuOe5VuSLPyos/Md6GRGeynQVZ
 sqXMZ0ZR35QLT/qGOFDrYrXzYfXCH+aLG8KKMlMerE+HmWO2og6kaRb1/YNgd2RD
 nBxMLfsTqCuE6PopOVZ4OnAilbjvMqI9B0pPd2e47v+NWYrVekviQ96DWpd3Hx/T
 UFm6wV5GAmrTSxmcP3hgWOmYpuBukx7bXPxnMNmvvoSL8xJDYqLlN1AQnh7O4uaw
 uP79sGYBEQZZAshiUYCX7iHJRwnqXJPeSxdHGP48Ts5mY3FYXifUFZ2gNfIUmvXh
 wJfhl4d2dRV1ty3jFGT3iK9UhG0YzHk805y4CNm03R9qerDNSIEi8x115GZeOXB2
 F3nN3g8HJziiDqQ7u5zd6JCspeJ+tcJCGGz1ynvgQCSu/geotU9w02LNo7KrQBLH
 BXiNWURDYUxs1eahxepOdBrS
 =ukjE
 -----END PGP SIGNATURE-----

Merge tag 'qcom-arm64-defconfig-for-5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into arm/defconfig

Qualcomm ARM64 defconfig updates for v5.8

This enables SM8250 GCC clock driver, SC7180 GCC clock driver and SC7180
TLMM pinctrl driver, the IPA and RMNET drivers, CCI, camera subsystem
and camera clock drivers and removes the now depricated GLINK_SSR entry.

* tag 'qcom-arm64-defconfig-for-5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
  arm64: defconfig: enable Qualcomm IPA and RMNet modules
  arm64: defconfig: Enable Qualcomm SC7180 pinctrl and gcc
  arm64: defconfig: Remove QCOM_GLINK_SSR
  arm64: defconfig: Enable SM8250 GCC driver
  arm64: defconfig: Enable Qualcomm CAMCC, CAMSS and CCI drivers

Link: https://lore.kernel.org/r/20200519052502.1249888-1-bjorn.andersson@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-21 23:53:07 +02:00
Arnd Bergmann 88b1542b06 AT91 defconfig for 5.8
- Add PIOBU and MCP16502 regulator to sama5 defconfig
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEycoQi/giopmpPgB12wIijOdRNOUFAl7CrQwACgkQ2wIijOdR
 NOUc6BAAmSvtZ0ozFDDUabh3YLTv+dGuEvAMe30pR3FtiRKuX5rBTtd63kGbBBeO
 3kg7PsokTka0YcTNf3xlNoZTNscggMZUw0MFX40RZPdN1SYGm50JIEwCxadmICQh
 0QFke9bq2igHiZyHVyKrdohhrtbcKyxniqLcOPJHwbImC0gWG9fGwoE24FJUDgwp
 K5gSErFIgf1fWFR2ibTM4zTKdPkgayu9irdbrHwhIjjMWEmMfyt9IELxrvIDNwGc
 njvgmGhlyEVZKYiuh9Gzv/BFQnYQPnUmDsJGqN1TbCT4ZNuodxbGb+Y3MWpzUJJo
 7nIJxzbzz5FVR0U0qHsh7nOONQekBK/zHnbkboks2YH+8ZHDcMqPRnuLCEv8CKi0
 XgAh3FXb4TC3ETFlRNpuEtuqrd9Q6RSdmNGVb+dJXdCM9dBg/crv8KafeZY+fhg8
 DSRymljHTdd9kddTPwsHIStEjR0e4oQF0F3Zkw+2VgorJBzi5aWY+z8RWEx1axjB
 jsFat65FALDWv/g5GHlvWdM3a7mSVWiw+hi82IAawwvYVPlYCZgm79EaS3W4X7GO
 E5LY2KBWwAwyLF7IquI2ElCSYZCaYOZ3RupNRWBok1yRHBLHXUHixI+A0dBE2ivr
 7E9wWk0yezmXQJdu2qe3XEeawvLDzzXQmqeUA4hrZjnNtlrxvEs=
 =Ap4/
 -----END PGP SIGNATURE-----

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

AT91 defconfig for 5.8

 - Add PIOBU and MCP16502 regulator to sama5 defconfig

* tag 'at91-5.8-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/at91/linux:
  ARM: configs: at91: sama5: enable MCP16502 regulator
  ARM: configs: at91: sama5: enable SAMA5D2_PIOBU

Link: https://lore.kernel.org/r/20200518213254.GA26598@piout.net
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-21 23:52:41 +02:00
Arnd Bergmann 6e15f0a9c4 Two patches to enable the new cpufreq support on the H6 for the arm64
defconfig to enable the audio codec in sunxi_defconfig.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQRcEzekXsqa64kGDp7j7w1vZxhRxQUCXr7MmQAKCRDj7w1vZxhR
 xYFJAQC7OE0ip7aQrJY24AXQgeA1abiQ1+P1oHbHW6E7qnXiGgD9Exd18pO1N1JH
 URcmEMjg8plFQn9+gGcHy7VFhE5V8w8=
 =ut84
 -----END PGP SIGNATURE-----

Merge tag 'sunxi-config-for-5.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into arm/defconfig

Two patches to enable the new cpufreq support on the H6 for the arm64
defconfig to enable the audio codec in sunxi_defconfig.

* tag 'sunxi-config-for-5.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
  arm64: configs: Enable sun50i cpufreq nvmem
  ARM: configs: sunxi: Add sun8i analog codec

Link: https://lore.kernel.org/r/9fd4d403-f6c8-420d-8b03-62e8485a0b3d.lettre@localhost
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-21 23:52:11 +02:00
Arnd Bergmann c0feb184a7 Renesas ARM defconfig updates for v5.8 (take two)
- Enable support for the new RZ/G1H SoC in the shmobile and multi_v7
     defconfigs.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCXr5fqAAKCRCKwlD9ZEnx
 cLL+AP4qfjbDM073NG9nuiSssmswLezSrHqssSCabZ2Gx9ubegD9ERfeW4jX+6+o
 VVSMvqH2paZNiuSUs2lJI/rSjJ23KA8=
 =pMSS
 -----END PGP SIGNATURE-----

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

Renesas ARM defconfig updates for v5.8 (take two)

  - Enable support for the new RZ/G1H SoC in the shmobile and multi_v7
    defconfigs.

* tag 'renesas-arm-defconfig-for-v5.8-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  ARM: multi_v7_defconfig: Enable r8a7742 SoC
  ARM: shmobile: defconfig: Enable r8a7742 SoC

Link: https://lore.kernel.org/r/20200515100547.14671-2-geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-21 23:50:18 +02:00
Arnd Bergmann 66fa76a7db Samsung defconfig changes for v5.8
1. Enable drivers for Exynos3250 Rinato Bluetooth,
 2. Build WiFi mac80211 framework as module so it will get loaded the
    same time as regulatory data.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAl66krMQHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD1/QsEACO79uYTDsWNgDi0HleFllj/1qxiZbdBezE
 RxgvEqlx83Tb9oo4kztcKUnp7QuuJ0Ry2u2fUJzBQMpa59TC+SWC/No2Sc0IgTNI
 owEU4HULnMWstLWCrWMmvRDT7uBd6JzD2VlOzB3mfysS+COMHj7fb5TocYCFQxs1
 ggjKhtkrgCILc96gOP+inkV0WhVgo8/CfqFL4bAaWSzJ5jwOzq164aDYwbk2n0NW
 vFt9VVhbOhBPePv/jg8F+Z5wAyflT8nPT7+4jTLNb1616Q1aXJiuiGcz9xkHSD2z
 qDAsbw06eGkFjMIe6hX7NLHjo12sIVQVPSZw+9cyvWE6kY9VxaxQbRWOkEFjFr4g
 DQ/5dzBSatc/x5M9ab+ogvwjruMmhA4690lzwwPh+0gJbNfq0mu6gLHqJBHbkaLn
 Y29Upte6bN9wk/ebtaN0JDv15pxJ69sqUWXNnmCK7SgN0Tyo/SgpyOmiEJcYTanH
 TiHypvrjk6mEgmjka0rcG/Ym9CQ0halk6TDKCmeczAiRqC6r8210485d0YLvTRHE
 SCslu/0aZwS+s2D2KVZyILb/LSwOIk/9DspPXwhDBzYZnlHcnvwXTcCbau8LEfts
 Xw067XAjr+bGQrAuhbWYCIBSQaqEzZ9tmGoxZ8tW7rBMXLP8HXtX6p3fI4BaNVlz
 Ee3zfRyk/Q==
 =aCxj
 -----END PGP SIGNATURE-----

Merge tag 'samsung-defconfig-5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into arm/defconfig

Samsung defconfig changes for v5.8

1. Enable drivers for Exynos3250 Rinato Bluetooth,
2. Build WiFi mac80211 framework as module so it will get loaded the
   same time as regulatory data.

* tag 'samsung-defconfig-5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  ARM: exynos_defconfig: Compile MAC80211/CFG80211 as modules
  ARM: exynos_defconfig: Enable serial bus and BCM HCIUART drivers

Link: https://lore.kernel.org/r/20200512122922.5700-1-krzk@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-21 23:45:08 +02:00
Arnd Bergmann 016eae21a3 This pull request contains Broadcom ARM-based SoCs defconfig file
updates for v5.8, please pull the following:
 
 - Nicolas enables the fixed-regulator in bcm2835_defconfig which is need
   to control the Raspberry Pi 4 SD car power supply
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEm+Rq3+YGJdiR9yuFh9CWnEQHBwQFAl64WwQACgkQh9CWnEQH
 BwS/Bg/+MUOHNTu9FeIPdhLvF8S4KZV06Iay5K3cFeNfy0jU5fs3vJyx/B4jdVFJ
 OM6fNoBHqPWEjVf/EA2Uy9h4ns59XwV2prAIyzg9p0uVdVBu8LxcpziJ5UHqxiZS
 5UcUkBWZBoOaFKRjTdp19S30boq8wHS6oWRwr8kHUvqwurcgwENUymedyOQ3DPoj
 kAeMS8zP2iOtZLXgZeHf0zKuWxmppt/GS44pjxf/+AMKQNZb0tg+xS12E2cyBSiS
 H5I0vPEmzXeynSOamvIX08NLTieJPIgFW6beZO0Q0zXp9/LB6HpVzCsfcXWklehS
 J9qAiem6/hwJxgD4+T6/s04T8S/BIrzcG0kx75k1er+nZovHv2ln5+7qszS4Mwpa
 CZr/I/BISbXr1r/D5tJCXykGDFUZ4rxT07tTSb6n25JR8VXpDXPa28qCwJkJSDci
 qi5gPMmACKRvDSFxJ46l4vjxpbfQlU8M/rzl5K95Dms8N6ZPpG1sglPIJ0eZ+ivp
 mioUPfX5leLVjcQTdlEVUy+9aIA9WaDN4qG03M3U3aimO/fuNG6f/GvYEXD2v79T
 a1QgPlH/NxFvUECGL/OQYG7FSGHaIz8gJHIiVROxl8u327ZB4XSoj2Iibt2+DpTd
 dR34QDIA5quzxNnZAGc4xSGBvmo86JugOztFP6feqGabNvo/2bw=
 =LMD6
 -----END PGP SIGNATURE-----

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

This pull request contains Broadcom ARM-based SoCs defconfig file
updates for v5.8, please pull the following:

- Nicolas enables the fixed-regulator in bcm2835_defconfig which is need
  to control the Raspberry Pi 4 SD car power supply

* tag 'arm-soc/for-5.8/defconfig' of https://github.com/Broadcom/stblinux:
  ARM: bcm2835_defconfig: Enable fixed-regulator

Link: https://lore.kernel.org/r/20200511210522.28243-1-f.fainelli@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-21 23:44:04 +02:00
Arnd Bergmann 929379dd0f Renesas ARM defconfig updates for v5.8
- Refresh shmobile_defconfig for v5.7-rc1.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCXqqEUgAKCRCKwlD9ZEnx
 cGICAQDav5TgQ510pgY+N73kKI5QvVn1jDdpM22pIS45V9m8KQD9EtFAilc4s1yI
 kYryOSflL9tjubS+SxjwAs4fCMdPtgc=
 =dHzW
 -----END PGP SIGNATURE-----

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

Renesas ARM defconfig updates for v5.8

  - Refresh shmobile_defconfig for v5.7-rc1.

* tag 'renesas-arm-defconfig-for-v5.8-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  ARM: shmobile: defconfig: Refresh for v5.7-rc1

Link: https://lore.kernel.org/r/20200430084849.1457-2-geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-21 23:43:09 +02:00
Arnd Bergmann 962abbc084 Ux500 defconfig changes for functionality merged in the
v5.7 merge window:
 - Enable drivers for the Golden and Skomer mobile phones.
 - Enable drivers for the HREF520 reference design.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEElDRnuGcz/wPCXQWMQRCzN7AZXXMFAl6pnnEACgkQQRCzN7AZ
 XXPguxAAqm+EIkDVhddhaZ2ebpaFSVcvU0Dcr9/qVuMFeEt5bpJ6ix0G5BP/6WJN
 jHn47tnnAF3vhIMa6n4IEWzhmSA3lSHvbCX6ed9f2MQXuHL/sKsNxDej6PqMiIPL
 w13gUr/MLKiJ6i3/8aaTH+Zd8KviBqIIHhA2TjJIwXeun7IW5CcQhCZAS6tezDBI
 HLpY0n2HriyTsa9e/trJR23PvRnLNpTgDFJF5cEXt7cZIIo+PqBBrEgIJmsIrIlZ
 PkgvywoxeAIOu1Y4w+JPYjKI8JCB2e0EIf7KBuYSmT3JWaQj0e/OVPJump9wTiE2
 Od64QpjrFx7qk37JfcakAgNf19SIrOyozLmzDzwMfeY90oF7j98x0jfbyZ0NodGm
 uahbJFQSfkusBx2ulSi2xfxPrIus0hjs11lAnZsRc6xj+5vcnwyPVAHrnJBPJHEc
 Eqha1XOHSEdrkVoVVBMivtfrSvemWa8td3FDNmKbXT2f+3v8htvBH7A5vEk1oJ1P
 DOVMwrBtHbcs2fLpe9esG0jk+5JD9OzqQGJme1KTbSUAY4hnczdSUhKONv3PtiC7
 Le2LIoZSCc2d8ChAWPYSEI76m8D/VkDrZ1hQQsn6Z9aw+N9SGouGbHmgx4sWZWbr
 K4dCuZn6rKhw0mPG492HFxsO34XIn24sX+zjxsClAFhNIHKC3Hk=
 =mEUB
 -----END PGP SIGNATURE-----

Merge tag 'ux500-defconfig-v5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson into arm/defconfig

Ux500 defconfig changes for functionality merged in the
v5.7 merge window:
- Enable drivers for the Golden and Skomer mobile phones.
- Enable drivers for the HREF520 reference design.

* tag 'ux500-defconfig-v5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson:
  ARM: defconfig: u8500: Enable new drivers for ux500
  ARM: defconfig: u8500: Enable new drivers for samsung-golden

Link: https://lore.kernel.org/r/CACRpkdaxT8dc=mhAd51+KtQ0K4Uj5tttt36bYJLqP_hNfWXP8w@mail.gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-21 23:42:35 +02:00
Arnd Bergmann 9eddc06a3b Merge branch 'mmp/fixes' into arm/dt
These were queued for v5.7 as bugfixes, merge them
here as well to resolve the conflicts.

* mmp/fixes:
  ARM: dts: mmp3: Drop usb-nop-xceiv from HSIC phy
  ARM: dts: mmp3-dell-ariel: Fix the SPI devices
  ARM: dts: mmp3: Use the MMP3 compatible string for /clocks

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-21 23:37:22 +02:00
Arnd Bergmann 1a55b4232d Merge branch 'mmp/fixes' into arm/fixes
These three fixes should make it into linux-5.7 and
also into the branch for other mmp dt changes for v5.8,
so I created a branch for them.

* mmp/fixes:
  ARM: dts: mmp3: Drop usb-nop-xceiv from HSIC phy
  ARM: dts: mmp3-dell-ariel: Fix the SPI devices
  ARM: dts: mmp3: Use the MMP3 compatible string for /clocks

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-21 23:36:22 +02:00
Lubomir Rintel 24cf6eef79 ARM: dts: mmp3: Drop usb-nop-xceiv from HSIC phy
"usb-nop-xceiv" is good enough if we don't lose the configuration done
by the firmware, but we'd really prefer a real driver.

Unfortunately, the PHY core is odd in that when the node is compatible
with "usb-nop-xceiv", it ignores the other compatible strings. Let's
just remove it.

Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
Cc: <stable@vger.kernel.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-21 23:34:23 +02:00
Lubomir Rintel 233cbffaa0 ARM: dts: mmp3-dell-ariel: Fix the SPI devices
I've managed to get about everything wrong while digging these out of
OEM's board file.

Correct the bus numbers, the exact model of the NOR flash, polarity of
the chip selects and align the SPI frequency with the data sheet.

Tested that it works now, with a slight fix to the PXA SSP driver.

Link: https://lore.kernel.org/r/20200419171157.672999-16-lkundrak@v3.sk
Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
Cc: <stable@vger.kernel.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-21 23:34:23 +02:00
Lubomir Rintel ec7d12faf8 ARM: dts: mmp3: Use the MMP3 compatible string for /clocks
Clocks are in fact slightly different on MMP3. In particular, PLL2 is
fixed to a different frequency, there's an extra PLL3, and the GPU
clocks are configured differently.

Link: https://lore.kernel.org/r/20200419171157.672999-15-lkundrak@v3.sk
Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
Cc: <stable@vger.kernel.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-21 23:34:22 +02:00
Lubomir Rintel ed365a4a84 ARM: dts: mmp3: Add the fifth SD HCI
There's one extra SDHCI on MMP3, used by the internal SD card on OLPC
XO-4. Add it to the device tree.

Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-21 23:33:38 +02:00
Lubomir Rintel dd95b542b7 ARM: dts: berlin*: Fix up the SDHCI node names
The node name preferred by mmc-controller.yaml binding spec is "mmc":

  berlin2-sony-nsz-gs7.dt.yaml: sdhci@ab0000: $nodename:0:
      'sdhci@ab0000' does not match '^mmc(@.*)?$'
  berlin2-sony-nsz-gs7.dt.yaml: sdhci@ab0800: $nodename:0:
      'sdhci@ab0800' does not match '^mmc(@.*)?$'
  berlin2-sony-nsz-gs7.dt.yaml: sdhci@ab1000: $nodename:0:
      'sdhci@ab1000' does not match '^mmc(@.*)?$'
  berlin2cd-google-chromecast.dt.yaml: sdhci@ab0000: $nodename:0:
      'sdhci@ab0000' does not match '^mmc(@.*)?$'
  berlin2cd-valve-steamlink.dt.yaml: sdhci@ab0000: $nodename:0:
      'sdhci@ab0000' does not match '^mmc(@.*)?$'
  berlin2q-marvell-dmp.dt.yaml: sdhci@ab0000: $nodename:0:
      'sdhci@ab0000' does not match '^mmc(@.*)?$'
  berlin2q-marvell-dmp.dt.yaml: sdhci@ab0800: $nodename:0:
      'sdhci@ab0800' does not match '^mmc(@.*)?$'
  berlin2q-marvell-dmp.dt.yaml: sdhci@ab1000: $nodename:0:
      'sdhci@ab1000' does not match '^mmc(@.*)?$'

Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-21 23:31:46 +02:00
Lubomir Rintel bbbea1f2a9 ARM: dts: mmp3: Fix USB & USB PHY node names
There are better generic ones and the validation is going to complain:

  mmp3-dell-ariel.dt.yaml: hsic@f0001000: $nodename:0: 'hsic@f0001000'
      does not match '^usb(@.*)?'
  mmp3-dell-ariel.dt.yaml: hsic@f0002000: $nodename:0: 'hsic@f0002000'
      does not match '^usb(@.*)?'
  ...

Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-21 23:31:45 +02:00
Lubomir Rintel 7df3a1ee12 ARM: dts: mmp3: Fix L2 cache controller node name
The current one makes validation unhappy:

  mmp3-dell-ariel.dt.yaml: l2-cache-controller@d0020000: $nodename:0:
      'l2-cache-controller@d0020000' does not match
      '^(cache-controller|cpu)(@[0-9a-f,]+)*$'

Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-21 23:31:45 +02:00
Lubomir Rintel 4989fd577d ARM: dts: mmp*: Fix up encoding of the /rtc interrupts property
This way the device tree validator learns that each cell of the property
constitutes a separate item. Otherwise it gets unnecessairly upset:

  mmp3-dell-ariel.dt.yaml: rtc@d4010000: interrupts: [[1, 0]] is too short

Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-21 23:31:44 +02:00
Lubomir Rintel 2e7167d17b ARM: dts: pxa*: Fix up encoding of the /rtc interrupts property
This way the device tree validator learns that each cell of the property
constitutes a separate item. Otherwise it gets unnecessairly upset:

  pxa168-aspenite.dt.yaml: rtc@d4010000: interrupts: [[5, 6]] is too short
  pxa910-dkb.dt.yaml: rtc@d4010000: interrupts: [[5, 6]] is too short

Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-21 23:31:44 +02:00
Lubomir Rintel c911cadfab ARM: dts: pxa910: Fix the gpio interrupt cell number
gpio-pxa uses two cell to encode the interrupt source: the pin number
and the trigger type. Adjust the device node accordingly.

Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-21 23:31:43 +02:00
Lubomir Rintel 55d26c3844 ARM: dts: pxa3xx: Fix up encoding of the /gpio interrupts property
This way the device tree validator learns that each cell of the property
constitutes a separate item. Otherwise it gets unnecessairly upset:

  pxa300-raumfeld-speaker-s.dt.yaml: gpio@40e00000: interrupts:
      [[8, 9, 10]] is too short

Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Robert Jarzmik <robert.jarzmik@free.fr.>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-21 23:31:43 +02:00
Lubomir Rintel 51d6bba661 ARM: dts: pxa168: Fix the gpio interrupt cell number
gpio-pxa uses two cell to encode the interrupt source: the pin number
and the trigger type. Adjust the device node accordingly.

Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-21 23:31:42 +02:00
Lubomir Rintel 4fade3403e ARM: dts: pxa168: Add missing address/size cells to i2c nodes
This makes the nodes compatible with the generic i2c binding without the
board DTS files having to supply the necessary properties themselves.

Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-21 23:31:42 +02:00
Lubomir Rintel a857caa9d9 ARM: dts: dove: Fix interrupt controller node name
The current ones makes validation unhappy:

  dove-d3plug.dt.yaml: main-interrupt-ctrl@20200: $nodename:0:
      'main-interrupt-ctrl@20200' does not match
      '^interrupt-controller(@[0-9a-f,]+)*$'

Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-21 23:31:41 +02:00
Lubomir Rintel 6656e16353 ARM: dts: kirkwood: Fix interrupt controller node name
The current ones makes validation unhappy:

  kirkwood-lsxhl.dt.yaml: main-interrupt-ctrl@20200: $nodename:0:
    'main-interrupt-ctrl@20200' does not match
    '^interrupt-controller(@[0-9a-f,]+)*$'

Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-21 23:31:41 +02:00
Arnd Bergmann 9440d8acb5 RGA node for rk322x, wifi node for rk3229-xms6 and some cleanups.
-----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCAAuFiEE7v+35S2Q1vLNA3Lx86Z5yZzRHYEFAl7F1U4QHGhlaWtvQHNu
 dGVjaC5kZQAKCRDzpnnJnNEdgUC3B/9ISdYLQiMp8p76z1hITI2xjIwB0Vb6+MMv
 j0RjfUNUS7PgkoZY11eF5gMrVuvU82Bzvxnz5h/X+rbjq0cX4uyqp3vCo3M+S8f8
 J32FSD4QbkoxZIvt8n8cD2E1Oj63X2Fg3olwYL1b3JIrihPwT5mmQKx1XDmZafb5
 OobPSyxb8NSKN2X3uu4vhHhpkJHStxQ5d6/ShCI4W6kowWDxB+TJrr5pSuyaGY2u
 bz0wc4PhhESfuBBU3ohBrFg9NSNHFKur+PRl7r2rEyTNekWIb5LVVeZvPg+UaKGC
 nnfz9rXQ6LdnEeTB0mFGy8N5Lj3iXZew7N3n1Y6qcLHHtW+GQeVq
 =GVKq
 -----END PGP SIGNATURE-----

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

RGA node for rk322x, wifi node for rk3229-xms6 and some cleanups.

* tag 'v5.8-rockchip-dts32-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  ARM: dts: rockchip: add rga node for rk322x
  ARM: dts: remove disable-wp from rk3229-xms6 emmc
  ARM: dts: enable WLAN for Mecer Xtreme Mini S6
  ARM: dts: rockchip: remove identical #include from rk3288.dtsi
  ARM: dts: rockchip: rename and label gpio-led subnodes

Link: https://lore.kernel.org/r/3735080.6Cexqc3t0Y@phil
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-21 23:16:37 +02:00
Arnd Bergmann f0c59fd97c New soc variant the rk3326 which is essentially a px30 with only one
display controller and a new board using it, the Odroid Advance Go.
 sdcard regulator for the rockpro64 and a lot of devicetree fixes
 making the dt-binding check a lot happier.
 -----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCAAuFiEE7v+35S2Q1vLNA3Lx86Z5yZzRHYEFAl7F1N0QHGhlaWtvQHNu
 dGVjaC5kZQAKCRDzpnnJnNEdgV34CAChtYhGGRGEr8WwGL3WG1f8z1nwEfxEGaMx
 niLnchgR2kWRiPFV8SVHaNkcGj9+VkeA/F8mCrrKiPDPrsL+s5X6q2liAmEGnIWo
 OvlfyuIJNaSjnVxwhdZABIQsjjeLZI2i0OWGmq47vGopWaNWDGW9wrPlRslPrf4N
 AIww1TwjKYK8Et5ja3COwfSt1gn2/PwR09wTfQwCy7wi9At6UWOQsDmpyFbjuTgv
 GmPcQJZa2YtQovSM5FrbhguCKSGFSukopqqrrxmfsvlkz+xmZyeHN6MMpdNnwBXe
 Kf3VU2p6b+75YouuOcJAAueBj6b37/tvi7KK/MZszdG2pM85SL1z
 =BL2H
 -----END PGP SIGNATURE-----

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

New soc variant the rk3326 which is essentially a px30 with only one
display controller and a new board using it, the Odroid Advance Go.
sdcard regulator for the rockpro64 and a lot of devicetree fixes
making the dt-binding check a lot happier.

* tag 'v5.8-rockchip-dts64-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: (22 commits)
  arm64: dts: rockchip: fix pinctrl-names for gpio-leds node on rk3326-odroid-go2
  arm64: dts: rockchip: fix pd_tcpc0 and pd_tcpc1 node position on rk3399
  arm64: dts: rockchip: add bus-width properties to mmc nodes for px30
  arm64: dts: rockchip: remove disable-wp from rk3308-roc-cc emmc node
  arm64: dts: rockchip: rename and label gpio-led subnodes
  arm64: dts: rockchip: fix defines in pd_vio node for rk3399
  arm64: dts: rockchip: fix &pinctrl phy sub nodename for rk3399-orangepi
  arm64: dts: rockchip: fix rtl8211e nodename for rk3399-orangepi
  arm64: dts: rockchip: fix &pinctrl phy sub nodename for rk3399-nanopi4
  arm64: dts: rockchip: fix rtl8211e nodename for rk3399-nanopi4
  arm64: dts: rockchip: fix rtl8211f nodename for rk3328 Beelink A1
  arm64: dts: rockchip: fix phy nodename for rk3328
  include: dt-bindings: rockchip: remove unused defines
  arm64: dts: rockchip: replace RK_FUNC defines in rk3326-odroid-go2
  arm64: dts: rockchip: Define the rockchip Video Decoder node on rk3399
  arm64: dts: rockchip: remove #sound-dai-cells from &spdif node of rk3399-hugsun-x99.dts
  arm64: dts: rockchip: remove #sound-dai-cells from &i2s1 node of rk3399-pinebook-pro.dts
  arm64: dts: rockchip: add Odroid Advance Go
  dt-bindings: Add binding for Hardkernel Odroid Go Advance
  arm64: dts: rockchip: add core devicetree for rk3326
  ...

Link: https://lore.kernel.org/r/1970481.V9vR1fIhX2@phil
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-21 23:14:11 +02:00
Arnd Bergmann 87b990ab62 mvebu dt64 for 5.8 (part 1)
Armada 3720 based SoC:
 
 + Fix PCIe support allowing to use Compex wifi cards
 
 + Turris MOX board:
   - fix SFP binding
   - forbid SDR104 on SDIO to pass electromagnetic interference certifications
 
 + uDPU board: add i2c recovery support
 
 Armada 8040 based SoC: SolidRun 8040: update phy interface
 -----BEGIN PGP SIGNATURE-----
 
 iF0EABECAB0WIQQYqXDMF3cvSLY+g9cLBhiOFHI71QUCXsVWvQAKCRALBhiOFHI7
 1fNrAKCYPUl4BxCp/m6VNL0IMFc2FgTXawCdFxUNczPfHVyx0AgtiZf3DYzQUIw=
 =FAnH
 -----END PGP SIGNATURE-----

Merge tag 'mvebu-dt64-5.8-1' of git://git.infradead.org/linux-mvebu into arm/dt

mvebu dt64 for 5.8 (part 1)

Armada 3720 based SoC:

+ Fix PCIe support allowing to use Compex wifi cards

+ Turris MOX board:
  - fix SFP binding
  - forbid SDR104 on SDIO to pass electromagnetic interference certifications

+ uDPU board: add i2c recovery support

Armada 8040 based SoC: SolidRun 8040: update phy interface

* tag 'mvebu-dt64-5.8-1' of git://git.infradead.org/linux-mvebu:
  arm64: dts: armada-3720-turris-mox: fix SFP binding
  arm64: dts: armada-3720-turris-mox: forbid SDR104 on SDIO for FCC purposes
  arm64: dts: add uDPU i2c bus recovery
  arm64: dts: marvell: drop i2c timeout-ms property
  arm64: dts: marvell: armada-37xx: Move PCIe max-link-speed property
  arm64: dts: marvell: armada-37xx: Move PCIe comphy handle property
  arm64: dts: marvell: armada-37xx: Set pcie_reset_pin to gpio function
  arm64: dts: update SolidRun Armada 8040 phy interface types

Link: https://lore.kernel.org/r/878shmeffd.fsf@FE-laptop
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-21 23:10:18 +02:00
Arnd Bergmann 65ad1cafe7 mvebu dt for 5.8 (part 1)
Add LCP panel support on ReadyNAS NV+v2
 Add new board: Check Point L-50, kirkwood based SoC router
 Remove unused property 'timeout-ms' in i2c nodes
 -----BEGIN PGP SIGNATURE-----
 
 iF0EABECAB0WIQQYqXDMF3cvSLY+g9cLBhiOFHI71QUCXsVSOwAKCRALBhiOFHI7
 1RV6AJ9s4aOdEeaaKQ+2qJ1Opb2Qx6vg0QCfaEGF/o1YB7BbzYw506oL7p7/8Bs=
 =qrqk
 -----END PGP SIGNATURE-----

Merge tag 'mvebu-dt-5.8-1' of git://git.infradead.org/linux-mvebu into arm/dt

mvebu dt for 5.8 (part 1)

Add LCP panel support on ReadyNAS NV+v2
Add new board: Check Point L-50, kirkwood based SoC router
Remove unused property 'timeout-ms' in i2c nodes

* tag 'mvebu-dt-5.8-1' of git://git.infradead.org/linux-mvebu:
  ARM: dts: kirkwood: ReadyNAS NV+v2: Add LCD panel
  ARM: dts: kirkwood: Add Check Point L-50 board
  ARM: dts: marvell: drop i2c timeout-ms property

Link: https://lore.kernel.org/r/87blmiefgw.fsf@FE-laptop
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-21 23:09:19 +02:00
Arnd Bergmann 564ef85341 ARMv8 Juno/Vexpress/Fast Models updates for v5.8
Various miscellaneous device tree source fixes to make them fully
 binding compliant. It includes fixing various device node names,
 order of interrupt properties, compatible names, address and size
 cell fields and their aligment with children nodes as well as
 moving some fixed devices out of bus node.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEunHlEgbzHrJD3ZPhAEG6vDF+4pgFAl7DqaoACgkQAEG6vDF+
 4phj+xAAw0pYfFBqH89qx7dl+BgKl4SMpue0WlhUgiZhbBS2RgrlGTW5TfBb6IVa
 boU30Vw4rOdPozy7xizC0JnHsoD8PTxWKbA2t6s3VtTra3iGU0gT7wua/rzQ9pC2
 yrk7mTMpa6j5FUdTNSkQwr3x5g95K5haTZV2kRZFBNHzgjZmh02BhGmfQ1TX+sbw
 4vEde0xi1dOi9/A78gIWSUbvpdniFrYBkOAbMN8bo37KoCvnuvm2OU6t0UF6nj3h
 51eKZjWbxxxh5Jj2DyFZzOaEW9T2vIeW6aqoNEinvz9blSUBmX8Dx8n2YZbUVr/O
 ZsnfMXwU3SeRlIt4avNguGk0+xQuHAzy+Jls+A/ypTUL1vX8kTwO7Gs6gOZHsQ9n
 DwFhoWesk86EQyzBy3t1mmvWU7Ic2YMjfW6WjmWxgccuTfTEbSZ6VAA/TQWQtvop
 6xUtUbLJr1yuBshVsoJyO/yR1MoAnVKsOjB+AbiTW+nqs4oAoQ4q6TLti/z20G/k
 l3cTdKVC97cqhXa9hEuIP5wTTBJ7uQJ0boR7fvdrfk0doRvEAI5Xh/OyCWKi2SUH
 6nqUEtDoXFfUBfqLEj/uETQzHCo2CQPIyubJB0XhWkT+52/0Gi6KHzq6GvNrb7gt
 tx27VizSRz1f1nbZ6jYi0MMnyGBjnRw+HIDBuiUU7kgFIGkJheI=
 =Z5QL
 -----END PGP SIGNATURE-----

Merge tag 'juno-updates-5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into arm/dt

ARMv8 Juno/Vexpress/Fast Models updates for v5.8

Various miscellaneous device tree source fixes to make them fully
binding compliant. It includes fixing various device node names,
order of interrupt properties, compatible names, address and size
cell fields and their aligment with children nodes as well as
moving some fixed devices out of bus node.

* tag 'juno-updates-5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux:
  arm64: dts: juno: Fix SCPI shared mem node name
  arm64: dts: vexpress: Fix VExpress LED names
  arm64: dts: juno: Fix GPU interrupt order
  arm64: dts: fvp/juno: Fix bus node names
  arm64: dts: fvp: Fix SMMU DT node
  arm64: dts: fvp/juno: Fix serial node names
  arm64: dts: juno: Use proper DT node name for USB
  arm64: dts: fvp: Fix ITS node names and #msi-cells
  arm64: dts: fvp: Fix GIC child nodes
  arm64: dts: juno: Fix GIC child nodes
  arm64: dts: fvp: Fix GIC compatible names
  arm64: dts: juno: Fix mem-timer
  arm64: dts: juno: Move fixed devices out of bus node
  arm64: dts: fvp: Move fixed clocks out of bus node
  arm64: dts: vexpress: Move fixed devices out of bus node
  arm64: dts: fvp: Move fixed devices out of bus node
  arm64: dts: fvp/juno: Fix node address fields

Link: https://lore.kernel.org/r/20200519094702.GA32975@bogus
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-21 23:07:21 +02:00
Krzysztof Piecuch bd35c77e32 x86/tsc: Add tsc_early_khz command line parameter
Changing base clock frequency directly impacts TSC Hz but not CPUID.16h
value. An overclocked CPU supporting CPUID.16h and with partial CPUID.15h
support will set TSC KHZ according to "best guess" given by CPUID.16h
relying on tsc_refine_calibration_work to give better numbers later.
tsc_refine_calibration_work will refuse to do its work when the outcome is
off the early TSC KHZ value by more than 1% which is certain to happen on
an overclocked system.

Fix this by adding a tsc_early_khz command line parameter that makes the
kernel skip early TSC calibration and use the given value instead.

This allows the user to provide the expected TSC frequency that is closer
to reality than the one reported by the hardware, enabling
tsc_refine_calibration_work to do meaningful error checking.

[ tglx: Made the variable __initdata as it's only used on init and
        removed the error checking in the argument parser because
	kstrto*() only stores to the variable if the string is valid ]

Signed-off-by: Krzysztof Piecuch <piecuch@protonmail.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lkml.kernel.org/r/O2CpIOrqLZHgNRkfjRpz_LGqnc1ix_seNIiOCvHY4RHoulOVRo6kMXKuLOfBVTi0SMMevg6Go1uZ_cL9fLYtYdTRNH78ChaFaZyG3VAyYz8=@protonmail.com
2020-05-21 23:07:00 +02:00
Arnd Bergmann 430640a659 Qualcomm ARM dts updates for v5.8
This adds SCM firmware node for IPQ806x and fixes the high resolution
 timer for IPQ4019. Samsung Galaxy S5 gains regulators, eMMC and USB
 support.
 -----BEGIN PGP SIGNATURE-----
 
 iQJPBAABCAA5FiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAl7DZsMbHGJqb3JuLmFu
 ZGVyc3NvbkBsaW5hcm8ub3JnAAoJEAsfOT8Nma3Fcm0P/1a1U5EJP4MyGHHEyxcJ
 HxRl5V3vbwBm5xNjO6iMUH2ryh34OjvpxBdrIKrCrkmRpBYs3r9t5G9sF8MfFvnj
 SPJfSxWKy/UK6d1cg54BgLqak9wpiE8c/0TuZHyFVP+0zrzAQU2NxdU6mRv2KmIO
 ZndYAI7TRxYQ98yp/0zecnck0SJh5fMV/U3dAK5BgoIjgcc+fjX+BwChg9tZC3hQ
 IEB7JS9NGMUIj94u8Ft80hmF8pyWd9OR5luHWe0yhhVqRmj/temZDOg3ZjgCdJb7
 R8FT+haXfUkBeSkIJRQwxr0/knh0b81/zfhhG9GmSSGsZoIb7ctJjLupliNshqJn
 QEYsYqp1NOoUWDddL+GODaJVR4Ux7BYPIvUZJ49+E9SCthFZKoYDP/iHFijF3CYb
 +LNGJ+IqcXT5ZBzOKeCD/+7dTjp8hBWurZswXEi3EL9R2Zsv5SbTJF2FbEt6wVin
 yMTXwZyphduGqhdJlLGLCisBrXc36K+l26frLHgI5VmjX8/Cvcg6EES08ZgPEXct
 PbHt87CPyCUUzyjPOVGYQ5DqvfaSDpJLp3RR2HEE4g3oY6UVYYjNdTPC63yo7Rjd
 kST4wGaN4877/UJNY4TKV+kVyJrtv2IGkb6x/intNXGVXiYz7lF0UmBeYGEKGXfl
 Doc18cba1LsFMC98A/1QxoTQ
 =Oi3C
 -----END PGP SIGNATURE-----

Merge tag 'qcom-dts-for-5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into arm/dt

Qualcomm ARM dts updates for v5.8

This adds SCM firmware node for IPQ806x and fixes the high resolution
timer for IPQ4019. Samsung Galaxy S5 gains regulators, eMMC and USB
support.

* tag 'qcom-dts-for-5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
  ARM: dts: qcom: msm8974-klte: Add max77826 pmic node
  ARM: dts: qcom: msm8974-klte: Add USB node
  ARM: dts: qcom: msm8974-klte: Add sdhci1 node
  ARM: dts: qcom: msm8974-klte: Add gpio-keys nodes
  ARM: dts: qcom: msm8974-klte: Remove inherited vreg_boost node
  ARM: dts: qcom: msm8974-klte: Add pma8084 regulator nodes
  ARM: dts: qcom: ipq4019: fix high resolution timer
  ARM: dts: qcom: add scm definition to ipq806x

Link: https://lore.kernel.org/r/20200519052538.1250076-1-bjorn.andersson@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-21 23:06:20 +02:00
Arnd Bergmann 1cb00f8c3b Qualcomm ARM64 DT updates for v5.8
For SDM845 this defines the IPA network accelerator and the CCI camera
 control bus, it defines the required UFS reset and adds WiFi for the
 Lenovo Yoga C630 and defines GPIO pin names and adds OV8856 and OC7251
 camera nodes for DB845c.
 
 For SC7180 it adds GPU support, defines the modem remoteproc, adds the
 IPA network accelerator, Coresight and ETM support, adds cpuidle low
 power states and updates the CPUs' compatible.
 
 For SM8250 it adds regulators from the PM8150, PM8150L and PM8009 and
 adds voltage corners, it defines the nodes for UFS PHY and controller
 and finally corrects a typo in the PDC node to make SPMI functional.
 
 For MSM8916 I2C1 and I2C5 are defined, a node for the CCI camera control
 interface bus is added and Coresight is disabled by default to match
 some product configurations. The Samsung A3U gained display support and
 Samsung A5U gained touchscreen support.
 
 MSM8996 now property describes the power supply chain for the GPU, the
 CCI camera control interface bus is added and the DB820c has the
 regulators of the secondary PMIC defined.
 
 For QCS404 USB PHYs and controllers are defined and wired up for the
 EVB.
 
 SDM630/SDM660 platform support is added and the Xiaomi Redmi Note 7
 defined.
 
 It also contains a number of changes throughout to improve DT binding
 compliance.
 -----BEGIN PGP SIGNATURE-----
 
 iQJPBAABCAA5FiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAl7DYUQbHGJqb3JuLmFu
 ZGVyc3NvbkBsaW5hcm8ub3JnAAoJEAsfOT8Nma3FWxgP/RgO73BTFzapqi2GO/lC
 Jsc/lE9gNpmkuM9kluPrYvDIdDjEgfAehajCmBgkk2nyJnmN0XWSyJWzrAHstaUd
 6TKYww43mPtCjPH7mk18DCINTK0yVrrpdpbgy2FQm5/heCQFPsZFWtLPJ23t8wQn
 fBJV/JzHjzeaEKf97QPgdTILt/hPSob5PVSdVT+VDC9jp/vnVEAVlc6+58rsH5sZ
 eRsGeoA0hUuaKZb7vji8afzyQzjs8Qra+56yhP13eFOtR0Ww1UOvESLWHFzUI91T
 yx9qjEDqF4Rw44MWxAxRpwQUU06PiwcIO0Z4ziZ5/FCr+Tseo+yo21B59i+9p112
 ihJsQNN18oxAAtyuzv+OxcD3+H7qODvxR0fCdeAWZajeP994P79I4Ddejs+V0KN2
 SZmJQmn8Ba8zMPJA7EZAug1IFrNfJ/xOu6KAv6bXpUYc8a5vRyQNqKgBIokry3V+
 SDDrHOxu3XhPGR6YmkorJ6EfWdOm1iPs/o5b2GkJZLww6Vd89tIbNsMIDlVCVWaO
 R0gImZcpJpO9CLmQvnfKmE9yozIoadCS6lkfaCKuGm+usi5uPFXJqE5AcJ+Yj3/4
 fi+MksJOrVwKRpuxr2lMM4GpOVqo7yUZ1iCveNn/GAfw3OVtsef0zL4vk0o4gYvd
 Bg0AVo61nTwJ7ef/i8mdlLT8
 =ds6R
 -----END PGP SIGNATURE-----

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

Qualcomm ARM64 DT updates for v5.8

For SDM845 this defines the IPA network accelerator and the CCI camera
control bus, it defines the required UFS reset and adds WiFi for the
Lenovo Yoga C630 and defines GPIO pin names and adds OV8856 and OC7251
camera nodes for DB845c.

For SC7180 it adds GPU support, defines the modem remoteproc, adds the
IPA network accelerator, Coresight and ETM support, adds cpuidle low
power states and updates the CPUs' compatible.

For SM8250 it adds regulators from the PM8150, PM8150L and PM8009 and
adds voltage corners, it defines the nodes for UFS PHY and controller
and finally corrects a typo in the PDC node to make SPMI functional.

For MSM8916 I2C1 and I2C5 are defined, a node for the CCI camera control
interface bus is added and Coresight is disabled by default to match
some product configurations. The Samsung A3U gained display support and
Samsung A5U gained touchscreen support.

MSM8996 now property describes the power supply chain for the GPU, the
CCI camera control interface bus is added and the DB820c has the
regulators of the secondary PMIC defined.

For QCS404 USB PHYs and controllers are defined and wired up for the
EVB.

SDM630/SDM660 platform support is added and the Xiaomi Redmi Note 7
defined.

It also contains a number of changes throughout to improve DT binding
compliance.

* tag 'qcom-arm64-for-5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (68 commits)
  arm64: dts: qcom: sc7180: Correct the pdc interrupt ranges
  arm64: dts: qcom: sc7180: add IPA information
  arm64: dts: qcom: sc7180: Fix ETMv4 power management patch
  arm64: dts: qcom: sc7180: Add A618 gpu dt blob
  dt-bindings: arm-smmu: Add sc7180 compatible string
  arm64: dts: qcom: msm8996: Make GPU node control GPU_GX GDSC
  arm64: dts: qcom: db820c: Add vdd_gfx and tie it into mmcc
  arm64: dts: qcom: apq8016-sbc: merge -pins.dtsi into main .dtsi
  arm64: dts: qcom: msm8916: move gpu opp table to gpu node
  arm64: dts: qcom: msm8916: avoid using _ in node names
  arm64: dts: qcom: c630: Specify UFS device reset
  arm64: dts: qcom: c630: Add WiFi node
  arm64: dts: qcom: msm8916-samsung-a3u: add nodes for display panel
  arm64: dts: qcom: db820c: Fix invalid pm8994 supplies
  arm64: dts: qcom: db820c: Add pmi8994 RPM regulators
  arm64: dts: qcom: msm8916: Disable coresight by default
  arm64: dts: qcom: sc7180: Add "no-map" to cmd_db reserved area
  arm64: dts: qcom: msm8916-samsung-a5u: Add touchscreen
  arm64: dts: qcom: msm8916-samsung-a2015: Add touchscreen regulator
  arm64: dts: qcom: msm8916: Add blsp_i2c5
  ...

Link: https://lore.kernel.org/r/20200519052528.1249950-1-bjorn.andersson@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-21 22:50:41 +02:00
Arnd Bergmann a9418e8911 AT91 DT for 5.8
- New board: Microchip SAMA5D2 Industrial Connectivity Platform
  - All SoCs are now converted to the new PMC device tree binding
  - sama5d2 flexcom nodes are now fully described in sama5d2.dtsi
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEycoQi/giopmpPgB12wIijOdRNOUFAl7CpJMACgkQ2wIijOdR
 NOWrAg//cH5TaJ+B/m4oHxfHgLg9qXXdKkLcCYB17YZLMKGbioaye1zBYWyCDJzb
 Wz0AS5XNw9xgxA8U/p/okUV/t+TTWkL1/r98MqlBc7aPxk3UIiGVVlKD0rKLu0mW
 /OsQwdeR/OyuBfLsspzoqHfhN3N/RZk1nlN2NbykTkHnKuY4CWpsewnJstpA7vl6
 TTQgbbbs2VD5H3Fxo2tbSl03Iqbk3rPSzdtsSae4B7Ta4hO0r1xY04C3qe/bboh9
 jautvydBnbSrqzbdcyHPh8XzF+TEyrPZzMuz9AD9sY6Zeqap69Aha6OYRe9cspNQ
 05rMhvQaWhlvsmR5jAV0lHjnz+nA3sJ81QmBbaH9YOMgr0GhM940pNtjND7yOm1Q
 jO20/NWJs8/POv1vIxAE8bKmAnk1ukV8HwcIn5gDaMVJWRuoqYqkCaZ0WfItcx7q
 gdkC+k9pUWWscYQy8aZMhN7aqpC+wdLSlrdQ519R1HcpZMJ1K8oIz9h8/Fotgytx
 b+KmgEFze6hQ9leZ2GJffDPZbknMsdcHdePk9j1dRyN6f0m33WVvNV4a5HVEmN0A
 7ceVzT/5Mvp+pK4aAGPtxtNfKSLSFxyMgteGP+PjMRvnQmFwdQkuLRNb3qBR5XAI
 sO+FoBRkgTBe4s+ztmioHBQERmynrbvX/p//FBho9+7y0m9Tt2o=
 =EQfX
 -----END PGP SIGNATURE-----

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

AT91 DT for 5.8

 - New board: Microchip SAMA5D2 Industrial Connectivity Platform
 - All SoCs are now converted to the new PMC device tree binding
 - sama5d2 flexcom nodes are now fully described in sama5d2.dtsi

* tag 'at91-5.8-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/at91/linux: (35 commits)
  ARM: dts: at91: sama5d2_xplained: Add aliases for the dedicated I2C IPs
  ARM: dts: at91: Configure I2C SCL gpio as open drain
  ARM: dts: at91: sama5d2_xplained: Describe the flx0 I2C function
  ARM: dts: at91: sama5d2_ptc_ek: Add comments to describe the aliases
  ARM: dts: at91: sama5d2_xplained: Add alias for DBGU
  ARM: dts: at91: sama5d2: Add missing flexcom definitions
  ARM: dts: at91: sama5d2: Remove i2s and tcb aliases from SoC dtsi
  ARM: dts: at91: sama5d2: Add DMA bindings for the SPI and I2C flx0 functions
  ARM: dts: at91: sama5d2: Add DMA bindings for the flx1 I2C function
  ARM: dts: at91: sama5d2: Add DMA bindings for the flx3 SPI function
  ARM: dts: at91: sama5d2: Add DMA bindings for the SPI and UART flx4 functions
  ARM: dts: at91: sama5d2: Specify the FIFO size for the Flexcom UART
  ARM: dts: at91: sama5d2: Move flx0 definitions in the SoC dtsi
  ARM: dts: at91: sama5d2: Move flx1 definitions in the SoC dtsi
  ARM: dts: at91: sama5d2: Move flx2 definitions in the SoC dtsi
  ARM: dts: at91: sama5d2: Move flx3 definitions in the SoC dtsi
  ARM: dts: at91: sama5d2: Move flx4 definitions in the SoC dtsi
  ARM: dts: at91: sama5d2: Fix the label numbering for flexcom functions
  ARM: dts: at91: sama5d27_wlsom1: Add alias for i2c0
  ARM: dts: at91: sama5d2-icp: add SAMA5D2-ICP
  ...

Link: https://lore.kernel.org/r/20200518212844.GA26356@piout.net
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-21 22:49:07 +02:00
Arnd Bergmann c8128b5c07 UniPhier ARM64 SoC DT updates for v5.8
- add DMA controller nodes
 
 - add Akebi96 board support
 -----BEGIN PGP SIGNATURE-----
 
 iQJSBAABCgA8FiEEbmPs18K1szRHjPqEPYsBB53g2wYFAl7CO7QeHHlhbWFkYS5t
 YXNhaGlyb0Bzb2Npb25leHQuY29tAAoJED2LAQed4NsGPjsQAI49mzoA95hlKpfi
 mLXZOSFKE6+jN8CGp3zV10cAHaWT1ZGomqDQMHIqMoI2u/Z8hILpvNzNhusbKvCl
 R1d/P+m9730Nab7BRvuu8FzCiEMQwxLP++lXEkLdRFsWO8LDLkFLJaH1RxikT8dj
 X+CUNE0Q1+vBKzc1ZDgVQiF448QOQOpUMCuAH6k2Rv2r/xj6yKvzIz42XlbT5qmF
 J3zMtjb4WJOZWcPa2j+HaMbB2fAh/g31Gy+gKjqiADOut6vifsJn3fS9sG0eLb18
 tW8sykcU2KKuEsdpjC6ixB/3l7Y/m0roa9D7J4S7rjXRC+fqIMd75WE7HSr81iae
 6fm199DR6yDzkrEog21mZrZ3qGIuXJGlJNGvk2oWNB5e9oD7W3kIocNZ4gWgmg+x
 9rBSeulXZdZ6XL5/YP//1abzirHpvYyXlY607jHNH4BQ+lcHpaU1x5MCEYiVZC1n
 dtPS11jc4OgCx/6ru5o1RSi3tb3uwCtUZoUyNGUR9p/VDQiAshyGJXabrlg6AV8r
 OyDVWWNOX2BrEeepIdxxk83UWwzDC1a28p4qXhJ/2eFVldr/WdDEEOizg4uwpp+3
 8VxpfET5idXfcqyKJv+NMXHIlGmsHU+/jqSPmVSNYOcwEAsdOZQVXAC7KjAw6hZx
 y3R1NRvZ+qE/9D9Hrg2Cj/HxypWV
 =SdeL
 -----END PGP SIGNATURE-----

Merge tag 'uniphier-dt64-v5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-uniphier into arm/dt

UniPhier ARM64 SoC DT updates for v5.8

- add DMA controller nodes

- add Akebi96 board support

* tag 'uniphier-dt64-v5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-uniphier:
  arm64: dts: uniphier: Add support for Akebi96
  dt-bindings: arm: Add Akebi96 board support
  arm64: dts: uniphier: add #address-cells and #size-cells to SPI nodes
  arm64: dts: uniphier: Stabilize Ethernet RGMII mode of PXs3 ref board
  arm64: dts: uniphier: Add ethernet aliases
  arm64: dts: uniphier: Add XDMAC node

Link: https://lore.kernel.org/r/CAK7LNARUL52pBhg8AD9XeScVqhD8qr2eVEfu4+1v8D+KPyOwNw@mail.gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-21 22:48:15 +02:00
Arnd Bergmann 184a283311 UniPhier ARM SoC DT updates for v5.8
- add DMA controller nodes
 -----BEGIN PGP SIGNATURE-----
 
 iQJSBAABCgA8FiEEbmPs18K1szRHjPqEPYsBB53g2wYFAl7CO5QeHHlhbWFkYS5t
 YXNhaGlyb0Bzb2Npb25leHQuY29tAAoJED2LAQed4NsGbV4P/3YOt9oY9V+ud+Z4
 jC/Z2E9UEfeweueSMZKapN+Yp07fas+u3/WmsFIR8Gh4HL5N1ZGcDXAKGn0UdYVA
 l2+MBB2CUuCQqQM6uH/rKXA4khMKoOcMnpLU5KRahaMjonTHEaSN3udsxNmJkGJX
 OCGjfIGw+8NHXZ0haNJFxJ3HF0gHlrWIqaofGGvJihL0ANHl3wc4SpnbHTPp5SBa
 TVDrK3h/U4Tl105hvh1bqg0NTUiyRpWxEUH2r6sKvahJO+Reth1Xk5o4HWUINtVW
 FX4xA4Hb6d3WytATF+Dg+emDKD5eTLKNz5UahKiS1QYad5m5aSyuaO3MJV6w5m7W
 r3ttYZnz1Sq8029D425nnkmTl2IYsvtiKk7I1uQsIOb6/yDBWo76XFZ1tzNgKafH
 +qFFIP95cQSrnyYTrnOV9XwMc4FQqzUTm5AL3RZj+qd9fp4lNv1X6gm6byliYOSB
 vVe49+AD3B414UOVoDF8L1VfdSLmGTSo2I7dtY5q2DrCxgml1ESDEMCt7POVsUbD
 c6lXEyiXfpIgwcMbZiiykhAj7V8cK1BFueLCvZTWxuuUiM1DbvjyZYKIE0XVRmhx
 ejxYsPmdhldhU0xbe5I9iHFhlsd8fjm9xd4+yVoD2592Y7IPlUeAoznRm8zHDoDW
 hLyDbQ5TSiKAlwSdl+Hw17eBoICO
 =FqsW
 -----END PGP SIGNATURE-----

Merge tag 'uniphier-dt-v5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-uniphier into arm/dt

UniPhier ARM SoC DT updates for v5.8

- add DMA controller nodes

* tag 'uniphier-dt-v5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-uniphier:
  ARM: dts: uniphier: add #address-cells and #size-cells to SPI nodes
  ARM: dts: uniphier: Add ethernet aliases
  ARM: dts: uniphier: Add XDMAC node

Link: https://lore.kernel.org/r/CAK7LNAQXSpg4s0e0d-tp9j85Sj01t13zAa5+rqsOWu4ZvkpYhg@mail.gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-21 22:47:19 +02:00
Arnd Bergmann 622a380d62 MT2712:
- replace deprecated compatible for the usb PHY
 
 MT6797:
 - switch to SPDX identifier
 - add and enable I2C device for x20 development board
 - add I2C compatible to the binding description
 
 MT7622:
 - add Wi-Fi device and enable it for the Bananpi-R64
 
 MT8173:
 - add CPU capacities based on Dhryston benchmark
 - fix DT build warnings
 - set throtteling range to limitless
 - add Elm and Hana devices on which several chromebooks are based
 - add Global Command Queue entries to the users
 
 MT8183:
 - split cpuidle states in two as the clusters have different target residencies
 -----BEGIN PGP SIGNATURE-----
 
 iQJLBAABCAA1FiEEUdvKHhzqrUYPB/u8L21+TfbCqH4FAl7APygXHG1hdHRoaWFz
 LmJnZ0BnbWFpbC5jb20ACgkQL21+TfbCqH61dQ/6AmOSIyRASzUakYIsINERDP2e
 OEFRy8aEDo6WG6Ww6Fc93cxb0EigzVEdZV67hTyF6/OuWfzM6UM+TI40ZqBEAbcV
 4O/keVh7mT7mSU5Qbx0RkJaimPzIXX6h9otGL5cFlGkCkx4HIrg+WaF44n7mibFI
 y4gSTnMQSVHSQk2aU5CNnEyybYk/7L5WoPrciykNpOXKw+LCcZ6dwzyA5uA9PcFy
 XTnjoIwdPRSnYKw8MNVGGLe56HS2luWs0Yr4zv1sVZNczNNGcZ3HOTI1m4lrYW2A
 aCtLMTYiu+ujTq59fyJ9FocL+2gzwWYcRpr3RbE/ykwnWeDrm4S2hCDd3NpvyqRh
 /EYFYzvbPle3+uGlyWu3RNWscoo8J+C/tm3tksiObOmoZ8K8InY2QjaSnqHFPRfQ
 lqdNFhsi5mPPpAz1aQYtNFTwAcSZndNQFOGFYdxZZerjIOWw+I45x0O06yVtYN/9
 PQSqOoMDlt2Tpyzr9CC7Fso/+e6Z7KsezC3xQhUgvUCJ9CUMmyAn2WgJx9DsVCWi
 N+2e1sbaimUf/Ee5i6qDRjDlnTIXulMOZQFYrj30QKuFOqSzduvfW9L5dFSH+/aR
 FvtpAogUreYoXvY6frNaHUaUHuo9yOgP/DIIdzAmwL5/Frgb19keQc/RFSGNh+7C
 d38+03KUniYJ3Kl1gCw=
 =tN8C
 -----END PGP SIGNATURE-----

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

MT2712:
- replace deprecated compatible for the usb PHY

MT6797:
- switch to SPDX identifier
- add and enable I2C device for x20 development board
- add I2C compatible to the binding description

MT7622:
- add Wi-Fi device and enable it for the Bananpi-R64

MT8173:
- add CPU capacities based on Dhryston benchmark
- fix DT build warnings
- set throtteling range to limitless
- add Elm and Hana devices on which several chromebooks are based
- add Global Command Queue entries to the users

MT8183:
- split cpuidle states in two as the clusters have different target residencies

* tag 'v5.7-next-dts64' of git://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux:
  arm64: dts: mt8173: Add capacity-dmips-mhz attributes
  arm64: dts: mt2712: use non-empty ranges for usb-phy
  arm64: dts: mt8173: fix mdp aliases property name
  arm64: dts: mediatek: Switch to SPDX license identifier for MT6797 SoC
  arm64: dts: mediatek: Enable I2C support for 96Boards X20 Development board
  arm64: dts: mediatek: Add I2C support for MT6797 SoC
  dt-bindings: i2c: Document I2C controller binding for MT6797 SoC
  arm64: dts: mt8173: fix cooling device range
  arm64: dts: mediatek: add mt8173 elm and hana board
  arm64: dts: mt8173: fix unit name warnings
  arm64: dts: mt8173: add uart aliases
  dt-bindings: arm64: dts: mediatek: Add mt8173 elm and hana
  arm64: dts: mt8183: adjust cpuidle target residency
  arm64: dts: mt8173: Add gce setting in mmsys and display node
  arm64: dts: mt7622: add built-in Wi-Fi device nodes

Link: https://lore.kernel.org/r/2794a8db-c14f-ac34-9e28-9f3700db6c4c@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-21 22:42:00 +02:00
Arnd Bergmann 409b629420 Ux500 DTS updates for the v5.8 kernel series:
- Add proximity sensor and magnetometer to the Samsung Golden
   devicetree.
 - Add magnetometer and touchscreen to the Samsung Skomer
   devicetree.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEElDRnuGcz/wPCXQWMQRCzN7AZXXMFAl7BoYoACgkQQRCzN7AZ
 XXM2gA/+N9ni+nocsba5LkXSukYyZnww6ymCjjmlmrhfDkvmKFv1XOqar6zy/oBP
 kAvJMvGrHH/17i/3S5CPEDugahKHkc1wD0AvidpTPfF6nomW1JkXZKloK2Cu4DU0
 pmAzvpuozIjDzoO+BZKvu33qS5DlT3fjrAQLRmlRjfcf90EkdwTSFy4yQw9WJUwe
 C/0w0b3anaGlA9iHuaE8PRzoU7mCPkTe2EJZcCrxyJHGR9shXv2VF9dpDRaE5GUl
 LxlpBUuh4sXdivRzs2IAsQ4WNYudXN4o2JpcKTRAGLnygAA6C7vqke4V/QADzjEi
 uPU4PPW2mCR8ntKMWTfOq6/pV0Il+Mkqinljbf3ae2NHJtmfrO+HhNk8NLU89gHz
 ir2oc5lbLfIYlddeL3OSt1iuBrvTi0+aI0EwPadQlOpomZ7glIOwqPsszwUrsv3q
 M12DAJCpyW5DxzXsdTDTvGlA9ph+/gkLiAv7inL5PCQUuOacyfVDADk6juRgCbNB
 BnFfl6HxEyiDBFQ2lSiVUq4pq2E65waoBSwdZ3b8ttFmmcuk0INCM9ts3xOANJzQ
 Su4+XKZrxRA8VbC1RMm1Hbz8W8AujNZhn32U5jN1CcpXQq5gwtdswANj9gXJu53o
 SY2xDrDVSP/O+SlhCCZOEAiVNP5jDCsb/p/SEfhfzU+jBXU7k1k=
 =UOo9
 -----END PGP SIGNATURE-----

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

Ux500 DTS updates for the v5.8 kernel series:

- Add proximity sensor and magnetometer to the Samsung Golden
  devicetree.
- Add magnetometer and touchscreen to the Samsung Skomer
  devicetree.

* tag 'ux500-dts-v5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson:
  ARM: dts: ux500: Add touchscreen to the Skomer
  ARM: dts: ux500: samsung-skomer: Add magnetometer
  ARM: dts: ux500: samsung-golden: Add magnetometer
  ARM: dts: ux500: samsung-golden: Add proximity sensor

Link: https://lore.kernel.org/r/CACRpkdbukO33SxAZ_yn-1N8=hq3hF5OBOtP_V0fbjRT-fAa87A@mail.gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-21 22:41:15 +02:00
Arnd Bergmann 25880899bf MT2701:
- add MUSB device to the SoC and the EVB
 
 MT7623:
 - add Mali-450 device node and bindings
 - add phy to gmac2
 -----BEGIN PGP SIGNATURE-----
 
 iQJLBAABCAA1FiEEUdvKHhzqrUYPB/u8L21+TfbCqH4FAl7AO9gXHG1hdHRoaWFz
 LmJnZ0BnbWFpbC5jb20ACgkQL21+TfbCqH7hLg//aShrNUXpvEWR8HeLwzB5EkhR
 S+8PFfhF40VtjH5/pqyJsSa7M/airffqQbMwIyy1S/HsVHMggZDdTD26DhpH/x0E
 14XnDxKWLmfrxMP/kq5A5X3DM1WQej2X1zpf/aKPkg52EazmYE47F1p2LtRdo+fq
 WAh01ZLHH/Z2J51RJdIwwGHGLNkQR1Ns9HJBKSPVdO28P/+FDO9iP33MmBKRi40A
 lX6k2vkxd+MV+cmNs573LUCzBkPGaAWmDfgDI3Vn3LJbxlWttfqhDttFKhysK4bn
 vaBRFgR4hSwjxhSLFNHBQ9DgCrx6mYezisd1ehCo3XZDB5stZjJJYvrxFdtXeVtX
 JxrvnDue69B+ZOy6hv1Z5+rRQCPMwvGRX3fiKEAjrRjcT9AnaEEbW2SjVZyN85o9
 nAk/juENSVcUhCWt6CJdTXygDUsopLOs/lZH3fWg3xMWaMsC/ZZrl4uxd4PQNo2N
 x1YzcCVptnw2UxuF3asvgRqez6uHx4mUr3FN8MTmM5G9nlABKId6GUTu/Wuh8c50
 YEcNOa/fMm7amAIkXlBTIiRbSf3b+dc7KsD8ld/cIcUMf5l0UWX2GXMW3colx4RE
 MatsAaOaSHHiVbS43O/Iw/rp29ZInmTnARqeijJCdWo4Vz0D9kR9HP7lleFZ+39a
 3+HgZWsS2R7/LuXyG3g=
 =cK6A
 -----END PGP SIGNATURE-----

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

MT2701:
- add MUSB device to the SoC and the EVB

MT7623:
- add Mali-450 device node and bindings
- add phy to gmac2

* tag 'v5.7-next-dts32' of git://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux:
  arm: dts: mt2701: Add usb2 device nodes
  dt-bindings: gpu: mali-utgard: add mediatek, mt7623-mali compatible
  arm: dts: mt7623: add Mali-450 device node
  arm: dts: mt7623: add phy-mode property for gmac2

Link: https://lore.kernel.org/r/ec17cf62-5463-9537-6618-2db9b2b5036e@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-21 22:40:28 +02:00
Arnd Bergmann e9f981c794 SoCFPGA DTS updates for v5.8
- Leave the FPGA bridges disabled in base dtsi
 - Add fpga2hps and fpga2sdram bridges on base Cyclone5/Arria5 dtsi
 -----BEGIN PGP SIGNATURE-----
 
 iQJIBAABCgAyFiEEoHhMeiyk5VmwVMwNGZQEC4GjKPQFAl6+6cMUHGRpbmd1eWVu
 QGtlcm5lbC5vcmcACgkQGZQEC4GjKPQy2w/+KAzDC9PsZ+cx8qcb0t8BmB3N424G
 tIIHXD+dITnJomeu+W9Z/BHBTwHTfEnH2jaVjCpIb7bQtm8u2abf/cNz7PLdza5+
 6CX+uRWlerq42vWZuJAlT0PmTe1bi03+if7YRW09AlmR8z0LZ5kkyaJWhauPVC/V
 8eIvGEoOc75d9r8f+M2w+Q+mq3skIVFJuQyY5pFQCzS2QAgKO6K6gYzj5vTTnDrH
 9hZ13tPWTg7GioqoeApfzd2tOTdjADTS33C24/gwroWJuN9VxJnArTwhyfU5mWbQ
 SRQKNcPHxJIcITV9vvCY+B6dUG6PqAJzxH3lh2aA3ktpkPMqjLxg1tssrJFUgTK8
 NrrmNQ4cw75v0Y9Q0KSsNxiToTABnROTEpPkuNARq3uk3kEjyzxX/9Jp7e/eW/7k
 VnOU5x7OgyI8L6AoEmRlnkF4EBmsLrCMlwPBLcoLLNJz+VZ4qiNpShEzlfesqW6Q
 1/1FL9xBMH86djma0WT54fZnCWSiIDjORKQ3zbIrNJqkA9CK2Do0X7KCzhsbPHKn
 3J9cPxrGBJ+4cprQZj1Uc1rce33JaYQytryNXbfAQat37Sp50sEe1YrtmiMmY/ab
 TnzaIGqludJBZr+czrCPq35kjf8WoUfVGuyTT8/zKUsKxl2HYIAEvEs4ebCnLZ+X
 a8UTu+xKVlHk/tw=
 =UMA8
 -----END PGP SIGNATURE-----

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

SoCFPGA DTS updates for v5.8
- Leave the FPGA bridges disabled in base dtsi
- Add fpga2hps and fpga2sdram bridges on base Cyclone5/Arria5 dtsi

* tag 'socfpga_dts_update_for_v5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux:
  ARM: dts: socfpga: Add fpga2hps and fpga2sdram bridges
  ARM: dts: socfgpa: set bridges status to disabled

Link: https://lore.kernel.org/r/20200515193029.11318-2-dinguyen@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-21 22:39:47 +02:00
Arnd Bergmann 0e909f1861 Our usual number of patches to improve the Allwinner Device Tree
support, including:
   - Support for the IOMMU on the H6
   - Support for cpufreq / thermal throttling on the H6
   - Support for the mailbox on the A64, A83t, H3, H5 and H6
   - New boards: A20-OLinuXino-LIME-eMMC
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQRcEzekXsqa64kGDp7j7w1vZxhRxQUCXr7NHgAKCRDj7w1vZxhR
 xbhGAQCDavHkpjvq4Hwk/znoS0Y6NvW1JQUyKUWH8K6ah1ZkFwEA5gC0Ac9cbDAk
 Q5fZeYl7mPbEL9DI0RphVqHmY2ezXw0=
 =WR5/
 -----END PGP SIGNATURE-----

Merge tag 'sunxi-dt-for-5.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into arm/dt

Our usual number of patches to improve the Allwinner Device Tree
support, including:
  - Support for the IOMMU on the H6
  - Support for cpufreq / thermal throttling on the H6
  - Support for the mailbox on the A64, A83t, H3, H5 and H6
  - New boards: A20-OLinuXino-LIME-eMMC

* tag 'sunxi-dt-for-5.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux: (23 commits)
  arm64: dts: allwinner: h6: Add IOMMU
  arm64: dts: allwinner: h6: Enable CPU opp tables for Tanix TX6
  arm64: dts: allwinner: h6: add voltage range to OPP table
  arm64: dts: allwinner: sun50i-a64: Add missing address/size-cells
  arm64: dts: allwinner: h6: Enable CPU opp tables for Pine H64
  arm64: dts: allwinner: Sort Pine H64 device-tree nodes
  arm64: dts: allwinner: h6: Enable CPU opp tables for Orange Pi 3
  arm64: dts: allwinner: h6: Enable CPU opp tables for Beelink GS1
  arm64: dts: allwinner: h6: Add CPU Operating Performance Points table
  arm64: dts: allwinner: h6: Add thermal trip points/cooling map
  arm64: dts: allwinner: h6: Add clock to CPU cores
  arm64: allwinner: h6: orangepi-lite2: Support BT+WIFI combo module
  arm64: dts: allwinner: h6: orangepi: Disable OTG mode
  arm64: dts: allwinner: h6: orangepi: Add gpio power supply
  ARM: dts: sun8i-h2-plus-bananapi-m2-zero: Fix led polarity
  arm64: dts: allwinner: h6: Add msgbox node
  arm64: dts: allwinner: a64: Add msgbox node
  ARM: dts: sunxi: h3/h5: Add msgbox node
  ARM: dts: sunxi: a83t: Add msgbox node
  ARM: dts: sun8i-h3: add opp table for mali gpu
  ...

Link: https://lore.kernel.org/r/cfa66bd9-f74c-4614-9ea5-9ef8546cc571.lettre@localhost
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-21 22:35:59 +02:00
Arnd Bergmann 9c1acf5174 ARM: tegra: Device tree changes for v5.8-rc1
This contains a bit of cleanup and CPU frequency scaling support for the
 Tegra30 Beaver board.
 -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCAAxFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAl6+pQYTHHRyZWRpbmdA
 bnZpZGlhLmNvbQAKCRDdI6zXfz6zoR+VD/9wS9fQMI3b56vWJa8EKMiIV6XlvDJ/
 HGR0ZOcCH25pHcgMrvg/pAa3TISA2dCGnGxd3Ax+5bU9JvVfC7GujiYwa/IaUkZI
 7alUKUe4sTG498hfix2XNDcYcnHm4UnPen2/3ehugRe8BW9v1fnQHwrz5NM/RbzX
 +EsFA142e74NJ4BcCDsgUHOIU4yWlOVZZi1zP/NbwpNJO4eGV9cXGXVlQfhmtPqZ
 Gz+fe4kUPgUDdTijng8eRpoJXytmki/C6grL0bITtkQ0G4AZIWd9pBts3KO4m+bf
 tGuOMWfXBQm0HuiNB+5dMj4Twmj4h+U94SUVDw9hBhnYb0cYGhEdFhwfzCxqr+iC
 XqY8NsXiKFWnsZUBWDGL5LOIV7qdQnBChizACLLf2qZ5adlRRanPdQRxkFko12pK
 EG27dhN5YtRR1eRtNMmeEQIWZBVj6V1Vg2Mm5EReHO8r/GJ06Ic3lh4MMnk/LCL5
 lYWbrlOTUrJl2LHMDM0N1fAJg97BLr9ni0VX1+E8bb3bQXyiDbzhEV2rLt4adEDF
 0NEY12+/g0XKfxZ0QeC0DjyafHk7WmbO5pHr0FsB5ngc9RB8bfR+8yPvR2E0aiRW
 DuKz6Bp4zXgMLQ7Rk72jU5HVNN7DRGPQ4wN3D9XK9wA1RnFVcspPlWTRMEkdzvrW
 b+rrQnhnUQ22eg==
 =55XZ
 -----END PGP SIGNATURE-----

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

ARM: tegra: Device tree changes for v5.8-rc1

This contains a bit of cleanup and CPU frequency scaling support for the
Tegra30 Beaver board.

* tag 'tegra-for-5.8-arm-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  ARM: dts: tegra30: beaver: Add CPU Operating Performance Points
  ARM: dts: tegra30: beaver: Set up voltage regulators for DVFS
  ARM: tegra: Kill off "simple-panel" compatibles

Link: https://lore.kernel.org/r/20200515145311.1580134-11-thierry.reding@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-21 22:35:00 +02:00
Palmer Dabbelt 8356c379cf
RISC-V: gp_in_global needs register keyword
The Intel kernel build robot recently pointed out that I missed the
register keyword on this one when I refactored the code to remove local
register variables (which aren't supported by LLVM).  GCC's manual
indicates that global register variables must have the register keyword,
As far as I can tell lacking the register keyword causes GCC to ignore
the __asm__ and treat this as a regular variable, but I'm not sure how
that didn't show up as some sort of failure.

Fixes: 52e7c52d2d ("RISC-V: Stop relying on GCC's register allocator's hueristics")
Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com>
2020-05-21 13:28:26 -07:00
Eric W. Biederman bc2bf338d5 exec: Remove recursion from search_binary_handler
Recursion in kernel code is generally a bad idea as it can overflow
the kernel stack.  Recursion in exec also hides that the code is
looping and that the loop changes bprm->file.

Instead of recursing in search_binary_handler have the methods that
would recurse set bprm->interpreter and return 0.  Modify exec_binprm
to loop when bprm->interpreter is set.  Consolidate all of the
reassignments of bprm->file in that loop to make it clear what is
going on.

The structure of the new loop in exec_binprm is that all errors return
immediately, while successful completion (ret == 0 &&
!bprm->interpreter) just breaks out of the loop and runs what
exec_bprm has always run upon successful completion.

Fail if the an interpreter is being call after execfd has been set.
The code has never properly handled an interpreter being called with
execfd being set and with reassignments of bprm->file and the
assignment of bprm->executable in generic code it has finally become
possible to test and fail when if this problematic condition happens.

With the reassignments of bprm->file and the assignment of
bprm->executable moved into the generic code add a test to see if
bprm->executable is being reassigned.

In search_binary_handler remove the test for !bprm->file.  With all
reassignments of bprm->file moved to exec_binprm bprm->file can never
be NULL in search_binary_handler.

Link: https://lkml.kernel.org/r/87sgfwyd84.fsf_-_@x220.int.ebiederm.org
Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
Reviewed-by: Kees Cook <keescook@chromium.org>
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
2020-05-21 10:16:57 -05:00
Eric W. Biederman 8b72ca9004 exec: Move the call of prepare_binprm into search_binary_handler
The code in prepare_binary_handler needs to be run every time
search_binary_handler is called so move the call into search_binary_handler
itself to make the code simpler and easier to understand.

Link: https://lkml.kernel.org/r/87d070zrvx.fsf_-_@x220.int.ebiederm.org
Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
Reviewed-by: Kees Cook <keescook@chromium.org>
Reviewed-by: James Morris <jamorris@linux.microsoft.com>
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
2020-05-21 10:16:57 -05:00
Anshuman Khandual 858b8a8039 arm64/cpuinfo: Add ID_MMFR4_EL1 into the cpuinfo_arm64 context
ID_MMFR4_EL1 has been missing in the CPU context (i.e cpuinfo_arm64). This
just adds the register along with other required changes.

Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Marc Zyngier <maz@kernel.org>
Cc: Suzuki K Poulose <suzuki.poulose@arm.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org

Suggested-by: Will Deacon <will@kernel.org>
Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Link: https://lore.kernel.org/r/1589881254-10082-18-git-send-email-anshuman.khandual@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
2020-05-21 15:47:12 +01:00
Anshuman Khandual 14e270fa5c arm64/cpufeature: Add remaining feature bits in ID_AA64PFR1 register
Enable the following features bits in ID_AA64PFR1 register as per ARM DDI
0487F.a specification.

Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Suzuki K Poulose <suzuki.poulose@arm.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org

Suggested-by: Will Deacon <will@kernel.org>
Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Link: https://lore.kernel.org/r/1589881254-10082-12-git-send-email-anshuman.khandual@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
2020-05-21 15:47:12 +01:00
Anshuman Khandual 011e5f5bf5 arm64/cpufeature: Add remaining feature bits in ID_AA64PFR0 register
Enable MPAM and SEL2 features bits in ID_AA64PFR0 register as per ARM DDI
0487F.a specification.

Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Suzuki K Poulose <suzuki.poulose@arm.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org

Suggested-by: Will Deacon <will@kernel.org>
Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
Link: https://lore.kernel.org/r/1589881254-10082-11-git-send-email-anshuman.khandual@arm.com
[will: Make SEL2 a NONSTRICT feature per Suzuki]
Signed-off-by: Will Deacon <will@kernel.org>
2020-05-21 15:47:11 +01:00
Anshuman Khandual 7cd51a5a84 arm64/cpufeature: Add remaining feature bits in ID_AA64ISAR0 register
Enable TLB features bit in ID_AA64ISAR0 register as per ARM DDI 0487F.a
specification.

Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Suzuki K Poulose <suzuki.poulose@arm.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org

Suggested-by: Will Deacon <will@kernel.org>
Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Link: https://lore.kernel.org/r/1589881254-10082-10-git-send-email-anshuman.khandual@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
2020-05-21 15:47:11 +01:00
Anshuman Khandual fcd6535322 arm64/cpufeature: Add remaining feature bits in ID_MMFR4 register
Enable all remaining feature bits like EVT, CCIDX, LSM, HPDS, CnP, XNX,
SpecSEI in ID_MMFR4 register per ARM DDI 0487F.a.

Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Suzuki K Poulose <suzuki.poulose@arm.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org

Suggested-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Link: https://lore.kernel.org/r/1589881254-10082-9-git-send-email-anshuman.khandual@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
2020-05-21 15:47:11 +01:00
Anshuman Khandual 0ae43a99fe arm64/cpufeature: Add remaining feature bits in ID_PFR0 register
Enable DIT and CSV2 feature bits in ID_PFR0 register as per ARM DDI 0487F.a
specification. Except RAS and AMU, all other feature bits are now enabled.

Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Suzuki K Poulose <suzuki.poulose@arm.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org

Suggested-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Link: https://lore.kernel.org/r/1589881254-10082-8-git-send-email-anshuman.khandual@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
2020-05-21 15:47:11 +01:00
Anshuman Khandual 152accf847 arm64/cpufeature: Introduce ID_MMFR5 CPU register
This adds basic building blocks required for ID_MMFR5 CPU register which
provides information about the implemented memory model and memory
management support in AArch32 state. This is added per ARM DDI 0487F.a
specification.

Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Cc: Marc Zyngier <maz@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: James Morse <james.morse@arm.com>
Cc: Suzuki K Poulose <suzuki.poulose@arm.com>
Cc: kvmarm@lists.cs.columbia.edu
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org

Suggested-by: Will Deacon <will@kernel.org>
Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Link: https://lore.kernel.org/r/1589881254-10082-7-git-send-email-anshuman.khandual@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
2020-05-21 15:47:11 +01:00
Anshuman Khandual dd35ec0704 arm64/cpufeature: Introduce ID_DFR1 CPU register
This adds basic building blocks required for ID_DFR1 CPU register which
provides top level information about the debug system in AArch32 state.
We hide the register from KVM guests, as we don't emulate the 'MTPMU'
feature.

This is added per ARM DDI 0487F.a specification.

Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Cc: Marc Zyngier <maz@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: James Morse <james.morse@arm.com>
Cc: Suzuki K Poulose <suzuki.poulose@arm.com>
Cc: kvmarm@lists.cs.columbia.edu
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org

Suggested-by: Will Deacon <will@kernel.org>
Reviewed-by : Suzuki K Poulose <suzuki.poulose@arm.com>
Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
Link: https://lore.kernel.org/r/1589881254-10082-6-git-send-email-anshuman.khandual@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
2020-05-21 15:47:11 +01:00
Anshuman Khandual 16824085a7 arm64/cpufeature: Introduce ID_PFR2 CPU register
This adds basic building blocks required for ID_PFR2 CPU register which
provides information about the AArch32 programmers model which must be
interpreted along with ID_PFR0 and ID_PFR1 CPU registers. This is added
per ARM DDI 0487F.a specification.

Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Cc: Marc Zyngier <maz@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: James Morse <james.morse@arm.com>
Cc: Suzuki K Poulose <suzuki.poulose@arm.com>
Cc: kvmarm@lists.cs.columbia.edu
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org

Suggested-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Link: https://lore.kernel.org/r/1589881254-10082-5-git-send-email-anshuman.khandual@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
2020-05-21 15:47:11 +01:00
Anshuman Khandual e965bcb062 arm64/cpufeature: Make doublelock a signed feature in ID_AA64DFR0
Double lock feature can have the following possible values.

0b0000 - Double lock implemented
0b1111 - Double lock not implemented

But in case of a conflict the safe value should be 0b1111. Hence this must
be a signed feature instead. Also change FTR_EXACT to FTR_LOWER_SAFE. While
here, fix the erroneous bit width value from 28 to 4.

Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Suzuki K Poulose <suzuki.poulose@arm.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org

Suggested-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Link: https://lore.kernel.org/r/1589881254-10082-4-git-send-email-anshuman.khandual@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
2020-05-21 15:47:11 +01:00
Anshuman Khandual 1ed1b90a05 arm64/cpufeature: Drop TraceFilt feature exposure from ID_DFR0 register
ID_DFR0 based TraceFilt feature should not be exposed to guests. Hence lets
drop it.

Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Cc: Marc Zyngier <maz@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: James Morse <james.morse@arm.com>
Cc: Suzuki K Poulose <suzuki.poulose@arm.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org

Suggested-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Link: https://lore.kernel.org/r/1589881254-10082-3-git-send-email-anshuman.khandual@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
2020-05-21 15:47:11 +01:00
Anshuman Khandual 2a5bc6c47b arm64/cpufeature: Add explicit ftr_id_isar0[] for ID_ISAR0 register
ID_ISAR0[31..28] bits are RES0 in ARMv8, Reserved/UNK in ARMv7. Currently
these bits get exposed through generic_id_ftr32[] which is not desirable.
Hence define an explicit ftr_id_isar0[] array for ID_ISAR0 register where
those bits can be hidden.

Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Suzuki K Poulose <suzuki.poulose@arm.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org

Suggested-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Link: https://lore.kernel.org/r/1589881254-10082-2-git-send-email-anshuman.khandual@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
2020-05-21 15:47:11 +01:00
Michael Ellerman 8659a0e0ef powerpc/64s: Disable STRICT_KERNEL_RWX
Several strange crashes have been eventually traced back to
STRICT_KERNEL_RWX and its interaction with code patching.

Various paths in our ftrace, kprobes and other patching code need to
be hardened against patching failures, otherwise we can end up running
with partially/incorrectly patched ftrace paths, kprobes or jump
labels, which can then cause strange crashes.

Although fixes for those are in development, they're not -rc material.

There also seem to be problems with the underlying strict RWX logic,
which needs further debugging.

So for now disable STRICT_KERNEL_RWX on 64-bit to prevent people from
enabling the option and tripping over the bugs.

Fixes: 1e0fc9d1eb ("powerpc/Kconfig: Enable STRICT_KERNEL_RWX for some configs")
Cc: stable@vger.kernel.org # v4.13+
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20200520133605.972649-1-mpe@ellerman.id.au
2020-05-22 00:04:51 +10:00
Arnd Bergmann a2a3e46cfb Texas Instruments K3 SoC DT updates for v5.8
- Add DSS support for both AM65x and J721e
 - Add watchdog support for J721e
 - Add EHRPWM support for AM65x
 - Add Thermal support for AM65x
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEEtQ6szHmfiBT7fujkyvq9MXlQGhEFAl6+iGsQHHQta3Jpc3Rv
 QHRpLmNvbQAKCRDK+r0xeVAaEbSzD/99PcH5wtvSe2n5KuEpnbDMAmJznwE2yl1u
 qz0BZQ0PJi3xNbJLsp7oxvdNszntFwaSDghGBVTgutHk8IcWbaGssP5Qmw80olot
 itlVGsfGVgQp/OTYtMBJGzOxZQl6TrcBEn0qUbpqPWVhy7v/LGayfWmPi5dGPshQ
 0WzF6UdKR+U15M4c20DaZJ6+bPHNVrUE6/IdNHaYCXPp+MYdlBtWfEhHKyaL7zwA
 jgAp053oPRnzfwracoYcTv+9w8ZL3V/PzttULwLdZIKfJY+b3CUzQ/ohkaEwFov8
 d1iH2CVu4NDWXYxp6NwqqAqmaHsVNPAuXU2jWMGgjB/BtiWdcSEM7yAZW+1IE2Mj
 pwrKJRIddm+ZESB2O4mrFNT0849slgxSZcCLE6nu7QP9gz5XvzotbS/yOt540pjb
 rlYlS4weUlXQ1fYCuJhlqcvWgchpEP6WboKfsE0xzFRcuyMr/CJDYY+vkftICQgm
 rZxbzJfWAvnKrNmW2EyrnbxGesDRrcbVu6WUQLYtyWTnRAkhy/frBxyqsS5T/IT6
 gHwV63CJ0Y56euT/j/Z+FIi08yeeA3fn/w5LSMdGPsOrUOLOMJd/DypK30SV5+Dm
 QZAjSWs0OXqPn6uWEq3ACof2HJUJo/KYL/uqTm0Pe9nbWXnKxWMti9fkGo83YO2z
 8mPWYqp5yA==
 =64P3
 -----END PGP SIGNATURE-----

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

Texas Instruments K3 SoC DT updates for v5.8

- Add DSS support for both AM65x and J721e
- Add watchdog support for J721e
- Add EHRPWM support for AM65x
- Add Thermal support for AM65x

* tag 'ti-k3-dt-for-v5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/kristo/linux:
  arm64: dts: ti: k3-j721e-main: Add main domain watchdog entries
  arm64: dts: ti: k3-am65-main: Add ehrpwm nodes
  arm64: dts: ti: am654: Add thermal zones
  arm64: dts: ti: am65-wakeup: Add VTM node
  arm64: dts: ti: k3-j721e-common-proc-board: add assigned clks for DSS
  arm64: dts: ti: k3-j721e-main: Add DSS node
  arm64: dts: ti: am654: Add DSS node

Link: https://lore.kernel.org/r/7484d3c9-323f-36a3-f0df-1287586f356d@ti.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-21 16:03:56 +02:00
Arnd Bergmann de12d92147 Renesas ARM DT updates for v5.8 (take two)
- Initial support for the Renesas RZ/G1H SoC on the iWave RainboW
     Qseven SOM (G21M) and board (G21D),
   - Support for the AISTARVISION MIPI Adapter V2.1 camera board on the
     Silicon Linux EK874 RZ/G2E evaluation kit.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCXr5g8QAKCRCKwlD9ZEnx
 cDusAQD4SCmyY0MZZNWQhkhu2ics2wYpKItw4Y7E4fl9XUlXkQEAyyN11vVNoteX
 7KvNX7/9eXpberlcx4H6szPQsOzWzwM=
 =2KDk
 -----END PGP SIGNATURE-----

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

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

  - Initial support for the Renesas RZ/G1H SoC on the iWave RainboW
    Qseven SOM (G21M) and board (G21D),
  - Support for the AISTARVISION MIPI Adapter V2.1 camera board on the
    Silicon Linux EK874 RZ/G2E evaluation kit.

* tag 'renesas-arm-dt-for-v5.8-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  arm64: dts: renesas: r8a774c0-cat874: Add support for AISTARVISION MIPI Adapter V2.1
  ARM: dts: r8a7742: Add GPIO nodes
  ARM: dts: r8a7742: Add [H]SCIF{A|B} support
  ARM: dts: r8a7742: Add IRQC support
  ARM: dts: r8a7742-iwg21d-q7: Add iWave G21D-Q7 board based on RZ/G1H
  ARM: dts: r8a7742-iwg21m: Add iWave RZ/G1H Qseven SOM
  ARM: dts: r8a7742: Initial SoC device tree
  clk: renesas: Add r8a7742 CPG Core Clock Definitions
  dt-bindings: power: rcar-sysc: Add r8a7742 power domain index macros

Link: https://lore.kernel.org/r/20200515100547.14671-3-geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-21 16:02:12 +02:00
Arnd Bergmann aff195d0ec STM32 DT updates for v5.8, round 1
Highlights:
 ----------
 
 MCU part:
  -fix a typo for DAC io-channel-cells on f429 and h743
 
 MPU part:
  -Generic:
   -Bump tp PSCI 1.0
   -Fix a typo for DAC io-channel-cells
   -Add M4 pdds for deep sleep mode
   -Add I2C fatmode plus support
 
  -Add new Octavio lxa-mc1 board based on OSDMP15x SiP
 
  -Add new Stinger96 board support. It is a 96Boards IoT Extended board
   based on stm32mp157a SoC. Some figures: 256MB DDR, 125MB and flash,
   Onboard BG96 modem...
 
  -Add IoT Box board support based on stinger96 board + Wifi/BT, CCS811
   VOC sensor, 2 digitals microphones ...
 
  -DH:
   -Adapt dhcom-som and dhcom-pdk2 dts(i) files to STM32MP15 SoC diversity
   -Add GPIO led and GPIO keys support on PDK2 board
 
  -AV96:
   -Major rework to support official avenger96 board based on DHCOR SOM.
   -Prototype board is no more supported
 -----BEGIN PGP SIGNATURE-----
 
 iQJMBAABCgA2FiEEctl9+nxzUSUqdELdf5rJavIecIUFAl69aa4YHGFsZXhhbmRy
 ZS50b3JndWVAc3QuY29tAAoJEH+ayWryHnCFhH0QAK+7gK6fKXJU+meHe7kSuzm1
 IvMYGA126KXubzNCSq2dxkHhGf+hlHE9jaQd27N9sTWY5Zi/B/xMDC+XotZhNEuL
 +vLwPl5tfENOK/MC+eu5HFdx8D/1dMZ1eh0PyudjifxB1yiTqHpoce6hwJ+gHedT
 GwvAz8udReP5jQTHK6Z66z56A81qMxLCKiAL4M2ExqzYECX/nl7bkqtpzG8OG56l
 wsfjOowpw0g6KLMjnL+0l97/xhXUdEeIQ7IvrvNhC4zgNytZREk8wymh0odPHLZP
 PmZ0f0cjgtP3HAt26GuyG2IZI2byoat3KWAqOxmXeqNR7EWPjkwAtU4kYprk1reu
 rZ70SqCvk6ABH3E8s5v4Noa+ni7Et4NB/BqUwulfBXTgl3D9dzloKNc+rSi/BFXd
 E1aaEL4qXu89b3GOsC1tq2SLbsr28GkNg54+Tb1SBpTJV8wTgScKTuopExQoBVPU
 iMRDPJ8jv6fRD99g/ZOa+8u13cYh1u8pSOSS4jpgyHeEagebnxnkLv71uETp2Nva
 WgLXEYuDgfwEJ6C4lyLbX1g5ak1LLix5gDMFTdSPiW0SCIs5NEk112ItQMWg8b3r
 P3pThyzwpUOUyi742OCo02r5d+LrBbcBNktGYMcv/l/lc9u/ObDwmoaBjclTHVwq
 yQuJS+y6TAoLORRr4rOg
 =JFtr
 -----END PGP SIGNATURE-----

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

STM32 DT updates for v5.8, round 1

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

MCU part:
 -fix a typo for DAC io-channel-cells on f429 and h743

MPU part:
 -Generic:
  -Bump tp PSCI 1.0
  -Fix a typo for DAC io-channel-cells
  -Add M4 pdds for deep sleep mode
  -Add I2C fatmode plus support

 -Add new Octavio lxa-mc1 board based on OSDMP15x SiP

 -Add new Stinger96 board support. It is a 96Boards IoT Extended board
  based on stm32mp157a SoC. Some figures: 256MB DDR, 125MB and flash,
  Onboard BG96 modem...

 -Add IoT Box board support based on stinger96 board + Wifi/BT, CCS811
  VOC sensor, 2 digitals microphones ...

 -DH:
  -Adapt dhcom-som and dhcom-pdk2 dts(i) files to STM32MP15 SoC diversity
  -Add GPIO led and GPIO keys support on PDK2 board

 -AV96:
  -Major rework to support official avenger96 board based on DHCOR SOM.
  -Prototype board is no more supported

* tag 'stm32-dt-for-v5.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32: (58 commits)
  ARM: dts: stm32: Split Avenger96 into DHCOR SoM and Avenger96 board
  ARM: dts: stm32: Split SoC-independent parts of DHCOM SOM and PDK2
  ARM: dts: stm32: Add GPIO LEDs for STM32MP1 DHCOM PDK2
  ARM: dts: stm32: Add GPIO keys for STM32MP1 DHCOM PDK2
  ARM: dts: stm32: Add IoT Box board support
  dt-bindings: arm: stm32: Document IoT Box compatible
  ARM: dts: stm32: Add Stinger96 board support
  dt-bindings: arm: stm32: Document Stinger96 compatible
  ARM: dts: stm32: Add missing pinctrl entries for STM32MP15
  dt-bindings: Add vendor prefix for Shiratech Solutions
  ARM: dts: stm32: Add bindings for SPI2 on AV96
  ARM: dts: stm32: Add alternate pinmux for SPI2 pins
  ARM: dts: stm32: Add bindings for ADC on AV96
  ARM: dts: stm32: Add alternate pinmux for ADC pins
  ARM: dts: stm32: Add bindings for FDCAN2 on AV96
  ARM: dts: stm32: Add alternate pinmux for FDCAN2 pins
  ARM: dts: stm32: Add bindings for FDCAN1 on AV96
  ARM: dts: stm32: Add alternate pinmux for FDCAN1 pins
  ARM: dts: stm32: Repair I2C2 operation on AV96
  ARM: dts: stm32: Add alternate pinmux for I2C2 pins
  ...

Link: https://lore.kernel.org/r/19160355-364d-170c-7ae2-5ba7f714103f@st.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-21 16:00:47 +02:00
Arnd Bergmann ca6bc7a192 Samsung DTS ARM changes for v5.8
1. Add DTS for Exynos4210-based Samsung Galaxy S2 (GT-I9100)
    mobile phone,
 2. Enable WiFi and Bluetooth in multiple boards,
 3. Add new features to S5Pv210-based Aries family of mobile phones
    (e.g. Samsung Galaxy S): necessary configuration for suspend, audio
    support, USB mux, touch keys, panel, i2c-gpio adapters, FM radio, ADC,
 4. Many minor fixes (e.g. GPIO polarity, interrupts).
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAl66lFUQHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD1yYGEACBvawfckK8OOJig55ndsENHN+/qvhy2+e8
 GK/vt5Rg0Hx296s+laDhvz7kH4djSca1hAvM6rceA0ov2EqxuncQwAN1elH96HLf
 PHcfWX2+lREz5F5t4vb+/+5YCn0xIH0VQIwPQJUkTCDspo9XU7KrKUo2/h7qycCT
 Pk+TmLJqO/8JKmYTDenm5yALHzdPJgvy/Q+dEU+cXSG//my9azI8vb7AUUgXJTWb
 PYZX8LhyPAK8sOXkVVmfuvz/L+kVGNPP5UNurqUOM+i63OSLyHd1w+6U38OXUGsq
 rJaFsQI7eZNCLH37MHEg0D8vlBG7VaB1jVHRMyQKemu9dojkbv65ISvO8N4gqP3F
 pEgjwDYSddXjrGepHOUHxO+5PVBweDqrPHwk2G46+YdiudcaVflUkQ8XUKqABzPx
 X31LLM7B0ITh3VUZtr1pwluThdlMKClchDzlYMntztSraMtuXxzMXE/MOSrUxmbL
 wYXA2vLn361muuW1YV2kP/1k03vbdyunRybtlcCq4p9oBFC/5LZLVT6ZxIOUXZDm
 620p67/a0o3vaw8xfwvheRv0q2BkbjmHIIedky2VMy5EH6a0czRm37Xxb3pRupxd
 uvuIAHLp2Vu9N+CbKivDeUA37WZZhDi3xz/6jJpTiz9r4ktS5oYEQoyxhNKShOfp
 rOdjhoP6Rg==
 =kTHc
 -----END PGP SIGNATURE-----

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

Samsung DTS ARM changes for v5.8

1. Add DTS for Exynos4210-based Samsung Galaxy S2 (GT-I9100)
   mobile phone,
2. Enable WiFi and Bluetooth in multiple boards,
3. Add new features to S5Pv210-based Aries family of mobile phones
   (e.g. Samsung Galaxy S): necessary configuration for suspend, audio
   support, USB mux, touch keys, panel, i2c-gpio adapters, FM radio, ADC,
4. Many minor fixes (e.g. GPIO polarity, interrupts).

* tag 'samsung-dt-5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux: (29 commits)
  ARM: dts: s5pv210: Set MAX8998 GPIO pulls on Aries boards
  ARM: dts: s5pv210: Correct FIMC definitions
  ARM: dts: s5pv210: Assign clocks to MMC devices on Aries boards
  ARM: dts: s5pv210: Enable ADC on Aries boards
  ARM: dts: s5pv210: Add an ADC node
  ARM: dts: s5pv210: Disable pull for vibrator enable GPIO on Aries boards
  ARM: dts: s5pv210: Add si470x FM radio to Galaxy S
  ARM: dts: s5pv210: Add remaining i2c-gpio adapters to Aries boards
  ARM: dts: s5pv210: Add panel support to Aries boards
  ARM: dts: s5pv210: Add touchkey support to Aries boards
  ARM: dts: s5pv210: Add FSA9480 support to Aries boards
  ARM: dts: s5pv210: Add WM8994 support to Aries boards
  ARM: dts: s5pv210: Disable pulls on GPIO I2C adapters for Aries
  ARM: dts: s5pv210: Set keep-power-in-suspend for SDHCI1 on Aries
  ARM: dts: s5pv210: Correct gpi pinctrl node name
  ARM: dts: s5pv210: Add sleep GPIO configuration for Galaxy S
  ARM: dts: s5pv210: Add sleep GPIO configuration for Fascinate4G
  ARM: dts: s5pv210: Add helper define for sleep gpio config
  ARM: dts: exynos: Enable WLAN support for the UniversalC210 board
  ARM: dts: exynos: Enable WLAN support for the Rinato board
  ...

Link: https://lore.kernel.org/r/20200512122922.5700-2-krzk@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-21 15:51:40 +02:00
Jean-Philippe Brucker 4fc92254bf arm64: mm: Add asid_gen_match() helper
Add a macro to check if an ASID is from the current generation, since a
subsequent patch will introduce a third user for this test.

Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
Link: https://lore.kernel.org/r/20200519175502.2504091-6-jean-philippe@linaro.org
Signed-off-by: Will Deacon <will@kernel.org>
2020-05-21 14:46:14 +01:00
Arnd Bergmann c380981efb This pull request contains Broadcom ARM-based SoCs Device Tree changes
for v5.8, please pull the following:
 
 - Nicolas updates the Raspberry Pi 4 board DTS to include the GPIO
   controlling power to the SD card, adds support for the vmmc regulator
   for the emmc2 controller and finally updates the power management
   provider for V3D to use the firmware to solve instabilities.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEm+Rq3+YGJdiR9yuFh9CWnEQHBwQFAl64WbsACgkQh9CWnEQH
 BwSDyw//TdqnPMJO/U5RbH+prt4N4/FcymESDtZ4op4y2UyI6Cr5g+5IJyEGjaQ1
 YSmdHcTcThYH0nneUIWiATNv7RtyTlg36HiWogxFpTEvvI77ttwiRcSphmxWnJMz
 XLfwzr9b4p+y7IdanwGZ5YLnHfXNX/uZwxfkweRhvNlS9jLvGha1lchV/JS6MKGE
 Nw+d9SN6TyoMxIKL6CJq6TuXDsSsIS94zYZybIN8yFWxbKkK4GXVvMp+s+Ix4dyc
 9TVvT+YtJkKDElcPz0lulLI5P2a9Rdm4jNxTXUKzcfavSPFCq9nkDmxJIhRomAGr
 OGJtIg8gjz44wiFN9WT6BQy1lHqfy44OhRLwZmX8krD6HxEjln8AB5H+8v/AZ5P3
 02lLcfUPYb4y3Fog073zDLa9EZy4fJKxYNnRBVcPwpPkT8mNapC3OKdkC0l5V4s5
 RwCRvvWVQCUDMYxkT1sXlQCFTbTL/VKoa+xS6fsP0TOY8OVCKhxm3M3D5PMDoYic
 r0J/xNngzS8xvm9LwiEvA0tAKfPUTatlFfiFLuJhddUvMFHEsFTmYW+houO54e6N
 jrAxcwMvJlHr/jkaRlpZYf+C18+Z841RDMTmAMpZ1/ad6CgJkyjuf9SLce4hbsp5
 8Cvr6khD+843eWjZYoF5+ePa8UEnCzfpoVf2z4ivXuAf6X3ucLM=
 =cX7l
 -----END PGP SIGNATURE-----

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

This pull request contains Broadcom ARM-based SoCs Device Tree changes
for v5.8, please pull the following:

- Nicolas updates the Raspberry Pi 4 board DTS to include the GPIO
  controlling power to the SD card, adds support for the vmmc regulator
  for the emmc2 controller and finally updates the power management
  provider for V3D to use the firmware to solve instabilities.

* tag 'arm-soc/for-5.8/devicetree' of https://github.com/Broadcom/stblinux:
  ARM: dts: bcm283x: Use firmware PM driver for V3D
  ARM: dts: bcm2711: Add vmmc regulator in emmc2
  ARM: dts: bcm2711: Update expgpio's GPIO labels

Link: https://lore.kernel.org/r/20200511210522.28243-2-f.fainelli@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-21 15:45:59 +02:00
Arnd Bergmann 9c7ae8edb9 ARM64: DT: Hisilicon SoCs DT updates for 5.8
- Add pinconf for spi2 and spi3 nodes and increase the drive
   strength to achieve the max speed for the Hikey960 board
 - Add CTI nodes for the Hikey620 board
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJevjyIAAoJEAvIV27ZiWZcGoYQAJdLtw+VmW+NarmObzZ1vFh9
 tpAWA1UDgH6oY61lscdbi8feAYmj2i8kdCCEFldxUSQCcVFX3MoZAJMTb18EaASg
 tJpLvHcNd47BYv+t9VdlIcEsbKHmZO1eJU4KnzOR4uHr6sS1n4spwpPV7lhIFoHY
 yp5xZSp5COraHrmBkytgcLgxMhLmQl40Kej1MF2Ce6bP/+C10UuejPOn8KaO9bmm
 +7ipF0B254HxmzJJlNWszVJiBweX8UYmeSAe/xLz5mbKAHYnZ1R9Iz2+lJO8SQSz
 ztPrZ5JRW+FNGbHq+Q+e5l2OdxcVoIptlHLbrrmVCt7NoTm/CeXnOg7SzxfHN8J9
 Y8GyFugjXRV4Oe/3SzlApy4Yq5Hf3iAi0jNrbwQHasKptOXEIP/XLP+slppbQmPY
 aklo8iIxM9rUuqHoolFmvl+KE8B7v12YkhBa0sQXWwbGNW2jF6cBknHRC/Lrq6/a
 W0VDdAQJ+Tu8fLvG2mO71ZGAvSC0FMkkQ1XE6wMKNkbwf4g1DCgkK+EqQV1eeZcz
 WJfgwyMQcql6uv5ICbvgiL48MrAxDCaxMLvvjZc1ti9e2DDMROXILCR5Z/tKd8UB
 +2ve/5xcVdujClfpPUoAPwKGrRG9cKZ4PuNOfw5YGntFvLBwhXjtLCjf3/hF4dbD
 Qt9KY+9bBMDcf3qY4JrX
 =+heh
 -----END PGP SIGNATURE-----

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

ARM64: DT: Hisilicon SoCs DT updates for 5.8

- Add pinconf for spi2 and spi3 nodes and increase the drive
  strength to achieve the max speed for the Hikey960 board
- Add CTI nodes for the Hikey620 board

* tag 'hisi-arm64-dt-for-5.8' of git://github.com/hisilicon/linux-hisi:
  arm64: dts: hi6220: Add CTI options
  arm64: dts: hikey960: pinctrl: Fix spi2/spi3 pinconf

Link: https://lore.kernel.org/r/5EBE430E.6090508@hisilicon.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-21 15:43:46 +02:00
Will Deacon a4eb355a3f arm64: vdso: Fix CFI directives in sigreturn trampoline
Daniel reports that the .cfi_startproc is misplaced for the sigreturn
trampoline, which causes LLVM's unwinder to misbehave:

  | I run into this with LLVM’s unwinder.
  | This combination was always broken.

This prompted Dave to question our use of CFI directives more generally,
and I ended up going down a rabbit hole trying to figure out how this
very poorly documented stuff gets used.

Move the CFI directives so that the "mysterious NOP" is included in
the .cfi_{start,end}proc block and add a bunch of comments so that I
can save myself another headache in future.

Cc: Tamas Zsoldos <tamas.zsoldos@arm.com>
Reported-by: Dave Martin <dave.martin@arm.com>
Reported-by: Daniel Kiss <daniel.kiss@arm.com>
Tested-by: Daniel Kiss <daniel.kiss@arm.com>
Signed-off-by: Will Deacon <will@kernel.org>
2020-05-21 12:59:26 +01:00
Will Deacon 9a96428557 arm64: vdso: Don't prefix sigreturn trampoline with a BTI C instruction
For better or worse, GDB relies on the exact instruction sequence in the
VDSO sigreturn trampoline in order to unwind from signals correctly.
Commit c91db232da ("arm64: vdso: Convert to modern assembler annotations")
unfortunately added a BTI C instruction to the start of __kernel_rt_sigreturn,
which breaks this check. Thankfully, it's also not required, since the
trampoline is called from a RET instruction when returning from the signal
handler

Remove the unnecessary BTI C instruction from __kernel_rt_sigreturn,
and do the same for the 32-bit VDSO as well for good measure.

Cc: Daniel Kiss <daniel.kiss@arm.com>
Cc: Tamas Zsoldos <tamas.zsoldos@arm.com>
Reviewed-by: Dave Martin <dave.martin@arm.com>
Reviewed-by: Mark Brown <broonie@kernel.org>
Fixes: c91db232da ("arm64: vdso: Convert to modern assembler annotations")
Signed-off-by: Will Deacon <will@kernel.org>
2020-05-21 12:57:18 +01:00
Arnd Bergmann 8c915019e3 Realtek Arm based SoC DT for v5.8
Add RTD1195, RTD1395 and RTD1619 SoCs as well as Xnano X5 TV box.
 Clean up memory nodes and /soc ranges. Factor out r-bus and partition it
 into CRT, Iso, Misc, SB2 and SCPU Wrapper blocks.
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCAAvFiEEF08DRxvMIhphdW+W+i7RLT5+AT8FAl64dfoRHGFmYWVyYmVy
 QHN1c2UuZGUACgkQ+i7RLT5+AT+iXA//eNc5DNAN7/B3GcoSaKd4jUfh4aCo2FkO
 octvWWuPdMom1zzzpR5GTi4AxFAj3V4gAwFc0SLxXRC1Mwb1QFoGVXsDsFXclhsA
 LdF73S2umVkl65kDvS8rLqq/1e4TidYI6Nlo5MQWcGrTrrkSZdLxiQlhokwsSoLf
 6lS5SqTXuU0Y7b8TOAgsHXZ8HdeNuM0MBvLrNkWSQokFO8tRPYzP6FmrGCK0Z0DE
 dEarIAgrqw5OOoDgSNH80AWzUZGWJSR9gLsl9JwxgmQoG4b66HJrTYZHZ4ylFaeQ
 GsSwiuy7SM1NrU25i6qIGtj7WueGLYczLEBWwKg5AgNcFqq/hGwmoxsLRhJAyb1J
 jcUiH+sfR5fmcuFjA6k3MRD5rTporkS6e44Xni8/AaElSRgu+YYpsXAUeOenMR9m
 cDuR8DrOKkPWyipRK32WyQsF7P3JPaL9gD6q5hSdIAolEncR6LcHNkMUx0zgb/BL
 +gakFU4lmsV9SEFFVyKUr5w0fZLPPWdeXRFtKNZTsPI/AT4jPztIiszB9NWeumMZ
 54uqsm9ct5flLFbqJ/575NDLQHoIY4uz6gZq/oRKdQ/g0AyCI80ZkqnMzm4om4GZ
 Fpdi63l+e2VAJE77R9tqxmj8LQJE9PfTZNo41zFA8gzCqmBN9Rrzs/E47KCLKQYq
 k54Vwaf891g=
 =wdYa
 -----END PGP SIGNATURE-----

Merge tag 'realtek-dt-for-5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/afaerber/linux-realtek into arm/dt

Realtek Arm based SoC DT for v5.8

Add RTD1195, RTD1395 and RTD1619 SoCs as well as Xnano X5 TV box.
Clean up memory nodes and /soc ranges. Factor out r-bus and partition it
into CRT, Iso, Misc, SB2 and SCPU Wrapper blocks.

* tag 'realtek-dt-for-5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/afaerber/linux-realtek: (35 commits)
  dt-bindings: reset: rtd1295: Add SB2 reset
  arm64: dts: realtek: rtd16xx: Add SB2 and SCPU Wrapper syscon nodes
  arm64: dts: realtek: rtd139x: Add SB2 and SCPU Wrapper syscon nodes
  arm64: dts: realtek: rtd129x: Add SB2 and SCPU Wrapper syscon nodes
  ARM: dts: rtd1195: Add SB2 and SCPU Wrapper syscon nodes
  arm64: dts: realtek: rtd16xx: Add CRT syscon node
  ARM: dts: rtd1195: Add UART resets
  ARM: dts: rtd1195: Add reset nodes
  dt-bindings: reset: Add Realtek RTD1195
  ARM: dts: rtd1195: Add CRT syscon node
  arm64: dts: realtek: rtd16xx: Introduce iso and misc syscon
  arm64: dts: realtek: rtd139x: Introduce CRT, iso and misc syscon
  arm64: dts: realtek: rtd129x: Introduce CRT, iso and misc syscon
  ARM: dts: rtd1195: Introduce iso and misc syscon
  arm64: dts: realtek: rtd1295: Add Xnano X5
  dt-bindings: arm: realtek: Add Xnano X5
  dt-bindings: vendor-prefixes: Add Xnano
  arm64: dts: realtek: rtd16xx: Add memory reservations
  arm64: dts: realtek: rtd16xx: Carve out boot ROM from memory
  arm64: dts: realtek: Add RTD1619 SoC and Realtek Mjolnir EVB
  ...

Link: https://lore.kernel.org/r/20200510232158.18477-2-afaerber@suse.de
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-21 12:34:23 +02:00
Arnd Bergmann 18e48cc0ba ASPEED device tree updates for 5.8
New machines:
 
  - YADRO's ast2500 OpenPower P9 Nicole BMC
  - Facebook's ast2500 x86 Yosemite V2 BMC
 
 The AST2600 machines Rainier and Tacoma were fleshed out.
 
 Machines have started describing the GPIO names as userspace attempts
 to use the GPIO chardev API.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEE+nHMAt9PCBDH63wBa3ZZB4FHcJ4FAl61DiEACgkQa3ZZB4FH
 cJ711A/8CMI7QvRESjBcnTGO0VaZrWtWGwT2A4joPpbbE94Iv47pDubYs/iUNzcX
 9prCEGTox4mQ7hpFG1SDdTV/hvJQngEiShqIdMKV+hfHe7lBltjwXDsP/9dkHp3e
 bCToBi+RI1ULfytXU5qubz6oDgD0vfRoBQsNhlvvno+H1u3/VxoX06XThCoi2Slc
 CUKg5KjgWfmtFp7KHODoNrFsgh5FQlRd7YmCX2BRLBtglugJt6Ale6UybPl/irRD
 tPxX+H8A0NwduLrR12D3tQ9OnOuNCb9fh2Y0WW54ZaJj7ep5DWEgUsRXZkNyEke0
 Pmg4xHedVEXhWw+8F/uNb6BEoVI8YSObZt3P3Tc5LGDum7s6HdtRqwhEb06NEDrb
 9X9SiHH/TRhy/00blLA0AsTKtQwvQdArt6D5IgYKMwXfhf7ISklgibhXXT1hGIlq
 qa2Vu6d4QznMFg0A69WR5jmxBkCVt4WAO88VKXiMq8Es6cW3AoPgVSTAVn82fwnF
 VvHbmDccfgqZh1adUQxoz/FQm2gYUeR3szLBFO3vd11b/C5zWZRgdd/+fTbv0J+g
 GRgo/vIMaun6T2oKhRN6r/oo7zZiqXu2sKRnomef1uoxiCPRsWQjWfxcgvwlP0nt
 FTyY4/qmNaTbSaKudswG064aHDZoqAE+1ddMKjEKFht20PsjcYc=
 =0Egh
 -----END PGP SIGNATURE-----

Merge tag 'aspeed-5.8-devicetree' of git://git.kernel.org/pub/scm/linux/kernel/git/joel/aspeed into arm/dt

ASPEED device tree updates for 5.8

New machines:

 - YADRO's ast2500 OpenPower P9 Nicole BMC
 - Facebook's ast2500 x86 Yosemite V2 BMC

The AST2600 machines Rainier and Tacoma were fleshed out.

Machines have started describing the GPIO names as userspace attempts
to use the GPIO chardev API.

* tag 'aspeed-5.8-devicetree' of git://git.kernel.org/pub/scm/linux/kernel/git/joel/aspeed: (32 commits)
  ARM: dts: aspeed: Change KCS nodes to v2 binding
  ARM: dts: Aspeed: AST2600: Add XDMA PCI-E root control reset
  ARM: dts: aspeed: ast2600: Add XDMA Engine
  ARM: dts: aspeed: ast2500: Add XDMA Engine
  ARM: dts: aspeed: Adding Facebook Yosemite V2 BMC
  ARM: dts: aspeed: Add YADRO Nicole BMC
  ARM: dts: aspeed: mihawk: add aliases for i2c
  ARM: dts: aspeed: tacoma: Add TPM
  ARM: dts: aspeed: tacoma: Enable the second VUART
  ARM: dts: aspeed: tacoma: Add iio-hwmon nodes for IIO devices
  ARM: dts: aspeed: rainier: Add VGA reserved memory region
  ARM: dts: aspeed: rainier: Add gpio line names
  ARM: dts: aspeed: tacoma: Add gpio line names
  ARM: dts: aspeed: zaius: Add gpio line names
  ARM: dts: aspeed: romulus: Add gpio line names
  ARM: dts: aspeed: witherspoon: Add gpio line names
  ARM: dts: aspeed: ast2600: Set arch timer always-on
  ARM: dts: aspeed: tacoma: Add GPIOs for FSI
  ARM: dts: aspeed: mihawk: Change the name of leds
  ARM: dts: aspeed: rainier: Remove regulators
  ...

Link: https://lore.kernel.org/r/CACPK8Xd-=XFREvvS-mK_ECyn14y0GPAMyy5BpEEUYfaw4jAgsw@mail.gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-21 12:19:05 +02:00
Arnd Bergmann 4875d9e230 DTS changes for omaps for v5.8 merge window
We add support for beaglebone-ai board that's am5729 based devices.
 
 Then we have a series changes to configure more hardware acceletators found
 on omap variants. With the recent ti-sysc related changes, we can now better
 configure the accelerators with help of the clock framework and reset driver.
 So with a series of changes from Suman Anna and Tero Kristo, let's configure
 IPUs and DSPs for dra7 devices like beagle-x15. And let's also configure the
 missing crypto accelerators for omap5 as those have been missing.
 
 Note that there are still some pending driver related patches to use IPU and
 DSP related features with mainline kernel, but those are independent of the
 devicetree changes.
 
 Then there is a display related change for am57xx-idk for tc358778 bridge,
 and a change to configure the missing clock source for some PWM timers.
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCAAvFiEEkgNvrZJU/QSQYIcQG9Q+yVyrpXMFAl60ST4RHHRvbnlAYXRv
 bWlkZS5jb20ACgkQG9Q+yVyrpXPLbQ/9HtaOPHBGSiySIjiKMipiT4h7Ebc8b6ng
 71rRGFgjlyGSDolBlvEfzRfuMRqIQpCRETMylpn4rHkx/BsTROt90/LayyJiJJ62
 buQtSsx2Ydcxw+QMl8gkBW/Y1toZ31ZQKedeNJDvlAzOt8kgQjiCoBo9VVhiZANX
 xV0tlfUjgU0BH3P5UhyAXQkBHzauqd+c9z4YOuNL1BbEu6b75b5a7f2+DtV/NLmZ
 EaEMtoA/L0k5Ir8GWSc6R48kmpaSs3go6r7v2hUV8rHkQOwUhm6MgdD2xrbXRbH3
 4TVF5KLhV9bSyoIRZryYQWS/8Y5CSfDOHcMFqSHoasvMt81Vnz/bit3akghyQ/Ir
 +3J8sLT6LGVotbDrN++yIfc9KZr7xQBZSbz2lHw/Fg10iD33TvvEASmANNF6FTLy
 mjJpwjqDCMcQ40LLP1aC7SzuM3hf8cWDsagIY3Reo/pW7aF4FEnX14FdObwtmQIJ
 RePY5JLQU1UPXstUwLwjFcmkBYgBGC2DVYPeGTUAU6RQtIX3b9ddpjZxFpMgbBAM
 OgLwDGvdYClh+cwPw4Ax2LPmqs534v75vhYsQO0jjaXcDDhGLGUkfD2v3f1B9Gcl
 Lj2yj6vIBjE3A+LRxJeFv2FWOzi1qsh2NrHILmIh+pNkuTyjcsc4x02+BfQvS4x3
 afVrdB0kOsU=
 =WgDN
 -----END PGP SIGNATURE-----

Merge tag 'omap-for-v5.8/dt-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/dt

DTS changes for omaps for v5.8 merge window

We add support for beaglebone-ai board that's am5729 based devices.

Then we have a series changes to configure more hardware acceletators found
on omap variants. With the recent ti-sysc related changes, we can now better
configure the accelerators with help of the clock framework and reset driver.
So with a series of changes from Suman Anna and Tero Kristo, let's configure
IPUs and DSPs for dra7 devices like beagle-x15. And let's also configure the
missing crypto accelerators for omap5 as those have been missing.

Note that there are still some pending driver related patches to use IPU and
DSP related features with mainline kernel, but those are independent of the
devicetree changes.

Then there is a display related change for am57xx-idk for tc358778 bridge,
and a change to configure the missing clock source for some PWM timers.

* tag 'omap-for-v5.8/dt-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (26 commits)
  ARM: OMAP5: Make L4SEC clock domain SWSUP only
  ARM: OMAP4: Make L4SEC clock domain SWSUP only
  ARM: dts: omap5: add DES crypto accelerator node
  ARM: dts: omap5: add SHA crypto accelerator node
  ARM: dts: omap5: add aes2 entry
  ARM: dts: omap5: add aes1 entry
  ARM: dts: dra7-ipu-dsp-common: Add watchdog timers to IPU and DSP nodes
  ARM: dts: am571x-idk: Add CMA pools and enable IPUs & DSP1 rprocs
  ARM: dts: am572x-idk-common: Add CMA pools and enable IPU & DSP rprocs
  ARM: dts: beagle-x15-common: Add CMA pools and enable IPU & DSP rprocs
  ARM: dts: dra76-evm: Add CMA pools and enable IPU & DSP rprocs
  ARM: dts: dra71-evm: Add CMA pools and enable IPUs & DSP1 rprocs
  ARM: dts: dra72-evm-revc: Add CMA pools and enable IPUs & DSP1 rprocs
  ARM: dts: dra72-evm: Add CMA pools and enable IPUs & DSP1 rprocs
  ARM: dts: dra7-evm: Add CMA pools and enable IPU & DSP rprocs
  ARM: dts: dra7-ipu-dsp-common: Add timers to IPU and DSP nodes
  ARM: dts: dra7-ipu-dsp-common: Add mailboxes to IPU and DSP nodes
  ARM: dts: dra7-ipu-dsp-common: Move mailboxes into common files
  ARM: dts: DRA72x: Add aliases for rproc nodes
  ARM: dts: DRA74x: Add aliases for rproc nodes
  ...

Link: https://lore.kernel.org/r/pull-1588873628-477615@atomide.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-21 12:03:24 +02:00
Arnd Bergmann 71dbe9524d Renesas ARM DT updates for v5.8
- USB, UART, PWM, and PCIe support for R-Car M3-W+,
   - PWM (16-bit Timer Pulse Unit and PWM Timers) support for R-Car M2-W,
   - Minor fixes and cleanups.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCXqqHDQAKCRCKwlD9ZEnx
 cOAWAP0Vmb2PNTBL8lT1eD+iji5lIEH2Dp4PaB2xOVP3BQsU+gEAlc169Jq/fXKo
 F+T6hE2D0ExJMkp0DiDfttpKyQsb5wA=
 =Y+Go
 -----END PGP SIGNATURE-----

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

Renesas ARM DT updates for v5.8

  - USB, UART, PWM, and PCIe support for R-Car M3-W+,
  - PWM (16-bit Timer Pulse Unit and PWM Timers) support for R-Car M2-W,
  - Minor fixes and cleanups.

* tag 'renesas-arm-dt-for-v5.8-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  arm64: dts: renesas: Fix IOMMU device node names
  ARM: dts: renesas: Fix IOMMU device node names
  ARM: dts: shmobile: Update CMT1 compatible values
  ARM: dts: r8a7791: Add PWM device nodes
  ARM: dts: r8a7791: Add TPU device node
  arm64: dts: renesas: r8a77961: Add PCIe device nodes
  arm64: dts: renesas: r8a77961: Add PWM device nodes
  arm64: dts: renesas: r8a77961: Add SCIF and HSCIF nodes
  arm64: dts: renesas: r8a77961: Add USB3.0 device nodes
  arm64: dts: renesas: r8a77961: Add USB2.0 device nodes

Link: https://lore.kernel.org/r/20200430084849.1457-3-geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-21 11:54:42 +02:00
Arnd Bergmann 3f0be4df50 Versatile DTS updates for the v5.8 kernel:
Create a new device tree for the Integrator/AP with the
 IM-PD1 expansion module fitted in the first slot.
 
 If we want to augment the slot where it is sitting, we can
 alter the device tree or make the bootloader do so.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEElDRnuGcz/wPCXQWMQRCzN7AZXXMFAl6oi4YACgkQQRCzN7AZ
 XXOpVBAAxco/qwxQndEPMWDVCtqOdhXglUvq220V5PQ4DNvpm52QeG65rwwR2TK9
 Nun/vW70JZnXysGS4ZAU9NKToenyIdacwfFCea1eDK7cWpbZzZGo3dkMsr90KBah
 iGDx1ua/lAPxP+IhGlv8GBFQ4rMYzBewaAvk30pi3FtoV/gUjszqLUX1UI7TTaEA
 LWlI4t9aFrRryTsffVzCMXKWUbovMfPtf7dvi+H+Paid8x5PVRwpo91eLknydwb6
 BQAxFhaNy34U27DIsH4L2ulcy7xFBwlmOVHA8h9cTq5qFF/ASxAhAmdQvg+DzjqK
 8YZkWAgOMfwuY+zDFHsvGMJXWZeNOfo76tV0QhiHPlC9JcvOxc95SH7SDwTVjQ/v
 JyLfqMxz6VaL4tL5j2APHgjQzpNtOs6aPNiUkmxrz3iLGuzi51f+Ua/I5MbYd2ME
 oyW21YIebHtiHhZ30NenS0hnD2prFzsdDZLgI04LKwCTW56xM2XS7diz1if+yxJ8
 49LWboInAq8B4ipuRmzNrUoWZlcYZcdUh/7gi1xCwkdpg0rNj/3hKzeRf3W78yw2
 Tve2E2TK+I+l4bJclCjdYzbkWUkheZWApx5nK+4kAAwS+rr1AM4oXZYtd7530LUK
 YL9CavQeDL8SfW8zzCVooureO9MDdzYb5o+joKhaBejgvCGThOg=
 =XZ07
 -----END PGP SIGNATURE-----

Merge tag 'versatile-dts-v5.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator into arm/dt

Versatile DTS updates for the v5.8 kernel:

Create a new device tree for the Integrator/AP with the
IM-PD1 expansion module fitted in the first slot.

If we want to augment the slot where it is sitting, we can
alter the device tree or make the bootloader do so.

* tag 'versatile-dts-v5.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator:
  ARM: dts: Add devicetree for Integrator/AP with IM-PD1

Link: https://lore.kernel.org/r/CACRpkdZ-28o+pPdP7i_fc+7g4ndPWf+SWTsjnhFEegTggiXVSg@mail.gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-21 11:53:20 +02:00
Arnd Bergmann dca296dd15 STi DT fixes:
- Remove duplicated rng node in stih407-family.dtsi
 - Fix complain about IRQ_TYPE_NONE usage in stih418.dtsi
 -----BEGIN PGP SIGNATURE-----
 
 iQJLBAABCgA1FiEEXyrViUccKBz9c35Jysd4L3sz/6YFAl6Zh/UXHHBhdHJpY2Uu
 Y2hvdGFyZEBzdC5jb20ACgkQysd4L3sz/6bduA/+Nf+eY0ftqGk8bQQJ99wcbzrp
 ewO3ocq/9coS8Pu3Wr6smcVcZGozQx2nmlOdaSCqjqyiV85osreQJnlpSPjvQBxl
 4ST8an4dVi4I2Ci9QizES1Yg+zs/BNlfmfgR8d1lkS4HiDF9W+NVjA7cEN0s0bRv
 Y2yuU3dpbFcclpWvBTInqC49ek3iKmAv28wfzXlAPhtz8hKx6PR1oaUZilw3HiYe
 2xho9+paUpTzYMMMCRzFeJ/bBD2OfBZbLeo9Yp/40cxdrLLGjzTfjULXF5ZJGywv
 ytvi0WFq+34TuN5+SmV4pOINB7nqxfrFpQr31RbPF1SaH7VC46hKrECqd5g1/uPV
 bpp1udnaaVLillC8cQOQn99+PzRlHSFseq6l8EMxm0Hc4Z7dhDHtybZoduPYAONY
 oEO3hIgA9x80IHMRszupwS3duvLMIW4JsJWkTW/mZZAKVEJ36LsaPNQ0BugG0+HJ
 qbyeycqvKCYI20sw7Wyu2+Sqg3IMpwghCCtP/tyGRtbBIWpNev2YjVbWDOVwjvjQ
 7ROGYqs/RNLuu8XtgJ3j7bS4wxJFjBHkIJvmccgkKYplit0f5r2+FUlAm75lO3IW
 sPV5pLFG/5D061AP9KwiRKVMyCmelen1/sJuNi0ql0zDHJWmovdVfyq0IfxphlQw
 XkIhmx8WETNxGX5ETC4=
 =1MYc
 -----END PGP SIGNATURE-----

Merge tag 'sti-dt-for-v5.8-round1' of git://git.kernel.org/pub/scm/linux/kernel/git/pchotard/sti into arm/dt

STi DT fixes:
- Remove duplicated rng node in stih407-family.dtsi
- Fix complain about IRQ_TYPE_NONE usage in stih418.dtsi

* tag 'sti-dt-for-v5.8-round1' of git://git.kernel.org/pub/scm/linux/kernel/git/pchotard/sti:
  dts: arm: stih407-family: remove duplicated rng nodes
  dts: arm: stih418: Fix complain about IRQ_TYPE_NONE usage

Link: https://lore.kernel.org/r/4b0c02e7-a247-50c0-d729-88d16b9dd7fd@st.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-21 11:51:29 +02:00
Chunyan Zhang 161af8fd02 arm64: dts: Add SC9863A emmc and sd card nodes
Add emmc and sd card devicetree nodes for SC9863A.

Link: https://lore.kernel.org/r/20200414101636.24503-3-zhang.lyra@gmail.com
Signed-off-by: Chunyan Zhang <chunyan.zhang@unisoc.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-21 11:50:44 +02:00
Chunyan Zhang 78efc0199f arm64: dts: Add SC9863A clock nodes
add clock devicetree nodes for SC9863A.

Link: https://lore.kernel.org/r/20200414101636.24503-2-zhang.lyra@gmail.com
Signed-off-by: Chunyan Zhang <chunyan.zhang@unisoc.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-05-21 11:50:32 +02:00
Hsin-Hsiung Wang 9f88722216 arm64: dts: mt6358: add PMIC MT6358 related nodes
add PMIC MT6358 related nodes which is for MT8183 platform

Signed-off-by: Hsin-Hsiung Wang <hsin-hsiung.wang@mediatek.com>
Link: https://lore.kernel.org/r/1587438012-24832-7-git-send-email-hsin-hsiung.wang@mediatek.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2020-05-21 11:31:39 +02:00
Serge Semin bbb5946eb5 mips: MAAR: Use more precise address mask
Indeed according to the MIPS32 Privileged Resource Architecgture the MAAR
pair register address field either takes [12:31] bits for non-XPA systems
and [12:55] otherwise. In any case the current address mask is just
wrong for 64-bit and 32-bits XPA chips. So lets extend it to 59-bits
of physical address value. This shall cover the 64-bits architecture and
systems with XPA enabled, and won't cause any problem for non-XPA 32-bit
systems, since address values exceeding the architecture specific MAAR
mask will be just truncated with setting zeros in the unsupported upper
bits.

Co-developed-by: Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>
Signed-off-by: Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>
Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: Paul Burton <paulburton@kernel.org>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: devicetree@vger.kernel.org
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
2020-05-21 09:06:05 +02:00
Tiezhu Yang 37e2bc4433 MIPS: SGI-IP27: Remove not used definition TICK_SIZE in ip27-timer.c
After commit f5ff0a2802 ("[MIPS] Use generic NTP code for all MIPS
platforms"), TICK_SIZE is not used in ip27-timer.c for many years,
remove it.

Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
2020-05-21 09:05:17 +02:00
Johan Jonker b2cb68e864 arm64: dts: rockchip: fix pinctrl-names for gpio-leds node on rk3326-odroid-go2
The 'pinctrl-names' property should contain a list of names
to the assigned states. The value 'led_pins' in the gpio-leds
node on rk3326-odroid-go2 is not a state that is normally used,
so change it the common name 'default'.

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
Link: https://lore.kernel.org/r/20200519111444.2208-1-jbx6244@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2020-05-21 02:16:51 +02:00
Hamish Martin be0ec060b5 ARM: dts: bcm: HR2: Fix PPI interrupt types
These error messages are output when booting on a BCM HR2 system:
    GIC: PPI11 is secure or misconfigured
    GIC: PPI13 is secure or misconfigured

Per ARM documentation these interrupts are triggered on a rising edge.
See ARM Cortex A-9 MPCore Technical Reference Manual, Revision r4p1,
Section 3.3.8 Interrupt Configuration Registers.

The same issue was resolved for NSP systems in commit 5f1aa51c7a
("ARM: dts: NSP: Fix PPI interrupt types").

Fixes: b9099ec754 ("ARM: dts: Add Broadcom Hurricane 2 DTS include file")
Signed-off-by: Hamish Martin <hamish.martin@alliedtelesis.co.nz>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2020-05-20 17:15:16 -07:00
Vincent Stehlé 58bb90ab41 ARM: dts: bcm2835-rpi-zero-w: Fix led polarity
The status "ACT" led on the Raspberry Pi Zero W is on when GPIO 47 is low.

This has been verified on a board and somewhat confirmed by both the GPIO
name ("STATUS_LED_N") and the reduced schematics [1].

[1]: https://www.raspberrypi.org/documentation/hardware/raspberrypi/schematics/rpi_SCH_ZeroW_1p1_reduced.pdf

Fixes: 2c7c040c73 ("ARM: dts: bcm2835: Add Raspberry Pi Zero W")
Signed-off-by: Vincent Stehlé <vincent.stehle@laposte.net>
Cc: Stefan Wahren <stefan.wahren@i2se.com>
Cc: Florian Fainelli <f.fainelli@gmail.com>
Tested-by: Stefan Wahren <stefan.wahren@i2se.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2020-05-20 17:09:35 -07:00
Kefeng Wang 8fa3cdff05
riscv: Fix print_vm_layout build error if NOMMU
arch/riscv/mm/init.c: In function ‘print_vm_layout’:
arch/riscv/mm/init.c:68:37: error: ‘FIXADDR_START’ undeclared (first use in this function);
arch/riscv/mm/init.c:69:20: error: ‘FIXADDR_TOP’ undeclared
arch/riscv/mm/init.c:70:37: error: ‘PCI_IO_START’ undeclared
arch/riscv/mm/init.c:71:20: error: ‘PCI_IO_END’ undeclared
arch/riscv/mm/init.c:72:38: error: ‘VMEMMAP_START’ undeclared
arch/riscv/mm/init.c:73:20: error: ‘VMEMMAP_END’ undeclared (first use in this function);

Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com>
2020-05-20 15:45:19 -07:00
Yash Shah 087958a176
riscv: cacheinfo: Implement cache_get_priv_group with a generic ops structure
Implement cache_get_priv_group() that will make use of a generic ops
structure to return a private attribute group for custom cache info.

Using riscv_set_cacheinfo_ops() users can hook their own custom function
to return the private attribute group for cacheinfo. In future we can
add more ops to this generic ops structure for SOC specific cacheinfo.

Signed-off-by: Yash Shah <yash.shah@sifive.com>
Reviewed-by: Anup Patel <anup@brainfault.org>
Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com>
2020-05-20 15:05:05 -07:00
Christian Hewitt 0b928e4e41 arm64: dts: meson-g12b-gtking-pro: add initial device-tree
The Shenzen AZW (Beelink) GT-King Pro is based on the Amlogic W400
reference board with an S922X chip.

- 4GB LPDDR4 RAM
- 64GB eMMC storage
- 10/100/1000 Base-T Ethernet
- AP6356S Wireless (802.11 a/b/g/n/ac, BT 4.1)
- HDMI 2.1 video
- Analogue audio output
- 1x RS232 port
- 2x USB 2.0 port
- 2x USB 3.0 ports
- IR receiver
- 1x micro SD card slot
- 1x Power on/off button

Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Link: https://lore.kernel.org/r/20200520014329.12469-6-christianshewitt@gmail.com
2020-05-20 14:43:48 -07:00
Christian Hewitt c5522ff9c7 arm64: dts: meson-g12b-gtking: add initial device-tree
The Shenzen AZW (Beelink) GT-King is based on the Amlogic W400 reference
board with an S922X chip.

- 4GB LPDDR4 RAM
- 64GB eMMC storage
- 10/100/1000 Base-T Ethernet
- AP6356S Wireless (802.11 a/b/g/n/ac, BT 4.1)
- HDMI 2.1 video
- S/PDIF optical output
- Analogue audio output
- 1x USB 2.0 port
- 2x USB 3.0 ports
- IR receiver
- 1x micro SD card slot

Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Link: https://lore.kernel.org/r/20200520014329.12469-4-christianshewitt@gmail.com
2020-05-20 14:43:48 -07:00
Christian Hewitt 3cb74db9b2 arm64: dts: meson: convert ugoos-am6 to common w400 dtsi
Convert the Ugoos AM6 dts into meson-g12b-w400.dtsi, and then create
a new AM6 dts that references it. This is in preparation for several
new G12B devices that will share the common w400 dtsi.

Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Link: https://lore.kernel.org/r/20200520014329.12469-2-christianshewitt@gmail.com
2020-05-20 14:43:48 -07:00
Linus Torvalds d303402c28 This pull request contains the following bug fixes for UML:
- Two missing includes which cause build issues on recent systems
 - Correctly set TRANS_GRE_LEN in our vector network driver
 -----BEGIN PGP SIGNATURE-----
 
 iQJKBAABCAA0FiEEdgfidid8lnn52cLTZvlZhesYu8EFAl7FhnkWHHJpY2hhcmRA
 c2lnbWEtc3Rhci5hdAAKCRBm+VmF6xi7wZQAEADnmie32LgEedmu/olLridVCizK
 tAH9iXnU17PyfwZEibhSrkmS9FVr/e2IxgvtIldG8M/HKQkc07ra86xOuEyya0R6
 luJomwIoW+RiQC4gD4OUF4srx2SlT8q/XcOUsTcSXjVeCnwSYyKkfOLWBGpMxT1A
 ctkEAT7dJBjMsq9mRwjvQwCSdswPziRQcqU4Jb7ufAFuRKfL6faTuz1pHUyTv49L
 J+xnMX4y+4ueoZugxPGIpVoYjJJu5J4K6o1EnaSciDyYlIildiUKzJmXNYc74R2e
 FoFs6nXjvQn74WZr7Ga5yS7IOyR2lEDOHdTofbTY87Hg9jJi2ujwYBqTdx43TESv
 p1mn8gauHa5cVj74vf6UJzJpLAaanpnJY0vSusa2l+UZZ59WzLYQePjxx8uSSdMM
 OEHErp2u++bt3R1EsSeiEsL/7uokVGkr5EOy/8L+veB4G57m8V1KifYJdh7wIq/b
 xBlPP71HnKOfARdF6WBL7EPVqIerNCXemokrpveSgGUAjvyCkHVEACWownPsZkCu
 Gx+b3T3CBhTZbnOJB1m2Q2lc+0rWQPgTw60riWoxdkih8Fxc2DaUoj4a5ZMkbTVH
 63paB4muB+KSSnHvtAhcoGbjhQ+55a1HDTzKA2+NVGxjRaK8YNUAet9cXgfrIqBF
 nV+K14h9nUyeJIyNlw==
 =p8hh
 -----END PGP SIGNATURE-----

Merge tag 'for-linus-5.7-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml

Pull UML fixes from Richard Weinberger:

 - Two missing includes which caused build issues on recent systems

 - Correctly set TRANS_GRE_LEN in our vector network driver

* tag 'for-linus-5.7-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml:
  um: Fix typo in vector driver transport option definition
  um: syscall.c: include <asm/unistd.h>
  um: Fix xor.h include
2020-05-20 12:56:21 -07:00
Sudeep Holla ad5a57dfe4 firmware: smccc: Drop smccc_version enum and use ARM_SMCCC_VERSION_1_x instead
Instead of maintaining 2 sets of enums/macros for tracking SMCCC version,
let us drop smccc_version enum and use ARM_SMCCC_VERSION_1_x directly
instead.

This is in preparation to drop smccc_version here and move it separately
under drivers/firmware/smccc.

Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
Tested-by: Etienne Carriere <etienne.carriere@st.com>
Reviewed-by: Steven Price <steven.price@arm.com>
Reviewed-by: Etienne Carriere <etienne.carriere@st.com>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Link: https://lore.kernel.org/r/20200518091222.27467-5-sudeep.holla@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
2020-05-20 19:10:37 +01:00
Anshuman Khandual f73531f025 arm64/cpufeature: Drop open encodings while extracting parange
Currently there are multiple instances of parange feature width mask open
encodings while fetching it's value. Even the width mask value (0x7) itself
is not accurate. It should be (0xf) per ID_AA64MMFR0_EL1.PARange[3:0] as in
ARM ARM (0487F.a). Replace them with cpuid_feature_extract_unsigned_field()
which can extract given standard feature (4 bits width i.e 0xf mask) field.

Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Cc: Marc Zyngier <maz@kernel.org>
Cc: James Morse <james.morse@arm.com>
Cc: kvmarm@lists.cs.columbia.edu
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org

Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
Acked-by: Marc Zyngier <maz@kernel.org>
Acked-by: Will Deacon <will@kernel.org>
Link: https://lore.kernel.org/r/1589360614-1164-1-git-send-email-anshuman.khandual@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
2020-05-20 18:40:13 +01:00
Arvind Sankar 9b47c52756 efi/libstub: Add definitions for console input and events
Add the required typedefs etc for using con_in's simple text input
protocol, and for using the boottime event services.

Also add the prototype for the "stall" boot service.

Signed-off-by: Arvind Sankar <nivedita@alum.mit.edu>
Link: https://lore.kernel.org/r/20200518190716.751506-19-nivedita@alum.mit.edu
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
2020-05-20 19:09:20 +02:00
Peng Fan 52102a3ba6 soc: imx: move cpu code to drivers/soc/imx
Move the soc device register code to drivers/soc/imx to align with
i.MX8.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-05-20 23:03:50 +08:00
Peng Fan f72130c6b6 ARM: imx: move cpu definitions into a header
The soc device register code will be moved to drivers/soc/imx/,
the code needs the cpu type definitions. So let's move the cpu
type definitions to a header.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-05-20 23:03:47 +08:00
Peng Fan d2199b3487 ARM: imx: use device_initcall for imx_soc_device_init
This is preparation to move imx_soc_device_init to drivers/soc/imx/

There is no reason to must put dt devices under /sys/devices/soc0,
they could also be under /sys/devices/platform, so we could
pass NULL as parent when calling of_platform_default_populate.

Following soc-imx8.c soc-imx-scu.c using device_initcall, need
to change return type to int type for imx_soc_device_init.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-05-20 23:03:42 +08:00
Zhao Qiang 48ffd4ebc1 arm64: dts: Add ds26522 node to dts to ls1043ardb
Add ds26522 node to fsl-ls1043a-rdb.dts

Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-05-20 23:00:47 +08:00
Zhao Qiang 76afd7dbbd arm64: dts: add qe node to ls1043ardb
Add qe node to fsl-ls1043a.dtsi and fsl-ls1043a-rdb.dts

Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-05-20 23:00:27 +08:00
Anshuman Khandual c73433fc63 arm64/cpufeature: Validate hypervisor capabilities during CPU hotplug
This validates hypervisor capabilities like VMID width, IPA range for any
hot plug CPU against system finalized values. KVM's view of the IPA space
is used while allowing a given CPU to come up. While here, it factors out
get_vmid_bits() for general use.

Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Cc: Marc Zyngier <maz@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: James Morse <james.morse@arm.com>
Cc: Suzuki K Poulose <suzuki.poulose@arm.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: kvmarm@lists.cs.columbia.edu
Cc: linux-kernel@vger.kernel.org

Suggested-by: Suzuki Poulose <suzuki.poulose@arm.com>
Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
Reviewed-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/1589248647-22925-1-git-send-email-anshuman.khandual@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
2020-05-20 15:59:23 +01:00
Michael Walle 0d99633fd0 arm64: dts: ls1028a: sl28: keep switch port names consistent
Keep the switch port labels consistent across the different board
variants. If the user wants to rename them, it should be done in
user-space.

Fixes: ab43f03074 ("arm64: dts: ls1028a: sl28: add support for variant 2")
Signed-off-by: Michael Walle <michael@walle.cc>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-05-20 22:58:15 +08:00
Thierry Reding e9bdccb0bd arm64: tegra: Make the RTC a wakeup source on Jetson TX2
The RTC found on the MAX77620 PMIC can be used as a wakeup source on
Jetson TX2, which is useful to wake the system from suspend at a given
time.

Signed-off-by: Thierry Reding <treding@nvidia.com>
Acked-by: Jon Hunter <jonathanh@nvidia.com>
Tested-by: Jon Hunter <jonathanh@nvidia.com>
2020-05-20 15:26:11 +02:00
Thierry Reding ce8a85968d arm64: tegra: Enable VI I2C on Jetson Nano
Enable the VI I2C so that the peripherals connected to it (such as the
camera connector, an INA3221 power monitor and the USB 3.1 4-port hub)
can be accessed.

Signed-off-by: Thierry Reding <treding@nvidia.com>
2020-05-20 15:26:11 +02:00
Vidya Sagar 3482a7afb2 arm64: tegra: Fix flag for 64-bit resources in 'ranges' property
Fix flag in PCIe controllers device-tree nodes 'ranges' property to correctly
represent 64-bit resources.

Fixes: 2602c32f15 ("arm64: tegra: Add P2U and PCIe controller nodes to Tegra194 DT")
Signed-off-by: Vidya Sagar <vidyas@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2020-05-20 15:26:10 +02:00
Sowjanya Komatineni c415388539 arm64: tegra: Add Tegra VI CSI support in device tree
Tegra210 contains VI controller for video input capture from MIPI
CSI camera sensors and also supports built-in test pattern generator.

CSI ports can be one-to-one mapped to VI channels for capturing from
an external sensor or from built-in test pattern generator.

This patch adds support for VI and CSI and enables them in Tegra210
device tree.

Signed-off-by: Sowjanya Komatineni <skomatineni@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2020-05-20 15:26:10 +02:00
Sowjanya Komatineni 2eb8e1a4b1 arm64: tegra: Add reset-cells to memory controller
Tegra210 device tree is missing reset-cells property for the memory
controller node. This patch adds it.

Signed-off-by: Sowjanya Komatineni <skomatineni@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2020-05-20 15:26:10 +02:00
Sowjanya Komatineni b4f99176a5 arm64: tegra: Fix SOR powergate clocks and reset
Tegra210 device tree lists CSI clock and reset under SOR powergate
node.

But Tegra210 has CSICIL in SOR partition and CSI in VENC partition.

So, this patch includes fix for SOR powergate node.

Signed-off-by: Sowjanya Komatineni <skomatineni@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2020-05-20 15:26:09 +02:00
Jon Hunter 4012ab12b3 arm64: tegra: Allow the PMIC RTC to wakeup Jetson Xavier
The PMIC RTC is currently unable to wakeup Tegra194 on the Jetson Xavier
platform because the interrupt from the PMIC is not usin the PMC as the
interrupt parent but the GIC directly. Update the PMIC interrupt to use
the PMC as the interrupt parent so that the PMIC RTC alarms can wakeup
the device.

Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2020-05-20 15:26:09 +02:00
Jon Hunter bba25915b1 arm64: tegra: Fix ethernet phy-mode for Jetson Xavier
The 'phy-mode' property is currently defined as 'rgmii' for Jetson
Xavier. This indicates that the RGMII RX and TX delays are set by the
MAC and the internal delays set by the PHY are not used.

If the Marvell PHY driver is enabled, such that it is used and not the
generic PHY, ethernet failures are seen (DHCP is failing to obtain an
IP address) and this is caused because the Marvell PHY driver is
disabling the internal RX and TX delays. For Jetson Xavier the internal
PHY RX and TX delay should be used and so fix this by setting the
'phy-mode' to 'rgmii-id' and not 'rgmii'.

Fixes: f89b58ce71 ("arm64: tegra: Add ethernet controller on Tegra194")
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2020-05-20 15:26:09 +02:00
Thierry Reding e12325f699 arm64: tegra: Hook up EMC cooling device
The external memory controller can be used as a cooling device for the
LPDDR chips. Hook it up to the "mem" thermal zone of the SOCTHERM block
so that temperature polling can be enabled on the EMC when a given
temperature is exceeded.

Signed-off-by: Thierry Reding <treding@nvidia.com>
2020-05-20 15:26:08 +02:00
Joseph Lo cd9350c55b arm64: tegra: Add external memory controller node for Tegra210
Add external memory controller (EMC) node for Tegra210

Signed-off-by: Joseph Lo <josephl@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2020-05-20 15:26:03 +02:00
Christophe Leroy 40bb0e9042 Revert "powerpc/32s: reorder Linux PTE bits to better match Hash PTE bits."
This reverts commit 697ece78f8.

The implementation of SWAP on powerpc requires page protection
bits to not be one of the least significant PTE bits.

Until the SWAP implementation is changed and this requirement voids,
we have to keep at least _PAGE_RW outside of the 3 last bits.

For now, revert to previous PTE bits order. A further rework
may come later.

Fixes: 697ece78f8 ("powerpc/32s: reorder Linux PTE bits to better match Hash PTE bits.")
Reported-by: Rui Salvaterra <rsalvaterra@gmail.com>
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/b34706f8de87f84d135abb5f3ede6b6f16fb1f41.1589969799.git.christophe.leroy@csgroup.eu
2020-05-20 22:35:52 +10:00
Keno Fischer 1cf6022bd9 arm64: Fix PTRACE_SYSEMU semantics
Quoth the man page:
```
       If the tracee was restarted by PTRACE_SYSCALL or PTRACE_SYSEMU, the
       tracee enters syscall-enter-stop just prior to entering any system
       call (which will not be executed if the restart was using
       PTRACE_SYSEMU, regardless of any change made to registers at this
       point or how the tracee is restarted after this stop).
```

The parenthetical comment is currently true on x86 and powerpc,
but not currently true on arm64. arm64 re-checks the _TIF_SYSCALL_EMU
flag after the syscall entry ptrace stop. However, at this point,
it reflects which method was used to re-start the syscall
at the entry stop, rather than the method that was used to reach it.
Fix that by recording the original flag before performing the ptrace
stop, bringing the behavior in line with documentation and x86/powerpc.

Fixes: f086f67485 ("arm64: ptrace: add support for syscall emulation")
Cc: <stable@vger.kernel.org> # 5.3.x-
Signed-off-by: Keno Fischer <keno@juliacomputing.com>
Acked-by: Will Deacon <will@kernel.org>
Tested-by: Sudeep Holla <sudeep.holla@arm.com>
Tested-by: Bin Lu <Bin.Lu@arm.com>
[catalin.marinas@arm.com: moved 'flags' bit masking]
[catalin.marinas@arm.com: changed 'flags' type to unsigned long]
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2020-05-20 12:02:42 +01:00
Matthias Brugger 0607a30d5f arm64: dts: mt6797: Fix mmsys node name
Node names are supposed to match the class of the device. The
mmsys node is a syscon as it provides more then just a clock controller.
Update the name.

Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>

Reviewed-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>
Link: https://lore.kernel.org/r/20200518113156.25009-4-matthias.bgg@kernel.org
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2020-05-20 12:49:07 +02:00
Enric Balletbo i Serra ae167ae25b arm64: dts: mt8173: Fix mmsys node name
Node names are supposed to match the class of the device, mmsys is a
system controller (syscon) not a clock controller, so change the node
name accordingly.

Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Reviewed-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>
Link: https://lore.kernel.org/r/20200401201736.2980433-4-enric.balletbo@collabora.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2020-05-20 12:48:10 +02:00
Michael Kelley c55a844f46 x86/hyperv: Split hyperv-tlfs.h into arch dependent and independent files
In preparation for adding ARM64 support, split hyperv-tlfs.h into
architecture dependent and architecture independent files, similar
to what has been done with mshyperv.h. Move architecture independent
definitions into include/asm-generic/hyperv-tlfs.h.  The split will
avoid duplicating significant lines of code in the ARM64 version of
hyperv-tlfs.h.  The split has no functional impact.

Some of the common definitions have "X64" in the symbol name.  Change
these to remove the "X64" in the architecture independent version of
hyperv-tlfs.h, but add aliases with the "X64" in the x86 version so
that x86 code will continue to compile.  A later patch set will
change all the references and allow removal of the aliases.

Signed-off-by: Michael Kelley <mikelley@microsoft.com>
Link: https://lore.kernel.org/r/20200422195737.10223-4-mikelley@microsoft.com
Signed-off-by: Wei Liu <wei.liu@kernel.org>
2020-05-20 09:13:58 +00:00
Michael Kelley a8a42d0284 x86/hyperv: Remove HV_PROCESSOR_POWER_STATE #defines
The HV_PROCESSOR_POWER_STATE_C<n> #defines date back to year 2010,
but they are not in the TLFS v6.0 document and are not used anywhere
in Linux.  Remove them.

Signed-off-by: Michael Kelley <mikelley@microsoft.com>
Link: https://lore.kernel.org/r/20200422195737.10223-3-mikelley@microsoft.com
Signed-off-by: Wei Liu <wei.liu@kernel.org>
2020-05-20 09:13:58 +00:00
Michael Kelley 7357b1df74 KVM: x86: hyperv: Remove duplicate definitions of Reference TSC Page
The Hyper-V Reference TSC Page structure is defined twice. struct
ms_hyperv_tsc_page has padding out to a full 4 Kbyte page size. But
the padding is not needed because the declaration includes a union
with HV_HYP_PAGE_SIZE.  KVM uses the second definition, which is
struct _HV_REFERENCE_TSC_PAGE, because it does not have the padding.

Fix the duplication by removing the padding from ms_hyperv_tsc_page.
Fix up the KVM code to use it. Remove the no longer used struct
_HV_REFERENCE_TSC_PAGE.

There is no functional change.

Signed-off-by: Michael Kelley <mikelley@microsoft.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Link: https://lore.kernel.org/r/20200422195737.10223-2-mikelley@microsoft.com
Signed-off-by: Wei Liu <wei.liu@kernel.org>
2020-05-20 09:13:58 +00:00
Gerald Schaefer 4c1cbcbd6c s390/kaslr: add support for R_390_JMP_SLOT relocation type
With certain kernel configurations, the R_390_JMP_SLOT relocation type
might be generated, which is not expected by the KASLR relocation code,
and the kernel stops with the message "Unknown relocation type".

This was found with a zfcpdump kernel config, where CONFIG_MODULES=n
and CONFIG_VFIO=n. In that case, symbol_get() is used on undefined
__weak symbols in virt/kvm/vfio.c, which results in the generation
of R_390_JMP_SLOT relocation types.

Fix this by handling R_390_JMP_SLOT similar to R_390_GLOB_DAT.

Fixes: 805bc0bc23 ("s390/kernel: build a relocatable kernel")
Cc: <stable@vger.kernel.org> # v5.2+
Signed-off-by: Gerald Schaefer <gerald.schaefer@de.ibm.com>
Reviewed-by: Philipp Rudo <prudo@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
2020-05-20 10:13:27 +02:00
Gerald Schaefer ac8372f3b4 s390/mm: fix set_huge_pte_at() for empty ptes
On s390, the layout of normal and large ptes (i.e. pmds/puds) differs.
Therefore, set_huge_pte_at() does a conversion from a normal pte to
the corresponding large pmd/pud. So, when converting an empty pte, this
should result in an empty pmd/pud, which would return true for
pmd/pud_none().

However, after conversion we also mark the pmd/pud as large, and
therefore present. For empty ptes, this will result in an empty pmd/pud
that is also marked as large, and pmd/pud_none() would not return true.

There is currently no issue with this behaviour, as set_huge_pte_at()
does not seem to be called for empty ptes. It would be valid though, so
let's fix this by not marking empty ptes as large in set_huge_pte_at().

This was found by testing a patch from from Anshuman Khandual, which is
currently discussed on LKML ("mm/debug: Add more arch page table helper
tests").

Signed-off-by: Gerald Schaefer <gerald.schaefer@de.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
2020-05-20 10:13:27 +02:00
Paolo Bonzini 9d5272f5e3 Merge tag 'noinstr-x86-kvm-2020-05-16' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into HEAD 2020-05-20 03:40:09 -04:00
Paul Cercueil c9c2e9c596 MIPS: ingenic: Add missing include
Add missing include which adds the prototype to plat_time_init().

Fixes: f932449c11 ("MIPS: ingenic: Drop obsolete code, merge the rest in setup.c")
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Reported-by: kbuild test robot <lkp@intel.com>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
2020-05-20 08:42:31 +02:00
Tiezhu Yang 866c70f28e MIPS: SGI-IP27: Remove not used includes and comment in ip27-timer.c
After commit 0ce5ebd24d ("mfd: ioc3: Add driver for SGI IOC3 chip"),
the related includes and comment about ioc3 are not used any more in
ip27-timer.c, remove them.

Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
2020-05-20 08:42:16 +02:00
Ricardo Cañuelo 103515d918 ARM: dts: imx53-cx9020: Group port definitions for the dvi-converter
Group the port definitions of the dvi-converter in a 'ports' node to
make it compliant with the ti,tfp410 binding.

Signed-off-by: Ricardo Cañuelo <ricardo.canuelo@collabora.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-05-20 10:57:14 +08:00
Anson Huang 6a3153e1e0 ARM: dts: imx5: make src node name generic
Node name should be generic, use "reset-controller" instead of "src" for
i.MX5 SoCs src nodes.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Reviewed-by: Dong Aisheng <aisheng.dong@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-05-20 10:52:14 +08:00
Anson Huang 1ebc662f5d ARM: dts: imx50: Add src node interrupt
Interrupt is a required property according to SRC binding, add
it for SRC node.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Reviewed-by: Dong Aisheng <aisheng.dong@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-05-20 10:52:01 +08:00
Anson Huang eb998547a0 ARM: dts: imx: make src node name generic
Node name should be generic, use "reset-controller" instead of "src" for
i.MX6/i.MX7 SoCs src nodes.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Reviewed-by: Dong Aisheng <aisheng.dong@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-05-20 10:51:38 +08:00
Steffen Trumtrar fbf40f4e64 ARM: dts: imx7d-pinfunc: add input mux for ENET2 mdio
Add the missing input mux for ENET2 mdio. Without this setting, it is not
possible to read the MDIO answers back from the PHY.

Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
Reviewed-by: Dong Aisheng <aisheng.dong@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-05-20 10:49:43 +08:00
Robert Beckett 665e7c73a7 ARM: dts/imx6q-bx50v3: Set display interface clock parents
Avoid LDB and IPU DI clocks both using the same parent. LDB requires
pasthrough clock to avoid breaking timing while IPU DI does not.

Force IPU DI clocks to use IMX6QDL_CLK_PLL2_PFD0_352M as parent
and LDB to use IMX6QDL_CLK_PLL5_VIDEO_DIV.

This fixes an issue where attempting atomic modeset while using
HDMI and display port at the same time causes LDB clock programming
to destroy the programming of HDMI that was done during the same
modeset.

Cc: stable@vger.kernel.org
Signed-off-by: Robert Beckett <bob.beckett@collabora.com>
[Use IMX6QDL_CLK_PLL2_PFD0_352M instead of IMX6QDL_CLK_PLL2_PFD2_396M
 originally chosen by Robert Beckett to avoid affecting eMMC clock
 by DRM atomic updates]
Signed-off-by: Ian Ray <ian.ray@ge.com>
[Squash Robert's and Ian's commits for bisectability, update patch
 description and add stable tag]
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-05-20 10:48:02 +08:00
Anson Huang d7e1c2b081 ARM: dts: imx6sl: Use nvmem interface to get fuse data
Although ocotp clock is always ON for i.MX6SL, OCOTP can be
accessed directly, but since i.MX6SL nvmem interface is supported,
and fsl,tempmon-data is deprecated, use it instead of getting fuse
data by reading ocotp directly, this makes all i.MX6 SoCs aligned.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-05-20 10:21:00 +08:00
Anson Huang d8a6511d98 ARM: dts: imx6qdl: Use nvmem interface to get fuse data
Although ocotp clock is always ON for i.MX6QDL, OCOTP can be
accessed directly, but since i.MX6QDL nvmem interface is supported,
and fsl,tempmon-data is deprecated, use it instead of getting fuse
data by reading ocotp directly, this makes all i.MX6 SoCs aligned.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Reviewed-by: Dong Aisheng <aisheng.dong@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-05-20 10:20:33 +08:00
Tim Harvey 4792ff641c ARM: dts: imx6qdl-gw5910: fix wlan regulator
Connect the wl_reg regulator to usdhc2 such that it can be enabled
and disabled as needed. There is no need for this to be always-on.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-05-20 10:19:18 +08:00
Tim Harvey d40edafe80 ARM: dts: imx6qdl-gw5910: add support for bcm4330-bt
The Sterling-LWB has a BCM4330 which has a UART based bluetooth
HCI. Add support for binding to the bcm_hci driver to take care
of handling the shutdown gpio and loading firmware.

Because the shutdown gpio is more of an enable than a regulator
go ahead and replace the regulator with a shutdown-gpio.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-05-20 10:18:09 +08:00
Tim Harvey c8756cbad8 ARM: dts: imx6qdl-gw5904: add lsm9ds1 iio imu/magn support
Add one node for the accel/gyro i2c device and another for the separate
magnetometer device in the lsm9ds1.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-05-20 10:17:01 +08:00
Tim Harvey 9e72702a3d ARM: dts: imx6qdl-gw560x: add lsm9ds1 iio imu/magn support
Add one node for the accel/gyro i2c device and another for the separate
magnetometer device in the lsm9ds1.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-05-20 10:16:10 +08:00
Anson Huang 012d1c246f ARM: dts: imx53: Add src node interrupt
Interrupt is a required property according to SRC binding, add
it for SRC node.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Reviewed-by: Dong Aisheng <aisheng.dong@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-05-20 09:44:49 +08:00
Anson Huang 905d3d25c1 ARM: dts: imx51: Add src node interrupt
Interrupt is a required property according to SRC binding, add
it for SRC node.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Reviewed-by: Dong Aisheng <aisheng.dong@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-05-20 09:44:25 +08:00
Ma Feng 64d7bf58e7 ARM: imx: pcm037: make pcm970_sja1000_platform_data static
Fix sparse warning:

arch/arm/mach-imx/mach-pcm037.c:407:30: warning: symbol
'pcm970_sja1000_platform_data' was not declared. Should it be static?

Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Ma Feng <mafeng.ma@huawei.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-05-20 09:38:37 +08:00
Anson Huang 1641b23470 arm64: dts: imx8mp: Add src node interrupts
Interrupts is a required property according to SRC binding, add
it for SRC node.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Reviewed-by: Dong Aisheng <aisheng.dong@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-05-20 09:31:56 +08:00
Anson Huang d0955f6649 arm64: dts: imx8mq: Add src node interrupts
Interrupts is a required property according to SRC binding, add
it for SRC node.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Reviewed-by: Dong Aisheng <aisheng.dong@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-05-20 09:31:41 +08:00
Andreas Kemnade 5b4bf80242 ARM: imx_v6_v7_defconfig: extend RN5T618 PMIC family support
There are new drivers for functionality of that family
(RTC and ADC), so enable them, since they are used by
various i.MX6 boards.

Signed-off-by: Andreas Kemnade <andreas@kemnade.info>
Reviewed-by: Dong Aisheng <aisheng.dong@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-05-20 09:29:07 +08:00
Peng Fan 9e6337e6fd arm64: dts: imx8m: assign clocks for A53
Assign IMX8M*_CLK_A53_SRC's parent to system pll1 and
assign IMX8M*_CLK_A53_CORE's parent to arm pll out as what
is done in drivers/clk/imx/clk-imx8m*.c, then we could remove
the settings in driver which triggers lockdep warning.

Reported-by: Leonard Crestez <leonard.crestez@nxp.com>
Reviewed-by: Dong Aisheng <aisheng.dong@nxp.com>
Reviewed-by: Leonard Crestez <leonard.crestez@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-05-20 09:24:12 +08:00
Michael Walle a0a44420e5 arm64: dts: freescale: sl28: enable LPUART1
Now that the LPUART has support for the LS1028A SoC, also enable it on
our board.

Signed-off-by: Michael Walle <michael@walle.cc>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-05-20 09:12:45 +08:00
Fabio Estevam 16d6b91a4b ARM: dts: imx50: Remove unused iomuxc-gpr node
The iomuxc-gpr node is not used and causes the following dtc
warning with W=1:

arch/arm/boot/dts/imx50.dtsi:286.28-289.6: Warning (unique_unit_address): /soc/bus@50000000/iomuxc@53fa8000: duplicate unit-address (also used in node /soc/bus@50000000/iomuxc-gpr@53fa8000)

Remove the node to fix the warning.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
Reviewed-by: Abel Vesa <abel.vesa@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-05-20 08:59:50 +08:00
Yangbo Lu fa578d4e9f arm64: dts: ls1043a-rdb: add compatible for board
Add compatible for board to identify.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-05-20 08:58:13 +08:00
Christian Hewitt 647e1643d6 arm64: dts: meson: add ethernet interrupt to wetek dtsi
Add Ethernet interrupt details to the WeTek Hub/Play2 dtsi to resolve
an issue with Ethernet probing in mainline u-boot.

Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Link: https://lore.kernel.org/r/20200518025451.16401-1-christianshewitt@gmail.com
2020-05-19 16:31:57 -07:00
Christian Hewitt 1d6ece87b7 arm64: dts: meson: add support for the Smartlabs SML-5442TW
The Smartlabs SML-5442TW is based on the Amlogic P231 reference design
but with the following differences:

- The Yellow and Blue LEDs are available but disabled
- The Red and Green LEDs are used to signal off/on status
- uart_AO can be accessed after opening the case; soldered pins exist
- QCA9377 instead of the usual Ampak/Broadcom module

Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Link: https://lore.kernel.org/r/20200510124129.31575-4-christianshewitt@gmail.com
2020-05-19 16:31:57 -07:00
Jerome Brunet dbffd7f9bd arm64: dts: meson: g12: add internal DAC glue
add the internal DAC glue support on the g12 and sm1 family
This glue connects the different TDM interfaces of the SoC to
the internal audio DAC codec.

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Link: https://lore.kernel.org/r/20200506221656.477379-8-jbrunet@baylibre.com
2020-05-19 16:31:56 -07:00
Jerome Brunet 457fa78771 arm64: dts: meson: g12: add internal DAC
add internal audio DAC support on the g12 and sm1 SoC family

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Link: https://lore.kernel.org/r/20200506221656.477379-7-jbrunet@baylibre.com
2020-05-19 16:31:55 -07:00
Jerome Brunet 2989a2d6c7 arm64: dts: meson: libretech-pc: add internal DAC support
Add the internal DAC support on the libretech CC. The output of this
DAC is provided on the 9J4 connector.

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Link: https://lore.kernel.org/r/20200506221656.477379-6-jbrunet@baylibre.com
2020-05-19 16:31:55 -07:00
Jerome Brunet 451323f8bc arm64: dts: meson: libretech-ac: add internal DAC support
Add the internal DAC support on the libretech CC. The output of this
DAC is provided on the 9J5 connector.

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Link: https://lore.kernel.org/r/20200506221656.477379-5-jbrunet@baylibre.com
2020-05-19 16:31:55 -07:00
Jerome Brunet 249ce3777c arm64: dts: meson: libretech-cc: add internal DAC support
Add the internal DAC support on the libretech CC. The output of this
DAC is provided on the 3.5mm jack connector.

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Link: https://lore.kernel.org/r/20200506221656.477379-4-jbrunet@baylibre.com
2020-05-19 16:31:55 -07:00
Jerome Brunet f3c3538225 arm64: dts: meson: p230-q200: add internal DAC support
Add the necessary bits to support the internal audio DAC the p230/q200
reference design derivated boards. The output of this DAC is provided
on the 3.5mm jack connector

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Link: https://lore.kernel.org/r/20200506221656.477379-3-jbrunet@baylibre.com
2020-05-19 16:31:54 -07:00
Jerome Brunet a66d4ae314 arm64: dts: meson: gxl: add acodec support
Add the internal audio DAC to the gxl SoC DT

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Link: https://lore.kernel.org/r/20200506221656.477379-2-jbrunet@baylibre.com
2020-05-19 16:31:54 -07:00
Dongjin Kim 326e57518b arm64: dts: meson-sm1: add support for Hardkernel ODROID-C4
Add the board support for the Hardkernel Odroid-C4 single board computer.

The Odroid-C4 is the Odroid-C2 successor with same form factor, but using
a modern Amlogic S905X3 (SM1) SoC and 4x USB3 ports.

Signed-off-by: Dongjin Kim <tobetter@gmail.com>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Link: https://lore.kernel.org/r/20200506080702.6645-3-narmstrong@baylibre.com
2020-05-19 16:31:54 -07:00
Neil Armstrong c30dd92701 arm64: dts: meson-sm1: add cpu thermal nodes
Add thermal nodes for the Amlogic SM1 SoCs based on the G12A and G12B
thermal nodes.

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Link: https://lore.kernel.org/r/20200512093916.19676-3-narmstrong@baylibre.com
2020-05-19 16:31:53 -07:00
Neil Armstrong fc9eab4b42 arm64: dts: meson-g12b: move G12B thermal nodes to meson-g12b.dtsi
The G12B thermal nodes should be in the meson-g12b.dtsi file.

Fixes: 195f140318 ("arm64: dts: meson: g12b: add cooling properties")
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Link: https://lore.kernel.org/r/20200512093916.19676-2-narmstrong@baylibre.com
2020-05-19 16:31:53 -07:00
Jerome Brunet d8e8e66ea5 arm64: dts: meson: libretech-pc: add initial audio playback support
Add initial audio support limited to HDMI i2s.

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Tested-by: Christian Hewitt <christianshewitt@gmail.com>
Link: https://lore.kernel.org/r/20200421163935.775935-7-jbrunet@baylibre.com
2020-05-19 16:31:53 -07:00
Jerome Brunet c755c7913c arm64: dts: meson: libretech-ac: add initial audio playback support
Add initial audio support limited to HDMI i2s.

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Tested-by: Christian Hewitt <christianshewitt@gmail.com>
Link: https://lore.kernel.org/r/20200421163935.775935-6-jbrunet@baylibre.com
2020-05-19 16:31:52 -07:00
Jerome Brunet a3ff86dcbb arm64: dts: meson: libretech-cc: add initial audio playback support
Add initial audio support limited to HDMI i2s.

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Tested-by: Christian Hewitt <christianshewitt@gmail.com>
Link: https://lore.kernel.org/r/20200421163935.775935-5-jbrunet@baylibre.com
2020-05-19 16:31:52 -07:00
Jerome Brunet 3ffeb9532d arm64: dts: meson: p230-q200: add initial audio playback support
Add basic audio support on the p230/q200 reference design.
This initial support is limited to HDMI i2s and SPDIF (LPCM).

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Tested-by: Christian Hewitt <christianshewitt@gmail.com>
Link: https://lore.kernel.org/r/20200421163935.775935-4-jbrunet@baylibre.com
2020-05-19 16:31:52 -07:00
Jerome Brunet 4cc1b2659d arm64: dts: meson-gx: add aiu support
Add the AIU audio device to the Amlogic GX SoC family DT.
ATM, this device provides the i2s and spdif output stages and also
the hdmi and internal codec glues.

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Tested-by: Christian Hewitt <christianshewitt@gmail.com>
Link: https://lore.kernel.org/r/20200421163935.775935-3-jbrunet@baylibre.com
2020-05-19 16:31:51 -07:00
Martin Blumenstingl 005231128e ARM: dts: meson: Switch existing boards with RGMII PHY to "rgmii-id"
Let the PHY generate the RX and TX delay on the Odroid-C1 and MXIII
Plus.

Previously we did not know that these boards used an RX delay. We
assumed that setting the TX delay on the MAC side It turns out that
these boards also require an RX delay of 2ns (verified on Odroid-C1,
but the u-boot code uses the same setup on both boards). Ethernet only
worked because u-boot added this RX delay on the MAC side.

The 4ns TX delay was also wrong and the result of using an unsupported
RGMII TX clock divider setting. This has been fixed in the driver with
commit bd6f48546b ("net: stmmac: dwmac-meson8b: Fix the RGMII TX
delay on Meson8b/8m2 SoCs").

Switch to phy-mode "rgmii-id" to let the PHY side handle all the delays,
(as recommended by the Ethernet maintainers anyways) to correctly
describe the need for a 2ns RX as well as 2ns TX delay on these boards.
This fixes the Ethernet performance on Odroid-C1 where there was a huge
amount of packet loss when transmitting data due to the incorrect TX
delay.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Link: https://lore.kernel.org/r/20200512215148.540322-3-martin.blumenstingl@googlemail.com
2020-05-19 16:18:59 -07:00
Martin Blumenstingl b632506c5a ARM: dts: meson: Add the Ethernet "timing-adjustment" clock
Add the "timing-adjusment" clock now that we now that this is connected
to the PRG_ETHERNET registers. It is used internally to generate the
RGMII RX delay no the MAC side (if needed).

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Link: https://lore.kernel.org/r/20200512215148.540322-2-martin.blumenstingl@googlemail.com
2020-05-19 16:18:58 -07:00
Martin Blumenstingl f5a7382d6f ARM: dts: meson8m2: Use the Meson8m2 specific USB2 PHY compatible
Use the Meson8m2 specific USB2 PHY compatible string. The 3.10 vendor
kernel has at least one known difference between Meson8 and Meson8m2:
Meson8m2 sets the ACA_ENABLE bit while Meson8 doesn't.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Link: https://lore.kernel.org/r/20200515202520.1487514-1-martin.blumenstingl@googlemail.com
2020-05-19 16:17:28 -07:00
Martin Blumenstingl 9530dcf108 ARM: dts: meson: add the gadget mode properties to the USB0 controller
Testing with a USB RNDIS connection and iperf3 gives the following
results:
- From the host computer to the device at ~250Mbit/s
- From the device to the host computer at ~76Mbit/s

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Link: https://lore.kernel.org/r/20200504195105.2909711-1-martin.blumenstingl@googlemail.com
2020-05-19 16:11:15 -07:00
Linus Torvalds 3c9e66568a ARC fixes for 5.7
- Recent DSP code regressing ARC700 platforms
 
  - Thinkos in ICCM/DCCM size checks
 
  - USB regression
 
  - other small fixes here and there
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEOXpuCuR6hedrdLCJadfx3eKKwl4FAl7EUJ4ACgkQadfx3eKK
 wl4VEA/9H3KxlOUuMKB5GdaoZnBZrWulkb5ky8ZNEXg36oR/GPJx0FIUReKy8U7V
 LkpPmx72uzmm99JkAPih+aDjDIf3SZn6dygpyuBHqArItYu/XWUsQMNtkVqrGwLq
 dKn/2J2iFagBO5DrZ07XTqsKNvLwek3T4OecwvuW/zg125AM9yPwx+AUKBZqLPkF
 runV+UWG0XTyZU2DBa8ZFoevU42ftRG5RkXNgswI0mUd7wtopPgCibcJWxOldgwB
 r5OQWCxpeNcVKJwfngNjAbkiS7G3mK6xerzFNK0mvxm8VxPGe8kQDbF84I4yvC4V
 5suzrfIMRG9dwENwPNpNJ4B+zNtGZOR62+uVqhZ7vdSehvr9EJBwKp63SVwwTe0U
 loa4EQxiOoMVS17fRjK+L/rS+8f235c0yTWkWwUOl7T3zfJB0WbMwsew2oFzofom
 nL5v0jTSjStWfzA9PYMYD4YSWXHxul8JuZaMmxS8f0RSmyC51G8g9MioqxoVwBnV
 LX+zljRC4lCHRJKHEpztJIKpAB3N+/FTAEhcps805kjVOQga4l2aIS3vrigXDGI6
 sYbMs9//YtMDEjR41RW2XWYJd1YZuD61T39nwkJyRz8WtHyw+eGG3YJt8Qj9GtjA
 6eccIFLNKn9jv44MluBU9iWs1btkPPO+Gjj16OWxdKtcUtfx8l8=
 =guYT
 -----END PGP SIGNATURE-----

Merge tag 'arc-5.7-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc

Pull ARC fixes from Vineet Gupta:

 - fix recent DSP code regression on ARC700 platforms

 - fix thinkos in ICCM/DCCM size checks

 - USB regression fix

 - other small fixes here and there

* tag 'arc-5.7-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:
  ARC: show_regs: avoid extra line of output
  ARC: guard dsp early init against non ARCv2
  ARC: [plat-eznps]: Restrict to CONFIG_ISA_ARCOMPACT
  ARC: entry: comment
  arc: remove #ifndef CONFIG_AS_CFI_SIGNAL_FRAME
  arc: ptrace: hard-code "arc" instead of UTS_MACHINE
  ARC: [plat-hsdk]: fix USB regression
  ARC: Fix ICCM & DCCM runtime size checks
2020-05-19 15:40:51 -07:00
Julian Wiedmann fc4a4515ac s390/net: remove pm ops from ccwgroup drivers
commit 5e1fb45ec8 ("s390/ccwgroup: remove pm support") removed power
management support from the ccwgroup bus driver. So remove the
associated callbacks from all ccwgroup drivers.

CC: Vineeth Vijayan <vneethv@linux.ibm.com>
Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2020-05-19 12:48:39 -07:00
Linus Torvalds 97076ea41a hyperv-fixes for 5.7-rc6
-----BEGIN PGP SIGNATURE-----
 
 iQFHBAABCAAxFiEEIbPD0id6easf0xsudhRwX5BBoF4FAl7Dri8THHdlaS5saXVA
 a2VybmVsLm9yZwAKCRB2FHBfkEGgXtWvB/wIE86Nni/FpiRVGSaDYQDduGgMvfxY
 yBRkKw1NdQMIJCkl/63XUcpT1U1lhGolk18CMIBo3ZSLv5xLrZDfDHaD2oTZG6lu
 WfL3lbKcYTsF+cpBm1DkBx7p32cXGDXQ/c5UZOXQEZVPtMI9U+HGg8iRfMPnPzTQ
 eb6o4T7HLNlx9WWHJzx/QbB7MZ+qOyb78EFO60FEJXA/lqbabzaAgQaz8inRKu8d
 70ed5Sl4mUt12GZ2a9KlvdliWBFKf/sv/Rs6VBeBpTByrGJazzlGKBQHMO1oUrme
 Mg3+OoCTZlFwGgkjb/0TCrR0EkVkkxTrU9EYCXg5dQkrLmvgzkPbrCIk
 =CnNw
 -----END PGP SIGNATURE-----

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

Pull hyperv fix from Wei Liu:
 "One patch from Vitaly to fix reenlightenment notifications"

* tag 'hyperv-fixes-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux:
  x86/hyperv: Properly suspend/resume reenlightenment notifications
2020-05-19 11:48:21 -07:00
Gustavo A. R. Silva 8ac7571a8c perf/x86: Replace zero-length array with flexible-array
The current codebase makes use of the zero-length array language
extension to the C90 standard, but the preferred mechanism to declare
variable-length types such as these ones is a flexible array member[1][2],
introduced in C99:

struct foo {
        int stuff;
        struct boo array[];
};

By making use of the mechanism above, we will get a compiler warning
in case the flexible array does not occur last in the structure, which
will help us prevent some kind of undefined behavior bugs from being
inadvertently introduced[3] to the codebase from now on.

Also, notice that, dynamic memory allocations won't be affected by
this change:

"Flexible array members have incomplete type, and so the sizeof operator
may not be applied. As a quirk of the original implementation of
zero-length arrays, sizeof evaluates to zero."[1]

sizeof(flexible-array-member) triggers a warning because flexible array
members have incomplete type[1]. There are some instances of code in
which the sizeof operator is being incorrectly/erroneously applied to
zero-length arrays and the result is zero. Such instances may be hiding
some bugs. So, this work (flexible-array member conversions) will also
help to get completely rid of those sorts of issues.

This issue was found with the help of Coccinelle.

[1] https://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html
[2] https://github.com/KSPP/linux/issues/21
[3] commit 7649773293 ("cxgb3/l2t: Fix undefined behaviour")

Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lkml.kernel.org/r/20200511200911.GA13149@embeddedor
2020-05-19 20:34:16 +02:00
Kan Liang 0813c40556 perf/x86/intel: Add more available bits for OFFCORE_RESPONSE of Intel Tremont
The mask in the extra_regs for Intel Tremont need to be extended to
allow more defined bits.

"Outstanding Requests" (bit 63) is only available on MSR_OFFCORE_RSP0;

Fixes: 6daeb8737f ("perf/x86/intel: Add Tremont core PMU support")
Reported-by: Stephane Eranian <eranian@google.com>
Signed-off-by: Kan Liang <kan.liang@linux.intel.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: stable@vger.kernel.org
Link: https://lkml.kernel.org/r/20200501125442.7030-1-kan.liang@linux.intel.com
2020-05-19 20:34:16 +02:00
Kan Liang f649fc2eef perf/x86/rapl: Add Ice Lake RAPL support
Enable RAPL support for Intel Ice Lake X and Ice Lake D.

For RAPL support, it is identical to Sky Lake X.

Reported-by: Stephane Eranian <eranian@google.com>
Signed-off-by: Kan Liang <kan.liang@linux.intel.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lkml.kernel.org/r/1588857258-38213-1-git-send-email-kan.liang@linux.intel.com
2020-05-19 20:34:16 +02:00
Peter Zijlstra 9013196a46 Merge branch 'sched/urgent' 2020-05-19 20:34:12 +02:00
James Morse 8fcc4ae6fa arm64: acpi: Make apei_claim_sea() synchronise with APEI's irq work
APEI is unable to do all of its error handling work in nmi-context, so
it defers non-fatal work onto the irq_work queue. arch_irq_work_raise()
sends an IPI to the calling cpu, but this is not guaranteed to be taken
before returning to user-space.

Unless the exception interrupted a context with irqs-masked,
irq_work_run() can run immediately. Otherwise return -EINPROGRESS to
indicate ghes_notify_sea() found some work to do, but it hasn't
finished yet.

With this apei_claim_sea() returning '0' means this external-abort was
also notification of a firmware-first RAS error, and that APEI has
processed the CPER records.

Signed-off-by: James Morse <james.morse@arm.com>
Tested-by: Tyler Baicar <baicar@os.amperecomputing.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2020-05-19 19:51:11 +02:00
Nathan Chancellor d7110a26e5 x86/mmiotrace: Use cpumask_available() for cpumask_var_t variables
When building with Clang + -Wtautological-compare and
CONFIG_CPUMASK_OFFSTACK unset:

  arch/x86/mm/mmio-mod.c:375:6: warning: comparison of array 'downed_cpus'
  equal to a null pointer is always false [-Wtautological-pointer-compare]
          if (downed_cpus == NULL &&
              ^~~~~~~~~~~    ~~~~
  arch/x86/mm/mmio-mod.c:405:6: warning: comparison of array 'downed_cpus'
  equal to a null pointer is always false [-Wtautological-pointer-compare]
          if (downed_cpus == NULL || cpumask_weight(downed_cpus) == 0)
              ^~~~~~~~~~~    ~~~~
  2 warnings generated.

Commit

  f7e30f01a9 ("cpumask: Add helper cpumask_available()")

added cpumask_available() to fix warnings of this nature. Use that here
so that clang does not warn regardless of CONFIG_CPUMASK_OFFSTACK's
value.

Reported-by: Sedat Dilek <sedat.dilek@gmail.com>
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
Acked-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Link: https://github.com/ClangBuiltLinux/linux/issues/982
Link: https://lkml.kernel.org/r/20200408205323.44490-1-natechancellor@gmail.com
2020-05-19 19:30:28 +02:00
Tony Lindgren 2ee04b8854 ARM: OMAP2+: Drop old timer code for dmtimer and 32k counter
With dmtimer and 32k counter being initialized based on devicetree data,
we can just drop the old timer code.

This still leaves the omap5 and dra7 realtime_counter_init() that
depend on the smc calls and control module platform code for the dra7
quirk init.

Cc: Grygorii Strashko <grygorii.strashko@ti.com>
Cc: Keerthy <j-keerthy@ti.com>
Cc: Lokesh Vutla <lokeshvutla@ti.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Tero Kristo <t-kristo@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-05-19 09:38:05 -07:00
Tony Lindgren 64dbc3d55d ARM: dts: Configure system timers for omap2
We can now init system timers using the dmtimer and 32k counter
based on only devicetree data and drivers/clocksource timers.
Let's configure the clocksource and clockevent, and drop the old
unused platform data.

As we're just dropping platform data, and the early platform data
init is based on the custom ti,hwmods property, we want to drop
both the platform data and ti,hwmods property in a single patch.

Since the dmtimer can use both 32k clock and system clock as the
source, let's also configure the SoC specific default values. The
board specific dts files can reconfigure these with assigned-clocks
and assigned-clock-parents as needed.

Let's also update the dts file to use #include while at it.

Cc: devicetree@vger.kernel.org
Cc: Aaro Koskinen <aaro.koskinen@iki.fi>
Cc: Grygorii Strashko <grygorii.strashko@ti.com>
Cc: Keerthy <j-keerthy@ti.com>
Cc: Lokesh Vutla <lokeshvutla@ti.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Tero Kristo <t-kristo@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-05-19 09:38:04 -07:00
Tony Lindgren 83bd18b466 ARM: dts: Configure system timers for ti81xx
We can now init system timers using the dmtimer and 32k counter
based on only devicetree data and drivers/clocksource timers.
Let's configure the clocksource and clockevent, and drop the old
unused platform data.

As we're just dropping platform data, and the early platform data
init is based on the custom ti,hwmods property, we want to drop
both the platform data and ti,hwmods property in a single patch.

Since the dmtimer can use both 32k clock and system clock as the
source, let's also configure the SoC specific default values. The
board specific dts files can reconfigure these with assigned-clocks
and assigned-clock-parents as needed.

Note that for ti81xx, also timer1 is of type 2 unlike on am335x
where timer1 is type1 while the rest of the timers are type 2.

Cc: devicetree@vger.kernel.org
Cc: Brian Hutchinson <b.hutchman@gmail.com>
Cc: Graeme Smecher <gsmecher@threespeedlogic.com>
Cc: Grygorii Strashko <grygorii.strashko@ti.com>
Cc: Keerthy <j-keerthy@ti.com>
Cc: Lokesh Vutla <lokeshvutla@ti.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Tero Kristo <t-kristo@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-05-19 09:38:04 -07:00
Tony Lindgren e428e250fd ARM: dts: Configure system timers for omap3
We can now init system timers using the dmtimer and 32k counter
based on only devicetree data and drivers/clocksource timers.
Let's configure the clocksource and clockevent, and drop the old
unused platform data.

As we're just dropping platform data, and the early platform data
init is based on the custom ti,hwmods property, we want to drop
both the platform data and ti,hwmods property in a single patch.

Since the dmtimer can use both 32k clock and system clock as the
source, let's also configure the SoC specific default values. The
board specific dts files can reconfigure these with assigned-clocks
and assigned-clock-parents as needed.

Let's also update the dts file to use #include while at it.

Cc: devicetree@vger.kernel.org
Cc: Adam Ford <aford173@gmail.com>
Cc: Andreas Kemnade <andreas@kemnade.info>
Cc: Grygorii Strashko <grygorii.strashko@ti.com>
Cc: "H. Nikolaus Schaller" <hns@goldelico.com>
Cc: Keerthy <j-keerthy@ti.com>
Cc: Lokesh Vutla <lokeshvutla@ti.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Tero Kristo <t-kristo@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-05-19 09:38:04 -07:00
Tony Lindgren 036a3d42bb ARM: dts: Configure system timers for omap5 and dra7
We can now init system timers using the dmtimer and 32k counter
based on only devicetree data and drivers/clocksource timers.
Let's configure the clocksource and clockevent, and drop the old
unused platform data.

As we're just dropping platform data, and the early platform data
init is based on the custom ti,hwmods property, we want to drop
both the platform data and ti,hwmods property in a single patch.

Since the dmtimer can use both 32k clock and system clock as the
source, let's also configure the SoC specific default values. The
board specific dts files can reconfigure these with assigned-clocks
and assigned-clock-parents as needed.

Note that similar to omap_init_time_of(), we now need to call
omap_clk_init() also from omap5_realtime_timer_init().

Cc: devicetree@vger.kernel.org
Cc: Grygorii Strashko <grygorii.strashko@ti.com>
Cc: Keerthy <j-keerthy@ti.com>
Cc: Lokesh Vutla <lokeshvutla@ti.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Tero Kristo <t-kristo@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-05-19 09:38:04 -07:00
Tony Lindgren 14b1925a72 ARM: dts: Configure system timers for omap4
We can now init system timers using the dmtimer and 32k counter
based on only devicetree data and drivers/clocksource timers.
Let's configure the clocksource and clockevent, and drop the old
unused platform data.

As we're just dropping platform data, and the early platform data
init is based on the custom ti,hwmods property, we want to drop
both the platform data and ti,hwmods property in a single patch.

Since the dmtimer can use both 32k clock and system clock as the
source, let's also configure the SoC specific default values. The
board specific dts files can reconfigure these with assigned-clocks
and assigned-clock-parents as needed.

Cc: devicetree@vger.kernel.org
Cc: Grygorii Strashko <grygorii.strashko@ti.com>
Cc: Keerthy <j-keerthy@ti.com>
Cc: Lokesh Vutla <lokeshvutla@ti.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Tero Kristo <t-kristo@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-05-19 09:38:04 -07:00
Tony Lindgren 545a95582e ARM: dts: Configure system timers for am437x
We can now init system timers using the dmtimer and 32k counter
based on only devicetree data and drivers/clocksource timers.
Let's configure the clocksource and clockevent, and drop the old
unused platform data.

As we're just dropping platform data, and the early platform data
init is based on the custom ti,hwmods property, we want to drop
both the platform data and ti,hwmods property in a single patch.

Since the dmtimer can use both 32k clock and system clock as the
source, let's also configure the SoC specific default values. The
board specific dts files can reconfigure these with assigned-clocks
and assigned-clock-parents as needed.

Cc: devicetree@vger.kernel.org
Cc: Grygorii Strashko <grygorii.strashko@ti.com>
Cc: Keerthy <j-keerthy@ti.com>
Cc: Lokesh Vutla <lokeshvutla@ti.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Tero Kristo <t-kristo@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-05-19 09:38:03 -07:00
Tony Lindgren e20ef23dd6 ARM: dts: Configure system timers for am335x
We can now init system timers using the dmtimer and 32k counter
based on only devicetree data and drivers/clocksource timers.
Let's configure the clocksource and clockevent, and drop the old
unused platform data.

As we're just dropping platform data, and the early platform data
init is based on the custom ti,hwmods property, we want to drop
both the platform data and ti,hwmods property in a single patch.

Since the dmtimer can use both 32k clock and system clock as the
source, let's also configure the SoC specific default values. The
board specific dts files can reconfigure these with assigned-clocks
and assigned-clock-parents as needed.

Cc: devicetree@vger.kernel.org
Cc: Grygorii Strashko <grygorii.strashko@ti.com>
Cc: Keerthy <j-keerthy@ti.com>
Cc: Lokesh Vutla <lokeshvutla@ti.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Tero Kristo <t-kristo@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-05-19 09:38:03 -07:00
Tony Lindgren e69b4e1a75 ARM: OMAP2+: Add omap_init_time_of()
This allows us to move the SoCs to probe system timers one SoC
at at time. As arch/arm/mach-omap2/timer.c will be eventually gone,
let's just add omap_init_time_of() to board-generic.c directly.

Cc: Grygorii Strashko <grygorii.strashko@ti.com>
Cc: Keerthy <j-keerthy@ti.com>
Cc: Lokesh Vutla <lokeshvutla@ti.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Tero Kristo <t-kristo@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-05-19 09:38:03 -07:00
Ard Biesheuvel d0f9ca9be1 ARM: decompressor: run decompressor in place if loaded via UEFI
The decompressor can load from anywhere in memory, and the only reason
the EFI stub code relocates it is to ensure it appears within the first
128 MiB of memory, so that the uncompressed kernel ends up at the right
offset in memory.

We can short circuit this, and simply jump into the decompressor startup
code at the point where it knows where the base of memory lives. This
also means there is no need to disable the MMU and caches, create new
page tables and re-enable them.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Reviewed-by: Nicolas Pitre <nico@fluxnic.net>
2020-05-19 18:23:22 +02:00
Ard Biesheuvel 35d57d1215 ARM: decompressor: move GOT into .data for EFI enabled builds
We will be running the decompressor in place after a future patch,
instead of copying it around first. This means we no longer have to
disable and re-enable the MMU and caches either. However, this means
we will be loaded with the restricted permissions set by the UEFI
firmware, which means that we have to move the GOT table into the
data section in order for the contents to be writable by the code
itself.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Reviewed-by: Nicolas Pitre <nico@fluxnic.net>
2020-05-19 18:23:22 +02:00
Ard Biesheuvel f1f012b033 ARM: decompressor: defer loading of the contents of the LC0 structure
The remaining contents of LC0 are only used after the point in the
decompressor startup code where we enter via 'wont_overwrite'. So
move the loading of the LC0 structure after it. This will allow us
to jump to wont_overwrite directly from the EFI stub, and execute
the decompressor in place at the offset it was loaded by the UEFI
firmware.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Nicolas Pitre <nico@fluxnic.net>
2020-05-19 18:23:22 +02:00
Ard Biesheuvel 161e04a5ba ARM: decompressor: split off _edata and stack base into separate object
In preparation of moving the handling of the LC0 object to a later stage
in the decompressor startup code, move out _edata and the initial value
of the stack pointer, which are needed earlier than the remaining
contents of LC0.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Nicolas Pitre <nico@fluxnic.net>
2020-05-19 18:23:22 +02:00
Benjamin Thiel 0e5e3d4461 x86/audit: Fix a -Wmissing-prototypes warning for ia32_classify_syscall()
Lift the prototype of ia32_classify_syscall() into its own header.

Signed-off-by: Benjamin Thiel <b.thiel@posteo.de>
Signed-off-by: Borislav Petkov <bp@suse.de>
Link: https://lkml.kernel.org/r/20200516123816.2680-1-b.thiel@posteo.de
2020-05-19 18:03:07 +02:00
Serge Semin 9ee195fd1b mips: MAAR: Add XPA mode support
When XPA mode is enabled the normally 32-bits MAAR pair registers
are extended to be of 64-bits width as in pure 64-bits MIPS
architecture. In this case the MAAR registers can enable the
speculative loads/stores for addresses of up to 39-bits width.
But in this case the process of the MAAR initialization changes a bit.
The upper 32-bits of the registers are supposed to be accessed by mean
of the dedicated instructions mfhc0/mthc0 and there is a CP0.MAAR.VH
bit which should be set together with CP0.MAAR.VL as indication
of the boundary validity. All of these peculiarities were taken into
account in this commit so the speculative loads/stores would work
when XPA mode is enabled.

Co-developed-by: Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>
Signed-off-by: Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>
Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: Paul Burton <paulburton@kernel.org>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: linux-pm@vger.kernel.org
Cc: devicetree@vger.kernel.org
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
2020-05-19 17:39:32 +02:00
Zhi Li bd6e38983b MIPS: Remove useless parameter of bootcmdline_init()
The parameter "cmdline_p" is useless in bootcmdline_init(),remove it.

Signed-off-by: Zhi Li <lizhi01@loongson.cn>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
2020-05-19 17:36:04 +02:00
Tiezhu Yang 860f02f13c MIPS: SGI-IP27: Remove duplicated include in ip27-timer.c
After commit 9d0aaf98dc ("MIPS: SGI-IP27: Move all shared IP27
declarations to ip27-common.h"), ip27-common.h is included more
than once in ip27-timer.c, remove it.

Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
2020-05-19 17:35:11 +02:00
Ard Biesheuvel 691cbe5ba5 ARM: decompressor: move headroom variable out of LC0
Before breaking up LC0 into different pieces, move out the variable
that is already place-relative (given that it subtracts 'restart' in
the expression) and so its value does not need to be added to the
runtime address of the LC0 symbol itself.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Nicolas Pitre <nico@fluxnic.net>
2020-05-19 16:56:10 +02:00
Thomas Gleixner 3a7c8fafd1 x86/kvm: Restrict ASYNC_PF to user space
The async page fault injection into kernel space creates more problems than
it solves. The host has absolutely no knowledge about the state of the
guest if the fault happens in CPL0. The only restriction for the host is
interrupt disabled state. If interrupts are enabled in the guest then the
exception can hit arbitrary code. The HALT based wait in non-preemotible
code is a hacky replacement for a proper hypercall.

For the ongoing work to restrict instrumentation and make the RCU idle
interaction well defined the required extra work for supporting async
pagefault in CPL0 is just not justified and creates complexity for a
dubious benefit.

The CPL3 injection is well defined and does not cause any issues as it is
more or less the same as a regular page fault from CPL3.

Suggested-by: Andy Lutomirski <luto@kernel.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Alexandre Chartre <alexandre.chartre@oracle.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Acked-by: Peter Zijlstra <peterz@infradead.org>
Link: https://lkml.kernel.org/r/20200505134059.369802541@linutronix.de
2020-05-19 15:53:58 +02:00
Thomas Gleixner 6bca69ada4 x86/kvm: Sanitize kvm_async_pf_task_wait()
While working on the entry consolidation I stumbled over the KVM async page
fault handler and kvm_async_pf_task_wait() in particular. It took me a
while to realize that the randomly sprinkled around rcu_irq_enter()/exit()
invocations are just cargo cult programming. Several patches "fixed" RCU
splats by curing the symptoms without noticing that the code is flawed 
from a design perspective.

The main problem is that this async injection is not based on a proper
handshake mechanism and only respects the minimal requirement, i.e. the
guest is not in a state where it has interrupts disabled.

Aside of that the actual code is a convoluted one fits it all swiss army
knife. It is invoked from different places with different RCU constraints:

  1) Host side:

     vcpu_enter_guest()
       kvm_x86_ops->handle_exit()
         kvm_handle_page_fault()
           kvm_async_pf_task_wait()

     The invocation happens from fully preemptible context.

  2) Guest side:

     The async page fault interrupted:

         a) user space

	 b) preemptible kernel code which is not in a RCU read side
	    critical section

     	 c) non-preemtible kernel code or a RCU read side critical section
	    or kernel code with CONFIG_PREEMPTION=n which allows not to
	    differentiate between #2b and #2c.

RCU is watching for:

  #1  The vCPU exited and current is definitely not the idle task

  #2a The #PF entry code on the guest went through enter_from_user_mode()
      which reactivates RCU

  #2b There is no preemptible, interrupts enabled code in the kernel
      which can run with RCU looking away. (The idle task is always
      non preemptible).

I.e. all schedulable states (#1, #2a, #2b) do not need any of this RCU
voodoo at all.

In #2c RCU is eventually not watching, but as that state cannot schedule
anyway there is no point to worry about it so it has to invoke
rcu_irq_enter() before running that code. This can be optimized, but this
will be done as an extra step in course of the entry code consolidation
work.

So the proper solution for this is to:

  - Split kvm_async_pf_task_wait() into schedule and halt based waiting
    interfaces which share the enqueueing code.

  - Add comments (condensed form of this changelog) to spare others the
    time waste and pain of reverse engineering all of this with the help of
    uncomprehensible changelogs and code history.

  - Invoke kvm_async_pf_task_wait_schedule() from kvm_handle_page_fault(),
    user mode and schedulable kernel side async page faults (#1, #2a, #2b)

  - Invoke kvm_async_pf_task_wait_halt() for the non schedulable kernel
    case (#2c).

    For this case also remove the rcu_irq_exit()/enter() pair around the
    halt as it is just a pointless exercise:

       - vCPUs can VMEXIT at any random point and can be scheduled out for
         an arbitrary amount of time by the host and this is not any
         different except that it voluntary triggers the exit via halt.

       - The interrupted context could have RCU watching already. So the
	 rcu_irq_exit() before the halt is not gaining anything aside of
	 confusing the reader. Claiming that this might prevent RCU stalls
	 is just an illusion.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Alexandre Chartre <alexandre.chartre@oracle.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Acked-by: Peter Zijlstra <peterz@infradead.org>
Link: https://lkml.kernel.org/r/20200505134059.262701431@linutronix.de
2020-05-19 15:53:58 +02:00
Andy Lutomirski ef68017eb5 x86/kvm: Handle async page faults directly through do_page_fault()
KVM overloads #PF to indicate two types of not-actually-page-fault
events.  Right now, the KVM guest code intercepts them by modifying
the IDT and hooking the #PF vector.  This makes the already fragile
fault code even harder to understand, and it also pollutes call
traces with async_page_fault and do_async_page_fault for normal page
faults.

Clean it up by moving the logic into do_page_fault() using a static
branch.  This gets rid of the platform trap_init override mechanism
completely.

[ tglx: Fixed up 32bit, removed error code from the async functions and
  	massaged coding style ]

Signed-off-by: Andy Lutomirski <luto@kernel.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Alexandre Chartre <alexandre.chartre@oracle.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Acked-by: Peter Zijlstra <peterz@infradead.org>
Link: https://lkml.kernel.org/r/20200505134059.169270470@linutronix.de
2020-05-19 15:53:57 +02:00
Peter Zijlstra 0d00449c7a x86: Replace ist_enter() with nmi_enter()
A few exceptions (like #DB and #BP) can happen at any location in the code,
this then means that tracers should treat events from these exceptions as
NMI-like. The interrupted context could be holding locks with interrupts
disabled for instance.

Similarly, #MC is an actual NMI-like exception.

All of them use ist_enter() which only concerns itself with RCU, but does
not do any of the other setup that NMIs need. This means things like:

	printk()
	  raw_spin_lock_irq(&logbuf_lock);
	  <#DB/#BP/#MC>
	     printk()
	       raw_spin_lock_irq(&logbuf_lock);

are entirely possible (well, not really since printk tries hard to
play nice, but the concept stands).

So replace ist_enter() with nmi_enter(). Also observe that any nmi_enter()
caller must be both notrace and NOKPROBE, or in the noinstr text section.

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Alexandre Chartre <alexandre.chartre@oracle.com>
Link: https://lkml.kernel.org/r/20200505134101.525508608@linutronix.de
2020-05-19 15:51:20 +02:00
Peter Zijlstra 5567d11c21 x86/mce: Send #MC singal from task work
Convert #MC over to using task_work_add(); it will run the same code
slightly later, on the return to user path of the same exception.

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Frederic Weisbecker <frederic@kernel.org>
Reviewed-by: Alexandre Chartre <alexandre.chartre@oracle.com>
Link: https://lkml.kernel.org/r/20200505134100.957390899@linutronix.de
2020-05-19 15:51:19 +02:00
Thomas Gleixner b052df3da8 x86/entry: Get rid of ist_begin/end_non_atomic()
This is completely overengineered and definitely not an interface which
should be made available to anything else than this particular MCE case.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Alexandre Chartre <alexandre.chartre@oracle.com>
Acked-by: Peter Zijlstra <peterz@infradead.org>
Link: https://lkml.kernel.org/r/20200505134059.462640294@linutronix.de
2020-05-19 15:51:19 +02:00
Peter Zijlstra 178ba00c35 sh/ftrace: Move arch_ftrace_nmi_{enter,exit} into nmi exception
SuperH is the last remaining user of arch_ftrace_nmi_{enter,exit}(),
remove it from the generic code and into the SuperH code.

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Alexandre Chartre <alexandre.chartre@oracle.com>
Acked-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Cc: Rich Felker <dalias@libc.org>
Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
Link: https://lkml.kernel.org/r/20200505134101.248881738@linutronix.de
2020-05-19 15:51:18 +02:00
Peter Zijlstra 69ea03b56e hardirq/nmi: Allow nested nmi_enter()
Since there are already a number of sites (ARM64, PowerPC) that effectively
nest nmi_enter(), make the primitive support this before adding even more.

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Marc Zyngier <maz@kernel.org>
Acked-by: Will Deacon <will@kernel.org>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lkml.kernel.org/r/20200505134100.864179229@linutronix.de
2020-05-19 15:51:17 +02:00
Frederic Weisbecker 28f6bf9e24 arm64: Prepare arch_nmi_enter() for recursion
When using nmi_enter() recursively, arch_nmi_enter() must also be recursion
safe. In particular, it must be ensured that HCR_TGE is always set while in
NMI context when in HYP mode, and be restored to it's former state when
done.

The current code fails this when interleaved wrong. Notably it overwrites
the original hcr state on nesting.

Introduce a nesting counter to make sure to store the original value.

Signed-off-by: Frederic Weisbecker <frederic@kernel.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Alexandre Chartre <alexandre.chartre@oracle.com>
Cc: Will Deacon <will@kernel.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Link: https://lkml.kernel.org/r/20200505134100.771491291@linutronix.de
2020-05-19 15:51:17 +02:00
Thomas Gleixner 6553896666 vmlinux.lds.h: Create section for protection against instrumentation
Some code pathes, especially the low level entry code, must be protected
against instrumentation for various reasons:

 - Low level entry code can be a fragile beast, especially on x86.

 - With NO_HZ_FULL RCU state needs to be established before using it.

Having a dedicated section for such code allows to validate with tooling
that no unsafe functions are invoked.

Add the .noinstr.text section and the noinstr attribute to mark
functions. noinstr implies notrace. Kprobes will gain a section check
later.

Provide also a set of markers: instrumentation_begin()/end()

These are used to mark code inside a noinstr function which calls
into regular instrumentable text section as safe.

The instrumentation markers are only active when CONFIG_DEBUG_ENTRY is
enabled as the end marker emits a NOP to prevent the compiler from merging
the annotation points. This means the objtool verification requires a
kernel compiled with this option.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Alexandre Chartre <alexandre.chartre@oracle.com>
Acked-by: Peter Zijlstra <peterz@infradead.org>
Link: https://lkml.kernel.org/r/20200505134100.075416272@linutronix.de
2020-05-19 15:47:20 +02:00
Arvind Sankar 5214028dd8 x86/boot: Correct relocation destination on old linkers
For the 32-bit kernel, as described in

  6d92bc9d48 ("x86/build: Build compressed x86 kernels as PIE"),

pre-2.26 binutils generates R_386_32 relocations in PIE mode. Since the
startup code does not perform relocation, any reloc entry with R_386_32
will remain as 0 in the executing code.

Commit

  974f221c84 ("x86/boot: Move compressed kernel to the end of the
                 decompression buffer")

added a new symbol _end but did not mark it hidden, which doesn't give
the correct offset on older linkers. This causes the compressed kernel
to be copied beyond the end of the decompression buffer, rather than
flush against it. This region of memory may be reserved or already
allocated for other purposes by the bootloader.

Mark _end as hidden to fix. This changes the relocation from R_386_32 to
R_386_RELATIVE even on the pre-2.26 binutils.

For 64-bit, this is not strictly necessary, as the 64-bit kernel is only
built as PIE if the linker supports -z noreloc-overflow, which implies
binutils-2.27+, but for consistency, mark _end as hidden here too.

The below illustrates the before/after impact of the patch using
binutils-2.25 and gcc-4.6.4 (locally compiled from source) and QEMU.

  Disassembly before patch:
    48:   8b 86 60 02 00 00       mov    0x260(%esi),%eax
    4e:   2d 00 00 00 00          sub    $0x0,%eax
                          4f: R_386_32    _end
  Disassembly after patch:
    48:   8b 86 60 02 00 00       mov    0x260(%esi),%eax
    4e:   2d 00 f0 76 00          sub    $0x76f000,%eax
                          4f: R_386_RELATIVE      *ABS*

Dump from extract_kernel before patch:
	early console in extract_kernel
	input_data: 0x0207c098 <--- this is at output + init_size
	input_len: 0x0074fef1
	output: 0x01000000
	output_len: 0x00fa63d0
	kernel_total_size: 0x0107c000
	needed_size: 0x0107c000

Dump from extract_kernel after patch:
	early console in extract_kernel
	input_data: 0x0190d098 <--- this is at output + init_size - _end
	input_len: 0x0074fef1
	output: 0x01000000
	output_len: 0x00fa63d0
	kernel_total_size: 0x0107c000
	needed_size: 0x0107c000

Fixes: 974f221c84 ("x86/boot: Move compressed kernel to the end of the decompression buffer")
Signed-off-by: Arvind Sankar <nivedita@alum.mit.edu>
Signed-off-by: Borislav Petkov <bp@suse.de>
Link: https://lkml.kernel.org/r/20200207214926.3564079-1-nivedita@alum.mit.edu
2020-05-19 14:11:22 +02:00
Vincent Whitchurch cdcb07e45a ARM: 8975/1: module: fix handling of unwind init sections
Unwind information for init sections is placed in .ARM.exidx.init.text
and .ARM.extab.init.text.  The module core doesn't know that these are
init sections so they are allocated along with the core sections, and if
the core and init sections get allocated in different memory regions
(which is possible with CONFIG_ARM_MODULE_PLTS=y) and they can't reach
each other, relocation fails:

  final section addresses:
  	...
  	0x7f800000 .init.text
	..
  	0xcbb54078 .ARM.exidx.init.text
	..

 section 16 reloc 0 sym '': relocation 42 out of range (0xcbb54078 ->
 0x7f800000)

Fix this by informing the module core that these sections are init
sections, and by removing the init unwind tables before the module core
frees the init sections.

Signed-off-by: Vincent Whitchurch <vincent.whitchurch@axis.com>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2020-05-19 11:42:15 +01:00
Fredrik Strupe 3866f217aa ARM: 8977/1: ptrace: Fix mask for thumb breakpoint hook
call_undef_hook() in traps.c applies the same instr_mask for both 16-bit
and 32-bit thumb instructions. If instr_mask then is only 16 bits wide
(0xffff as opposed to 0xffffffff), the first half-word of 32-bit thumb
instructions will be masked out. This makes the function match 32-bit
thumb instructions where the second half-word is equal to instr_val,
regardless of the first half-word.

The result in this case is that all undefined 32-bit thumb instructions
with the second half-word equal to 0xde01 (udf #1) work as breakpoints
and will raise a SIGTRAP instead of a SIGILL, instead of just the one
intended 16-bit instruction. An example of such an instruction is
0xeaa0de01, which is unallocated according to Arm ARM and should raise a
SIGILL, but instead raises a SIGTRAP.

This patch fixes the issue by setting all the bits in instr_mask, which
will still match the intended 16-bit thumb instruction (where the
upper half is always 0), but not any 32-bit thumb instructions.

Cc: Oleg Nesterov <oleg@redhat.com>
Signed-off-by: Fredrik Strupe <fredrik@strupe.net>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2020-05-19 11:41:54 +01:00
Mike Rapoport 0697e5e06e ARM: 8974/1: use SPARSMEM_STATIC when SPARSEMEM is enabled
The commit 3e347261a8 ("[PATCH] sparsemem extreme implementation")
made SPARSMEM_EXTREME the default option for configurations that enable
SPARSEMEM.

For ARM systems with handful of memory banks SPARSEMEM_EXTREME is an
overkill.

Ensure that SPARSMEM_STATIC is enabled in the configurations that use
SPARSEMEM.

Fixes: 3e347261a8 ("[PATCH] sparsemem extreme implementation")
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Mike Rapoport <rppt@linux.ibm.com>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2020-05-19 11:40:34 +01:00
Paolo Bonzini d43e2675e9 KVM: x86: only do L1TF workaround on affected processors
KVM stores the gfn in MMIO SPTEs as a caching optimization.  These are split
in two parts, as in "[high 11111 low]", to thwart any attempt to use these bits
in an L1TF attack.  This works as long as there are 5 free bits between
MAXPHYADDR and bit 50 (inclusive), leaving bit 51 free so that the MMIO
access triggers a reserved-bit-set page fault.

The bit positions however were computed wrongly for AMD processors that have
encryption support.  In this case, x86_phys_bits is reduced (for example
from 48 to 43, to account for the C bit at position 47 and four bits used
internally to store the SEV ASID and other stuff) while x86_cache_bits in
would remain set to 48, and _all_ bits between the reduced MAXPHYADDR
and bit 51 are set.  Then low_phys_bits would also cover some of the
bits that are set in the shadow_mmio_value, terribly confusing the gfn
caching mechanism.

To fix this, avoid splitting gfns as long as the processor does not have
the L1TF bug (which includes all AMD processors).  When there is no
splitting, low_phys_bits can be set to the reduced MAXPHYADDR removing
the overlap.  This fixes "npt=0" operation on EPYC processors.

Thanks to Maxim Levitsky for bisecting this bug.

Cc: stable@vger.kernel.org
Fixes: 52918ed5fc ("KVM: SVM: Override default MMIO mask if memory encryption is enabled")
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2020-05-19 05:47:06 -04:00
Johan Jonker 2b99e61966 arm64: dts: rockchip: fix pd_tcpc0 and pd_tcpc1 node position on rk3399
The pd_tcpc0 and pd_tcpc1 nodes are currently a sub node of pd_vio.
In the rk3399 TRM figure of the 'Power Domain Partition' and in the
table of 'Power Domain and Voltage Domain Summary' these power domains
are positioned directly under VD_LOGIC, so fix that in 'rk3399.dtsi'.

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
Reviewed-by: Caesar Wang <wxt@rock-chips.com>
Link: https://lore.kernel.org/r/20200428203003.3318-2-jbx6244@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2020-05-19 10:17:51 +02:00
Maulik Shah 7d2f29e494 arm64: dts: qcom: sc7180: Correct the pdc interrupt ranges
Few PDC interrupts do not map to respective parent GIC interrupt.
Fix this by correcting the pdc interrupt map.

Fixes: 22f185ee81 ("arm64: dts: qcom: sc7180: Add pdc interrupt controller")
Cc: devicetree@vger.kernel.org
Signed-off-by: Maulik Shah <mkshah@codeaurora.org>
Link: https://lore.kernel.org/r/1589804402-27130-1-git-send-email-mkshah@codeaurora.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2020-05-18 20:08:35 -07:00
Alex Elder 5ef3c35809 arm64: defconfig: enable Qualcomm IPA and RMNet modules
Enable building the Qualcomm IPA driver as a kernel module.  To be
useful, the IPA driver also requires RMNet, so enable building that
as a module as well.

Signed-off-by: Alex Elder <elder@linaro.org>
Link: https://lore.kernel.org/r/20200518215455.10095-1-elder@linaro.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2020-05-18 16:36:30 -07:00
Alex Elder d82fade846 arm64: dts: qcom: sc7180: add IPA information
Add IPA-related nodes and definitions to "sc7180.dtsi".

Signed-off-by: Alex Elder <elder@linaro.org>
Link: https://lore.kernel.org/r/20200518214939.9730-1-elder@linaro.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2020-05-18 16:35:38 -07:00
Justin Swartz 54b1a4e070 ARM: dts: rockchip: add rga node for rk322x
Add a node to define the presence of RGA, a 2D raster graphic
acceleration unit.

Signed-off-by: Justin Swartz <justin.swartz@risingedge.co.za>
Link: https://lore.kernel.org/r/20200419125134.29923-2-justin.swartz@risingedge.co.za
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2020-05-19 00:50:21 +02:00
Justin Swartz 2dd579fc96 ARM: dts: remove disable-wp from rk3229-xms6 emmc
Remove the disable-wp attribute from &emmc as it is, according to
Documentation/devicetree/bindings/mmc/mmc-controller.yaml:

    "Not used in combination with eMMC or SDIO."

Suggested-by: Johan Jonker <jbx6244@gmail.com>
Signed-off-by: Justin Swartz <justin.swartz@risingedge.co.za>
Link: https://lore.kernel.org/r/20200406135006.23759-2-justin.swartz@risingedge.co.za
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2020-05-19 00:41:04 +02:00
Justin Swartz 6067ec2c7f ARM: dts: enable WLAN for Mecer Xtreme Mini S6
The Mecer Xtreme Mini S6 features a wireless module, based on a
Realtek 8723BS, which provides WLAN and Bluetooth connectivity via
SDIO and UART interfaces respectively.

Define a simple MMC power sequence that declares the GPIO pins
connected to the module's WLAN Disable and Bluetooth Disable pins
as active low reset signals, because both signals must be deasserted
for WLAN radio operation.

Configure the host's SDIO interface for High Speed mode with 1.8v
I/O signalling and IRQ detection over a 4-bit wide bus.

Signed-off-by: Justin Swartz <justin.swartz@risingedge.co.za>
Link: https://lore.kernel.org/r/20200406135006.23759-1-justin.swartz@risingedge.co.za
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2020-05-19 00:38:56 +02:00
Johan Jonker fb0ab17f1a arm64: dts: rockchip: add bus-width properties to mmc nodes for px30
'bus-width' and pinctrl containing the bus-pins
should be in the same file, so add them to
all mmc nodes in 'px30.dtsi'.

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
Link: https://lore.kernel.org/r/20200416183053.6045-1-jbx6244@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2020-05-19 00:34:58 +02:00
Johan Jonker 439062737b ARM: dts: rockchip: remove identical #include from rk3288.dtsi
There are 2 identical '#include' for 'rk3288-power.h',
so remove one of them.

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
Link: https://lore.kernel.org/r/20200403180159.13387-1-jbx6244@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2020-05-19 00:26:12 +02:00
Johan Jonker f0344b3354 ARM: dts: rockchip: rename and label gpio-led subnodes
Current dts files with 'gpio-led' nodes were manually verified.
In order to automate this process leds-gpio.txt
has been converted to yaml. With this conversion a check
for pattern properties was added. A test with the command
below gives a screen full of warnings like:

arch/arm/boot/dts/rk3188-radxarock.dt.yaml: gpio-leds:
'blue', 'green', 'sleep'
do not match any of the regexes:
'(^led-[0-9a-f]$|led)', 'pinctrl-[0-9]+'

Fix these errors with help of the following rules:

1: Add nodename in the preferred form.

2: Always add a label that ends with '_led' to prevent conflicts
   with other labels such as 'power' and 'mmc'

3: If leds need pinctrl add a label that ends with '_led_pin'
   also to prevent conflicts with other labels.

patternProperties:
  # The first form is preferred, but fall back to just 'led'
  # anywhere in the node name to at least catch some child nodes.
  "(^led-[0-9a-f]$|led)":

make ARCH=arm dtbs_check
DT_SCHEMA_FILES=Documentation/devicetree/bindings/leds/
leds-gpio.yaml

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
Link: https://lore.kernel.org/r/20200428144933.10953-1-jbx6244@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2020-05-19 00:26:03 +02:00
Johan Jonker 1fab4cf51e arm64: dts: rockchip: remove disable-wp from rk3308-roc-cc emmc node
The mmc-controller.yaml didn't explicitly say disable-wp is
for SD card slot only, but that is what it was designed for
in the first place.
Remove all disable-wp from emmc or sdio controllers.

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
Link: https://lore.kernel.org/r/20191219121954.2450-1-jbx6244@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2020-05-19 00:22:52 +02:00
Johan Jonker e916d85b92 arm64: dts: rockchip: rename and label gpio-led subnodes
Current dts files with 'gpio-led' nodes were manually verified.
In order to automate this process leds-gpio.txt
has been converted to yaml. With this conversion a check
for pattern properties was added. A test with the command
below gives a screen full of warnings like:

arch/arm64/boot/dts/rockchip/rk3368-r88.dt.yaml: gpio-leds:
'work' does not match any of the regexes:
'(^led-[0-9a-f]$|led)', 'pinctrl-[0-9]+'

Fix these errors with help of the following rules:

1: Add nodename in the preferred form.

2: Always add a label that ends with '_led' to prevent conflicts
   with other labels such as 'power' and 'mmc'

3: If leds need pinctrl add a label that ends with '_led_pin'
   also to prevent conflicts with other labels.

patternProperties:
  # The first form is preferred, but fall back to just 'led'
  # anywhere in the node name to at least catch some child nodes.
  "(^led-[0-9a-f]$|led)":

make ARCH=arm64 dtbs_check
DT_SCHEMA_FILES=Documentation/devicetree/bindings/leds/
leds-gpio.yaml

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
Link: https://lore.kernel.org/r/20200428144933.10953-2-jbx6244@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2020-05-19 00:15:56 +02:00
Johan Jonker 84836ded76 arm64: dts: rockchip: fix defines in pd_vio node for rk3399
A test with the command below gives for example this error:

arch/arm64/boot/dts/rockchip/rk3399-evb.dt.yaml: pd_vio@15:
'pd_tcpc0@RK3399_PD_TCPC0', 'pd_tcpc1@RK3399_PD_TCPC1'
do not match any of the regexes:
'.*-names$', '.*-supply$', '^#.*-cells$',
'^#[a-zA-Z0-9,+\\-._]{0,63}$',
'^[a-zA-Z][a-zA-Z0-9,+\\-._]{0,63}$',
'^[a-zA-Z][a-zA-Z0-9,+\\-._]{0,63}@[0-9a-fA-F]+(,[0-9a-fA-F]+)*$',
'^__.*__$', 'pinctrl-[0-9]+'

Fix error by replacing the wrong defines by the ones
mentioned in 'rk3399-power.h'.

make -k ARCH=arm64 dtbs_check

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
Link: https://lore.kernel.org/r/20200428203003.3318-1-jbx6244@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2020-05-19 00:10:10 +02:00
Johan Jonker 302a729c84 arm64: dts: rockchip: fix &pinctrl phy sub nodename for rk3399-orangepi
A test with the command below this error:

arch/arm64/boot/dts/rockchip/rk3399-orangepi.dt.yaml: phy:
'#phy-cells' is a required property

'phy' is a reserved nodename and should not be used for pinctrl,
so change it to 'gmac'.

make ARCH=arm64 dtbs_check
DT_SCHEMA_FILES=~/.local/lib/python3.5/site-packages/dtschema/schemas/
phy/phy-provider.yaml

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
Link: https://lore.kernel.org/r/20200321215423.12176-6-jbx6244@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2020-05-19 00:03:31 +02:00
Johan Jonker b2bb769100 arm64: dts: rockchip: fix rtl8211e nodename for rk3399-orangepi
A test with the command below gives this error:

arch/arm64/boot/dts/rockchip/rk3399-orangepi.dt.yaml: phy@1:
'#phy-cells' is a required property

The phy nodename is used by a phy-handle.
The parent node is compatible with "snps,dwmac-mdio",
so change nodename to 'ethernet-phy', for which '#phy-cells'
is not a required property

make ARCH=arm64 dtbs_check
DT_SCHEMA_FILES=~/.local/lib/python3.5/site-packages/dtschema/schemas/
phy/phy-provider.yaml

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
Link: https://lore.kernel.org/r/20200321215423.12176-5-jbx6244@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2020-05-19 00:03:31 +02:00
Johan Jonker 737157f961 arm64: dts: rockchip: fix &pinctrl phy sub nodename for rk3399-nanopi4
A test with the command below gives for example this error:

arch/arm64/boot/dts/rockchip/rk3399-nanopc-t4.dt.yaml: phy:
'#phy-cells' is a required property
arch/arm64/boot/dts/rockchip/rk3399-nanopi-m4.dt.yaml: phy:
'#phy-cells' is a required property
arch/arm64/boot/dts/rockchip/rk3399-nanopi-neo4.dt.yaml: phy:
'#phy-cells' is a required property

'phy' is a reserved nodename and should not be used for pinctrl,
so change it to 'gmac'.

make ARCH=arm64 dtbs_check
DT_SCHEMA_FILES=~/.local/lib/python3.5/site-packages/dtschema/schemas/
phy/phy-provider.yaml

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
Link: https://lore.kernel.org/r/20200321215423.12176-4-jbx6244@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2020-05-19 00:03:31 +02:00
Johan Jonker b450d1c566 arm64: dts: rockchip: fix rtl8211e nodename for rk3399-nanopi4
A test with the command below gives these errors:

arch/arm64/boot/dts/rockchip/rk3399-nanopc-t4.dt.yaml: phy@1:
'#phy-cells' is a required property
arch/arm64/boot/dts/rockchip/rk3399-nanopi-m4.dt.yaml: phy@1:
'#phy-cells' is a required property
arch/arm64/boot/dts/rockchip/rk3399-nanopi-neo4.dt.yaml: phy@1:
'#phy-cells' is a required property

The rtl8211e node is used by a phy-handle.
The parent node is compatible with "snps,dwmac-mdio",
so change nodename to 'ethernet-phy', for which '#phy-cells'
is not a required property.

make ARCH=arm64 dtbs_check
DT_SCHEMA_FILES=~/.local/lib/python3.5/site-packages/dtschema/schemas/
phy/phy-provider.yaml

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
Link: https://lore.kernel.org/r/20200321215423.12176-3-jbx6244@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2020-05-19 00:03:31 +02:00
Johan Jonker 63834d1edb arm64: dts: rockchip: fix rtl8211f nodename for rk3328 Beelink A1
A test with the command below gives this error:

arch/arm64/boot/dts/rockchip/rk3328-a1.dt.yaml: phy@0:
'#phy-cells' is a required property

The rtl8211f node is used by a phy-handle.
The parent node is compatible with "snps,dwmac-mdio",
so change nodename to 'ethernet-phy', for which '#phy-cells'
is not a required property.

make ARCH=arm64 dtbs_check
DT_SCHEMA_FILES=~/.local/lib/python3.5/site-packages/dtschema/schemas/
phy/phy-provider.yaml

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
Link: https://lore.kernel.org/r/20200321215423.12176-2-jbx6244@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2020-05-19 00:03:31 +02:00
Johan Jonker 8370cc5533 arm64: dts: rockchip: fix phy nodename for rk3328
A test with the command below gives for example this error:

arch/arm64/boot/dts/rockchip/rk3328-evb.dt.yaml: phy@0:
'#phy-cells' is a required property

The phy nodename is normally used by a phy-handle.
This node is however compatible with
"ethernet-phy-id1234.d400", "ethernet-phy-ieee802.3-c22"
which is just been added to 'ethernet-phy.yaml'.
So change nodename to 'ethernet-phy' for which '#phy-cells'
is not a required property

make ARCH=arm64 dtbs_check
DT_SCHEMA_FILES=~/.local/lib/python3.5/site-packages/dtschema/schemas/
phy/phy-provider.yaml

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
Link: https://lore.kernel.org/r/20200321215423.12176-1-jbx6244@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2020-05-19 00:03:31 +02:00
Johan Jonker 213f272b75 arm64: dts: rockchip: replace RK_FUNC defines in rk3326-odroid-go2
The defines RK_FUNC_1 and RK_FUNC_2 are deprecated,
so replace them with the preferred form.
Restyle properties in the same line.

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
Link: https://lore.kernel.org/r/20200512203524.7317-1-jbx6244@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2020-05-18 23:39:31 +02:00
Bjorn Andersson 909bc56cb0 arm64: dts: qcom: sc7180: Fix ETMv4 power management patch
The lack of unique context in  '0f1decaa83b7 ("arm64: dts: qcom: sc7180:
Support ETMv4 power management")' caused the patch to be applied
off-by-one. Move the "arm,coresight-loses-context-with-cpu" properties
down one node, so that it applies to the ETMs and not the replicator.

Reported-by: Sai Prakash Ranjan <saiprakash.ranjan@codeaurora.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2020-05-18 11:44:57 -07:00
Zong Li 0ff7c3b331
riscv: Use text_mutex instead of patch_lock
We don't need the additional lock protection when patching the text.

There are two patching interfaces here:
 - patch_text: patch code and always synchronize with stop_machine()
 - patch_text_nosync: patch code without synchronization, it's caller's
                      responsibility to synchronize all CPUs if needed.

For the first one, stop_machine() is protected by its own mutex, and
also the irq is already disabled here.

For the second one, in risc-v real case now, it would be used to ftrace
patching the mcount function, since it already running under
kstop_machine(), no other thread will run, so we could use text_mutex
on ftrace side.

Signed-off-by: Zong Li <zong.li@sifive.com>
Reviewed-by: Masami Hiramatsu <mhiramat@kernel.org>
Reviewed-by: Palmer Dabbelt <palmerdabbelt@google.com>
Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com>
2020-05-18 11:38:16 -07:00
Zong Li 5303df244c
riscv: Use NOKPROBE_SYMBOL() instead of __krpobes annotation
The __kprobes annotation is old style, so change it to NOKPROBE_SYMBOL().

Signed-off-by: Zong Li <zong.li@sifive.com>
Reviewed-by: Masami Hiramatsu <mhiramat@kernel.org>
Reviewed-by: Palmer Dabbelt <palmerdabbelt@google.com>
Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com>
2020-05-18 11:38:15 -07:00
Zong Li b80b3d582e
riscv: Remove the 'riscv_' prefix of function name
Refactor the function name by removing the 'riscv_' prefix, it would be
better unless it could mix up with arch-independent functions.

Signed-off-by: Zong Li <zong.li@sifive.com>
Reviewed-by: Masami Hiramatsu <mhiramat@kernel.org>
Reviewed-by: Palmer Dabbelt <palmerdabbelt@google.com>
Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com>
2020-05-18 11:38:13 -07:00
Vincent Chen edde5584c7
riscv: Add SW single-step support for KDB
In KGDB, the GDB in the host is responsible for the single-step operation
of the software. In other words, KGDB does not need to derive the next pc
address when performing a software single-step operation. KGDB just inserts
the break instruction at the indicated address according to the GDB
instructions. This approach does not work in KDB because the GDB does not
involve the KDB process. Therefore, this patch provides KDB a software
single-step mechanism to use.

Signed-off-by: Vincent Chen <vincent.chen@sifive.com>
Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com>
2020-05-18 11:38:12 -07:00
Vincent Chen d96575709c
riscv: Use the XML target descriptions to report 3 system registers
The $status, $badaddr, and $cause registers belong to the thread context,
so KGDB can obtain their contents from pt_regs in each trap. However, the
sequential number of these registers in the gdb register list is far from
the general-purpose registers. If riscv port uses the existing method to
report these three registers, many trivial registers with sequence numbers
in the middle of them will also be packaged to the reply packets. To solve
this problem, the riscv port wants to introduce the GDB target description
mechanism to customize the reported register list. By the list, the KGDB
can ignore the intermediate registers and just reports the general-purpose
registers and these three system registers.

Signed-off-by: Vincent Chen <vincent.chen@sifive.com>
Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com>
2020-05-18 11:38:11 -07:00
Vincent Chen fe89bd2be8
riscv: Add KGDB support
The skeleton of RISC-V KGDB port.

Signed-off-by: Vincent Chen <vincent.chen@sifive.com>
Reviewed-by: Palmer Dabbelt <palmerdabbelt@google.com>
Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com>
2020-05-18 11:38:10 -07:00
Palmer Dabbelt eb077c9c38
RISC-V: Skip setting up PMPs on traps
The RISC-V ISA manual says that PMPs are WARL, but it appears the K210
doesn't implement them and instead traps on the unsupported accesses.
This patch handles those traps by just skipping the PMP
initialization entirely, under the theory that machines that trap on PMP
accesses must allow memory accesses as otherwise they're pretty useless.

Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com>
2020-05-18 11:38:08 -07:00
Damien Le Moal 045c654220
riscv: K210: Update defconfig
Update the Kendryte K210 default kernel configuration file
nommu_k210_defconfig to enable builtin DTB by default.

Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com>
Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com>
2020-05-18 11:38:07 -07:00
Palmer Dabbelt 8bb6617427
riscv: K210: Add a built-in device tree
The K210's bootloader does not provide a device tree. Give the ability
to providea builtin one with the SOC_KENDRYTE_K210_BUILTIN_DTB option.
If selected, this option result in the definition of a builtin DTB
entry in the k210 sysctl driver.

If defined, the builtin DTB entry points to the default k210.dts device
tree file and is keyed with the vendor ID 0x4B5, the arch ID
0xE59889E6A5A04149 ("Canaan AI" in UTF-8 coded Chinese) and the impl ID
0x4D41495832303030 ("MAIX200"). These values are reported by the SiPEED
MAIXDUINO board, the SiPEED MAIX Go board and the SiPEED Dan Dock board.

[Thanks to Damien for the K210 IDs]
Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com>
Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com>
2020-05-18 11:38:06 -07:00
Palmer Dabbelt 2d2682512f
riscv: Allow device trees to be built into the kernel
Some systems don't provide a useful device tree to the kernel on boot.
Chasing around bootloaders for these systems is a headache, so instead
le't's just keep a device tree table in the kernel, keyed by the SOC's
unique identifier, that contains the relevant DTB.

This is only implemented for M mode right now. While we could implement
this via the SBI calls that allow access to these identifiers, we don't
have any systems that need this right now.

Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com>
2020-05-18 11:38:05 -07:00
Uros Bizjak 3d81b3d1e5 x86/cpu: Use RDRAND and RDSEED mnemonics in archrandom.h
Current minimum required version of binutils is 2.23,
which supports RDRAND and RDSEED instruction mnemonics.

Replace the byte-wise specification of RDRAND and
RDSEED with these proper mnemonics.

Signed-off-by: Uros Bizjak <ubizjak@gmail.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Reviewed-by: H. Peter Anvin (Intel) <hpa@zytor.com>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lkml.kernel.org/r/20200508105817.207887-1-ubizjak@gmail.com
2020-05-18 19:50:47 +02:00
Yunfeng Ye bd4298c72b arm64: stacktrace: Factor out some common code into on_stack()
There are some common codes for stack checking, so factors it out into
the function on_stack().

No functional change.

Signed-off-by: Yunfeng Ye <yeyunfeng@huawei.com>
Link: https://lore.kernel.org/r/07b3b0e6-3f58-4fed-07ea-7d17b7508948@huawei.com
Signed-off-by: Will Deacon <will@kernel.org>
2020-05-18 18:04:22 +01:00
Douglas Anderson b322c65f8c arm64: Call debug_traps_init() from trap_init() to help early kgdb
A new kgdb feature will soon land (kgdb_earlycon) that lets us run
kgdb much earlier.  In order for everything to work properly it's
important that the break hook is setup by the time we process
"kgdbwait".

Right now the break hook is setup in debug_traps_init() and that's
called from arch_initcall().  That's a bit too late since
kgdb_earlycon really needs things to be setup by the time the system
calls dbg_late_init().

We could fix this by adding call_break_hook() into early_brk64() and
that works fine.  However, it's a little ugly.  Instead, let's just
add a call to debug_traps_init() straight from trap_init().  There's
already a documented dependency between trap_init() and
debug_traps_init() and this makes the dependency more obvious rather
than just relying on a comment.

NOTE: this solution isn't early enough to let us select the
"ARCH_HAS_EARLY_DEBUG" KConfig option that is introduced by the
kgdb_earlycon patch series.  That would only be set if we could do
breakpoints when early params are parsed.  This patch only enables
"late early" breakpoints, AKA breakpoints when dbg_late_init() is
called.  It's expected that this should be fine for most people.

It should also be noted that if you crash you can still end up in kgdb
earlier than debug_traps_init().  Since you don't need breakpoints to
debug a crash that's fine.

Suggested-by: Will Deacon <will@kernel.org>
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Acked-by: Will Deacon <will@kernel.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Link: https://lore.kernel.org/r/20200513160501.1.I0b5edf030cc6ebef6ab4829f8867cdaea42485d8@changeid
Signed-off-by: Will Deacon <will@kernel.org>
2020-05-18 17:51:20 +01:00
Douglas Anderson b1a57bbfcc kgdb: Delay "kgdbwait" to dbg_late_init() by default
Using kgdb requires at least some level of architecture-level
initialization.  If nothing else, it relies on the architecture to
pass breakpoints / crashes onto kgdb.

On some architectures this all works super early, specifically it
starts working at some point in time before Linux parses
early_params's.  On other architectures it doesn't.  A survey of a few
platforms:

a) x86: Presumably it all works early since "ekgdboc" is documented to
   work here.
b) arm64: Catching crashes works; with a simple patch breakpoints can
   also be made to work.
c) arm: Nothing in kgdb works until
   paging_init() -> devicemaps_init() -> early_trap_init()

Let's be conservative and, by default, process "kgdbwait" (which tells
the kernel to drop into the debugger ASAP at boot) a bit later at
dbg_late_init() time.  If an architecture has tested it and wants to
re-enable super early debugging, they can select the
ARCH_HAS_EARLY_DEBUG KConfig option.  We'll do this for x86 to start.
It should be noted that dbg_late_init() is still called quite early in
the system.

Note that this patch doesn't affect when kgdb runs its init.  If kgdb
is set to initialize early it will still initialize when parsing
early_param's.  This patch _only_ inhibits the initial breakpoint from
"kgdbwait".  This means:

* Without any extra patches arm64 platforms will at least catch
  crashes after kgdb inits.
* arm platforms will catch crashes (and could handle a hardcoded
  kgdb_breakpoint()) any time after early_trap_init() runs, even
  before dbg_late_init().

Signed-off-by: Douglas Anderson <dianders@chromium.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Link: https://lore.kernel.org/r/20200507130644.v4.4.I3113aea1b08d8ce36dc3720209392ae8b815201b@changeid
Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
2020-05-18 17:49:27 +01:00
Will Deacon 258c3d628f arm64: entry-ftrace.S: Update comment to indicate that x18 is live
The Shadow Call Stack pointer is held in x18, so update the ftrace
entry comment to indicate that it cannot be safely clobbered.

Reported-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Will Deacon <will@kernel.org>
2020-05-18 17:47:50 +01:00
Will Deacon 871e100e43 scs: Move DEFINE_SCS macro into core code
Defining static shadow call stacks is not architecture-specific, so move
the DEFINE_SCS() macro into the core header file.

Tested-by: Sami Tolvanen <samitolvanen@google.com>
Reviewed-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Will Deacon <will@kernel.org>
2020-05-18 17:47:48 +01:00
Will Deacon aa7a65ae5b scs: Remove references to asm/scs.h from core code
asm/scs.h is no longer needed by the core code, so remove a redundant
header inclusion and update the stale Kconfig text.

Tested-by: Sami Tolvanen <samitolvanen@google.com>
Reviewed-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Will Deacon <will@kernel.org>
2020-05-18 17:47:45 +01:00
Will Deacon 88485be531 scs: Move scs_overflow_check() out of architecture code
There is nothing architecture-specific about scs_overflow_check() as
it's just a trivial wrapper around scs_corrupted().

For parity with task_stack_end_corrupted(), rename scs_corrupted() to
task_scs_end_corrupted() and call it from schedule_debug() when
CONFIG_SCHED_STACK_END_CHECK_is enabled, which better reflects its
purpose as a debug feature to catch inadvertent overflow of the SCS.
Finally, remove the unused scs_overflow_check() function entirely.

This has absolutely no impact on architectures that do not support SCS
(currently arm64 only).

Tested-by: Sami Tolvanen <samitolvanen@google.com>
Reviewed-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Will Deacon <will@kernel.org>
2020-05-18 17:47:40 +01:00
Will Deacon 711e8b0de0 arm64: scs: Use 'scs_sp' register alias for x18
x18 holds the SCS stack pointer value, so introduce a register alias to
make this easier to read in assembly code.

Tested-by: Sami Tolvanen <samitolvanen@google.com>
Reviewed-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Will Deacon <will@kernel.org>
2020-05-18 17:47:37 +01:00
Will Deacon 51189c7a7e arm64: scs: Store absolute SCS stack pointer value in thread_info
Storing the SCS information in thread_info as a {base,offset} pair
introduces an additional load instruction on the ret-to-user path,
since the SCS stack pointer in x18 has to be converted back to an offset
by subtracting the base.

Replace the offset with the absolute SCS stack pointer value instead
and avoid the redundant load.

Tested-by: Sami Tolvanen <samitolvanen@google.com>
Reviewed-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Will Deacon <will@kernel.org>
2020-05-18 17:47:22 +01:00
Andre Przywara 94cc3f1baa arm64: dts: juno: Fix SCPI shared mem node name
The SRAM DT binding requires child nodes to use a certain node name
scheme.

Change the naming from scp-shmem to scp-sram to comply with that.

Link: https://lore.kernel.org/r/20200513103016.130417-19-andre.przywara@arm.com
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
2020-05-18 17:08:54 +01:00
Andre Przywara 3b42c06061 arm64: dts: vexpress: Fix VExpress LED names
The common LED binding wants the LED node names to start with led- and
then have just a single number.

Changing the naming for the 8 user LEDs from using user<x> to led-<x>.
Also there is no default-trigger named "mmc0" in the kernel, so use the
more generic "disk-activity".

Link: https://lore.kernel.org/r/20200513103016.130417-18-andre.przywara@arm.com
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
2020-05-18 17:08:54 +01:00
Andre Przywara 36d48981d6 arm64: dts: juno: Fix GPU interrupt order
The Mali binding insists on the GPU interrupts to be in ordered as: job,
mmu, gpu.
Sort the GPU interrupts and interrupt-names properties accordingly.

Link: https://lore.kernel.org/r/20200513103016.130417-17-andre.przywara@arm.com
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
2020-05-18 17:08:54 +01:00
Andre Przywara 9d0a36ddcc arm64: dts: fvp/juno: Fix bus node names
Most Arm Ltd. boards are employing a layered bus structure, to map
the hardware design (SoC, motherboard, IOFPGA) and structure the DTs.

The "simple-bus" nodes only allow a limited set of node names. Switch
to use *-bus to be binding compliant.

This relies on a pending dt-schema.git fix for now:
https://github.com/devicetree-org/dt-schema/pull/38

Link: https://lore.kernel.org/r/20200513103016.130417-16-andre.przywara@arm.com
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
2020-05-18 17:08:54 +01:00
Andre Przywara 906e6dd481 arm64: dts: fvp: Fix SMMU DT node
The SMMU name in the RevC FVP DT file was not fully binding compliant.

Adjust the node name to match the binding's list of allowed names, also
shuffle the order of the interrupts to comply with the expected order.

Link: https://lore.kernel.org/r/20200513103016.130417-15-andre.przywara@arm.com
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
2020-05-18 17:08:54 +01:00
Andre Przywara 608f1b6cf3 arm64: dts: fvp/juno: Fix serial node names
The UARTs for all Arm Ltd. boards were using "uart" as their node name
stub.

Replace that with the required "serial" string, to comply with the PL011
DT binding.

Link: https://lore.kernel.org/r/20200513103016.130417-14-andre.przywara@arm.com
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
2020-05-18 17:08:54 +01:00
Andre Przywara edfac966f6 arm64: dts: juno: Use proper DT node name for USB
The EHCI/OCHI DT binding requires to use "usb" as the node name stub.

Replace the existing name with "usb" to comply with the binding.

Link: https://lore.kernel.org/r/20200513103016.130417-13-andre.przywara@arm.com
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
2020-05-18 17:08:54 +01:00
Tudor Ambarus 88d801aec6 ARM: dts: at91: sama5d2_xplained: Add aliases for the dedicated I2C IPs
The sama5d2 SoC has two dedicated I2C IPs that are enabled on
sama5d2_xplained. Add alias for the i2c devices to not rely on
probe order for the i2c device numbering.

Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com>
Link: https://lore.kernel.org/r/20200518114802.253660-1-tudor.ambarus@microchip.com
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2020-05-18 16:51:58 +02:00