Commit graph

5597 commits

Author SHA1 Message Date
Arnd Bergmann
30edd98b3b mvebu dt64 for 4.13 (part 2)
- use new clock binding for Armada 7K/8K
 - add pinctrl on Armada 7K/8K
 - add GPIO on Armada 7K/8K
 - switch from GIC to ICU on CP110 (Armada 7K/8K)
 - enable the mdio node on the mcbin (Armada 8K based board)
 -----BEGIN PGP SIGNATURE-----
 
 iIEEABECAEEWIQQYqXDMF3cvSLY+g9cLBhiOFHI71QUCWUu1OyMcZ3JlZ29yeS5j
 bGVtZW50QGZyZWUtZWxlY3Ryb25zLmNvbQAKCRALBhiOFHI71eSWAJoCt4L+K8aB
 pXG1iuqtFCBtgXXfMQCgi/jFA0Qbq8oInY1qYmE44SG1fhY=
 =0hb0
 -----END PGP SIGNATURE-----

Merge tag 'mvebu-dt64-4.13-2' of git://git.infradead.org/linux-mvebu into next/dt64

Pull "mvebu dt64 for 4.13 (part 2)" from Gregory CLEMENT:

- use new clock binding for Armada 7K/8K
- add pinctrl on Armada 7K/8K
- add GPIO on Armada 7K/8K
- switch from GIC to ICU on CP110 (Armada 7K/8K)
- enable the mdio node on the mcbin (Armada 8K based board)

* tag 'mvebu-dt64-4.13-2' of git://git.infradead.org/linux-mvebu:
  arm64: dts: marvell: enable GICP and ICU on Armada 7K/8K
  arm64: dts: marvell: add gpio support for Armada 7K/8K
  arm64: dts: marvell: add pinctrl support for Armada 7K/8K
  arm64: dts: marvell: use new binding for the system controller on cp110
  arm64: dts: marvell: remove *-clock-output-names on cp110
  arm64: dts: marvell: use new bindings for xor clocks on ap806
  arm64: dts: marvell: mcbin: enable the mdio node
2017-06-23 14:06:00 +02:00
Arnd Bergmann
efd8b0ddaf ZTE arm64 device tree updates for 4.13:
- Fix DTC unit_address_vs_reg warnings in OPP entries by replacing
    '@' with '-' as the OPP nodes will never have a "reg" property.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQEcBAABAgAGBQJZSlgkAAoJEFBXWFqHsHzOxVsIALRBWPPcnJBNafvKxtL+DH63
 9lt62gZwKzLerqPVchGvapHfvpS5tu19fmmlvYIDZIICD4hjPQgdSN9EmKjGkhdo
 sIpBqJgYZ6i7OJEJMNKEUaDPqLXJY9Q2DVVVwIudtNnIu5EPYlCrQuGjQ5l2SXfk
 HeSeIOfybCbQM67fe2hP1Uk9P4AeVs+grTyg4nH3qP4kgEnd5fLkdNPdF2NGytE9
 IdzykK6LFDzDDW4qFL8T8luJpzh3gEsy2ecXpoI3WyCpdaZvIrFgXtvoFzdBTKBX
 4MQEnwaBn5OscAnXXGRzyPOsovSC6o6lkLCNw97ZwEbZGG4HdorhW8RGqqPm0yU=
 =/6Fg
 -----END PGP SIGNATURE-----

Merge tag 'zte-dt64-4.13' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/dt64

Pull "ZTE arm64 device tree updates for 4.13" from Shawn Guo:

 - Fix DTC unit_address_vs_reg warnings in OPP entries by replacing
   '@' with '-' as the OPP nodes will never have a "reg" property.

* tag 'zte-dt64-4.13' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  arm64: dts: zte: Use - instead of @ for DT OPP entries
2017-06-23 13:43:43 +02:00
Arnd Bergmann
10c235cdc9 arm64: dts: mediatek: don't include missing file
This resolves a build error in the next/dt branch:

In file included from arch/arm64/boot/dts/mediatek/mt6797-evb.dts:16:0:
arch/arm64/boot/dts/mediatek/mt6797.dtsi:15:10: fatal error: dt-bindings/power/mt6797-power.h: No such file or directory

003f5d0c34 ("arm64: dts: mediatek: add clk and scp nodes for MT6797")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2017-06-23 12:28:34 +02:00
Timur Tabi
4bff58bfb8 arm64: defconfig: enable Qualcomm Technologies EMAC and some PHY drivers
The EMAC is present on Qualcomm Technologies' server and some mobile
chips, and is used as the primary Ethernet interface.

Systems that have these SOCs typically have an Atheros 803x or
Marvell 88e1111 PHY in them, so enable those drivers too.

Signed-off-by: Timur Tabi <timur@codeaurora.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2017-06-23 10:17:22 +02:00
Timur Tabi
fa8054ef45 arm64: defconfig: enable QCOM_L2_PMU and QCOM_L3_PMU
Now that the drivers are available, enable support for L2 and L3
performance monitoring Qualcomm Datacenter Technologies Centriq SoCs.
These PMU drivers provide support for performance optimization.

Signed-off-by: Timur Tabi <timur@codeaurora.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2017-06-23 10:17:22 +02:00
Timur Tabi
5816dda135 arm64: defconfig: enable EDAC options
Enable EDAC (Error Detection and Correction) support for ARM64 server
systems that feature it, so that user space applications can be
notified of memory errors.

Signed-off-by: Timur Tabi <timur@codeaurora.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2017-06-23 10:17:21 +02:00
Timur Tabi
c792e5e644 arm64: defconfig: enable APEI and GHES features
ARM64 server platforms can support ACPI Platform Error Interface (APEI)
and Generic Hardware Error Source (GHES) features, so enable them.

Platforms which support the firmware-first RAS error reporting model
require APEI and GHES functionality for the OS to receive and report
error records provided by the platform.

PCIe AER functionality is required for PCIe AER errors to be properly
reported and recovered from.

Signed-off-by: Timur Tabi <timur@codeaurora.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2017-06-23 10:17:20 +02:00
Timur Tabi
23237ef372 arm64: defconfig: enable support for PCIe hotplug
Some ARM64 server systems support PCIe hotplug, so enable the options
for that.

Signed-off-by: Timur Tabi <timur@codeaurora.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2017-06-23 10:17:19 +02:00
Timur Tabi
5526dfc2a7 arm64: defconfig: enable EFI_CAPSULE_LOADER
CONFIG_EFI_CAPSULE_LOADER allows the user to update the EFI firmware,
which is useful on ARM64 server platforms.

Signed-off-by: Timur Tabi <timur@codeaurora.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2017-06-23 10:17:18 +02:00
Timur Tabi
1176fb3c92 arm64: defconfig: enable BLK_DEV_NVME
NVME is non-volatile storage media attached via PCIe. NVME devices
typically have much higher potential throughput than other block
devices, like SATA, NVME is a must-have requirement for ARM64 based
servers.

Signed-off-by: Timur Tabi <timur@codeaurora.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2017-06-23 10:17:18 +02:00
Timur Tabi
51f2e0db40 arm64: defconfig: enable ACPI_CPPC_CPUFREQ
The CPPC CPUFreq driver is used on many ACPI-based ARM64 server systems.

Signed-off-by: Timur Tabi <timur@codeaurora.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2017-06-23 10:17:17 +02:00
Jerome Brunet
cd84aff1d9 ARM64: dts: meson-gxl: Add Libre Technology CC support
Add support for the CC  board from Shenzhen Libre Technology
More information about the board are available here:

https://libre.computer/blog/

Cc: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-06-22 12:02:05 -07:00
Tyler Baicar
621f48e40e arm/arm64: KVM: add guest SEA support
Currently external aborts are unsupported by the guest abort
handling. Add handling for SEAs so that the host kernel reports
SEAs which occur in the guest kernel.

When an SEA occurs in the guest kernel, the guest exits and is
routed to kvm_handle_guest_abort(). Prior to this patch, a print
message of an unsupported FSC would be printed and nothing else
would happen. With this patch, the code gets routed to the APEI
handling of SEAs in the host kernel to report the SEA information.

Signed-off-by: Tyler Baicar <tbaicar@codeaurora.org>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Acked-by: Christoffer Dall <cdall@linaro.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2017-06-22 18:22:05 +01:00
Tyler Baicar
7edda0886b acpi: apei: handle SEA notification type for ARMv8
ARM APEI extension proposal added SEA (Synchronous External Abort)
notification type for ARMv8.
Add a new GHES error source handling function for SEA. If an error
source's notification type is SEA, then this function can be registered
into the SEA exception handler. That way GHES will parse and report
SEA exceptions when they occur.
An SEA can interrupt code that had interrupts masked and is treated as
an NMI. To aid this the page of address space for mapping APEI buffers
while in_nmi() is always reserved, and ghes_ioremap_pfn_nmi() is
changed to use the helper methods to find the prot_t to map with in
the same way as ghes_ioremap_pfn_irq().

Signed-off-by: Tyler Baicar <tbaicar@codeaurora.org>
CC: Jonathan (Zhixiong) Zhang <zjzhang@codeaurora.org>
Reviewed-by: James Morse <james.morse@arm.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2017-06-22 18:22:03 +01:00
Tyler Baicar
32015c2356 arm64: exception: handle Synchronous External Abort
SEA exceptions are often caused by an uncorrected hardware
error, and are handled when data abort and instruction abort
exception classes have specific values for their Fault Status
Code.
When SEA occurs, before killing the process, report the error
in the kernel logs.
Update fault_info[] with specific SEA faults so that the
new SEA handler is used.

Signed-off-by: Tyler Baicar <tbaicar@codeaurora.org>
CC: Jonathan (Zhixiong) Zhang <zjzhang@codeaurora.org>
Reviewed-by: James Morse <james.morse@arm.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
[will: use NULL instead of 0 when assigning si_addr]
Signed-off-by: Will Deacon <will.deacon@arm.com>
2017-06-22 18:21:46 +01:00
Stefan Traby
d38338e396 arm64: Remove a redundancy in sysreg.h
This is really trivial; there is a dup (1 << 16) in the code

Acked-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Stefan Traby <stefan@hello-penguin.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2017-06-22 17:38:42 +01:00
Mark Rutland
8effeaaf2c arm64: dump cpu_hwcaps at panic time
When debugging a kernel panic(), it can be useful to know which CPU
features have been detected by the kernel, as some code paths can depend
on these (and may have been patched at runtime).

This patch adds a notifier to dump the detected CPU caps (as a hex
string) at panic(), when we log other information useful for debugging.
On a Juno R1 system running v4.12-rc5, this looks like:

[  615.431249] Kernel panic - not syncing: Fatal exception in interrupt
[  615.437609] SMP: stopping secondary CPUs
[  615.441872] Kernel Offset: disabled
[  615.445372] CPU features: 0x02086
[  615.448522] Memory Limit: none

A developer can decode this by looking at the corresponding
<asm/cpucaps.h> bits. For example, the above decodes as:

* bit  1: ARM64_WORKAROUND_DEVICE_LOAD_ACQUIRE
* bit  2: ARM64_WORKAROUND_845719
* bit  7: ARM64_WORKAROUND_834220
* bit 13: ARM64_HAS_32BIT_EL0

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Acked-by: Steve Capper <steve.capper@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Suzuki K Poulose <suzuki.poulose@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2017-06-22 15:58:20 +01:00
Dave Martin
936eb65ca2 arm64: ptrace: Flush user-RW TLS reg to thread_struct before reading
When reading current's user-writable TLS register (which occurs
when dumping core for native tasks), it is possible that userspace
has modified it since the time the task was last scheduled out.
The new TLS register value is not guaranteed to have been written
immediately back to thread_struct in this case.

As a result, a coredump can capture stale data for this register.
Reading the register for a stopped task via ptrace is unaffected.

For native tasks, this patch explicitly flushes the TPIDR_EL0
register back to thread_struct before dumping when operating on
current, thus ensuring that coredump contents are up to date.  For
compat tasks, the TLS register is not user-writable and so cannot
be out of sync, so no flush is required in compat_tls_get().

Signed-off-by: Dave Martin <Dave.Martin@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2017-06-22 15:58:20 +01:00
Dave Martin
e1d5a8fb73 arm64: ptrace: Flush FPSIMD regs back to thread_struct before reading
When reading the FPSIMD state of current (which occurs when dumping
core), it is possible that userspace has modified the FPSIMD
registers since the time the task was last scheduled out.  Such
changes are not guaranteed to be reflected immedately in
thread_struct.

As a result, a coredump can contain stale values for these
registers.  Reading the registers of a stopped task via ptrace is
unaffected.

This patch explicitly flushes the CPU state back to thread_struct
before dumping when operating on current, thus ensuring that
coredump contents are up to date.

Signed-off-by: Dave Martin <Dave.Martin@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2017-06-22 15:58:19 +01:00
Dave Martin
af66b2d88a arm64: ptrace: Fix VFP register dumping in compat coredumps
Currently, VFP registers are omitted from coredumps for compat
processes, due to a bug in the REGSET_COMPAT_VFP regset
implementation.

compat_vfp_get() needs to transfer non-contiguous data from
thread_struct.fpsimd_state, and uses put_user() to handle the
offending trailing word (FPSCR).  This fails when copying to a
kernel address (i.e., kbuf && !ubuf), which is what happens when
dumping core.  As a result, the ELF coredump core code silently
omits the NT_ARM_VFP note from the dump.

It would be possible to work around this with additional special
case code for the put_user(), but since user_regset_copyout() is
explicitly designed to handle this scenario it is cleaner to port
the put_user() to a user_regset_copyout() call, which this patch
does.

Signed-off-by: Dave Martin <Dave.Martin@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2017-06-22 15:58:19 +01:00
Ingo Molnar
a4eb8b9935 Merge branch 'linus' into x86/mm, to pick up fixes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2017-06-22 10:57:28 +02:00
David S. Miller
3d09198243 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Two entries being added at the same time to the IFLA
policy table, whilst parallel bug fixes to decnet
routing dst handling overlapping with the dst gc removal
in net-next.

Signed-off-by: David S. Miller <davem@davemloft.net>
2017-06-21 17:35:22 -04:00
Thomas Petazzoni
29ad6bd9ad arm64: marvell: enable ICU and GICP drivers
This commit enables the newly introduced Marvell GICP and ICUs driver
for the 64-bit Marvell EBU platforms.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2017-06-21 17:47:17 +02:00
Thomas Petazzoni
6ef84a827c arm64: dts: marvell: enable GICP and ICU on Armada 7K/8K
This commit modifies the Marvell EBU Armada 7K and 8K Device Tree files
to describe the ICU and GICP units, and use ICU interrupts for all
devices in the CP110 blocks.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2017-06-21 17:09:48 +02:00
Gregory CLEMENT
c4c1436585 arm64: marvell: enable the Armada 7K/8K pinctrl driver
This commit makes sure the drivers for the Armada 7K/8K pin controllers
are enabled.

Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2017-06-21 14:51:21 +02:00
Viresh Kumar
61c9e02991 arm64: dts: zte: Use - instead of @ for DT OPP entries
Compiling the DT file with W=1, DTC warns like follows:

Warning (unit_address_vs_reg): Node /opp_table0/opp@1000000000 has a
unit name, but no reg property

Fix this by replacing '@' with '-' as the OPP nodes will never have a
"reg" property.

Reported-by: Krzysztof Kozlowski <krzk@kernel.org>
Reported-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Suggested-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2017-06-21 19:05:38 +08:00
Thomas Gleixner
17d9d6875c Merge branch 'fortglx/4.13/time' of https://git.linaro.org/people/john.stultz/linux into timers/core
Merge time(keeping) updates from John Stultz:

  "Just a small set of changes, the biggest changes being the MONOTONIC_RAW
   handling cleanup, and a new kselftest from Miroslav. Also a a clear
   warning deprecating CONFIG_GENERIC_TIME_VSYSCALL_OLD, which affects ppc
   and ia64."
2017-06-21 09:08:13 +02:00
Thomas Gleixner
f0cd9ae5d0 Merge branch 'timers/urgent' into timers/core
Pick up dependent changes.
2017-06-21 09:07:52 +02:00
John Stultz
fc6eead7c1 time: Clean up CLOCK_MONOTONIC_RAW time handling
Now that we fixed the sub-ns handling for CLOCK_MONOTONIC_RAW,
remove the duplicitive tk->raw_time.tv_nsec, which can be
stored in tk->tkr_raw.xtime_nsec (similarly to how its handled
for monotonic time).

Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Miroslav Lichvar <mlichvar@redhat.com>
Cc: Richard Cochran <richardcochran@gmail.com>
Cc: Prarit Bhargava <prarit@redhat.com>
Cc: Stephen Boyd <stephen.boyd@linaro.org>
Cc: Kevin Brodsky <kevin.brodsky@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Daniel Mentz <danielmentz@google.com>
Tested-by: Daniel Mentz <danielmentz@google.com>
Signed-off-by: John Stultz <john.stultz@linaro.org>
2017-06-20 22:13:59 -07:00
Luc Van Oostenryck
f5d284900c arm64: pass machine size to sparse
When using sparse on the arm64 tree we get many thousands of
warnings like 'constant ... is so big it is unsigned long long'
or 'shift too big (32) for type unsigned long'. This happens
because by default sparse considers the machine as 32bit and
defines the size of the types accordingly.

