Commit Graph

54759 Commits

Author SHA1 Message Date
Russell King
d09fbb327d ARM: use __inttype() in get_user()
Borrow the x86 implementation of __inttype() to use in get_user() to
select an integer type suitable to temporarily hold the result value.
This is necessary to avoid propagating the volatile nature of the
result argument, which can cause the following warning:

lib/iov_iter.c:413:5: warning: optimization may eliminate reads and/or writes to register variables [-Wvolatile-register-var]

Acked-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2018-08-02 17:41:38 +01:00
Russell King
8c8484a1c1 ARM: oabi-compat: copy semops using __copy_from_user()
__get_user_error() is used as a fast accessor to make copying structure
members as efficient as possible.  However, with software PAN and the
recent Spectre variant 1, the efficiency is reduced as these are no
longer fast accessors.

In the case of software PAN, it has to switch the domain register around
each access, and with Spectre variant 1, it would have to repeat the
access_ok() check for each access.

Rather than using __get_user_error() to copy each semops element member,
copy each semops element in full using __copy_from_user().

Acked-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2018-08-02 17:41:38 +01:00
Russell King
42019fc50d ARM: vfp: use __copy_from_user() when restoring VFP state
__get_user_error() is used as a fast accessor to make copying structure
members in the signal handling path as efficient as possible.  However,
with software PAN and the recent Spectre variant 1, the efficiency is
reduced as these are no longer fast accessors.

In the case of software PAN, it has to switch the domain register around
each access, and with Spectre variant 1, it would have to repeat the
access_ok() check for each access.

Use __copy_from_user() rather than __get_user_err() for individual
members when restoring VFP state.

Acked-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2018-08-02 17:41:37 +01:00
Ingo Molnar
16e0e6a83b Merge branch 'perf/urgent' into perf/core, to pick up fixes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2018-08-02 09:59:20 +02:00
Christoph Hellwig
87a4c37599 kconfig: include kernel/Kconfig.preempt from init/Kconfig
Almost all architectures include it.  Add a ARCH_NO_PREEMPT symbol to
disable preempt support for alpha, hexagon, non-coldfire m68k and
user mode Linux.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2018-08-02 08:06:54 +09:00
Christoph Hellwig
06ec64b84c Kconfig: consolidate the "Kernel hacking" menu
Move the source of lib/Kconfig.debug and arch/$(ARCH)/Kconfig.debug to
the top-level Kconfig.  For two architectures that means moving their
arch-specific symbols in that menu into a new arch Kconfig.debug file,
and for a few more creating a dummy file so that we can include it
unconditionally.

Also move the actual 'Kernel hacking' menu to lib/Kconfig.debug, where
it belongs.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2018-08-02 08:06:48 +09:00
Christoph Hellwig
1572497cb0 kconfig: include common Kconfig files from top-level Kconfig
Instead of duplicating the source statements in every architecture just
do it once in the toplevel Kconfig file.