Fix this by passing the '-m64' flag to sparse so that
sparse can correctly define longs as being 64bit.

CC: Catalin Marinas <catalin.marinas@arm.com>
CC: Will Deacon <will.deacon@arm.com>
CC: linux-arm-kernel@lists.infradead.org
Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2017-06-20 16:47:16 +01:00
Gregory CLEMENT
63dac0f492 arm64: dts: marvell: add gpio support for Armada 7K/8K
Enable gpio support for CP and AP on the Marvell Armada 7K/8K SoCs.

The Armada 8K has two CP110 blocks, each having two GPIO controllers.
However, in each CP110 block, one of the GPIO controller cannot be
used: in the master CP110, only the second GPIO controller can be used,
while on the slave CP110, only the first GPIO controller can be used.

On the other side, the Armada 7K has only one CP110, but both its GPIO
controllers can be used.

For this reason, the GPIO controllers are marked as "disabled" in the
armada-cp110-master.dtsi and armada-cp110-slave.dtsi files, and only
enabled in the per-SoC dtsi files.

Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2017-06-20 16:34:18 +02:00
Gregory CLEMENT
ae701b6002 arm64: dts: marvell: add pinctrl support for Armada 7K/8K
Enable pinctrl support for CP and AP on the Armada 7K/8K SoCs.

The CP master being different between Armada 7k and Armada 8k. This
commit introduces the intermediates files armada-70x0.dtsi and
armada-80x0.dtsi.

These new files will provide different compatible strings depending of
the SoC family. They will also be the location for the pinmux
configuration at the SoC level.

Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2017-06-20 16:33:24 +02:00
Gregory CLEMENT
db7bc1ba91 arm64: dts: marvell: use new binding for the system controller on cp110
The new binding for the system controller on cp110 moved the clock
controller into a subnode. This preliminary step will allow to add gpio
and pinctrl subnodes.

Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2017-06-20 16:22:17 +02:00
Gregory CLEMENT
8dcd4ab004 arm64: dts: marvell: remove *-clock-output-names on cp110
The *-clock-output-names of the cp110-system-controller0 node are not
used anymore, so remove them.

Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2017-06-20 16:09:56 +02:00
Dave Martin
bb4322f743 arm64: signal: factor out signal frame record allocation
This patch factors out the allocator for signal frame optional
records into a separate function, to ensure consistency and
facilitate later expansion.

No overrun checking is currently done, because the allocation is in
user memory and anyway the kernel never tries to allocate enough
space in the signal frame yet for an overrun to occur.  This
behaviour will be refined in future patches.

The approach taken in this patch to allocation of the terminator
record is not very clean: this will also be replaced in subsequent
patches.

For future extension, a comment is added in sigcontext.h
documenting the current static allocations in __reserved[].  This
will be important for determining under what circumstances
userspace may or may not see an expanded signal frame.

Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Dave Martin <Dave.Martin@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2017-06-20 12:42:59 +01:00
Dave Martin
bb4891a6c3 arm64: signal: factor frame layout and population into separate passes
In preparation for expanding the signal frame, this patch refactors
the signal frame setup code in setup_sigframe() into two separate
passes.

The first pass, setup_sigframe_layout(), determines the size of the
signal frame and its internal layout, including the presence and
location of optional records.  The resulting knowledge is used to
allocate and locate the user stack space required for the signal
frame and to determine which optional records to include.

The second pass, setup_sigframe(), is called once the stack frame
is allocated in order to populate it with the necessary context
information.

As a result of these changes, it becomes more natural to represent
locations in the signal frame by a base pointer and an offset,
since the absolute address of each location is not known during the
layout pass.  To be more consistent with this logic,
parse_user_sigframe() is refactored to describe signal frame
locations in a similar way.

This change has no effect on the signal ABI, but will make it
easier to expand the signal frame in future patches.

Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Dave Martin <Dave.Martin@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2017-06-20 12:42:59 +01:00
Dave Martin
47ccb02868 arm64: signal: Refactor sigcontext parsing in rt_sigreturn
Currently, rt_sigreturn does very limited checking on the
sigcontext coming from userspace.

Future additions to the sigcontext data will increase the potential
for surprises.  Also, it is not clear whether the sigcontext
extension records are supposed to occur in a particular order.

To allow the parsing code to be extended more easily, this patch
factors out the sigcontext parsing into a separate function, and
adds extra checks to validate the well-formedness of the sigcontext
structure.

Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Dave Martin <Dave.Martin@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2017-06-20 12:42:58 +01:00
Dave Martin
20987de3c2 arm64: signal: split frame link record from sigcontext structure
In order to be able to increase the amount of the data currently
written to the __reserved[] array in the signal frame, it is
necessary to overwrite the locations currently occupied by the
{fp,lr} frame link record pushed at the top of the signal stack.

In order for this to work, this patch detaches the frame link
record from struct rt_sigframe and places it separately at the top
of the signal stack.  This will allow subsequent patches to insert
data between it and __reserved[].

This change relies on the non-ABI status of the placement of the
frame record with respect to struct sigframe: this status is
undocumented, but the placement is not declared or described in the
user headers, and known unwinder implementations (libgcc,
libunwind, gdb) appear not to rely on it.

Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Dave Martin <Dave.Martin@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2017-06-20 12:42:58 +01:00
Ard Biesheuvel
8f36094802 arm64: mm: select CONFIG_ARCH_PROC_KCORE_TEXT
To avoid issues with the /proc/kcore code getting confused about the
kernels block mappings in the VMALLOC region, enable the existing
facility that describes the [_text, _end) interval as a separate
KCORE_TEXT region, which supersedes the KCORE_VMALLOC region that
it intersects with on arm64.

Reported-by: Tan Xiaojun <tanxiaojun@huawei.com>
Tested-by: Tan Xiaojun <tanxiaojun@huawei.com>
Tested-by: Mark Rutland <mark.rutland@arm.com>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Reviewed-by: Laura Abbott <labbott@redhat.com>
Reviewed-by: Jiri Olsa <jolsa@kernel.org>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2017-06-20 12:42:58 +01:00
Ingo Molnar
902b319413 Merge branch 'WIP.sched/core' into sched/core
Conflicts:
	kernel/sched/Makefile

Pick up the waitqueue related renames - it didn't get much feedback,
so it appears to be uncontroversial. Famous last words? ;-)

Signed-off-by: Ingo Molnar <mingo@kernel.org>
2017-06-20 12:28:21 +02:00
Antoine Tenart
a6d8bd919a arm64: dts: marvell: use new bindings for xor clocks on ap806
New bindings are used for the system controller on the ap806, which
means all clock properties must be converted. Use the new bindings in
the xor nodes.

Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2017-06-20 11:38:23 +02:00
Antoine Tenart
6691565fb8 arm64: dts: marvell: mcbin: enable the mdio node
Since the mdio nodes are disabled by default now, we should explicitly
enable these nodes at the board level when they are used. Enable the
cpm_mdio node for the 8040-mcbin.

Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2017-06-20 11:38:19 +02:00
Christoph Hellwig
e0d60ac10e arm64: remove DMA_ERROR_CODE
The dma alloc interface returns an error by return NULL, and the
mapping interfaces rely on the mapping_error method, which the dummy
ops already implement correctly.

Thus remove the DMA_ERROR_CODE define.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Robin Murphy <robin.murphy@arm.com>
2017-06-20 11:13:08 +02:00
Will Deacon
dbb236c1ce arm64/vdso: Fix nsec handling for CLOCK_MONOTONIC_RAW
Recently vDSO support for CLOCK_MONOTONIC_RAW was added in
49eea433b3 ("arm64: Add support for CLOCK_MONOTONIC_RAW in
clock_gettime() vDSO"). Noticing that the core timekeeping code
never set tkr_raw.xtime_nsec, the vDSO implementation didn't
bother exposing it via the data page and instead took the
unshifted tk->raw_time.tv_nsec value which was then immediately
shifted left in the vDSO code.

Unfortunately, by accellerating the MONOTONIC_RAW clockid, it
uncovered potential 1ns time inconsistencies caused by the
timekeeping core not handing sub-ns resolution.

Now that the core code has been fixed and is actually setting
tkr_raw.xtime_nsec, we need to take that into account in the
vDSO by adding it to the shifted raw_time value, in order to
fix the user-visible inconsistency. Rather than do that at each
use (and expand the data page in the process), instead perform
the shift/addition operation when populating the data page and
remove the shift from the vDSO code entirely.

[jstultz: minor whitespace tweak, tried to improve commit
 message to make it more clear this fixes a regression]
Reported-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Tested-by: Daniel Mentz <danielmentz@google.com>
Acked-by: Kevin Brodsky <kevin.brodsky@arm.com>
Cc: Prarit Bhargava <prarit@redhat.com>
Cc: Richard Cochran <richardcochran@gmail.com>
Cc: Stephen Boyd <stephen.boyd@linaro.org>
Cc: "stable #4 . 8+" <stable@vger.kernel.org>
Cc: Miroslav Lichvar <mlichvar@redhat.com>
Link: http://lkml.kernel.org/r/1496965462-20003-4-git-send-email-john.stultz@linaro.org
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2017-06-20 10:41:51 +02:00
Kuninori Morimoto
5e2feac330 arm64: renesas: salvator-common: sound clock-frequency needs descending order
It will be used ADG clock initial settings, and will be
sound codec's initial system clock which needs maximum clock frequency.
Thus, descending order is required

Fixes: d37d2b3c0e ("arm64: dts: salvator-x: add 12288000 for sound ADG")
Fixes: 0b03c32db0 ("arm64: dts: r8a7795: salvator-x: Add support for R-Car H3 ES2.0")
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2017-06-19 11:18:33 +02:00
Linus Torvalds
1132d5e7b6 ARM: SoC fixes
Stream of fixes has slowed down, only a few this week:
 
  - Some DT fixes for Allwinner platforms, and addition of a clock to
    the R_CCU clock controller that had been missed.
  - A couple of small DT fixes for am335x-sl50.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJZR3FwAAoJEIwa5zzehBx3MmsQAJ+VV9hfqtXihWZFTqM+RqLO
 0qn4BU+zpxS/4TK/cVXy69/PNXRJJqq0hPfmyfBPj3Mm5revejFaFg7w620mBvUy
 01w1Wu2bLf6HG+9PBjmwBl9CIG4qjSHQXKvkT3A/ZVvV1zw+V/Yvs48Y7e7CDYMc
 or+URw9JS5R8UZdJ03oklnkNdSRLfXCfjfwKz6Hn1WmZ30Gsg74DYBuGzvL2wFRx
 qyBaNwTaItipiIIPSzrns4yexpujYwzMxypIF6q9cHXfmnA669NwHCUwhZawdvQi
 ibEoGxTpisjus07/y+zcar73f+NFN3QVtKdTi+XxYTKBPH3OxU4d4DbbE4EBpazk
 G/I8ZVZ87tpuskkLegTuXDjsgfsVJTdBt+Rck4+MGiP/4DccOXXauEsGhbryk5Jg
 TB6r45tf9pDpoYiCF0JIkkl9TLEv4hUXgIYZBYtH1lFXbSVkGpk1y+ZM3SrgSoP1
 U2wAY6vxAB6taGHI/99i3/8VI5Fd7Q06XpaGVyk9ET7pRc5Lvpbz9255jpLOasf/
 8ZkaVk3yM9mzcSEezHohzQd2en1sIvA6gZbLFMBL9UoLBgrtbSJPQCIalnRelwJf
 SZoO/mDmgYAr3Tq3NuYUI4dp1U49q5nGme6ujm98Hg5VdH/50ZDwidaFS/N+Ba71
 gIc2TLD0OMC/zhuOOBaE
 =pi+d
 -----END PGP SIGNATURE-----

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

Pull ARM SoC fixes from Olof Johansson:
 "Stream of fixes has slowed down, only a few this week:

   - Some DT fixes for Allwinner platforms, and addition of a clock to
     the R_CCU clock controller that had been missed.

   - A couple of small DT fixes for am335x-sl50"

* tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
  arm64: allwinner: a64: Add PLL_PERIPH0 clock to the R_CCU
  ARM: sunxi: h3-h5: Add PLL_PERIPH0 clock to the R_CCU
  ARM: dts: am335x-sl50: Fix cannot claim requested pins for spi0
  ARM: dts: am335x-sl50: Fix card detect pin for mmc1
  arm64: allwinner: h5: Remove syslink to shared DTSI
  ARM: sunxi: h3/h5: fix the compatible of R_CCU
2017-06-19 16:50:09 +08:00
Olof Johansson
b87a08f962 The Freescale arm64 device tree updates for 4.13:
- A series from NXP employee Li Yang that updates the copyright claims
    to comply with company policy.
  - A patch-set from Madalin Bucur that adds Data Path Acceleration
    Architecture (DPAA) QBMan and FMan.  Quite a few .dtsi files are
    created for SoCs with different DPAA configuration to include the
    devices as needed.
  - Enable UHS-I SD and eMMC support for LS1046A and LS208xA RDB/QDS
    boards.
  - Enable TMU device for thermal management support on LS1088A.
  - Update SATA device node for LS1088A with correct compatible and ECC
    register bit.
  - A few small random device tree updates.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQEcBAABAgAGBQJZRpzyAAoJEFBXWFqHsHzOiB0H/2j7iQRVuiwINPE1VlIyWIrC
 GrBVcf3chm0R/9E87LtX0PdgX2FweKyQ6AHDK2A8zM68pavX70LGVRfKSYqFoVN8
 dEIAHhvNiLMVCPbxiuDtYSsWBSnWLM5+PEpy6pUSej9A/9m6KLyeX82+0QYL/tL0
 /DaN+vwVQm5GYi/5KiK3JQ765Vva435ImYf3+N15Jra5NXVDn4myInOOcvcX6zK+
 WtTckAyJT9e8KLfNA5UT39KbRRD8sZjlIF75TGu6RJGT1KWbU+atzEp1L9Nwgg51
 +5pW11vs5ADoqFiT6LdjGjFf1WJEphWbLoDknDr+QJJThi1mCMy2pU7xMVUF86I=
 =uI6T
 -----END PGP SIGNATURE-----

Merge tag 'imx-dt64-4.13' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/dt64

The Freescale arm64 device tree updates for 4.13:
 - A series from NXP employee Li Yang that updates the copyright claims
   to comply with company policy.
 - A patch-set from Madalin Bucur that adds Data Path Acceleration
   Architecture (DPAA) QBMan and FMan.  Quite a few .dtsi files are
   created for SoCs with different DPAA configuration to include the
   devices as needed.
 - Enable UHS-I SD and eMMC support for LS1046A and LS208xA RDB/QDS
   boards.
 - Enable TMU device for thermal management support on LS1088A.
 - Update SATA device node for LS1088A with correct compatible and ECC
   register bit.
 - A few small random device tree updates.

* tag 'imx-dt64-4.13' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (22 commits)
  arm64: dts: ls1088a: update sata node
  dt-bindings: ahci-fsl-qoriq: add ls1088a chip name to the list
  arm64: dts: ls1012a: Add coreclk
  arm64: dts: ls1046a: Add dis_rxdet_inp3_quirk property to USB3 node
  arm64: dts: ls208xa: disable SD UHS-I modes by default on RDB
  arm64: dts: ls1043a: Add generic compatible string for I2C EEPROM
  arm64: dts: add LS1046A DPAA FMan nodes
  arm64: dts: add LS1043A DPAA FMan support
  arm64: dts: add DPAA FMan nodes
  arm64: dts: add LS1046A DPAA QBMan nodes
  arm64: dts: add LS1043A DPAA QBMan nodes
  arm64: dts: add DPAA QBMan portals
  arm64: dts: ls1088a: Add TMU device tree support
  arm64: dts: ls1088a: update the sata node
  arm64: dts: Add flash node for ls1088a qds and rdb
  arm64: dts: ls1088a: add esdhc node
  arm64: dts: ls1012a: add eSDHC nodes
  arm64: dts: ls208xa: support SD UHS-I on RDB and eMMC HS200 on QDS
  arm64: dts: ls1046a: support SD UHS-I and eMMC HS200 on RDB
  mmc: dt: add compatible into eSDHC required properties
  ...

Signed-off-by: Olof Johansson <olof@lixom.net>
2017-06-18 23:07:59 -07:00
Olof Johansson
4623e69d1c mvebu dt64 for 4.13 (part 1)
- Improve the mcbin support (Armada 8040 based board): add sdhci and
   the second 1G port
 - Improve crypro nodes description on Aramda 7K/8K
 - Use new binding for ap806 clocks
 - Improve mdio nodes and add xmdio on Aramda 7K/8K
 - Add second SGCI node on Armada 37xx
 - Improve the description of the Armada 3720 DB board
 -----BEGIN PGP SIGNATURE-----
 
 iIEEABECAEEWIQQYqXDMF3cvSLY+g9cLBhiOFHI71QUCWUTPlSMcZ3JlZ29yeS5j
 bGVtZW50QGZyZWUtZWxlY3Ryb25zLmNvbQAKCRALBhiOFHI71VOLAJoC5+faPv4o
 ob78Tena5JEbNcQtlQCeKrl7v3V4DP3BMhlBa9eguRn4RRQ=
 =LHta
 -----END PGP SIGNATURE-----

Merge tag 'mvebu-dt64-4.13-1' of git://git.infradead.org/linux-mvebu into next/dt64

mvebu dt64 for 4.13 (part 1)

- Improve the mcbin support (Armada 8040 based board): add sdhci and
  the second 1G port
- Improve crypro nodes description on Aramda 7K/8K
- Use new binding for ap806 clocks
- Improve mdio nodes and add xmdio on Aramda 7K/8K
- Add second SGCI node on Armada 37xx
- Improve the description of the Armada 3720 DB board

* tag 'mvebu-dt64-4.13-1' of git://git.infradead.org/linux-mvebu:
  arm64: dts: marvell: add xmdio nodes for 7k/8k
  arm64: dts: marvell: add a comment on the cp110 slave node status
  arm64: dts: marvell: remove cpm crypto nodes from dts files
  arm64: dts: marvell: cp110: enable the crypto engine at the SoC level
  arm64: dts: marvell: armada-3720-db: Add vqmmc regulator for SD slot
  arm64: dts: marvell: Enable second SDHCI controller in Armada 37xx
  arm64: dts: marvell: armada-37xx: Use angle bracket for each register set
  arm64: dts: marvell: armada-37xx: Align the compatible string
  arm64: dts: marvell: armada-3720-db: Add information about the V2 board
  arm64: dts: marvell: armada-3720-db: Sort the dts node alphabetically
  arm64: dts: marvell: disable the mdio nodes by default
  arm64: dts: marvell: explicitly enable the mdio nodes for 7k/8k DB
  arm64: dts: marvell: add dma-mask in crypto nodes for 7k/8k
  arm64: dts: marvell: 8040-mcbin: Enable 1GB Ethernet
  arm64: dts: marvell: cp110: add required clocks for mdio interface
  arm64: dts: marvell: use new binding for the system controller on ap806
  arm64: dts: marvell: remove clock-output-names on ap806
  arm64: dts: marvell: add second 1G port on the Armada 8040 DB
  arm64: dts: marvell: mcbin: add sdhci
  arm64: dts: marvell: add clocks for Armada AP806 XOR engines

Signed-off-by: Olof Johansson <olof@lixom.net>
2017-06-18 22:59:47 -07:00
Olof Johansson
5d518c8aa3 Second Round of Renesas ARM64 Based SoC DT Updates for v4.13
* Add reset control properties for audio to r9a779[56] SoCs
 * Add add DMA for IIC_DVFS to r9a779[56] SoCs
 * Add support for Salvator-XS and H3ULCB with R-Car H3 (r8a7795) ES2
 * Add missing index to PWM pinctrl subnode name to Salvator-X board
 * Add 12288000 for sound ADG to Salvator-X and ULCB boards
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJZQ9NmAAoJENfPZGlqN0++YKQP/29K6aCDPyztpPHBpmDs6oEx
 viTr0YTxyIBD256Z+gJMxlDRm36HZzZFRzFdLn2c5iGjHt/jXY5bPTvMR9FkPUDJ
 OHB1SPOVoyYdy0l+ti+RdO4JoIM295auueL4vlyVLz0co/3q97RUWlfVclZtuIx7
 k4m0hhmFgeVloNFYIOOKWr60MHcz5tw1tEm48wsLk2hg9OkugkbIdEo64rq6Q08G
 2Sw87T9+4K2TGA8RV0ypjlZ/xfryfnGbDy2bNQNDyph+5NK6KrJYdoj4vUTzfPLX
 1e2uIF9KcTMiAf6BVtx/rTAXM2i3F4xAlL3FNyqLMIfAkIWwVZ62Jf22BFQ4QQ1m
 lcE9wsP1zDO7DvaqGsuq3kyA8eZ7w1UHo+Xx7rpin1hl4D7H53jDyXWpDJqyAuYH
 /lxTCQ2y3sdsixHINwLD2Dgmv7O5OaHiqMH0rPGcoaayqDWNm1j8SqxMNvU5hUKp
 6jMmZST55+P52nYlAJPP4zVcJ6BzBhMa4tcaTth6cg6fAFF68kHyeeahjRgh3PS3
 Fqt+mrXey1meWpBsWGJsnpgcDAVcVEDqOI9eDKm7vQFWi6bfn46feYw7geiPiABf
 IPDITrmnKJXlP2wjz1Uw3kRSbG9cl36vgVWLdqaq7P37xRgmkL1R5bYo/u/UUW/N
 kkWe3GgcxbwtNoCeNkxr
 =wed7
 -----END PGP SIGNATURE-----

Merge tag 'renesas-arm64-dt2-for-v4.13' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt64

Second Round of Renesas ARM64 Based SoC DT Updates for v4.13

* Add reset control properties for audio to r9a779[56] SoCs
* Add add DMA for IIC_DVFS to r9a779[56] SoCs
* Add support for Salvator-XS and H3ULCB with R-Car H3 (r8a7795) ES2
* Add missing index to PWM pinctrl subnode name to Salvator-X board
* Add 12288000 for sound ADG to Salvator-X and ULCB boards

* tag 'renesas-arm64-dt2-for-v4.13' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  arm64: dts: r8a7796: Add reset control properties for audio
  arm64: dts: r8a7795: Add reset control properties for audio
  arm64: dts: renesas: Add support for Salvator-XS with R-Car H3 ES2.0
  arm64: dts: renesas: Add common Salvator-XS board support
  arm64: dts: renesas: Extract common Salvator-X/XS board support
  arm64: dts: salvator-x: Add missing index to PWM pinctrl subnode name
  arm64: dts: r8a7795: h3ulcb: Add support for R-Car H3 ES2.0
  arm64: dts: r8a7796: add DMA for IIC_DVFS
  arm64: dts: r8a7795: add DMA for IIC_DVFS
  arm64: dts: ulcb: add 12288000 for sound ADG
  arm64: dts: salvator-x: add 12288000 for sound ADG

Signed-off-by: Olof Johansson <olof@lixom.net>
2017-06-18 22:40:59 -07:00
Olof Johansson
e4140e649e Renesas ARM64 Based SoC Defconfig Updates for v4.13
* Enable Simple Sound Card support
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJZQ9IiAAoJENfPZGlqN0++yIoP/3Q4z6mpjC46tcpKc9yH6y3w
 Xl8GPDr7MSkmSQO6GgdIFlKET7itoCD14PhceHbJzJkrFD5qLAGXQa/CMKYynmtq
 XuA8KC66/ViokU8cztQx3uPEyGjzpFftg0oWPxw0TRGJFYUpsAiR1t9l43sF+h/q
 eGxFWUferJa2QoB02xfRCD8MpowTRm8lFoO5pM6yc5vOfweSQSc3RvRagvIIcp53
 9ACk3QGdL+SE7Xyoofo/J1BKDwnina1bru3rkm9UzLSN2JcMZk9NvE9Lfk9Q68x3
 2fZjXu6OVqbuvj3ns73FAFXwVS3ZGKRYO4PYUd4+WTOaw9T/OZT1fRQKErQ2ew7z
 8VpDsGn1/fdm3vHNoaENM/7v1msLk806fePrjudRpHQ8sIB7G+lcVHWcrboIZwsq
 WZELfAIBM3Sh6JY+P2wLJVx5sETQTo5Wztq/fUVSC66UZWv+shSXcQGPVANWgYID
 cmqNgsnQidflZXuGhkRRBEPz2l0myqBmVp0XGj+aBQrsAI7e3sZjVb9QAG8COPn9
 bsAW0/l3OsRt0OpC0rfkXqdU80CFljmgjzU8cxjQolsPSTS3qNadACb6nS2N9sAl
 egpp2g42dxYuNb9K2SXT92P90faGE6CZmU0LmAMOIaF5kH/JEVg6T2UTyQLnrUrC
 87FiZ0EQ17KOenJ0onzp
 =13yT
 -----END PGP SIGNATURE-----

Merge tag 'renesas-arm64-defconfig-for-v4.13' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/arm64

Renesas ARM64 Based SoC Defconfig Updates for v4.13

* Enable Simple Sound Card support

* tag 'renesas-arm64-defconfig-for-v4.13' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  arm64: defconfig: enable Simple Sound Card support

Signed-off-by: Olof Johansson <olof@lixom.net>
2017-06-18 22:40:28 -07:00
Olof Johansson
9d03b29694 Qualcomm ARM64 Updates for v4.13
* Fix APQ8016 SBC WLAN LED
 * Add MSM8996 CPU node
 * Add MSM8992 SMEM and fixed regulator
 * Fixup MSM8916 USB support
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJZQBXaAAoJEFKiBbHx2RXVLrgQAL5Bm+Tnl7jE03Cdtis+ob3Q
 htJxDMVK5jNStB9CqrH30cUJn8vyRExc2eFWM3Kugz5m7MkFcPIapPLynmIJQVU4
 87hEKu07DOlWmBkWsm0N4VhRlYcp79ahWwCM3mzxm4lqHJiDSSd0U38qhuHeYOM3
 6VPw18BFF1c9Cy72U2sITuPIu0u0F5uaeQ0/XMp9RESHoDkv1iMvNSRaPeA9UoEI
 YRe3FqBqtYL80kG1LFQ4pdVSFjcCkxswqR9I4JFtUdSOvo8mxGTTy0/MIsFWZ2qG
 V4JuFTM+iPzJuy6AZKPUj5EdsNvx9Fu329nyRl+wbVvDWRvNkmYS3fDwedNAx+aw
 yoD8vO9ruM2V63wb17fLFG3jPi+uc0WZnzY/vDwqK4imt1RPfhfabKgRzUGHT02Q
 LrH5bu1J1b7bQnHCmk12x7s6RrrWMLr4aPrqtPyu3/jVRuck5IX7TbWffe/Pu4rJ
 CSADP9gWRP4QxmJ6dw7NAneZLRJgHjCAMTkTY5HkkSLROLkf1fzAP6NZ+lgU6bQs
 6T1pvPpxGTBzEjLAzdhrYHsDje/rnLm0q1Mvp7IN6RniBcZP3Qs/PoCGje36cbBa
 ASZ3vHnlcwULyRphaqNSPQ8+5Bq5hkgRMAVFn6XBj4ok2ZeaMq3VymHgGv1KAKkE
 1CnzKKoyTDu6/vjViEw9
 =91Qc
 -----END PGP SIGNATURE-----

Merge tag 'qcom-arm64-for-4.13' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux into next/dt64

Qualcomm ARM64 Updates for v4.13

* Fix APQ8016 SBC WLAN LED
* Add MSM8996 CPU node
* Add MSM8992 SMEM and fixed regulator
* Fixup MSM8916 USB support

* tag 'qcom-arm64-for-4.13' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux:
  arm64: dts: apq8016-sbc: Correct WLAN LED default-trigger
  arm64: dts: msm8996: Add CPU clock controller node
  arm64: dts: smem enablement for msm8992
  arm64: dts: msm8992 add fixed regulator
  arm64: dts: qcom: Collapse usb support into one node

Signed-off-by: Olof Johansson <olof@lixom.net>
2017-06-18 22:28:48 -07:00
Olof Johansson
e4b79c3b6b arm64: tegra: Device tree changes for v4.13-rc1
This adds the CCPLEX cluster on Tegra186, which is used to initiate CPU
 frequency and voltage transitions.
 
 Also included is a bit of cleanup for PCI related device tree content,
 in preparation for a future DTC release that has additional checks for
 the PCI bus.
 -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCAAxFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAllDkc0THHRyZWRpbmdA
 bnZpZGlhLmNvbQAKCRDdI6zXfz6zoVAtEACNPwpKvx7jTNmP8Z2nGARRU/7X5PjK
 BXRd3C4IgCgOmUHrUQCOvxPVdtYqc/lyW7Bs8v3jo3o5eOG+glXoZ/QRRlwKmBnV
 hJrxT4qfgC0MwdXdukbxQ44wP4ehQdZBTxhyBuRHj0JpW6/cJ8DKfe6hNYhexzR0
 sUXiRzf6VskehZHVeowkqNNoltoEsIzwshIwWKh1Z6gZydPHTmop3jd+v/iWFBj6
 jDkF1FZv80I+MulChz5enGEKq1b5E9E0IU9zd8jnelqRAqCDy+xw7x1sGg6KM2st
 z3lL17msDPV73KBWfyPJ20vIodFfY9WUlQ4E3DzHHTkdUUMBzQ7C804c4HPf/8KE
 rF9/0Kr+JFOuzo8znHtvz8WQiimK3X8BH7MwhuFNlfzniu3PPqBeFmf/mZcxl1Cx
 xf17l43tTM14e7+8rjVMmuIfqCnrIbW0bmr74YgU20VOvdQ1T0VUBQCFDG3bU+zT
 t4ljt7G8/i4SoWf1eVUtv7PW/miwEb8qnjx7yfHS7Qzfjhr+z3OxorqIdc1A0n4l
 rxVBkpjRpcRyXicmF8j+aT3cU5inVQ0UnvKbkiFmsia3hIPKlAnLJXFQLvTRizKa
 1BXa0HH4QvQxnmLzVGx9aOcndI1XoCMmNQMAdFeC4XXD7IDJ8CXke9hVU875cj6V
 YWX4IqtXljIDgg==
 =nFWX
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-4.13-arm64-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into next/dt64

arm64: tegra: Device tree changes for v4.13-rc1

This adds the CCPLEX cluster on Tegra186, which is used to initiate CPU
frequency and voltage transitions.

Also included is a bit of cleanup for PCI related device tree content,
in preparation for a future DTC release that has additional checks for
the PCI bus.

* tag 'tegra-for-4.13-arm64-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  arm64: dts: nvidia: fix PCI bus dtc warnings
  arm64: tegra: Add CCPLEX_CLUSTER area in Tegra186

Signed-off-by: Olof Johansson <olof@lixom.net>
2017-06-18 21:02:19 -07:00
Olof Johansson
010da09e26 ARM64: DT: Hisilicon SoC DT updates for 4.13
- Add and update Hi3660-Hikey960 board, Hi3660 PCIe RC, Hi6421v530 MFD and
   Hi3660 MMC binding
 - Add and refine devices support for Hi3660-Hikey 960 including clock, reset,
   I2C, GPIO, UART, Bluetooth, RTC, Power Key, LED, SPI, timer, PMIC, regulator,
   sd/sdio and WiFi
 - Add k3-dma and i2s/hdmi audio support based on audio-card-graph method for
   Hikey board
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJZQ+xAAAoJEAvIV27ZiWZc9m4QALQpeVS+9RHYkLKuDfOlkZUY
 g0N0QcQSrOgsASgpDpHnozrUD25v+A8hyL2yXFyeFQSAG9+q295GKHFIHquEY+lb
 Rk0gUSNjvZj7JWcXBV1ydfLvuM3Qu/tRv2GKmaJTnuJZp2x1Bu3T/JemlAEW8hGT
 x4zxbcw1YtvqMYksii77iXSN4VoVVDVgdLoEre4q6vGwC9PVFwu0+wSPRYMmsglX
 lnE4+DdVuqokbHBAAteTVFLMoHP4UKj7UXA143dUuC8A8v607o1NLRgWpGfrr4aN
 7lCPhbKSoZMizDP7G8E+po8ygMwGQGwOqfVEetO5CW45nJa+w7SECBI1zLSOV3J6
 cV/Fs7tIPsTuJb438pPP/GMuciSEK413Iy99CmLZLG/ByIXOsPwW59ARsd/tUlob
 k6fVvjScQr281Ietqqls4oKzICLpoV3yzeio+NDyOaX4swq3mY+exWlP6y8fIemx
 2OdIUrxSMd76tdYxDjtchwNw/SmwrHXIAwF/AndVM7B3qb2SFEgJq7BK7rp+Ebci
 4ULYmK4B+nbMg5HbDsokqvxbWXjGFgbBF7UNcFlYajiz9yo9v6w1sKzRhcGBGmDS
 Iw1dtebbtqBAQdggraCJtNjxLYfQZ4e9V49KrYjq/J9aAqfnzsRprXuu3Xa7uj4C
 F1OeJ+wTDtGoL12OJAWa
 =/TK9
 -----END PGP SIGNATURE-----

Merge tag 'hisi-arm64-dt-for-4.13-v2' of git://github.com/hisilicon/linux-hisi into next/dt64

ARM64: DT: Hisilicon SoC DT updates for 4.13

- Add and update Hi3660-Hikey960 board, Hi3660 PCIe RC, Hi6421v530 MFD and
  Hi3660 MMC binding
- Add and refine devices support for Hi3660-Hikey 960 including clock, reset,
  I2C, GPIO, UART, Bluetooth, RTC, Power Key, LED, SPI, timer, PMIC, regulator,
  sd/sdio and WiFi
- Add k3-dma and i2s/hdmi audio support based on audio-card-graph method for
  Hikey board

* tag 'hisi-arm64-dt-for-4.13-v2' of git://github.com/hisilicon/linux-hisi: (21 commits)
  arm64: dts: hi6220: Add k3-dma and i2s/hdmi audio support
  arm64: dts: hi3660-hikey960: add nodes for WiFi
  arm64: dts: hi3660: add sd/sdio device nodes
  dt-bindings: mmc: dw_mmc-k3: add document of hi3660 mmc
  arm64: dts: hikey960: add device node for pmic and regulators
  dt-bindings: mfd: hi6421: Add hi6421v530 compatible string
  arm64: dts: hisi: add kirin pcie node
  dt-bindings: PCI: hisi: Add document for PCIe of Kirin SoCs
  arm64: dts: hi3660: add sp804 timer node
  arm64: dts: hi3660: add spi device nodes
  arm64: dts: hikey960: add LED nodes
  arm64: dts: hi3660: add power key dts node
  arm64: dts: hi3660: Add pl031 rtc node
  arm64: dts: hikey960: add WL1837 Bluetooth device node
  arm64: dts: hi3660: Add uarts nodes
  arm64: dts: hi3660: add gpio dtsi file for Hisilicon Hi3660 SOC
  arm64: dts: Add I2C nodes for Hi3660
  arm64: dts: hi3660: add resources for clock and reset
  arm64: dts: hikey960: pinctrl: add more pinmux and pinconfig
  arm64: dts: hisilicon: update compatible string for hikey960
  ...

Signed-off-by: Olof Johansson <olof@lixom.net>
2017-06-18 20:56:42 -07:00
Olof Johansson
2003c78b3c ARMv8 Vexpress/Juno DT updates for v4.13
1. Adds support for Coresight CPU debug MMIO interface on all Juno variants.
 
 2. Enables support for few SMMUs on Juno which were previously disabled
    waiting for IOMMU-backed DMA API support to be stabilised.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABCAAGBQJZQmvdAAoJEABBurwxfuKYob0P/RB2bYmP0bjlIP/QRII1b3tI
 nlBIWQIcOSzedLK3sayK3WCSsyYeLAQP9Y3qRM6GJwzTd5fGHJNUzwEHKhxvml+6
 H8z/7ym0OoIRYdY40OyOdao+9uKm1A7i399KPKd+1Ukwfu/1eKyBRMIuqbo/PQ+I
 yCDhlEPCWTPpUQF4gAslowg9HYSeUtbfFtekT+BqA9MHz0pp8Btr3yOTUhaHy5w7
 MGV4sQfi9IqwBqvy5BDR7byFoGzYdZJN0MEQkQyjK08fJITNRzrUOHffbEWcQ6N8
 Q4yCay0BpNw0JMCwEJmsysKw0XyPTyPSVZdfoFH9gTxDEymxSv+GYeoqSEhjpvWM
 6SESHyfBGuEbYCITQafeD1bS9vI3bbgpoUj7aw6tql1gW2GusUV7PJACjIIkp24M
 LurfA/WgBLn2NUYC5GG5e919EzDFKzHwe4fJA6tfSf14pq/a3HUpFoArn/z9vX2k
 UnGmFHpWCoRff3ZaEI9d8faHoHhU4h0hNaTFhPAAT+4YF/Vz4Bj/2wilUTO3AQ98
 zX1cEsxQFQjPl1JjpWXeEASgsK9KmnV13eVMgWpUuUzbHZoifzwvuBOSIQA8QXh5
 z0Jh7zM26n8SAB6JxI74Imw4b5eXWPZDSPsbUXeGW5VjENzzue3fBaieLO6Q3t4d
 YEAJXL+pJTBLQL/dZHQL
 =BIsT
 -----END PGP SIGNATURE-----

Merge tag 'juno-updates-4.13' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into next/dt64

ARMv8 Vexpress/Juno DT updates for v4.13

1. Adds support for Coresight CPU debug MMIO interface on all Juno variants.

2. Enables support for few SMMUs on Juno which were previously disabled
   waiting for IOMMU-backed DMA API support to be stabilised.

* tag 'juno-updates-4.13' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux:
  arm64: dts: juno: enable some SMMUs
  arm64: dts: juno: add coresight CPU debug nodes

Signed-off-by: Olof Johansson <olof@lixom.net>
2017-06-18 20:55:51 -07:00
Olof Johansson
b69cfb5abf Allwinner H5 DT changes for 4.13
Just like the H3, this is mostly about enabling the EMAC on the H5, and
 also has a new board, the Orange Pi Zero Plus 2
 -----BEGIN PGP SIGNATURE-----
 
 iQIcBAABAgAGBQJZQZulAAoJEBx+YmzsjxAgdrIP/2Y+cVwgdqbe3JzIy2xAbboe
 5/jYgEkrxT9u0yFefKZCbPMUnz9q9hBjqYHnTRwzTMuIGvSqsxgWqsVBL+OZoFHk
 s3OUJOm0FnRV+5Er1NMbfkfW2rRmeQzsCYpKMf6bTkfyIAk4rSqMnB5ruZCYINbZ
 OyNO7IFQ7ryORGpRT8F70dNeqsN7wxtWAhNN+FWC0UaHAZbXFZqGny5YINGghX1h
 74gy8hU4/qQZfHd+IBFf2v/WB1TYgNFHxKMfnoHvj3NQtWtV8GqQg3X32tY4YI7t
 S873vCYZhqLLlGJYPbScFjsVCr8pW2851fZxfvd2cUNQR65b7EzJAI25+9N7aPau
 rZVDi2eUZlchmEZhpg1W4k5xcBhXjXvaK11dOyue48S9WI1PcAMeI19vRm4AhFqm
 p6v5UTUgJpD/pKP7ZkrpXdi5rg4jjQ+JNltjeks9vcakDg+feiOlq8euNq2Vq8Wu
 vML1s15CL2WHVD/4FiDTUHKgz6v86+ksYqY0VOnr2eWGLrlkb8XtV7HlCfzFUuJ3
 V0v7d45wuW/renvGziTwhxqyA7h+V/R5rww+/HwSGOuAY7KtATYVfpNWIX/aYNEU
 aeEVR4FtN+usgKCMBnieD9FfN7Qe86aFq1d5hCaWrgKooZ9TaLlWN6RQuWJ/NTf5
 YvA3keSVdqByZBgw1PkT
 =x40b
 -----END PGP SIGNATURE-----

Merge tag 'sunxi-dt-h5-for-4.13' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into next/dt64

Allwinner H5 DT changes for 4.13

Just like the H3, this is mostly about enabling the EMAC on the H5, and
also has a new board, the Orange Pi Zero Plus 2

* tag 'sunxi-dt-h5-for-4.13' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
  arm64: allwinner: h5: Add initial Orangepi Zero Plus 2 support
  arm64: allwinner: h5: enable dwmac-sun8i for Nano Pi NEO2
  arm64: allwinner: h5: enable dwmac-sun8i for Orange Pi Prime
  arm64: allwinner: h5: sort the device nodes in / part for some boards
  arm64: allwinner: h5: add support for NanoPi NEO2 board
  arm64: allwinner: h5: add support for Orange Pi Prime board
  arm64: allwinner: orangepi-pc2: Enable dwmac-sun8i
  arm: sun8i: sunxi-h3-h5: add dwmac-sun8i ethernet driver
  arm: sun8i: sunxi-h3-h5: Add dt node for the syscon control module
  ARM: sunxi: h3-h5: Convert R_CCU raw numbers to macros

Signed-off-by: Olof Johansson <olof@lixom.net>
2017-06-18 20:45:17 -07:00
Olof Johansson
a1858df975 Allwinner fixes for 4.12
A few fixes around the PRCM support that got in 4.12 with a wrong
 compatible, and a missing clock in the binding.
 -----BEGIN PGP SIGNATURE-----
 
 iQIcBAABAgAGBQJZQZkZAAoJEBx+YmzsjxAg4nAQAJJqzy8//Ur0o6Ppc6eufIAY
 gYGS80x5n/a6/X7PPMj/cMBVc1/HoOoF5YVKry2edRi4jKwpBjCE6THNJ/EdI0LM
 6PrN4y9yJAzxbwWfD9rfVNLg54665TGW8etBp5C3Sqdi+qmU9BTL068UYGcA46I8
 XGZ53wGLnCfRH5VGpVzxORbdQMStKsZ2D0PTmZ7aJU2nrPugbf4DiGg2Uhgdx+bI
 Mz3Zl6cZQraWdl6gSVTjG1Z5LQOKo5tXGIaC4zxbXe/Ss2lspxM3WKtJDhdtoTH9
 ZiLGDf6Q3XUeMN5WkQNT6ZnT8+/8NQujhcktEfxhfiA5pGeHLzuOCaOLgEWVy8sc
 Z6jNLHUht3W/XGOGY0szKfqmsOnDdnsnv3YbCUoWJ/0ER8kwQdJ8k4iI1EVMi23Q
 UcXDiZivCgjj7mYOzfhG2YYZ03rxhadPqsnoDro/a+mI6splPhQplJC/we8TUYHt
 eJmXF3rvOgXGYJAdnF8FJiftzUKUd0h8S8qsxBB3knP4mPY73vtppsvJwPOqlil2
 EPcqHmcd3EvHRZrmHNsP7qpQXMiaWqImf6Ioq7hz4mPPJ5uiIPrEIdRmACCAdn9H
 eeOQyI0rdg3bTCKi/dztaX4zVCMjEy9HG0xZ/Y6dvPwKjuWTpJApsTC+xEaiql2L
 gQ+OFMX4mvgr79OUNp7L
 =WD1J
 -----END PGP SIGNATURE-----

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

Allwinner fixes for 4.12

A few fixes around the PRCM support that got in 4.12 with a wrong
compatible, and a missing clock in the binding.

* tag 'sunxi-fixes-for-4.12' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
  arm64: allwinner: a64: Add PLL_PERIPH0 clock to the R_CCU
  ARM: sunxi: h3-h5: Add PLL_PERIPH0 clock to the R_CCU
  arm64: allwinner: h5: Remove syslink to shared DTSI
  ARM: sunxi: h3/h5: fix the compatible of R_CCU

Signed-off-by: Olof Johansson <olof@lixom.net>
2017-06-18 20:42:21 -07:00
Olof Johansson
08d13c7028 Allwinner arm64 DT changes for 4.13
Our usual arm64 changes. The most notable things are the EMAC support and
 USB support enhancements. There's also support for the SoPine SoM, and the
 OrangePi Win.
 -----BEGIN PGP SIGNATURE-----
 
 iQIcBAABAgAGBQJZQZR6AAoJEBx+YmzsjxAgbdsP/Ajq3CXNiJE9iMHdcQhDt/JA
 4nUQuzP4F00HTd4C8xwl/17zNic1X/irSKg7bdm9vCYmW5wD1TT9OwsLaJZLCbgk
 63+MHuxObvVmjpIoVs9rjT40H1v4b3bGPJmHhBL/RIvkO9yKAfqQ9Yw1Wk5XXfNf
 N6d06GgnpYyVYVuL2IJqTYeJqqk6uh+9gi4FjEVZmpL6zdPzLe9P4AVrHgsj3QK1
 Y6xZzo3YY4ulHE99LQkLpT4RJP4Fqpalb8vE3+xmn/OcSA2O+wwNvrYxatW9mp9O
 Qs0FEem4o3x50Oz5DVnml/BbsnDeI5nzGIm+gwHQxYOq1Jrab7N0og61Lb8oXos2
 fxYqF7tHLKvCXjY7df+tLpkGjqPuF11KoM7xKM65bF7PfvXAmUq+tj/6ZWdLFIqk
 JEYhP/xoRIli+m8blH/AmH7XZBQ7+HRJOHHmwsshozR4u4ty3WRSJDOG3SvGWKPh
 txDHynuHN8ahevohRPMDYLutaAX8U2recj47Rm33Q89sFsHIbJ4OtkHIQGzgld0M
 aj8K7fnRayWUp9J5jDjhLaQazP3F3aeCazdTA8+KqERhvJUodNYZM1Wps3PVipxg
 9O/iQbCXivJaqFjRfgnoenh84G0pRzpXt8mM2fYyam7W1bzhEzJTl4+G08N2DxSg
 KrhqR1bXR03D5qnX8y3N
 =MCTy
 -----END PGP SIGNATURE-----

Merge tag 'sunxi-dt64-for-4.13' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into next/dt64

Allwinner arm64 DT changes for 4.13

Our usual arm64 changes. The most notable things are the EMAC support and
USB support enhancements. There's also support for the SoPine SoM, and the
OrangePi Win.

* tag 'sunxi-dt64-for-4.13' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
  arm64: allwinner: a64: Add initial Orangepi Win/WinPlus support
  arm64: allwinner: a64: add device tree for SoPine with baseboard
  arm64: allwinner: bananapi-m64: Enable dwmac-sun8i
  arm64: allwinner: pine64-plus: Enable dwmac-sun8i
  arm64: allwinner: pine64: Enable dwmac-sun8i
  arm64: allwinner: sun50i-a64: add dwmac-sun8i Ethernet driver
  arm64: allwinner: sun50i-a64: Add dt node for the syscon control module
  arm64: allwinner: a64: add DTSI file for SoPine SoM
  arm64: allwinner: a64: Convert CCU raw number references to macros
  arm64: dts: allwinner: pine64: Prepare optional UART nodes with pinctrl
  arm64: allwinner: a64: enable RSB on A64
  arm64: dts: allwinner: pine64: Add remaining UART aliases
  arm64: dts: allwinner: a64: Add UART2 pin nodes
  arm64: allwinner: a64: enable EHCI0/OHCI0 for Pine64
  arm64: allwinner: a64: add EHCI0/OHCI0 nodes to A64 DTSI

Signed-off-by: Olof Johansson <olof@lixom.net>
2017-06-18 20:41:35 -07:00
Olof Johansson
0fd5e85267 Amlogic 64-bit DT changes for v4.13
- cleanup/reorganize alphabetically to better avoid conflicts
 - add HDMI and CVBS nodes for multiple boards
 - new pinctrl pins: SPI, HDMI CEC
 - SCPI: fix thermal sensor reporting
 
 New board support
 - NanoPi K2 (GXBB)
 - R-Box Pro (GXM)
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQIcBAABCAAGBQJZQW/vAAoJEFk3GJrT+8ZlfCYP/3djmzPvLMITaV7EbteiyHWA
 b/YZMGVySW4N6K/qXthZvGNbJ2aLmx6TdRDoj1weimSbDl9KMnZvrLkJGVf8fY74
 qC5wHJ5zZq6Gvq33Zn7m0P1ZAi1ItuI5g+ggn1QibimGO9JIyHVG2/FUkFIBHz0c
 X8U5Er/BmF0PbBQW/vqgO4Wy2kFSbCrESgMq3GoOOCfaPnSUlMnzoGA5Va1gKY0u
 fNfuKBE2A2sy+NNPxwT3nTCZkmt1LZplFgjJcjV9sSFd9JiwIll87J0zLoNjOWXt
 SzIzmUfq8ur4bPAg+5kInrgffC446+CWFwJY/KmaUw7/BiwBuQO73JwPyUA2u+0X
 hxOhX0yUjWfy6F43sHBwoglqNCxfHRGKLZWAYtiShtPF1N/SiObrzWJUXTW8noL1
 dB6YlRkZoTOASRamEhNGMwmu9aDS5aFC/D36gbAUmAf6WBU67PTIiO68/gEUpzbB
 TwsQW5TD4UcIxK3/rzAbreGvl06TBcvYA4tD1JDzIoXexdKgeB4b+URSbCn7vgsE
 Ka5myloDecC5aiNkpYjJuJP3bq8bEF9DBfZxwIjoqvtEKEAmZfNCNhouoBzlOCCi
 cqCr+Ige9kM2PgUTtjwXGexXLIW9B0aMkvuplbHfZ5aF6RN7IAq78xzbiVivIPFM
 58PZYz0Q/rlTBrmJ59mM
 =7jfz
 -----END PGP SIGNATURE-----

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

Amlogic 64-bit DT changes for v4.13
- cleanup/reorganize alphabetically to better avoid conflicts
- add HDMI and CVBS nodes for multiple boards
- new pinctrl pins: SPI, HDMI CEC
- SCPI: fix thermal sensor reporting

New board support
- NanoPi K2 (GXBB)
- R-Box Pro (GXM)

* tag 'amlogic-dt64' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic: (36 commits)
  ARM64: dts: meson-gxl-s905x-p212: Add HDMI and CVBS nodes
  ARM64: dts: meson-gxl-s905x-khadas-vim: Add HDMI nodes
  ARM64: dts: meson-gxl-s905d-p230: Add HDMI nodes
  ARM64: dts: meson-gxbb-wetek-play2: Add HDMI and CVBS Nodes
  ARM64: dts: meson-gx: Fix sensors reporting from SCP
  ARM64: dts: meson-gxl: Add SPI pinctrl nodes
  ARM64: dts: meson-gxbb: Add SPI pinctrl nodes
  ARM64: dts: meson-gxl: Add Ethernet PHY LEDS pins nodes
  ARM64: dts: meson-gxl: Add CEC pins nodes
  ARM64: dts: meson-gxbb: Add CEC pins nodes
  ARM64: dts: Fix GXBB periphs pinctrl pull-enable register base
  ARM64: dts: Fix GXL periphs pinctrl pull-enable register base
  ARM64: dts: meson-gxl: Fix pinctrl periphs gpio-ranges
  arm64: dts: amlogic: Add NanoPi K2
  dt-bindings: arm: amlogic: Add NanoPi K2
  arm64: dts: meson-gxm: Add R-Box Pro
  dt-bindings: arm: amlogic: Add R-Box Pro
  dt-bindings: Add Kingnovel vendor prefix
  arm64: dts: meson-gx-p23x-q20x: Fix node order
  arm64: dts: meson-gxm-nexbox-a1: Fix node order
  ...

Signed-off-by: Olof Johansson <olof@lixom.net>
2017-06-18 20:40:24 -07:00
Olof Johansson
77b0611f77 Amlogic arm64 defconfig changes for v4.13
- enable meson SPICC as module
 - enable IR core, decoders and Meson IR device
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQIcBAABCAAGBQJZQXJjAAoJEFk3GJrT+8ZlL8wP/jeUqx592UtMlLYFmuDrbImn
 Ojn7vBY8fZyo4ZqymK5HzgEsaieQBi0CS1CsFjio2Y0CsGaYbrjddBZpPelWjVuf
 lyINNrV1IZ+r6FKzIQIRmJ+zgeUWwkWOrsufuoeyzVuMW6rsVevgB7dA/WVQt6v2
 8e9Lni0ZF2ZT8gMdG1C5HHcyx/+M/iftzEBnFIATT7BE6SCuvCThEH7pl5I56bk0
 ZYZsRVDc8RyC7gSSCoH8zyWmzLJcQQVuGQT1/QF8bxrK8nHgJGH+1mzKnn6sfiba
 ZwZIOjQDl2SAsBgpTUcl1N2pNcKG6KwyT6+7tjfBt8OP7hgFfOrLX5AZ7sQgtywa
 nz1rPMvox4Po4BdB/V5wpvOWKQvoOyFFpXpvG7JTXqkFx2JuM+4bVPbiVc85qd54
 AsqCNy8TAsIRkdX8mou4oPq7FKzIkrt6nxwV/bijOjlhFhg22+dWOfwBmTmkN5g5
 8ehn/P+JlwEYvbMKkgvHIRvC2McyNhO/Mb2Qxw99ej2gujjj4PA0HjqfZjXvsqTQ
 DpfOODw5Ql/dwjz9ZxYAxE/MeSYbr2GAncEhyCJEJ5YekTsginSFdUG+HVwaS/cf
 6REI5wTALgyCyl+vTJpti1wGD2KC9RAoBYMKopJz12kmxq1Ba2GyK7J/Icpik6n6
 gwnSFRuOitACPbk6OSZl
 =MTfE
 -----END PGP SIGNATURE-----

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

Amlogic arm64 defconfig changes for v4.13
- enable meson SPICC as module
- enable IR core, decoders and Meson IR device

* tag 'amlogic-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic:
  ARM64: defconfig: enable meson SPICC as module
  ARM64: defconfig: enable IR core, decoders and Meson IR device

Signed-off-by: Olof Johansson <olof@lixom.net>
2017-06-18 20:36:59 -07:00
Olof Johansson
a91ca5e376 This pull request contains ARM64 defconfig changes for 4.13, please pull the
following:
 
 - Florian enables ARCH_BRCMSTB in the arm64 defconfig to get more build coverage
 -----BEGIN PGP SIGNATURE-----
 
 iQIcBAABCAAGBQJZPs3NAAoJEIfQlpxEBwcEkMQP/REAq/Mso8ChSoohC2xZekMs
 qgW07yvitr4LrqF7gmYXTqrE+vLrHOK4anNztg4fGJO4+NbrNoiPiK8SUGUzrKSB
 caPz4G/zn9rY3DbjeayZUcT1+DhbNCZ6eLLyqadHoBqBghUIpiNE34O+rDNErF6f
 TnMptJYzSp4RdrgWDfQ9EMrRIF7atp3TLJKYm5SIvQg1sUNUen6Fff0l6x3gjqBZ
 QR8/Pd6aGjyvZbyOEsFd4WqFr55UM9JtYj69iJwRtHaqmaZT+AztqNZrQhOmHVxS
 GF2gWnCS3OIIJh9KHEKERC5mXDN2rL9ooQSDCsgBUjAXi3C0nI4MaRB89cn76SG8
 0CCbb85hJqRf1qAoAX4r6qFHrkIumPSML9PNuHe9xEBQrnpkqzC/JtsnvuhsKrU3
 xOzQ5HG3OFREJO5WlIXkoTboKbWr0hDRSDs28MZAJ5FyD0sfMrQNSsKFo8R6VXJP
 omP2mNMpUt7o0TwlgtGv+ADCW7IxHEfyONQuFxCHJBiINf+sRSnuvMHWMPVDdMzU
 vjTUtW5K4HmPhp7DXTWssQFNVG9fsX37CFFSWlnq+0r1qQSN624QqHr81xeNhezo
 IXUhFLvDy8Rob0I9gH0I2cIMU+UazVFC3XJHisC1tTyo6OXU/HYWat8U4vOe4R/m
 38H7iERBTSb2naSZTp7e
 =EPCT
 -----END PGP SIGNATURE-----

Merge tag 'arm-soc/for-4.13/defconfig-arm64' of http://github.com/Broadcom/stblinux into next/arm64

This pull request contains ARM64 defconfig changes for 4.13, please pull the
following:

- Florian enables ARCH_BRCMSTB in the arm64 defconfig to get more build coverage

* tag 'arm-soc/for-4.13/defconfig-arm64' of http://github.com/Broadcom/stblinux:
  arm64: defconfig: Enable ARCH_BRCMSTB

Signed-off-by: Olof Johansson <olof@lixom.net>
2017-06-18 20:19:30 -07:00
Olof Johansson
8aba614385 This pull request contains Broadcom ARM64-based SoCs Device Tree changes for
4.13. Please note the following from Eric:
 
 I've based this summary on the bcm2835-dt-next tag, to clarify what's in this
 patch series, but it does require being careful since it involves a cross-merge
 between branches.
 
 - Anup documents the Broadcom Stingray binding, common clocks, adds initial
   support for the Stingray DTSI and DTS files and adds support for the PL022,
   PL330 and SP805
 
 - Sandeep adds the clock nodes to the Stingray Device Tree nodes
 
 - Pramod adds support for the NAND, pinctrl, GPIO to the Stingray Device Tree nodes
 
 - Oza adds I2C Device Tree nodes to the Stingray DTSes
 
 - Srinath adds PWM and SDHCI Device Tree nodes for the Stingray SoC
 
 - Ravijeta adds support for the USB Dual Role PHY on Northstar 2
 
 - Gerd starts adding references to the sdhost and sdhci controllers, and then
   switches the sdcard to to use the SDHOST (faster than SDHCI)
 
 - Stefan defines the BCM2837 thermal coefficients in order for the Raspberry Pi
   thermal driver to work correctly
 -----BEGIN PGP SIGNATURE-----
 
 iQIcBAABCAAGBQJZQEIyAAoJEIfQlpxEBwcEtZoP/jSCkP5BsHM9i5PWCjZ8TTTb
 359QZNjT2TDE08nqrdIOoeu2LUBFcqlVBR/IROyMJEkyY7AmGJ/S/s8OGI7DI5kw
 3KaJYPl3YQ3VKfFK3MrsSwSDHUB9yvHzFd2sOrxWNT42N+mYykq61oqPAxHnVbMU
 zd9e1SiJL6iWYlEjE0vvqYv5I8V6I9r8fZV35qBmEZLO0PkJBklWOiubs1Z4j0IM
 cZjbG/MGsjdAyUoIHxxkx1QK8/4ivKvnNxa28wLD+1Trj5CvwcL0sMdBP/pPCZD2
 QM5DjBpq5O5LNCOPA1YDOCCgKus9JkNBPTlSHlg6HeBl7WEjefQqhQd3pVnsQhzL
 U/1DeUc4taPPssCvtE2RJPXz8JB1U6iNY85z1wwT5oqKJW0JwzB04yHVLcRz8oUJ
 yb719jXnvWEJb56E+LjvnRsoICwSX4clNQyWvKsRcwmwZ82PFsZzCiqGZsmXydrs
 /m9wyGlPKvkJgFdN9rwcuIMWI4KMLIO7mmPqY9kHahRjNCp9gm+4KS/oEli0/2So
 he7zKa/45JlAmaFX2bK2oPiUPhI1puXEW2GTfl+5zDe9ZstZX7N7DIc1DCs2ebYB
 MrqBgYTZYB1GRhiny0cgRJhTBcdtqpKIt/RjJVDnXTAwI8N8icnwp3rNmYv6OgxR
 IY6trZH7vw2BSp4lIJ1j
 =QtXg
 -----END PGP SIGNATURE-----

Merge tag 'arm-soc/for-4.13/devicetree-arm64' of http://github.com/Broadcom/stblinux into next/dt64

This pull request contains Broadcom ARM64-based SoCs Device Tree changes for
4.13. Please note the following from Eric:

I've based this summary on the bcm2835-dt-next tag, to clarify what's in this
patch series, but it does require being careful since it involves a cross-merge
between branches.

- Anup documents the Broadcom Stingray binding, common clocks, adds initial
  support for the Stingray DTSI and DTS files and adds support for the PL022,
  PL330 and SP805

- Sandeep adds the clock nodes to the Stingray Device Tree nodes

- Pramod adds support for the NAND, pinctrl, GPIO to the Stingray Device Tree nodes

- Oza adds I2C Device Tree nodes to the Stingray DTSes

- Srinath adds PWM and SDHCI Device Tree nodes for the Stingray SoC

- Ravijeta adds support for the USB Dual Role PHY on Northstar 2

- Gerd starts adding references to the sdhost and sdhci controllers, and then
  switches the sdcard to to use the SDHOST (faster than SDHCI)

- Stefan defines the BCM2837 thermal coefficients in order for the Raspberry Pi
  thermal driver to work correctly

* tag 'arm-soc/for-4.13/devicetree-arm64' of http://github.com/Broadcom/stblinux:
  arm64: dts: NS2: Add USB DRD PHY device tree node
  ARM64: dts: bcm2837: Define CPU thermal coefficients
  arm64: dts: Add PWM and SDHCI DT nodes for Stingray SOC
  arm64: dts: Add PL022, PL330 and SP805 DT nodes for Stingray
  arm64: dts: Add I2C DT nodes for Stingray SoC
  arm64: dts: Add GPIO DT nodes for Stingray SOC
  arm64: dts: Add pinctrl DT nodes for Stingray SOC
  arm64: dts: Add NAND DT nodes for Stingray SOC
  arm64: dts: Add clock DT nodes for Stingray SOC
  arm64: dts: Initial DTS files for Broadcom Stingray SOC
  dt-bindings: clk: Extend binding doc for Stingray SOC
  dt-bindings: bcm: Add Broadcom Stingray bindings document
  ARM: dts: bcm283x: switch from &sdhci to &sdhost
  arm64: dts: bcm2837: add &sdhci and &sdhost
  ARM: dts: bcm283x: Add CPU thermal zone with 1 trip point
  ARM: dts: Add devicetree for the Raspberry Pi 3, for arm32 (v6)

Signed-off-by: Olof Johansson <olof@lixom.net>
2017-06-18 20:18:44 -07:00
Olof Johansson
d828e97815 UniPhier ARM64 SoC DT updates for v4.13
- specify timing delay properties of eMMC
 - fix W=1 build warnings
 - increase memory reserve size
 - use SPDX License Identifier
 - add new board support (LD11/LD20 global)
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJZPq+XAAoJED2LAQed4NsGRMEP+QG/YasxyPGOQQmK5qTrLapn
 UT22GHcMl/Z4RkFH9GuRx3eCzNr/lyImNCvg/TuDd/IlOPbC9v/X48izkkCrgC4k
 sZWtIx+s8Az89EjntvYrv0laj75oATItKwVvIK1+HKu4elBS5ybZfp6bgmdOWnqO
 IuYIcl20EjyJ5wct5/egJEBhriPxLI+OzlpFyX2M3CpCmpOYQJnuMsuMNPe2064B
 4XCFfbc9wFXnnC9ItXplR9hA7vrWUN4FdHItlQR5g5g9LS9s8/1Tj65s8AvBbv7d
 M0YSUtklL1jWPRIoVRK7qcF5IT3dV5xg9nAMkol/dcJx+iFf91hL0kwr+HWb9m0m
 YvH6z4mp7SqY75y0A2nW4GPejRkD/JFPVrFsmhJThS2+n3RTWGrRmFLWAfqVT76Q
 9pLXiN6nKBNaSs2oJ0NkxZhpCnlVu+7ak81Vw/GpamF23vpKWZ5QjlprBzCLedFB
 mRaFYTrMAlaASOmbKExSv4VNYua+tMZtznv6D1WryMDqZ/0gc1vLpKf7NyU2QZvD
 7x1V4RmT2FuBPFs+7OyLNdrIVyErbNoTGTNHEGVJFUHn2NSTBmymCjOSCGJFx9fk
 X+Tq2ptTyiBBlJJjJaauBFaPtgi0nVqRXY8neJdo3pnvJpfMZOs6GOO3Vmh/oyws
 5qKj4t/ldB2JaEqH0Wtr
 =yvlM
 -----END PGP SIGNATURE-----

Merge tag 'uniphier-dt64-v4.13' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-uniphier into next/dt64

UniPhier ARM64 SoC DT updates for v4.13

- specify timing delay properties of eMMC
- fix W=1 build warnings
- increase memory reserve size
- use SPDX License Identifier
- add new board support (LD11/LD20 global)

* tag 'uniphier-dt64-v4.13' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-uniphier:
  arm64: dts: uniphier: add support for LD20 Global board
  arm64: dts: uniphier: add support for LD11 Global board
  arm64: dts: uniphier: use SPDX-License-Identifier
  arm64: dts: uniphier: reserve more memory for LD11/LD20
  arm64: dts: uniphier: fix simple-bus unit address format error
  arm64: dts: uniphier: Use - instead of @ for DT OPP entries
  arm64: dts: uniphier: add cdns, phy-dll-delay-sdclk(-hsmmc) for eMMC
  arm64: dts: uniphier: add input-delay properties to Cadence eMMC node

Signed-off-by: Olof Johansson <olof@lixom.net>
2017-06-18 20:12:57 -07:00
Olof Johansson
d8a4109634 Add device tree nodes for
mt8173:
 - split USB SuperSpeed port in HighSpeed and SuperSpeed ports.
 - move USB phy clocks up in hierarchy to met new bindings description
 - move MDP nodes up in hierarchy to met new bindings description
 
 mt6797:
 - add basic SoC support
 - add clock driver
 - add power domain
 
 dt-bindings:
 - clean-up i2c binding description
 - add binding for mt2701 i2c node
 - add fallback compatible to scpsys binding description
 - add bindings description for mt7622 and mt6796
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQIcBAABAgAGBQJZPmpvAAoJELQ5Ylss8dND8NwQAI4LIEM7orrUJDBwnrXWRhXC
 O5UzuKG6S+cUqY4l/8z2pEcEjMxqcVY2NqtbUToJKc6ZXw08ho/VfMMUKjiAFj0C
 Xhtmis7G5srIIxd9cNuajPQ9zkUAkFNFJzQOirJTfZibyPbHcXuJW94/8qGztXKj
 QDsxWg4aPL35KPXZlhVAqya1hIXRlT49OaIH1qhCO0ZOpIWWH6Rj9c1lCmZA4B9o
 o9SmTg0PktG3r0LGT+2A9PQ0eukKKqGMSku+dUq5Uw/YxvHNO+qdyw0ZxUYyOrw2
 aM/WKZeEPamfgVl5a6G+0iCxZbZqnwlIgjuHvKp87jNgEx+apUoBuweoSi+N4J/W
 a4efrgATcgseiMb8NNgj6AmvZr67rocG1ZOnMXazOUPj6hixMb2i3Zm7vm1wCezr
 gYV+dTUQwhyEIcJU3joju2xt4Ll7yWJlGvixeu8eFg5N/R6m12D49+tCgc93GA7v
 NXWDrX9/MdU9GwmuqvrAQAh/0DlmQkU32DxmQxqvPF+A0OzEzeYankLGlEe45wef
 CAsZMSO8DKmPfrKvEUR99aEthNkrzbg6Iiyl5EUWf1qNsXqXmaou2h+hoQaMsi4/
 qCjQFO8F7bztJqCQAr+Ym95bFv2dpb2B+2S+7eb24V6OifxtWLwYDQywEJPekZft
 7oOp24vJYzWl/dabwjmC
 =H12B
 -----END PGP SIGNATURE-----

Merge tag 'v4.12-next-dts64' of https://github.com/mbgg/linux-mediatek into next/dt64

Add device tree nodes for
mt8173:
- split USB SuperSpeed port in HighSpeed and SuperSpeed ports.
- move USB phy clocks up in hierarchy to met new bindings description
- move MDP nodes up in hierarchy to met new bindings description

mt6797:
- add basic SoC support
- add clock driver
- add power domain

dt-bindings:
- clean-up i2c binding description
- add binding for mt2701 i2c node
- add fallback compatible to scpsys binding description
- add bindings description for mt7622 and mt6796

* tag 'v4.12-next-dts64' of https://github.com/mbgg/linux-mediatek:
  dt-bindings: mediatek: add bindings for MediaTek MT7622 SoC
  arm64: dts: mt8173: Fix mdp device tree
  dt-bindings: i2c: Add Mediatek MT2701 i2c binding
  dt-bindings: i2c-mtk: Add mt7623 binding
  dt-bindings: i2c-mtk: Delete bindings
  dt-bindings: i2c-mt6577: Rename file to reflect bindings
  dt-bindings: mtk-sysirq: Correct bindings for supported SoCs
  arm64: dts: mediatek: add clk and scp nodes for MT6797
  dt-bindings: mediatek: add MT6797 power dt-bindings
  arm64: dts: mediatek: add mt6797 support
  dt-bindings: mediatek: Add bindings for mediatek MT6797 Platform
  arm64: dts: mt8173: move clock from phy node into port nodes
  arm64: dts: mt8173: split usb SuperSpeed port into two ports

Signed-off-by: Olof Johansson <olof@lixom.net>
2017-06-18 19:35:00 -07:00
Olof Johansson
c7404287eb Samsung DeviceTree ARM64 update for v4.13:
1. Remove unneeded TE interrupt gpio property.
 -----BEGIN PGP SIGNATURE-----
 
 iQIcBAABCAAGBQJZOs2UAAoJEME3ZuaGi4PX6cEP+wc7U7AOq57YePw1hJcJRHMV
 6IwzW/kQ6LhxkZeIfCdsPEiYw3tIMuEdHyYDtva++bTGevPWtVFl0mQLfdN2q/8M
 KGirg4amJBHSznKfM2ns1a5ArurszI7YsmpqZ1nPHELxUqIRZA9Tj+isZtDa5/un
 VH3G7coL0hP2t1HdhLz2Y/WUTwQ5cbQci3E3lxwW7WdlsQ2L1jd4Q1bJW+YJwfRi
 PiS0fDtndLtfygPYyw43XjN3ExxXQ3FCTEakJizZt55u52kLINJr4OW+YWlK2PKA
 gLaT2PIHI5wBPvXJYNyMQq8XcbQyYAa4e2xepAlqeFaFfSzuEMc1Wu1vhAZVCKJm
 BH6e2SFwYdhqhap5gnYwAPdwyTuGoVUND/sfLamxCypnNiLw8wo8RA6StZaX//LN
 btjkxgelMAvunpflvotvEXOJHgmlk89FA+e93k5wCnql2+1EqPDPlR1WR7mY9UWY
 xSmkWmqDivylUKQCCnrltyQPm8DjlgsmzJSu+HitqPeTd2rLnKGShwTWlkznjeZA
 U3JRZh4UHEY2WjgDqpiVkpRJAjE1/LXRgf+GRI64eUmU1evo4ehvlh9u1W+OPgBz
 wSWiiYexURJwL5aQWg7iwVxYGMxq/cJL/wpHgBoYY5iwIDHIxko+LaJQ2T1cqnI+
 fzSrnreX8/bzIrlpTbzo
 =4UOb
 -----END PGP SIGNATURE-----

Merge tag 'samsung-dt64-4.13' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into next/dt64

Samsung DeviceTree ARM64 update for v4.13:
1. Remove unneeded TE interrupt gpio property.

* tag 'samsung-dt64-4.13' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  arm64: dts: exynos: Remove the te-gpios property in the TM2 boards

Signed-off-by: Olof Johansson <olof@lixom.net>
2017-06-18 19:11:03 -07:00
Olof Johansson
b21af9751a Support for the new rk3399 firefly board; extending the pcie ranges to
make usage of pci switches possible; some more qos and pinctrl nodes on
 rk3399; updates for the rk3399 cpu operating points including separate
 opps for the higher rates OP1 variant of the chip and mmc-nodes for
 the rk3328.
 -----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCAAuFiEE7v+35S2Q1vLNA3Lx86Z5yZzRHYEFAlk5yQ4QHGhlaWtvQHNu
 dGVjaC5kZQAKCRDzpnnJnNEdgU7rCACdo8/RlAH58lR+35ZkJ3hAFHAlJJ9l2GFW
 pobp2PYjtSCLaHz2o9yU7tT0peNph3YoeL9rFS44U/NUwtE4eloPbPea/FaGJ0nW
 LUP6Y5bnM8sJMmO3YrG6Y3ryjTFD9GGe9IzSDgQhai+rXPfo/FZ+a1krpNN3HrJN
 dd6PIozaa5aJpDkpET7NyvTRePMiDmuJAoj/9atDr8MLDKuuKNqQtnKcXGJ+3gUb
 Zc4Ltxy2uTtc9bFi05Bi19AnZIqDXAGQdU+u+lqUGps3f8Q63iWYU/OEiCw3Oozs
 3RJ7KXSZ58JN1CXwxMUE1OFplF5fVvPsv4Vzg8ddJ+vOK4E4t8Pd
 =UMmB
 -----END PGP SIGNATURE-----

Merge tag 'v4.13-rockchip-dts64-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/dt64

Support for the new rk3399 firefly board; extending the pcie ranges to
make usage of pci switches possible; some more qos and pinctrl nodes on
rk3399; updates for the rk3399 cpu operating points including separate
opps for the higher rates OP1 variant of the chip and mmc-nodes for
the rk3328.

* tag 'v4.13-rockchip-dts64-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  arm64: dts: rockchip: update common rk3399 operating points
  arm64: dts: rockchip: introduce rk3399-op1 operating points
  arm64: dts: rockchip: enable usb3 controllers on rk3399-firefly
  arm64: dts: rockchip: add ethernet0 alias on rk3399
  arm64: dts: rockchip: bring rk3399-firefly power-tree in line
  arm64: dts: rockchip: add sdmmc/sdio/emmc nodes for RK3328 SoCs
  arm64: dts: rockchip: extent IORESOURCE_MEM_64 of PCIe for rk3399
  arm64: dts: rockchip: extent bus-ranges of PCIe for rk3399
  arm64: dts: rockchip: add pinctrl settings for some rk3399 peripherals
  arm64: dts: rockchip: add some missing qos nodes on rk3399
  arm64: dts: rockchip: add support for firefly-rk3399 board
  dt-bindings: add firefly-rk3399 board support

Signed-off-by: Olof Johansson <olof@lixom.net>
2017-06-18 19:08:10 -07:00
Andreas Färber
c88cc3ee1b arm64: Prepare Actions Semi S900
Add ARCH_ACTIONS.

Signed-off-by: Andreas Färber <afaerber@suse.de>
2017-06-19 03:14:48 +02:00
Andreas Färber
06edb80f8c arm64: dts: Add Actions Semi S900 and Bubblegum-96
Add Device Trees for Actions Semiconductor S900 SoC and
uCRobotics Bubblegum-96 board.

UART0/1/4/6 interrupts are guesses.

Cc: 96boards@ucrobotics.com
Signed-off-by: Andreas Färber <afaerber@suse.de>
2017-06-19 00:33:22 +02:00
Antoine Tenart
f66b2aff46 arm64: dts: marvell: add xmdio nodes for 7k/8k
Add the description of the xMDIO bus for the Marvell Armada 7k and
Marvell Armada 8k; for both CP110 slave and master. This bus is found
on Marvell Ethernet controllers and provides an interface with the
xMDIO bus.

Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2017-06-17 08:19:29 +02:00
Antoine Tenart
c7c3d6731f arm64: dts: marvell: add a comment on the cp110 slave node status
The cryptographic engine found on the cp110 slave is disabled by default
because of some known limitations. Add a comment to explain why it is
disabled by default.

Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2017-06-17 08:19:28 +02:00
Antoine Tenart
b97afaf69e arm64: dts: marvell: remove cpm crypto nodes from dts files
The cryptographic engine on the master cp110 is now enabled by default
at the SoC level. Remove its dts nodes that were only enabling it.

Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2017-06-17 08:19:27 +02:00
Antoine Tenart
bcd0256473 arm64: dts: marvell: cp110: enable the crypto engine at the SoC level
Enable the cryptographic engine at the SoC level on the master cp110.
This engine is always present and do not depends on any pinmux
configuration.

Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2017-06-17 08:19:26 +02:00
Gregory CLEMENT
07d065abf9 arm64: dts: marvell: armada-3720-db: Add vqmmc regulator for SD slot
By adding this regulator, the SD cards are usable at higher speed
protocols such as SDR104.

This patch was tested with an SD HC card compatible with UHS-I.

Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2017-06-17 08:19:26 +02:00
Konstantin Porotchkin
1208d2f0c8 arm64: dts: marvell: Enable second SDHCI controller in Armada 37xx
The Armada 37xx SoCs has 2 SDHCI interfaces. This patch adds the second
one.

Moreover, the Armada 37xx DB v2 board populates the 2 SDHCI interfaces.

The second interface is using pluggable module that can either
have an SD connector or eMMC on it.
This patch adds support for SD module in the device DT.

[ gregory.clement@free-electrons.com:
 - Add more detail in commit log
 - Sort the dt node in address order
 - Document the SD slot in the dts ]

Signed-off-by: Konstantin Porotchkin <kostap@marvell.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2017-06-17 08:19:25 +02:00
Gregory CLEMENT
e9bfac543e arm64: dts: marvell: armada-37xx: Use angle bracket for each register set
When several groups of register address and size are used with reg, then
surround each one by angle bracket.

Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2017-06-17 08:19:24 +02:00
Gregory CLEMENT
55ad5b1ae9 arm64: dts: marvell: armada-37xx: Align the compatible string
This cosmetic patch aligns the compatible string when there are on
several lines.

Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2017-06-17 08:19:23 +02:00
Gregory CLEMENT
718e46395c arm64: dts: marvell: armada-3720-db: Add information about the V2 board
The initial device tree file was for the board V1.4. Now the V2.0 board
is also available. The same dtb will work for both, but the CON number
have changed, so update the comment in the dts to reflect this.

Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2017-06-17 08:19:23 +02:00
Gregory CLEMENT
483b4da2bf arm64: dts: marvell: armada-3720-db: Sort the dts node alphabetically
Sort the reference nodes in alphabetical order to ease the merge of
future nodes.

Reviewed-by: Andreas Färber <afaerber@suse.de>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2017-06-17 08:19:22 +02:00
Antoine Tenart
5526bdc641 arm64: dts: marvell: disable the mdio nodes by default
Disable the mdio nodes by default in the cp110 slave and master dtsi as
they're not wired on every board.

Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2017-06-17 08:19:21 +02:00
Antoine Tenart
3c6912cdc8 arm64: dts: marvell: explicitly enable the mdio nodes for 7k/8k DB
Explicitly enable the MDIO nodes in the Marvell Armada 7k DB and Marvell
Armada 8k DB. This is needed as the MDIO nodes will be disabled in the
CP 110 slave and master dtsi by a following up patch.

Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2017-06-17 08:19:20 +02:00
Antoine Tenart
b1a97f86b7 arm64: dts: marvell: add dma-mask in crypto nodes for 7k/8k
The EIP197 cryptographic engine supports 64 bits address width but is
limited to 40 bits on 7k/8k. Add a dma-mask property in the
cryptographic engine nodes to reflect this.

Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2017-06-17 08:19:06 +02:00
Marc Zyngier
2a32465912 arm64: dts: marvell: 8040-mcbin: Enable 1GB Ethernet
Enable the 1GB Ethernet interface that lives on the slave CP110,
with its corresponding phy (that oddly lives on the master CP110).

Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2017-06-17 08:19:05 +02:00
Russell King
e21a3b5437 arm64: dts: marvell: cp110: add required clocks for mdio interface
Add the three required clocks for the MDIO interface to be functional
on Armada 8k platforms.  Without this, the CPU hangs, causing RCU
stalls or the system to become unresponsive.

Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
[Thomas:
 - remove mg_core_clock, since it's a parent of mg_clock
 - also add clock references to the slave CP mdio instance]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2017-06-17 08:19:04 +02:00
Gregory CLEMENT
3675fb5980 arm64: dts: marvell: use new binding for the system controller on ap806
The new binding for the system controller on ap806 moved the clock into a
subnode. This preliminary step will allow to add gpio and pinctrl
subnodes

Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2017-06-17 08:19:04 +02:00
Gregory CLEMENT
952eaa509d arm64: dts: marvell: remove clock-output-names on ap806
The clock-output-names of the ap806-system-controller node are not used
anymore, so remove them.

Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2017-06-17 08:19:03 +02:00
Marcin Wojtas
4f08187d8c arm64: dts: marvell: add second 1G port on the Armada 8040 DB
Armada 8040 DB is equipped with 4 (2x 10G SFI + 2x 1G RGMII)
ethernet ports of which only one was hitherto enabled.
Because currently mvpp2 driver is capable of supporting only
1G RGMII/SGMII, enable second port from CP slave HW block.

Signed-off-by: Marcin Wojtas <mw@semihalf.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2017-06-17 08:19:02 +02:00
Russell King
5298304102 arm64: dts: marvell: mcbin: add sdhci
Add sdhci support for MACCHIATOBin boards.  This uses the AP806 SDHCI
for eMMC and CP110 master for the SD card slot.

Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2017-06-17 08:19:01 +02:00
Thomas Petazzoni
b7a3768b6b arm64: dts: marvell: add clocks for Armada AP806 XOR engines
The XORv2 engines in the AP side of the Armada 7K/8K SoCs are using the
AP MS core clock as input, so this commit adds the appropriate clocks
properties.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2017-06-17 08:18:39 +02:00
Neil Armstrong
fa80863151 ARM64: dts: meson-gx: Add SPICC nodes
Add nodes for the SPICC controller on GX common dtsi, GXBB and
GXL dtsi files.

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-06-16 11:24:56 -07:00
John Stultz
0cf6a8e2fb arm64: dts: hi6220: Add k3-dma and i2s/hdmi audio support
Add entry for k3-dma driver and i2s/hdmi audio devices.

This enables HDMI audio output.

Cc: Zhangfei Gao <zhangfei.gao@linaro.org>
Cc: Liam Girdwood <lgirdwood@gmail.com>
Cc: Mark Brown <broonie@kernel.org>
Cc: Jaroslav Kysela <perex@perex.cz>
Cc: Takashi Iwai <tiwai@suse.com>
Cc: Wei Xu <xuwei5@hisilicon.com>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Andy Green <andy@warmcat.com>
Cc: Dave Long <dave.long@linaro.org>
Cc: Guodong Xu <guodong.xu@linaro.org>
Cc: Antonio Borneo <borneo.antonio@gmail.com>
Cc: Olof Johansson <olof@lixom.net>
Cc: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: John Stultz <john.stultz@linaro.org>
v2:
* Split core i2s entry into dtsi and hdmi specific bits into
  hikey dts
v4:
* Rework simple-card to use many-dai-links method, as
  there may be other links in the future
v5:
* Rework audio description to use the audio-card-graph method
  as requested by Mark.
Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
2017-06-16 15:31:21 +01:00
Guodong Xu
7d8c36674b arm64: dts: hi3660-hikey960: add nodes for WiFi
Add nodes for WiFi. HiKey960 is using TI WL1837MOD module.

Signed-off-by: Guodong Xu <guodong.xu@linaro.org>
Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
2017-06-16 15:31:21 +01:00
Li Wei
804d7d7a96 arm64: dts: hi3660: add sd/sdio device nodes
Add sd/sdio device nodes for hi3660 soc

Signed-off-by: Li Wei <liwei213@huawei.com>
Signed-off-by: Chen Jun <chenjun14@huawei.com>
Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
2017-06-16 15:31:20 +01:00
Wang Xiaoyin
e02045aa20 arm64: dts: hikey960: add device node for pmic and regulators
add device node for hi6421 pmic core and hi6421v530
voltage regulator,include LDO(1,3,9,11,15,16)

Signed-off-by: Wang Xiaoyin <hw.wangxiaoyin@hisilicon.com>
Signed-off-by: Guodong Xu <guodong.xu@linaro.org>
Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
2017-06-16 15:31:18 +01:00
Xiaowei Song
96909778f8 arm64: dts: hisi: add kirin pcie node
Add PCIe node for hi3660

Cc: Guodong Xu <guodong.xu@linaro.org>
Signed-off-by: Xiaowei Song <songxiaowei@hisilicon.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>

Changes in v5:
 * fix interrupt-map, to conform to gic's #address-cells = <0>
 * remove redundant status = "ok"
Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
2017-06-16 15:30:39 +01:00
David S. Miller
0ddead90b2 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
The conflicts were two cases of overlapping changes in
batman-adv and the qed driver.

Signed-off-by: David S. Miller <davem@davemloft.net>
2017-06-15 11:59:32 -04:00
Dustin Brown
e27c7fa015 arm64: Export save_stack_trace_tsk()
The kernel watchdog is a great debugging tool for finding tasks that
consume a disproportionate amount of CPU time in contiguous chunks. One
can imagine building a similar watchdog for arbitrary driver threads
using save_stack_trace_tsk() and print_stack_trace(). However, this is
not viable for dynamically loaded driver modules on ARM platforms
because save_stack_trace_tsk() is not exported for those architectures.
Export save_stack_trace_tsk() for the ARM64 architecture to align with
x86 and support various debugging use cases such as arbitrary driver
thread watchdog timers.

Signed-off-by: Dustin Brown <dustinb@codeaurora.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2017-06-15 11:52:35 +01:00
Leo Yan
7519633067 arm64: dts: hi3660: add sp804 timer node
The Hi3660 SoC comes with the sp804 timer in addition to the
architecture timers. These ones are shutdown when reaching a deep idle
states and a backup timer is needed. The sp804 belongs to another power
domain and can fulfill the purpose of replacing temporarily an
architecture timer when the CPU is idle.

Describe it in the device tree, so it can be enabled at boot time.

Suggested-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Signed-off-by: Leo Yan <leo.yan@linaro.org>
Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
2017-06-15 11:50:23 +01:00
Wang Xiaoyin
388104979b arm64: dts: hi3660: add spi device nodes
Add spi2 and spi3 device nodes for hi3660, and enable them for hikey960.

On HiKey960:
 - SPI2 is wired out through low speed expansion connector.
 - SPI3 is wired out through high speed expansion connector.

Signed-off-by: Wang Xiaoyin <hw.wangxiaoyin@hisilicon.com>
Signed-off-by: Guodong Xu <guodong.xu@linaro.org>
Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
2017-06-15 11:50:22 +01:00
Guodong Xu
fc5f2ed62b arm64: dts: hikey960: add LED nodes
HiKey960 has four user LEDs, and two special purpose LEDs: WiFi and BT
respectively.

All of them are implemented as GPIO.

Signed-off-by: Guodong Xu <guodong.xu@linaro.org>
Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
2017-06-15 11:50:22 +01:00
Chen Jun
8cb53a8d18 arm64: dts: hi3660: add power key dts node
We use gpio_034 as power key on hikey960, and set gpio with pull-up
state, when key press the voltage on the gpio will come to lower, and
power key event will be reported.

Signed-off-by: Chen Jun <chenjun14@huawei.com>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Guodong Xu <guodong.xu@linaro.org>
Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
2017-06-15 11:50:22 +01:00
Chen Feng
0a0698f689 arm64: dts: hi3660: Add pl031 rtc node
Add dts node to enable pl031 rtc.

Signed-off-by: Chen Feng <puck.chen@hisilicon.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
2017-06-15 11:50:22 +01:00
Guodong Xu
2e9b4447db arm64: dts: hikey960: add WL1837 Bluetooth device node
This adds the serial slave device for the WL1837 Bluetooth interface.

Signed-off-by: Guodong Xu <guodong.xu@linaro.org>
Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
2017-06-15 11:50:22 +01:00
Chen Feng
254b07b2a2 arm64: dts: hi3660: Add uarts nodes
Add nodes uart0 to uart4 and uart6 for hi3660 SoC.
Enable uart3 and uart6, disable uart5, in hikey960 board dts.

On HiKey960:
 - UART6 is used as default console, and is wired out through low speed
         expansion connector.
 - UART3 has RTS/CTS hardware handshake, and is wired out through low
         speed expansion connector.
 - UART5 is not used in commercial launched boards. So disable it.
 - UART4 is connected to Bluetooth, WL1837.

Signed-off-by: Chen Feng <puck.chen@hisilicon.com>
Signed-off-by: Wang Xiaoyin <hw.wangxiaoyin@hisilicon.com>
Signed-off-by: Guodong Xu <guodong.xu@linaro.org>
Reviewed-by: Zhangfei Gao <zhangfei.gao@hisilicon.com>
Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
2017-06-15 11:50:22 +01:00
Wang Xiaoyin
d94eab860d arm64: dts: hi3660: add gpio dtsi file for Hisilicon Hi3660 SOC
This patch adds pl061 device nodes for Hi3660 SoC.

Signed-off-by: Wang Xiaoyin <hw.wangxiaoyin@hisilicon.com>
Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
2017-06-15 11:50:22 +01:00
Zhangfei Gao
5f8a3b77a7 arm64: dts: Add I2C nodes for Hi3660
Add I2C nodes for Hi3660-hikey960.

On HiKey960,
I2C0, I2C7 are connected to Low Speed Expansion Connector.
I2C1 is connected to ADV7535.
I2C3 is connected to USB5734.

Cc: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Signed-off-by: Zhangfei Gao <zhangfei.gao@linaro.org>
Signed-off-by: Guodong Xu <guodong.xu@linaro.org>
Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
2017-06-15 11:50:22 +01:00
Zhangfei Gao
a4e36ae0fb arm64: dts: hi3660: add resources for clock and reset
Add some resource nodes for clock and reset

Signed-off-by: Zhangfei Gao <zhangfei.gao@linaro.org>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
2017-06-15 11:50:22 +01:00
Wang Xiaoyin
cc59d2a0a6 arm64: dts: hikey960: pinctrl: add more pinmux and pinconfig
This commit adds more pinmux and pinctrl information for devices
on HiKey960, including i2c, spi, cam, uart, ufs, pcie, csi, pwr_key,
isp, sd/sdio, i2s, and usb.

Signed-off-by: Wang Xiaoyin <hw.wangxiaoyin@hisilicon.com>
Signed-off-by: Chen Jun <chenjun14@huawei.com>
Signed-off-by: Guodong Xu <guodong.xu@linaro.org>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
2017-06-15 11:50:22 +01:00
Guodong Xu
b6c93186f1 arm64: dts: hisilicon: update compatible string for hikey960
Update compatible string for hikey960. HiKey960 is a develpment board built
with SoC Hi3660.

Signed-off-by: Guodong Xu <guodong.xu@linaro.org>
Signed-off-by: Chen Feng <puck.chen@hisilicon.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
2017-06-15 11:50:22 +01:00
Lorenzo Pieralisi
c6bb8f89fa ARM64/irqchip: Update ACPI_IORT symbol selection logic
ACPI IORT is an ACPI addendum to describe the connection topology of
devices with IOMMUs and interrupt controllers on ARM64 ACPI systems.

Currently the ACPI IORT Kbuild symbol is selected whenever the Kbuild
symbol ARM_GIC_V3_ITS is enabled, which in turn is selected by ARM64
Kbuild defaults. This makes the logic behind ACPI_IORT selection a bit
twisted and not easy to follow. On ARM64 systems enabling ACPI the
kbuild symbol ACPI_IORT should always be selected in that it is a kernel
layer provided to the ARM64 arch code to parse and enable ACPI firmware
bindings.

Make the ACPI_IORT selection explicit in ARM64 Kbuild and remove the
selection from ARM_GIC_V3_ITS entry, making the ACPI_IORT selection
logic clearer to follow.

Acked-by: Hanjun Guo <hanjun.guo@linaro.org>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Hanjun Guo <hanjun.guo@linaro.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2017-06-15 11:41:21 +01:00
Olav Haugan
577dfe16b8 arm64/dma-mapping: Remove extraneous null-pointer checks
The current null-pointer check in __dma_alloc_coherent and
__dma_free_coherent is not needed anymore since the
__dma_alloc/__dma_free functions won't be called if !dev (dummy ops will
be called instead).

Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2017-06-15 11:40:22 +01:00
Linus Torvalds
a090bd4ff8 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Pull networking fixes from David Miller:

 1) The netlink attribute passed in to dev_set_alias() is not
    necessarily NULL terminated, don't use strlcpy() on it. From
    Alexander Potapenko.

 2) Fix implementation of atomics in arm64 bpf JIT, from Daniel
    Borkmann.

 3) Correct the release of netdevs and driver private data in certain
    circumstances.

 4) Sanitize netlink message length properly in decnet, from Mateusz
    Jurczyk.

 5) Don't leak kernel data in rtnl_fill_vfinfo() netlink blobs. From
    Yuval Mintz.

 6) Hash secret is never initialized in ipv6 ILA translation code, from
    Arnd Bergmann. I guess those clang warnings about unused inline
    functions are useful for something!

 7) Fix endian selection in bpf_endian.h, from Daniel Borkmann.

 8) Sanitize sockaddr length before dereferncing any fields in AF_UNIX
    and CAIF. From Mateusz Jurczyk.

 9) Fix timestamping for GMAC3 chips in stmmac driver, from Mario
    Molitor.