Note that with this the inclusion of arch/$(SRCARCH/Kconfig moves out of
the top-level Kconfig into arch/Kconfig so that don't violate ordering
constraits while keeping a sensible menu structure.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2018-08-02 08:03:23 +09:00
Linus Torvalds
6b47037682 Merge branch 'fixes' of git://git.armlinux.org.uk/~rmk/linux-arm
Pull ARM fix from Russell King:
 "Just a single fix this time around for recent binutils causing build
  problems when generating Thumb-2 code"

* 'fixes' of git://git.armlinux.org.uk/~rmk/linux-arm:
  ARM: 8781/1: Fix Thumb-2 syscall return for binutils 2.29+
2018-08-01 15:01:26 -07:00
Linus Torvalds
8b11ec1b5f mm: do not initialize TLB stack vma's with vma_init()
Commit 2c4541e24c ("mm: use vma_init() to initialize VMAs on stack and
data segments") tried to initialize various left-over ad-hoc vma's
"properly", but actually made things worse for the temporary vma's used
for TLB flushing.

vma_init() doesn't actually initialize all of the vma, just a few
fields, so doing something like

   -       struct vm_area_struct vma = { .vm_mm = tlb->mm, };
   +       struct vm_area_struct vma;
   +
   +       vma_init(&vma, tlb->mm);

was actually very bad: instead of having a nicely initialized vma with
every field but "vm_mm" zeroed, you'd have an entirely uninitialized vma
with only a couple of fields initialized.  And they weren't even fields
that the code in question mostly cared about.

The flush_tlb_range() function takes a "struct vma" rather than a
"struct mm_struct", because a few architectures actually care about what
kind of range it is - being able to only do an ITLB flush if it's a
range that doesn't have data accesses enabled, for example.  And all the
normal users already have the vma for doing the range invalidation.

But a few people want to call flush_tlb_range() with a range they just
made up, so they also end up using a made-up vma.  x86 just has a
special "flush_tlb_mm_range()" function for this, but other
architectures (arm and ia64) do the "use fake vma" thing instead, and
thus got caught up in the vma_init() changes.

At the same time, the TLB flushing code really doesn't care about most
other fields in the vma, so vma_init() is just unnecessary and
pointless.

This fixes things by having an explicit "this is just an initializer for
the TLB flush" initializer macro, which is used by the arm/arm64/ia64
people who mis-use this interface with just a dummy vma.

Fixes: 2c4541e24c ("mm: use vma_init() to initialize VMAs on stack and data segments")
Cc: Dmitry Vyukov <dvyukov@google.com>
Cc: Oleg Nesterov <oleg@redhat.com>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Kirill Shutemov <kirill.shutemov@linux.intel.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: John Stultz <john.stultz@linaro.org>
Cc: Hugh Dickins <hughd@google.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2018-08-01 13:43:38 -07:00
Kunihiko Hayashi
c8f8a0b50b ARM: multi_v7_defconfig: add CONFIG_UNIPHIER_THERMAL and CONFIG_SNI_AVE
Enable the thermal monitor driver and the AVE ethernet driver
implemented on UniPhier SoCs.

Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-31 19:05:31 -07:00
Masahiro Yamada
f0fc40aff6 ARM: uniphier: select RESET_CONTROLLER
The UniPhier platform highly relies on the reset controller.
Select RESET_CONTROLLER to enable it forcibly.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-31 19:04:41 -07:00
Masahiro Yamada
f61513f724 ARM: uniphier: remove empty Makefile
arch/arm/mach-uniphier/Makefile has been unused for a long time.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-31 19:04:39 -07:00
Olof Johansson
61c22946ad Merge tag 'aspeed-4.19-devicetree-no-fsi' of git://git.kernel.org/pub/scm/linux/kernel/git/joel/aspeed into next/dt
ASPEED device tree updates for 4.19

 - New support for the ASPEED USB host controller and USB vhub (device)
 support

 - Descriptions for the ColdFire processor that is part of the ASPEED
 SoC

 - Small fixes:
  * pwm/tach clock

* tag 'aspeed-4.19-devicetree-no-fsi' of git://git.kernel.org/pub/scm/linux/kernel/git/joel/aspeed:
  ARM: dts: aspeed: Add coprocessor interrupt controller
  ARM: dts: aspeed: Use 24MHz fixed clock for pwm
  ARM: dts: aspeed: Fix Romulus VGA frame buffer
  ARM: dts: aspeed: Enable vhub on port A of AST2500 EVB
  ARM: dts: aspeed: Add G5 USB Virtual Hub
  ARM: dts: aspeed: Add G4 USB Virtual Hub
  ARM: dts: aspeed: Add G5 USB host pinmux
  ARM: dts: aspeed: Add G4 USB pinmux

Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-31 19:02:51 -07:00
Nicolas Pitre
001a30c4d0 ARM: 8785/1: use compiler built-ins for ffs and fls
On ARMv5 and above, it is beneficial to use compiler built-ins such as
__builtin_ffs() and __builtin_ctzl() to implement ffs(), __ffs(), fls()
and __fls(). The compiler does inline the clz instruction and even the
rbit instruction when available, or provide a constant value when
possible. On ARMv4 the compiler calls out to helper functions for those
built-ins so it is best to keep the open coded versions in that case.

Signed-off-by: Nicolas Pitre <nico@linaro.org>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2018-07-30 11:45:53 +01:00
Vladimir Murzin
cbfc5619e0 ARM: 8784/1: NOMMU: Allow enter in Hyp mode
ARMv8R adds support for virtualisation extension (with some deviation
from v8A). With this patch hyp-unaware boot code can offload to kernel
setting up HYP stuff in a sane state.

Signed-off-by: Vladimir Murzin <vladimir.murzin@arm.com>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2018-07-30 11:45:52 +01:00
Vladimir Murzin
c803ce3f18 ARM: 8783/1: NOMMU: Extend check for VBAR support
ARMv8R adds support for VBAR and updates ID_PFR1 with the new filed
Sec_frac (bits [23:20]):

Security fractional field. When the Security field is 0000, determines
the support for features from the ARMv7 Security Extensions. Permitted
values are:

0000 No features from the ARMv7 Security Extensions are implemented.
     This value is not supported in ARMv8 if ID_PFR1 bits [7:4] are zero.

0001 The implementation includes the VBAR, and the TCR.PD0 and TCR.PD1
     bits.

0010 As for 0001, plus the ability to access Secure or Non-secure
     physical memory is supported.

All other values are reserved.

This field is only valid when ID_PFR1[7:4] == 0, otherwise it holds
the value 0000.

Signed-off-by: Vladimir Murzin <vladimir.murzin@arm.com>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2018-07-30 11:45:51 +01:00
Masahiro Yamada
35f5a6acfb ARM: 8782/1: vfp: clean up arch/arm/vfp/Makefile
Since commit 799c434154 ("kbuild: thin archives make default for
all archs"), $(AR) is used instead of $(LD) to combine object files.

The following code in arch/arm/vfp/Makefile:

  LDFLAGS         +=--no-warn-mismatch

... is no longer used.

Also, arch/arm/Makefile already guards arch/arm/vfp/ by a boolean
symbol, CONFIG_VFP, like this:

  core-$(CONFIG_VFP)              += arch/arm/vfp/

So, $(CONFIG_VFP) is always evaluated to y in arch/arm/vfp/Makefile.
There is no point to use pseudo object, vfp.o, which never becomes
a module.  Add all objects to obj-y directly.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2018-07-30 11:45:50 +01:00
Vincent Whitchurch
afc9f65e01 ARM: 8781/1: Fix Thumb-2 syscall return for binutils 2.29+
When building the kernel as Thumb-2 with binutils 2.29 or newer, if the
assembler has seen the .type directive (via ENDPROC()) for a symbol, it
automatically handles the setting of the lowest bit when the symbol is
used with ADR.  The badr macro on the other hand handles this lowest bit
manually.  This leads to a jump to a wrong address in the wrong state
in the syscall return path:

 Internal error: Oops - undefined instruction: 0 [#2] SMP THUMB2
 Modules linked in:
 CPU: 0 PID: 652 Comm: modprobe Tainted: G      D           4.18.0-rc3+ #8
 PC is at ret_fast_syscall+0x4/0x62
 LR is at sys_brk+0x109/0x128
 pc : [<80101004>]    lr : [<801c8a35>]    psr: 60000013
 Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment none
 Control: 50c5387d  Table: 9e82006a  DAC: 00000051
 Process modprobe (pid: 652, stack limit = 0x(ptrval))

 80101000 <ret_fast_syscall>:
 80101000:       b672            cpsid   i
 80101002:       f8d9 2008       ldr.w   r2, [r9, #8]
 80101006:       f1b2 4ffe       cmp.w   r2, #2130706432 ; 0x7f000000

 80101184 <local_restart>:
 80101184:       f8d9 a000       ldr.w   sl, [r9]
 80101188:       e92d 0030       stmdb   sp!, {r4, r5}
 8010118c:       f01a 0ff0       tst.w   sl, #240        ; 0xf0
 80101190:       d117            bne.n   801011c2 <__sys_trace>
 80101192:       46ba            mov     sl, r7
 80101194:       f5ba 7fc8       cmp.w   sl, #400        ; 0x190
 80101198:       bf28            it      cs
 8010119a:       f04f 0a00       movcs.w sl, #0
 8010119e:       f3af 8014       nop.w   {20}
 801011a2:       f2af 1ea2       subw    lr, pc, #418    ; 0x1a2

To fix this, add a new symbol name which doesn't have ENDPROC used on it
and use that with badr.  We can't remove the badr usage since that would
would cause breakage with older binutils.

Signed-off-by: Vincent Whitchurch <vincent.whitchurch@axis.com>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2018-07-30 11:45:19 +01:00
Dave Airlie
3fce461827 BackMerge v4.18-rc7 into drm-next
rmk requested this for armada and I think we've had a few
conflicts build up.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2018-07-30 10:39:22 +10:00
Masahiro Yamada
6b0709f5a5 ARM: at91: remove unused duplicated filechk_offsets
The filechk_offsets in arch/arm/mach-at91/Makefile is never
used because it is always overridden by the equivalent one in
scripts/Makefile.lib

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Acked-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2018-07-28 10:34:06 +09:00
Will Deacon
ba70ffa7d2 Merge branch 'for-next/perf' of git://git.kernel.org/pub/scm/linux/kernel/git/will/linux into aarch64/for-next/core
Pull in arm perf updates, including support for 64-bit (chained) event
counters and some non-critical fixes for some of the system PMU drivers.

Signed-off-by: Will Deacon <will.deacon@arm.com>
2018-07-27 14:39:04 +01:00
Kirill A. Shutemov
2c4541e24c mm: use vma_init() to initialize VMAs on stack and data segments
Make sure to initialize all VMAs properly, not only those which come
from vm_area_cachep.

Link: http://lkml.kernel.org/r/20180724121139.62570-3-kirill.shutemov@linux.intel.com
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
Cc: Dmitry Vyukov <dvyukov@google.com>
Cc: Oleg Nesterov <oleg@redhat.com>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2018-07-26 19:38:03 -07:00
Olof Johansson
34fbee109b Merge tag 'v4.18-next-dts32' of https://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux into next/dt
- mt7623
- delete unsupported reference board
- fix pio leds
- add missing cooling device

* tag 'v4.18-next-dts32' of https://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux:
  dt-bindings: arm: mediatek: cleanup MT7623N reference boards
  arm: dts: mt7623: cleanup MT7623N NAND dts file
  arm: dts: mediatek: Fix pio-leds for Bananapi-R2
  arm: dts: mediatek: Add missing cooling device properties for CPUs

Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-26 13:04:44 -07:00
Olof Johansson
02c8547ca2 Merge tag 'aspeed-4.19-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/joel/aspeed into next/defconfig
ASPEED defconfig updates for 4.19

 - Refresh the multi ARMv5 defconfig, and add AST2400 related drivers

 - Enable new ASPEED hardware that we've merged in the past few cycles.
 There are about 14 different drivers since we last refreshed the
 defconfig

 - Turn on features required by systemd, and other bits of OpenBMC
 userspace

 - Enable security related options

* tag 'aspeed-4.19-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/joel/aspeed:
  ARM: config: aspeed: Enable new FSI drivers
  ARM: config: multi_v5: Enable ASPEED drivers
  ARM: config: multi_v5: Refresh configuration
  ARM: config: aspeed: Update defconfig
  arm: configs: Add USB gadget to Aspeed G5 defconfig
  arm: configs: Add USB gadget to Aspeed G4 defconfig

Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-26 12:22:10 -07:00
Russell King
c32cd419d6 ARM: signal: copy registers using __copy_from_user()
__get_user_error() is used as a fast accessor to make copying structure
members in the signal handling path as efficient as possible.  However,
with software PAN and the recent Spectre variant 1, the efficiency is
reduced as these are no longer fast accessors.

In the case of software PAN, it has to switch the domain register around
each access, and with Spectre variant 1, it would have to repeat the
access_ok() check for each access.

It becomes much more efficient to use __copy_from_user() instead, so
let's use this for the ARM integer registers.

Acked-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2018-07-26 17:00:28 +01:00
Olof Johansson
5acdc77014 Merge tag 'samsung-soc-4.19' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into next/soc
Samsung mach/soc changes for v4.19

Minor cleanups and fixes.

* tag 'samsung-soc-4.19' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  ARM: exynos: Clear global variable on init error path
  ARM: exynos: Remove outdated maintainer information
  ARM: s3c24xx: Fix typo in guard macro of s3c2412.h

Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-26 00:18:25 -07:00
Olof Johansson
31342a2150 Merge tag 'sunxi-h3-h5-for-4.19' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into next/dt
Allwinner H3/H5 changes for 4.19

Our usual bunch of changes shared between arm and arm64.

This time, we have:
  - eMMC support for the ALL-H3-CC boards
  - EMAC support for the Beelink X2

* tag 'sunxi-h3-h5-for-4.19' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
  ARM: dts: sunxi-h3-h5: Remove unused address-cells/size-cells of dwmac-sun8i
  ARM: dts: sunxi: libretech-all-h3-cc: Enable eMMC module
  ARM: sun8i: h3: add SY8113B regulator on Banana Pi M2 Zero board
  ARM: dts: sun8i: h3: Enable dwmac-sun8i on the Beelink X2
  ARM: dts: sun8i-h3: Add missing cooling device properties for CPUs

Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-26 00:02:45 -07:00
Olof Johansson
8b0c9a9810 Merge tag 'renesas-arm-defconfig-for-v4.19' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/defconfig
Renesas ARM Based SoC Defconfig Updates for v4.19

 - Enable new RZN1D-DB board in multi_v7_defconfig and shmobile_defconfig

 - shmobile_defconfig:
   + Drop NET_VENDOR_<FOO>=n
   + Disable long deprecated /sbin/hotplug helper
   + Enable reset controller support

* tag 'renesas-arm-defconfig-for-v4.19' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: multi_v7_defconfig: Enable support for RZN1D-DB
  ARM: shmobile: defconfig: Disable /sbin/hotplug fork-bomb
  ARM: shmobile: defconfig: Enable support for RZN1D-DB
  ARM: shmobile: defconfig: Enable reset controller support
  ARM: shmobile: defconfig: Drop NET_VENDOR_<FOO>=n

Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-25 23:59:13 -07:00
Olof Johansson
6672e8d50c Merge tag 'qcom-defconfig-for-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux into next/defconfig
Qualcomm ARM Based defconfig Updates for v4.19

* Enable Qualcomm NAND config

* tag 'qcom-defconfig-for-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux:
  ARM: qcom_defconfig: Enable QCOM NAND related configs

Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-25 23:58:32 -07:00
Olof Johansson
ee57dd5af7 Merge tag 'samsung-dt-4.19-2' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into next/dt
Samsung DTS ARM changes for v4.19, part 2

1. Add missing interrupts to PWM nodes on Exynos5.
2. Add missing interrupt pin pull up/down configuration on Exynos4412
   Midas boards.  The interrupts were mostly working thanks to initial
   configuration by bootloader.

* tag 'samsung-dt-4.19-2' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  ARM: dts: exynos: Configure Midas SD card CD pin
  ARM: dts: exynos: Configure max77686 IRQ pin on Midas
  ARM: dts: exynos: Add pinctrl for Midas fuelgauge IRQ pin
  ARM: dts: exynos: Add pinctrl config for Midas keys
  ARM: dts: exynos: Add max77693 pinctrl config for Midas
  ARM: dts: exynos: Add missing interrupts for pwm node on Exynos5

Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-25 23:57:24 -07:00
Olof Johansson
ba8e2b94d9 Merge tag 'sunxi-dt-for-4.19' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into next/dt
Allwinner DT changes for 4.19

There's a number of additions for the ARMv7 SoCs for this merge window, and
especially:

  - Addition of the system controller for a number of SoCs, as part of the
    VPU effort
  - Addition of the R40 HDMI support
  - Addition of the Mali GPU node for the A10

* tag 'sunxi-dt-for-4.19' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux: (21 commits)
  ARM: dts: sun4i: Add GPU node
  ARM: dts: sun5i: Fix the SRAM A3-A4 declaration
  ARM: dts: sun8i: r40: Remove unused address-cells/size-cells of dwmac-sun8i
  ARM: dts: sun8i: a83t: Remove unused address-cells/size-cells of dwmac-sun8i
  dt-bindings: net: dwmac-sun8i: Remove unused address-cells/size-cells
  ARM: dts: sun8i: h3: Add SRAM controller node and C1 SRAM region
  ARM: dts: sun8i: a23-a33: Add SRAM controller node and C1 SRAM region
  ARM: dts: sun7i: Add support for the C1 SRAM region with the SRAM controller
  ARM: dts: sun5i: Add support for the C1 SRAM region with the SRAM controller
  ARM: dts: sun7i: Use most-qualified system control compatibles
  ARM: dts: sun5i: Use most-qualified system control compatibles
  ARM: dts: sun4i: Switch to new system control compatible string
  ARM: dts: sun8i: r40: Disable TCONs by default.
  ARM: dts: sun8i: r40: Add missing TCON-TOP - TCON connections
  ARM: dts: sun8i: r40: Remove fallback compatible for TCON TV
  ARM: dts: sun8i: r40: Add mixer ids to TCON TOP
  ARM: dts: sun8i: r40: Remove fallback display engine compatible
  ARM: dts: sun8i: a83t: Add CPU regulator supplies for A83T boards
  ARM: dts: sun8i: r40: Enable HDMI output on BananaPi M2 Ultra
  ARM: dts: sun8i: r40: Add HDMI pipeline
  ...

Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-25 23:55:23 -07:00
Olof Johansson
9604ff923c Merge tag 'omap-for-v4.19/dt-pt3-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/dt
Start using ti-sysc with device tree data for omap4 l4 devices

With ti-sysc driver working for most use cases, we can start converting
the omap variant SoCs to use device tree data for the interconnect target
modules instead of the legacy hwmod platform data.

We start with omap4 l4 devices excluding the ones that still depend on
a reset controller driver like DSP MMU. And we don't yet convert the l4
ABE instance as that needs a bit more work.

We also add a proper interconnect hierarchy for the devices while at it
to make further work on genpd easier and to avoid most deferred probe
issues.

At this point we are not dropping any platform data, and we initially
still use it to validate the dts data. Then in later merge cycles we
can start dropping the related platform data.

* tag 'omap-for-v4.19/dt-pt3-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: dts: omap4: Add l4 ranges for 4460
  ARM: dts: omap4: Move l4 child devices to probe them with ti-sysc
  ARM: dts: omap4: Probe watchdog 3 with ti-sysc
  ARM: dts: omap4: Add l4 interconnect hierarchy and ti-sysc data
  dt-bindings: Update omap l4 binding for optional registers

Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-25 23:54:31 -07:00
Olof Johansson
295d44ae78 Merge tag 'renesas-arm-dt-for-v4.19' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt
Renesas ARM Based SoC DT Updates for v4.19

* RZ/G1C (r8a77470) SoC: Use r8a77470-cpg-mssr binding definitions
* Add GR-Peach audio camera shield support with MT9V111 image sensor
* Add initial support for RZ/N1D (r9a06g032) SoC and its RZN1D-DB board
* Use SPDX identifiers in DT for all SoCs and boards
* Add missing OPP properties for all CPUs on various SoCs
* Add missing PMIC nodes to R-Car Gen2 M2-W (r8a7791) based porter board

* tag 'renesas-arm-dt-for-v4.19' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: dts: r8a77470: Use r8a77470-cpg-mssr binding definitions
  ARM: dts: gr-peach: Add GR-Peach audiocamerashield support
  ARM: dts: Renesas R9A06G032 SMP enable method
  ARM: dts: Renesas RZN1D-DB Board base file
  ARM: dts: Renesas R9A06G032 base device tree file
  ARM: dts: convert to SPDX identifier for Renesas boards
  ARM: dts: r8a77(43|9[013]): Add missing OPP properties for CPUs
  ARM: dts: porter: Add missing PMIC nodes

Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-25 23:53:02 -07:00
Olof Johansson
3f0f096bf0 Merge tag 'qcom-dts-for-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux into next/dt
Qualcomm Device Tree Changes for v4.19

* Add missing OPPs on IPQ4019
* Fix sdhci l20 load on Hammerhead
* Use proper IRQ macros for IPQ8064 interrupts

* tag 'qcom-dts-for-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux:
  ARM: dts: qcom: Add missing OPP properties for CPUs
  ARM: dts: qcom: msm8974-hammerhead: increase load on l20 for sdhci
  ARM: dts: qcom: Fix 'interrupts = <>' property to use proper macros

Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-25 23:40:51 -07:00
Joel Stanley
90708adcd3 ARM: config: aspeed: Enable new FSI drivers
This turns on the FSI-attached I2C bus driver, and the ColdFire
offloaded FSI master which are new to 4.19.

Signed-off-by: Joel Stanley <joel@jms.id.au>
2018-07-26 13:27:27 +09:30
Anders Roxell
063daa8129 arm/asm/tlb.h: Fix build error implicit func declaration
Building on arm 32 with LPAE enabled we don't include asm-generic/tlb.h,
where we have tlb_flush_remove_tables_local and tlb_flush_remove_tables
defined.

The build fails with:

  mm/memory.c: In function ‘tlb_remove_table_smp_sync’:
  mm/memory.c:339:2: error: implicit declaration of function ‘tlb_flush_remove_tables_local’; did you mean ‘tlb_remove_table’? [-Werror=implicit-function-declaration]
  ...

This bug got introduced in:

  2ff6ddf19c ("x86/mm/tlb: Leave lazy TLB mode at page table free time")

To fix this issue we define them in arm 32's specific asm/tlb.h file as well.

Signed-off-by: Anders Roxell <anders.roxell@linaro.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: dave.hansen@intel.com
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux@armlinux.org.uk
Cc: riel@surriel.com
Cc: songliubraving@fb.com
Fixes: 2ff6ddf19c ("x86/mm/tlb: Leave lazy TLB mode at page table free time")
Link: http://lkml.kernel.org/r/20180725095557.19668-1-anders.roxell@linaro.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2018-07-25 12:09:09 +02:00
Ingo Molnar
93081caaae Merge branch 'perf/urgent' into perf/core, to pick up fixes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2018-07-25 11:47:02 +02:00
Benjamin Herrenschmidt
2450ceaf21 ARM: dts: aspeed: Add coprocessor interrupt controller
Add a node for the CVIC (the coprocessor interrupt controller) and
add a label to the SRAM node so it can be referenced from the board
device-tree file.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Joel Stanley <joel@jms.id.au>
2018-07-25 17:38:03 +09:30
Joel Stanley
b0ddc9106c ARM: config: multi_v5: Enable ASPEED drivers
This enables the devices used in the AST2400 family of BMC SoCs:

 - VUART
 - SPI NOR
 - LPC controller
 - LPC snoop (port 80)
 - Ethernet
 - GPIO
 - ADC
 - I2C
 - Random number generator
 - IPMI KCS
 - IPMI BT
 - Fan/Tach

Acked-by: Andrew Jeffery <andrew@aj.id.au>
Signed-off-by: Joel Stanley <joel@jms.id.au>
2018-07-25 16:35:47 +09:30
Joel Stanley
fc2a325bbc ARM: config: multi_v5: Refresh configuration
This is the result of a make mutli_v5_defconfig && make savedefconfig.

Acked-by: Andrew Jeffery <andrew@aj.id.au>
Signed-off-by: Joel Stanley <joel@jms.id.au>
2018-07-25 16:35:42 +09:30
Joel Stanley
20c90af9ea ARM: config: aspeed: Update defconfig
- Enable new support:
     hardware random number generator
     FSI and client drivers
     DRM GFX driver

 - Disable unwanted features:
     ARM_APPENDED_DTB
     ARM_ATAG_DTB_COMPAT
     BLK_DEV_RAM

 - Sync G4 and G5 with OpenBMC configurations
     BLK_DEV_LOOP, for updater mechanic
     CRYPTO_HMAC, for libsdbus features
     CRYPTO_SHA256
     CRYPTO_USER_API_HASH

 - Enable security related features:
     SLAB_FREELIST_RANDOM
     STRICT_KERNEL_RW
     CC_STACKPROTECTOR_STRONG
     HARDENED_USERCOPY
     FORTIFY_SOURCE

 - Increase kernel log buffer size

Reviewed-by: Andrew Jeffery <andrew@aj.id.au>
Signed-off-by: Joel Stanley <joel@jms.id.au>
2018-07-25 16:35:19 +09:30
David S. Miller
19725496da Merge ra.kernel.org:/pub/scm/linux/kernel/git/davem/net 2018-07-24 19:21:58 -07:00
Krzysztof Kozlowski
e5cda42c16 ARM: exynos: Define EINT_WAKEUP_MASK registers for S5Pv210 and Exynos5433
S5Pv210 and Exynos5433/Exynos7 have different address of
EINT_WAKEUP_MASK register.  Rename existing S5P_EINT_WAKEUP_MASK to
avoid confusion and add new ones.

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Cc: Tomasz Figa <tomasz.figa@gmail.com>
Cc: Sylwester Nawrocki <snawrocki@kernel.org>
Acked-by: Tomasz Figa <tomasz.figa@gmail.com>
Tested-by: Marek Szyprowski <m.szyprowski@samsung.com>
2018-07-24 21:50:39 +02:00
Krzysztof Kozlowski
cd4806911c ARM: exynos: Clear global variable on init error path
For most of Exynos SoCs, Power Management Unit (PMU) address space is
mapped into global variable 'pmu_base_addr' very early when initializing
PMU interrupt controller.  A lot of other machine code depends on it so
when doing iounmap() on this address, clear the global as well to avoid
usage of invalid value (pointing to unmapped memory region).

Properly mapped PMU address space is a requirement for all other machine
code so this fix is purely theoretical.  Boot will fail immediately in
many other places after following this error path.

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2018-07-24 18:52:14 +02:00
Krzysztof Kozlowski
e89549a596 ARM: exynos: Remove outdated maintainer information
The current maintainers are specified in MAINTAINERS file, so remove
in-sources information with outdated e-mail address (Thomas Abraham's
email does not work, Kukjin Kim uses @kernel.org).

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2018-07-24 18:50:46 +02:00
Steven Vanden Branden
c0476a31fb ARM: dts: sun4i: Add GPU node
Add mali gpu node to sun4i a10 platforms.
Tested with offscreen rendering with lima mesa (freedesktop gitlab)

Signed-off-by: Steven Vanden Branden <stevenvandenbrandenstift@gmail.com>
Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
2018-07-24 14:52:44 +02:00
Simon Shields
965228d33c ARM: dts: exynos: Configure Midas SD card CD pin
This pin is externally pulled up, so we need to disable the SoC's
internal pull down resistor to allow it to function properly.

Signed-off-by: Simon Shields <simon@lineageos.org>
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2018-07-23 19:12:01 +02:00
Simon Shields
73d2f79471 ARM: dts: exynos: Configure max77686 IRQ pin on Midas
This pin is externally pulled up, so we need to disable the
SoC's internal pull-down.

Signed-off-by: Simon Shields <simon@lineageos.org>
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2018-07-23 19:11:31 +02:00
Simon Shields
e2bae133b5 ARM: dts: exynos: Add pinctrl for Midas fuelgauge IRQ pin
This pin is externally pulled up, so we should disable the SoC's
pull down resistor in order for the interrupt to function properly.

Signed-off-by: Simon Shields <simon@lineageos.org>
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2018-07-23 19:10:48 +02:00
Simon Shields
492413dd6d ARM: dts: exynos: Add pinctrl config for Midas keys
This pins are externally pulled up, and so we should explicitly
configure them to disable the SoC-internal pull-downs. Previously
we relied on the bootloader doing this in order to allow the buttons
to function properly.

Signed-off-by: Simon Shields <simon@lineageos.org>
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2018-07-23 19:09:45 +02:00