10) Do not leak netdev on dev_alloc_name() errors in mac80211, from
    Johannes Berg.

11) Fix locking in sctp_for_each_endpoint(), from Xin Long.

12) Fix wrong memset size on 32-bit in snmp6, from Christian Perle.

13) Fix use after free in ip_mc_clear_src(), from WANG Cong.

14) Fix regressions caused by ICMP rate limiting changes in 4.11, from
    Jesper Dangaard Brouer.

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (91 commits)
  i40e: Fix a sleep-in-atomic bug
  net: don't global ICMP rate limit packets originating from loopback
  net/act_pedit: fix an error code
  net: update undefined ->ndo_change_mtu() comment
  net_sched: move tcf_lock down after gen_replace_estimator()
  caif: Add sockaddr length check before accessing sa_family in connect handler
  qed: fix dump of context data
  qmi_wwan: new Telewell and Sierra device IDs
  net: phy: Fix MDIO_THUNDER dependencies
  netconsole: Remove duplicate "netconsole: " logging prefix
  igmp: acquire pmc lock for ip_mc_clear_src()
  r8152: give the device version
  net: rps: fix uninitialized symbol warning
  mac80211: don't send SMPS action frame in AP mode when not needed
  mac80211/wpa: use constant time memory comparison for MACs
  mac80211: set bss_info data before configuring the channel
  mac80211: remove 5/10 MHz rate code from station MLME
  mac80211: Fix incorrect condition when checking rx timestamp
  mac80211: don't look at the PM bit of BAR frames
  i40e: fix handling of HW ATR eviction
  ...
2017-06-15 18:09:47 +09:00
Mark Rutland
0959db6c0b arm64/kvm: vgic: use SYS_DESC()
Almost all of the arm64 KVM code uses the sysreg mnemonics for AArch64
register descriptions. Move the last straggler over.

To match what we do for SYS_ICH_AP*R*_EL2, the SYS_ICC_AP*R*_EL1
mnemonics are expanded in <asm/sysreg.h>.

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Marc Zyngier <marc.zyngier@arm.com>
Cc: kvmarm@lists.cs.columbia.edu
Acked-by: Christoffer Dall <cdall@linaro.org>
Acked-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Christoffer Dall <cdall@linaro.org>
2017-06-15 09:45:08 +01:00
Mark Rutland
21bc528177 arm64/kvm: sysreg: fix typo'd SYS_ICC_IGRPEN*_EL1
Per ARM DDI 0487B.a, the registers are named ICC_IGRPEN*_EL1 rather than
ICC_GRPEN*_EL1. Correct our mnemonics and comments to match, before we
add more GICv3 register definitions.

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Marc Zyngier <marc.zyngier@arm.com>
Cc: kvmarm@lists.cs.columbia.edu
Acked-by: Christoffer Dall <cdall@linaro.org>
Acked-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Christoffer Dall <cdall@linaro.org>
2017-06-15 09:45:07 +01:00
Marc Zyngier
7b1dba1f73 KVM: arm64: Log an error if trapping a write-to-read-only GICv3 access
A write-to-read-only GICv3 access should UNDEF at EL1. But since
we're in complete paranoia-land with broken CPUs, let's assume the
worse and gracefully handle the case.

Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Reviewed-by: Christoffer Dall <cdall@linaro.org>
Signed-off-by: Christoffer Dall <cdall@linaro.org>
2017-06-15 09:45:07 +01:00
Marc Zyngier
e7f1d1eef4 KVM: arm64: Log an error if trapping a read-from-write-only GICv3 access
A read-from-write-only GICv3 access should UNDEF at EL1. But since
we're in complete paranoia-land with broken CPUs, let's assume the
worse and gracefully handle the case.

Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Reviewed-by: Christoffer Dall <cdall@linaro.org>
Signed-off-by: Christoffer Dall <cdall@linaro.org>
2017-06-15 09:45:06 +01:00
Marc Zyngier
43515894c0 KVM: arm64: vgic-v3: Add ICV_RPR_EL1 handler
Add a handler for reading the guest's view of the ICV_RPR_EL1
register, returning the highest active priority.

Tested-by: Alexander Graf <agraf@suse.de>
Acked-by: David Daney <david.daney@cavium.com>
Acked-by: Christoffer Dall <cdall@linaro.org>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <cdall@linaro.org>
2017-06-15 09:45:05 +01:00
David Daney
690a341577 arm64: Add workaround for Cavium Thunder erratum 30115
Some Cavium Thunder CPUs suffer a problem where a KVM guest may
inadvertently cause the host kernel to quit receiving interrupts.

Use the Group-0/1 trapping in order to deal with it.

[maz]: Adapted patch to the Group-0/1 trapping, reworked commit log

Tested-by: Alexander Graf <agraf@suse.de>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: David Daney <david.daney@cavium.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <cdall@linaro.org>
2017-06-15 09:45:04 +01:00
David Daney
e982276d8f arm64: Add MIDR values for Cavium cn83XX SoCs
Tested-by: Alexander Graf <agraf@suse.de>
Acked-by: David Daney <david.daney@cavium.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: David Daney <david.daney@cavium.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <cdall@linaro.org>
2017-06-15 09:45:04 +01:00
Marc Zyngier
eab0b2dc4f KVM: arm64: vgic-v3: Add misc Group-0 handlers
A number of Group-0 registers can be handled by the same accessors
as that of Group-1, so let's add the required system register encodings
and catch them in the dispatching function.

Tested-by: Alexander Graf <agraf@suse.de>
Acked-by: David Daney <david.daney@cavium.com>
Acked-by: Christoffer Dall <cdall@linaro.org>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <cdall@linaro.org>
2017-06-15 09:45:02 +01:00
Marc Zyngier
fbc48a0011 KVM: arm64: vgic-v3: Add ICV_IGNREN0_EL1 handler
Add a handler for reading/writing the guest's view of the ICC_IGRPEN0_EL1
register, which is located in the ICH_VMCR_EL2.VENG0 field.

Tested-by: Alexander Graf <agraf@suse.de>
Acked-by: David Daney <david.daney@cavium.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Reviewed-by: Christoffer Dall <cdall@linaro.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <cdall@linaro.org>
2017-06-15 09:45:02 +01:00
Marc Zyngier
423de85a98 KVM: arm64: vgic-v3: Add ICV_BPR0_EL1 handler
Add a handler for reading/writing the guest's view of the ICC_BPR0_EL1
register, which is located in the ICH_VMCR_EL2.BPR0 field.

Tested-by: Alexander Graf <agraf@suse.de>
Acked-by: David Daney <david.daney@cavium.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Reviewed-by: Christoffer Dall <cdall@linaro.org>
Signed-off-by: Christoffer Dall <cdall@linaro.org>
2017-06-15 09:45:02 +01:00
Marc Zyngier
2724c11a1d KVM: arm64: vgic-v3: Add ICV_HPPIR1_EL1 handler
Add a handler for reading the guest's view of the ICV_HPPIR1_EL1
register. This is a simple parsing of the available LRs, extracting the
highest available interrupt.

Tested-by: Alexander Graf <agraf@suse.de>
Acked-by: David Daney <david.daney@cavium.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Reviewed-by: Christoffer Dall <cdall@linaro.org>
Signed-off-by: Christoffer Dall <cdall@linaro.org>
2017-06-15 09:45:01 +01:00
Marc Zyngier
f9e7449c78 KVM: arm64: vgic-v3: Add ICV_AP1Rn_EL1 handler
Add a handler for reading/writing the guest's view of the ICV_AP1Rn_EL1
registers. We just map them to the corresponding ICH_AP1Rn_EL2 registers.

Tested-by: Alexander Graf <agraf@suse.de>
Acked-by: David Daney <david.daney@cavium.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Reviewed-by: Christoffer Dall <cdall@linaro.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <cdall@linaro.org>
2017-06-15 09:45:00 +01:00
Marc Zyngier
59da1cbfd8 KVM: arm64: vgic-v3: Add hook to handle guest GICv3 sysreg accesses at EL2
In order to start handling guest access to GICv3 system registers,
let's add a hook that will get called when we trap a system register
access. This is gated by a new static key (vgic_v3_cpuif_trap).

Tested-by: Alexander Graf <agraf@suse.de>
Acked-by: David Daney <david.daney@cavium.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Reviewed-by: Christoffer Dall <cdall@linaro.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <cdall@linaro.org>
2017-06-15 09:44:59 +01:00
Marc Zyngier
d251f67a18 arm64: Add a facility to turn an ESR syndrome into a sysreg encoding
It is often useful to compare an ESR syndrome reporting the trapping
of a system register with a value matching that system register.

Since encoding both the sysreg and the ESR version seem to be a bit
overkill, let's add a set of macros that convert an ESR value into
the corresponding sysreg encoding.

We handle both AArch32 and AArch64, taking advantage of identical
encodings between system registers and CP15 accessors.

Tested-by: Alexander Graf <agraf@suse.de>
Acked-by: David Daney <david.daney@cavium.com>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <cdall@linaro.org>
2017-06-15 09:44:57 +01:00
Marc Zyngier
6f2f10cabe Merge branch 'kvmarm-master/master' into HEAD 2017-06-15 09:35:15 +01:00
David S. Miller
4cbf87c789 Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next
Johan Hedberg says:

====================
pull request: bluetooth-next 2017-06-14

Here's another batch of Bluetooth patches for the 4.13 kernel:

 - Fix for Broadcom controllers not supporting Event Mask Page 2
 - New QCA ROME USB ID for btusb
 - Fix for Security Manager Protocol to use constant-time memcmp
 - Improved support for TI WiLink chips

Please let me know if there are any issues pulling. Thanks.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
2017-06-14 15:22:17 -04:00
Neil Armstrong
b4cb6f0ab7 ARM64: defconfig: enable meson SPICC as module
This patch enable the SPI Communications Controller driver as module for the
Amlogic platform.

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-06-14 10:25:16 -07:00
Neil Armstrong
54b00bb94b ARM64: defconfig: enable IR core, decoders and Meson IR device
This patch enables the MEDIA Infrared RC Decoders and Meson Infrared
decoder for ARM64 defconfig.
These drivers are selected as modules by default.

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
[khilman: make RC_CORE modular too]
Signed-off-by: Kevin Hilman <khilman@baylibre.com>

Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-06-14 10:24:42 -07:00
Yuantian Tang
375b6755a5 arm64: dts: ls1088a: update sata node
1. Remove ls1043a compatible string from node
2. Fix the sata ecc register address error

Signed-off-by: Tang Yuantian <andy.tang@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2017-06-14 22:42:42 +08:00
Daniel Lezcano
bb0eb050a5 clocksource/drivers: Rename CLKSRC_OF to TIMER_OF
The config option name is now renamed to 'TIMER_OF' for consistency with
the CLOCKSOURCE_OF_DECLARE => TIMER_OF_DECLARE change.

Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
2017-06-14 12:01:03 +02:00
Daniel Lezcano
ba5d08c0ea clocksource/drivers: Rename clocksource_probe to timer_probe
The function name is now renamed to 'timer_probe' for consistency with
the CLOCKSOURCE_OF_DECLARE => TIMER_OF_DECLARE change.

Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Acked-by: Heiko Stuebner <heiko@sntech.de>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
2017-06-14 11:59:16 +02:00
Geert Uytterhoeven
4d1255ebef arm64: dts: r8a7796: Add reset control properties for audio
Note that the audio module has resets for the Serial Sound Interfaces
only.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2017-06-14 11:00:29 +02:00
Geert Uytterhoeven
161a19106f arm64: dts: r8a7795: Add reset control properties for audio
Note that the audio module has resets for the Serial Sound Interfaces
only.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2017-06-14 11:00:13 +02:00
Jeremy Linton
ff910cfdc6 tracing: Add TRACE_DEFINE_SIZEOF() macros
There are a few places in the kernel where sizeof() is already
being used. Update those locations with TRACE_DEFINE_SIZEOF.

Link: http://lkml.kernel.org/r/20170531215653.3240-12-jeremy.linton@arm.com

Signed-off-by: Jeremy Linton <jeremy.linton@arm.com>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
2017-06-13 17:11:08 -04:00
Florian Fainelli
39b1aae758 This pull request brings in the switch to sdhost for MMC on RPi3
(improving storage performance and leaving sdhci for wireless), and
 the correct CPU thermal coefficients.
 
 The thermal changes required a merge from bcm2835-dt-next, where the
 nodes were added.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEE/JuuFDWp9/ZkuCBXtdYpNtH8nugFAlk5p60ACgkQtdYpNtH8
 nugTExAAkngeXI3ziwEwZbq8IQ0sbPYhiUz7eijNmIi4J4PWS/Wahym20r4LmBy8
 72IuD3o2p8fpP4hy484k+oje6bXobJzQM1BxkcQcWwJZAyt1nK7Vj7sXalH3T7lT
 3MCd6CzXy1je4Mw1wavBMPWFMQGZh0O0XmApNg+ceB/vV1f6K76jYKYoFMAYpNQZ
 LFPy80vL7Axpi6XTRfE9ErLkVC3ZTnkNNKN6LHqOg4kYuusmMgEHgQY22Dri31fF
 QSvEYI06wUd6j1o1K+stdmat3MpL8PHjFp+72SMgjcvPZKgGlQ53CG3XIMs2cWp5
 mJ4VLwtr8bOMo6VG2nLwyvofc4ylIWtIjwTAwvutLcMUqGydmUbRSZghBGa6drjI
 5IDvZ+Lc+oePMC9xZlWF/ZCm8S8gdKwmDA6yeI7QKm3FY5XH78MvTG3T2Nd1zSiu
 mwm3PIkbToOd8aVp5iTuikb5T85a/7tOWtppW90Uqa+zY9AqZvwkXG8jd9DH7ONW
 TLz2JiGw0t8otyffiEmJWe8nKnv7rSyyFy0wT6hxu0yebT2dPlN7jmkqQiudhz91
 cn+36nvbfpc4gbBKcNSLe/xF0kpqfIc8+uoolNzi/KmujC6zAOx2+8u0EpurCeAt
 2FBq2zDgcA3tJ7VmaVjoUu7EO6fEMhIhP/tSluIFNveEJKsCG6M=
 =juQA
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIcBAABCAAGBQJZQD+YAAoJEIfQlpxEBwcEMSoP/08ILM9jAk7ZNjb+EPjkjTQ9
 lI3dQc0w8uofyydfhi2TY8GwW519mj+X6vsSQKf91sVRKNh6Q1C18rMXijuj7mOS
 936/K4BleLcGYhUBqn3lEYRDJ5h1o75KgQmhjXU7mrqYspG8jZMzFlnqohHoxJ9l
 TeljsXfd9LgxgN+OUPTaL6e1t/gJEyP5LNcZ1jyax7DCUVBo8RcutefZlK9giifA
 s7Ela5i64vBSA1oi/DQ5GReDzF75mDk0pC0zkNucjBJEByo5mS2YeCrBcAjoKfcF
 cLCiN46/f9WnUeB4ZlWz0nWe6tKysiCBD+Q0ozEBygEYjWQUEJmaavuYPvTVRKRR
 AkNujzyP4LaGIQBWjI6tAPWcfXa72+bIqE/o4J+hLfBa4IXx2TpRzCcDjV4puMy9
 e3V9ybyrN1UAEW/0IBP56Zd8O/iFj1VvCUDs93XFZmP7+MyOTA3X4xaUkM+NotAq
 5hxlsH24vyu5FbP5ASKywSHbxyAhsgxfhxRVQvMYiWJuUeyNptg3iPzF71JrgJrM
 l8I5fAoh1uRm+kBvQPGK6Vk4ItjNeZx0k+B5z5amIFMyHXwWnPqmEZM5spyRIqs6
 XngKKf5LbypF4sUGmVdwySp3c9o1lPOzB6su0UK4WnLVH0LHJj4MIHqqCWW6V0dY
 MAVgdO91+v2POyaZjgWv
 =oIYF
 -----END PGP SIGNATURE-----

Merge tag 'bcm2835-dt-64-next-2017-06-08' into devicetree-arm64/next

This pull request brings in the switch to sdhost for MMC on RPi3
(improving storage performance and leaving sdhci for wireless), and
the correct CPU thermal coefficients.

The thermal changes required a merge from bcm2835-dt-next, where the
nodes were added.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2017-06-13 12:39:57 -07:00
Rob Herring
475d99fc21 arm64: dts: nvidia: fix PCI bus dtc warnings
dtc recently added PCI bus checks. Fix these warnings.

Signed-off-by: Rob Herring <robh@kernel.org>
Cc: Stephen Warren <swarren@wwwdotorg.org>
Cc: Thierry Reding <thierry.reding@gmail.com>
Cc: Alexandre Courbot <gnurou@gmail.com>
Cc: linux-tegra@vger.kernel.org
Signed-off-by: Thierry Reding <treding@nvidia.com>
2017-06-13 16:50:48 +02:00
Mikko Perttunen
7b7ef49460 arm64: tegra: Add CCPLEX_CLUSTER area in Tegra186
The Tegra186 CCPLEX_CLUSTER area contains memory-mapped
registers that initiate CPU frequency/voltage transitions.

Signed-off-by: Mikko Perttunen <mperttunen@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2017-06-13 15:07:44 +02:00
Jagan Teki
ea43d9b85a arm64: allwinner: h5: Add initial Orangepi Zero Plus 2 support
Orangepi Zero Plus 2 is an open-source single-board computer
using the Allwinner h5 SOC.

H5 Orangepi Zero Plus 2 has
- Quad-core Cortex-A53
- 512MB DDR3
- micrSD slot and 8GB eMMC
- Debug TTL UART
- HDMI
- Wifi + BT
- OTG+power supply

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-06-13 09:18:31 +02:00
Jagan Teki
bdecc9cb21 arm64: allwinner: a64: Add initial Orangepi Win/WinPlus support
Orangepi Win/WinPlus is an open-source single-board computer
using the Allwinner A64 SOC.

A64 Orangepi Win/WinPlus has
- A64 Quad-core Cortex-A53 64bit
- 1GB(Win)/2GB(Win Plus) DDR3 SDRAM
- Debug TTL UART
- Four USB 2.0
- HDMI
- LCD
- Audio and MIC
- Wifi + BT
- IR receiver
- 5V DC power supply

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-06-13 09:17:44 +02:00
Kirill A. Shutemov
e585513b76 x86/mm/gup: Switch GUP to the generic get_user_page_fast() implementation
This patch provides all required callbacks required by the generic
get_user_pages_fast() code and switches x86 over - and removes
the platform specific implementation.

Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Andy Lutomirski <luto@amacapital.net>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Dave Hansen <dave.hansen@intel.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-arch@vger.kernel.org
Cc: linux-mm@kvack.org
Link: http://lkml.kernel.org/r/20170606113133.22974-2-kirill.shutemov@linux.intel.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2017-06-13 08:56:50 +02:00
Jonathan (Zhixiong) Zhang
c484f2564d arm64: kconfig: allow support for memory failure handling
Declare ARCH_SUPPORTS_MEMORY_FAILURE, as arm64 does support
memory failure recovery attempt.

Signed-off-by: Jonathan (Zhixiong) Zhang <zjzhang@codeaurora.org>
Signed-off-by: Tyler Baicar <tbaicar@codeaurora.org>
(Dropped changes to ACPI APEI Kconfig and updated commit log)
Signed-off-by: Punit Agrawal <punit.agrawal@arm.com>
Acked-by: Steve Capper <steve.capper@arm.com>
Tested-by: Manoj Iyer <manoj.iyer@canonical.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2017-06-12 16:04:29 +01:00
Punit Agrawal
0e3a902639 arm64: mm: Update perf accounting to handle poison faults
Re-organise the perf accounting for fault handling in preparation for
enabling handling of hardware poison faults in subsequent commits. The
change updates perf accounting to be inline with the behaviour on
x86.

With this update, the perf fault accounting -

  * Always report PERF_COUNT_SW_PAGE_FAULTS

  * Doesn't report anything else for VM_FAULT_ERROR (which includes
    hwpoison faults)

  * Reports PERF_COUNT_SW_PAGE_FAULTS_MAJ if it's a major
    fault (indicated by VM_FAULT_MAJOR)

  * Otherwise, reports PERF_COUNT_SW_PAGE_FAULTS_MIN

Signed-off-by: Punit Agrawal <punit.agrawal@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2017-06-12 16:04:29 +01:00
Jonathan (Zhixiong) Zhang
e7c600f149 arm64: hwpoison: add VM_FAULT_HWPOISON[_LARGE] handling
Add VM_FAULT_HWPOISON[_LARGE] handling to the arm64 page fault
handler. Handling of VM_FAULT_HWPOISON[_LARGE] is very similar
to VM_FAULT_OOM, the only difference is that a different si_code
(BUS_MCEERR_AR) is passed to user space and si_addr_lsb field is
initialized.

Signed-off-by: Jonathan (Zhixiong) Zhang <zjzhang@codeaurora.org>
Signed-off-by: Tyler Baicar <tbaicar@codeaurora.org>
(fix new __do_user_fault call-site)
Signed-off-by: Punit Agrawal <punit.agrawal@arm.com>
Acked-by: Steve Capper <steve.capper@arm.com>
Tested-by: Manoj Iyer <manoj.iyer@canonical.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2017-06-12 16:04:29 +01:00
Punit Agrawal
f02ab08afb arm64: hugetlb: Fix huge_pte_offset to return poisoned page table entries
When memory failure is enabled, a poisoned hugepage pte is marked as a
swap entry. huge_pte_offset() does not return the poisoned page table
entries when it encounters PUD/PMD hugepages.

This behaviour of huge_pte_offset() leads to error such as below when
munmap is called on poisoned hugepages.

[  344.165544] mm/pgtable-generic.c:33: bad pmd 000000083af00074.

Fix huge_pte_offset() to return the poisoned pte which is then
appropriately handled by the generic layer code.

Signed-off-by: Punit Agrawal <punit.agrawal@arm.com>
Acked-by: Steve Capper <steve.capper@arm.com>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Cc: David Woods <dwoods@mellanox.com>
Tested-by: Manoj Iyer <manoj.iyer@canonical.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2017-06-12 16:04:28 +01:00
Kunihiko Hayashi
1b6d58acdb arm64: dts: uniphier: add support for LD20 Global board
Add initial device tree support for LD20 Global board.

Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2017-06-13 00:00:17 +09:00
Kunihiko Hayashi
96f5a269b3 arm64: dts: uniphier: add support for LD11 Global board
Add initial device tree support for LD11 Global board.

Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2017-06-13 00:00:17 +09:00
Will Deacon
687644209a arm64: ftrace: fix building without CONFIG_MODULES
When CONFIG_MODULES is disabled, we cannot dereference a module pointer:

arch/arm64/kernel/ftrace.c: In function 'ftrace_make_call':
arch/arm64/kernel/ftrace.c:107:36: error: dereferencing pointer to incomplete type 'struct module'
   trampoline = (unsigned long *)mod->arch.ftrace_trampoline;

Also, the within_module() function is not defined:

arch/arm64/kernel/ftrace.c: In function 'ftrace_make_nop':
arch/arm64/kernel/ftrace.c:171:8: error: implicit declaration of function 'within_module'; did you mean 'init_module'? [-Werror=implicit-function-declaration]

This addresses both by adding replacing the IS_ENABLED(CONFIG_ARM64_MODULE_PLTS)
checks with #ifdef versions.

Fixes: e71a4e1beb ("arm64: ftrace: add support for far branches to dynamic ftrace")
Reported-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2017-06-12 14:43:25 +01:00
Will Deacon
1eb34b6e51 arm64: fault: Print info about page table structure when dumping pte
Whilst debugging a remote crash, I noticed that show_pte is unhelpful
when it comes to describing the structure of the page table being walked.
This is easily fixed by printing out the page table (swapper vs user),
page size and virtual address size when displaying the PGD address.

Acked-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2017-06-12 12:33:54 +01:00
Kristina Martsenko
83016b2042 arm64: mm: print file name of faulting vma
Print out the name of the file associated with the vma that faulted.
This is usually the executable or shared library name. We already print
out the task name, but also printing the library name is useful for
pinpointing bugs to libraries.

Also print the base address and size of the vma, which together with the
PC (printed by __show_regs) gives the offset into the library.

Fault prints now look like:
test[2361]: unhandled level 2 translation fault (11) at 0x00000012, esr 0x92000006, in libfoo.so[ffffa0145000+1000]

This is already done on x86, for more details see commit 03252919b7
("x86: print which shared library/executable faulted in segfault etc.
messages v3").

Acked-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Kristina Martsenko <kristina.martsenko@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2017-06-12 12:33:37 +01:00
Kristina Martsenko
bf396c09c2 arm64: mm: don't print out page table entries on EL0 faults
When we take a fault from EL0 that can't be handled, we print out the
page table entries associated with the faulting address. This allows
userspace to print out any current page table entries, including kernel
(TTBR1) entries. Exposing kernel mappings like this could pose a
security risk, so don't print out page table information on EL0 faults.
(But still print it out for EL1 faults.) This also follows the same
behaviour as x86, printing out page table entries on kernel mode faults
but not user mode faults.

Acked-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Kristina Martsenko <kristina.martsenko@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2017-06-12 12:33:37 +01:00