Commit Graph

601693 Commits

Author SHA1 Message Date
Tobias Jakobi
fa9971d62a drm/exynos: fimd: harden fimd_calc_clkdiv()
Don't use the vrefresh field of the DRM mode since this
one is supposed to only be used for debug purpose.
Instead use the clock field which should also provide
much more precise information.

Also sanitize the case in which the clock value
should be zero. We then just default to the maximum
clock divisor.

Signed-off-by: Tobias Jakobi <tjakobi@math.uni-bielefeld.de>
Reviewed-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
2016-05-10 23:11:42 +09:00
Andrzej Hajda
fc173ae6dd drm/exynos: fix cancel page flip code
Driver code did not remove event from the list of pending events before destroy.
As a result drm core later tried to inspect invalid memory location.
The patch replaces removal code with call to core helper.

The bug was detected using KASAN:

[   10.107249] ==================================================================
[   10.107518] BUG: KASAN: use-after-free in drm_release+0xe9c/0x1000 at addr ffffffc089154a18
[   10.107784] Read of size 8 by task modetest/103
[   10.107931] =============================================================================
[   10.113191] BUG kmalloc-128 (Not tainted): kasan: bad access detected
[   10.119608] -----------------------------------------------------------------------------
[   10.119608]
[   10.129243] Disabling lock debugging due to kernel taint
[   10.134551] INFO: Allocated in drm_mode_page_flip_ioctl+0x500/0xa98 age=4 cpu=0 pid=103
[   10.142532] 	alloc_debug_processing+0x18c/0x198
[   10.147043] 	___slab_alloc.constprop.28+0x360/0x380
[   10.151906] 	__slab_alloc.isra.25.constprop.27+0x54/0xa0
[   10.157197] 	kmem_cache_alloc_trace+0x370/0x3b0
[   10.161709] 	drm_mode_page_flip_ioctl+0x500/0xa98
[   10.166400] 	drm_ioctl+0x4c4/0xb68
[   10.169787] 	do_vfs_ioctl+0x16c/0xeb8
[   10.173429] 	SyS_ioctl+0x8c/0xa0
[   10.176642] 	el0_svc_naked+0x24/0x28
[   10.180204] INFO: Freed in exynos_drm_crtc_cancel_page_flip+0xe0/0x160 age=0 cpu=0 pid=103
[   10.188447] 	free_debug_processing+0x174/0x388
[   10.192871] 	__slab_free+0x2e8/0x438
[   10.196431] 	kfree+0x350/0x360
[   10.199469] 	exynos_drm_crtc_cancel_page_flip+0xe0/0x160
[   10.204762] 	exynos_drm_preclose+0x58/0xa0
[   10.208844] 	drm_release+0x1f0/0x1000
[   10.212491] 	__fput+0x1c4/0x5b8
[   10.215613] 	____fput+0xc/0x18
[   10.218654] 	task_work_run+0x130/0x198
[   10.222385] 	do_exit+0x700/0x2278
[   10.225681] 	do_group_exit+0xe4/0x2c8
[   10.229327] 	SyS_exit_group+0x1c/0x20
[   10.232973] 	el0_svc_naked+0x24/0x28
[   10.236532] INFO: Slab 0xffffffbdc2a45500 objects=32 used=10 fp=0xffffffc089154a00 flags=0x4080
[   10.245210] INFO: Object 0xffffffc089154a00 @offset=2560 fp=0xffffffc089157600
[   10.245210]
...
[   10.384532] CPU: 0 PID: 103 Comm: modetest Tainted: G    B           4.5.0-rc3-00748-gd5e2881 #271
[   10.398325] Call trace:
[   10.400764] [<ffffffc000091428>] dump_backtrace+0x0/0x328
[   10.406141] [<ffffffc000091764>] show_stack+0x14/0x20
[   10.411176] [<ffffffc00089c550>] dump_stack+0xb0/0xe8
[   10.416210] [<ffffffc000395778>] print_trailer+0xf8/0x160
[   10.421592] [<ffffffc00039b5cc>] object_err+0x3c/0x50
[   10.426626] [<ffffffc00039d630>] kasan_report_error+0x248/0x550
[   10.432527] [<ffffffc00039da50>] __asan_report_load8_noabort+0x40/0x48
[   10.439039] [<ffffffc000b5b724>] drm_release+0xe9c/0x1000
[   10.444419] [<ffffffc0003d340c>] __fput+0x1c4/0x5b8
[   10.449280] [<ffffffc0003d3884>] ____fput+0xc/0x18
[   10.454055] [<ffffffc000101aa8>] task_work_run+0x130/0x198
[   10.459522] [<ffffffc0000bc058>] do_exit+0x700/0x2278
[   10.464557] [<ffffffc0000bdcfc>] do_group_exit+0xe4/0x2c8
[   10.469939] [<ffffffc0000bdefc>] SyS_exit_group+0x1c/0x20
[   10.475320] [<ffffffc000087530>] el0_svc_naked+0x24/0x28

Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
2016-05-10 23:11:41 +09:00
Andrzej Hajda
3f4c8e5c28 drm/exynos/decon5433: do not use unnecessary software trigger
Software trigger should not be used if hardware trigger is configured.

Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
2016-05-10 23:11:40 +09:00
Andrzej Hajda
b0bb3d0775 drm/exynos/decon5433: handle vblank in vblank interrupt
vblank should be signaled to userspace after reading framebuffers not before,
signaling it in TE interrupt looks wrong. TE triggers reading framebuffers
so it is the worst moment. Tearing is not observable because hardware prevents
it, but there are frequently skipped vblank events.

Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
2016-05-10 23:11:39 +09:00
Andrzej Hajda
59b62d3c8b drm/exynos/hdmi: expose HDMI-PHY clock as pipeline clock
HDMI-PHY clock should be accessible from other components in the pipeline.

Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
2016-05-10 23:11:38 +09:00
Marc Gonzalez
692fbddccb ARM: dts: tango4: Update DT to match clk driver
Commit fefe0535b7 ("clk: tango4: improve clkgen driver") added
support for USB and SDIO clocks.

Signed-off-by: Marc Gonzalez <marc_gonzalez@sigmadesigns.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2016-05-10 16:11:36 +02:00
Marc Gonzalez
a6e818898c ARM: dts: tango4: Initial thermal support
Define the CPU temperature sensor, and critical trip point.

Commit 799d71da471c ("add temperature sensor support for tango SoC")
added the device driver.

Acked-by: Eduardo Valentin <edubezval@gmail.com>
Signed-off-by: Marc Gonzalez <marc_gonzalez@sigmadesigns.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2016-05-10 16:11:27 +02:00
Arnd Bergmann
0f02588434 Merge tag 'sunxi-dt-for-4.7-2' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux into next/dt
Merge "Allwinner DT changes for 4.7, round 2" from Maxime Ripard:

Mostly DT patches to enable the new DRM driver on the CHIP, preliminary
support for the A10 and A20, and a support for a new variant of the Olimex
A20-Olinuxino-Lime2 featuring an eMMC

* tag 'sunxi-dt-for-4.7-2' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux:
  ARM: sun7i: dt: Add pll3 and pll7 clocks
  ARM: dts: sunxi: Add a olinuxino-lime2-emmc
  ARM: sun4i: dt: Add pll3 and pll7 clocks
  ARM: sun5i: chip: Enable the TV Encoder
  ARM: sun5i: r8: Add display blocks to the DTSI
  ARM: sun5i: a13: Add display and TCON clocks
2016-05-10 16:10:28 +02:00
Arnd Bergmann
18aab73fba Merge tag 'aspeed-for-4.7-dts' of https://github.com/shenki/linux into next/dt
Merge "aspeed devicetree for 4.7" from Joel Stanley:

This device trees for a pair of Aspeed BMC SoCs and the boards that
they sit in.

* tag 'aspeed-for-4.7-dts' of https://github.com/shenki/linux:
  arm/dst: Add Aspeed ast2500 device tree
  arm/dts: Add Aspeed ast2400 device tree
  doc/devicetree: Add Aspeed and Tyan to vendor-prefixes
2016-05-10 16:08:21 +02:00
Arnd Bergmann
e3cef9bbb5 Merge tag 'at91-dt3' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91 into next/dt
Merge "Third batch of DT changes for 4.7" from Nicolas Ferre:

- a fix for the VInCo platform: reset gpio specification for Ethernet
- addition of True Random Number Generator (TRNG) for all sama5 platforms
- trivial adjustment of TRNG register map size for at91sam9g45 family

* tag 'at91-dt3' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91:
  ARM: dts: at91: sama5d4: add trng node
  ARM: dts: at91: sama5d3: add trng node
  ARM: dts: at91: sama5d2: add trng node
  ARM: dts: at91: at91sam9g45 family: reduce the trng register map size
  ARM: dts: at91: VInCo: fix phy reset gpio flag
2016-05-10 16:06:19 +02:00
Takashi Iwai
2e00fde5c6 Merge branch 'for-linus' into for-next 2016-05-10 16:06:04 +02:00
James Hogan
4ac334295e MIPS: KVM: Add missing disable FPU hazard barriers
Add the necessary hazard barriers after disabling the FPU in
kvm_lose_fpu(), just to be safe.

Signed-off-by: James Hogan <james.hogan@imgtec.com>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: "Radim Krčmář" <rkrcmar@redhat.com>
Cc: linux-mips@linux-mips.org
Cc: kvm@vger.kernel.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2016-05-10 15:56:52 +02:00
James Hogan
556f2a5231 MIPS: KVM: Fix preemption warning reading FPU capability
Reading the KVM_CAP_MIPS_FPU capability returns cpu_has_fpu, however
this uses smp_processor_id() to read the current CPU capabilities (since
some old MIPS systems could have FPUs present on only a subset of CPUs).

We don't support any such systems, so work around the warning by using
raw_cpu_has_fpu instead.

We should probably instead claim not to support FPU at all if any one
CPU is lacking an FPU, but this should do for now.

Signed-off-by: James Hogan <james.hogan@imgtec.com>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: "Radim Krčmář" <rkrcmar@redhat.com>
Cc: linux-mips@linux-mips.org
Cc: kvm@vger.kernel.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2016-05-10 15:56:51 +02:00
James Hogan
f049729c05 MIPS: KVM: Fix preemptable kvm_mips_get_*_asid() calls
There are a couple of places in KVM fault handling code which implicitly
use smp_processor_id() via kvm_mips_get_kernel_asid() and
kvm_mips_get_user_asid() from preemptable context. This is unsafe as a
preemption could cause the guest kernel ASID to be changed, resulting in
a host TLB entry being written with the wrong ASID.

Fix by disabling preemption around the kvm_mips_get_*_asid() call and
the corresponding kvm_mips_host_tlb_write().

Signed-off-by: James Hogan <james.hogan@imgtec.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: "Radim Krčmář" <rkrcmar@redhat.com>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: linux-mips@linux-mips.org
Cc: kvm@vger.kernel.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2016-05-10 15:56:51 +02:00
James Hogan
b45bacd2d0 MIPS: KVM: Fix timer IRQ race when writing CP0_Compare
Writing CP0_Compare clears the timer interrupt pending bit
(CP0_Cause.TI), but this wasn't being done atomically. If a timer
interrupt raced with the write of the guest CP0_Compare, the timer
interrupt could end up being pending even though the new CP0_Compare is
nowhere near CP0_Count.

We were already updating the hrtimer expiry with
kvm_mips_update_hrtimer(), which used both kvm_mips_freeze_hrtimer() and
kvm_mips_resume_hrtimer(). Close the race window by expanding out
kvm_mips_update_hrtimer(), and clearing CP0_Cause.TI and setting
CP0_Compare between the freeze and resume. Since the pending timer
interrupt should not be cleared when CP0_Compare is written via the KVM
user API, an ack argument is added to distinguish the source of the
write.

Fixes: e30492bbe9 ("MIPS: KVM: Rewrite count/compare timer emulation")
Signed-off-by: James Hogan <james.hogan@imgtec.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: "Radim Krčmář" <rkrcmar@redhat.com>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: linux-mips@linux-mips.org
Cc: kvm@vger.kernel.org
Cc: <stable@vger.kernel.org> # 3.16.x-
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2016-05-10 15:56:50 +02:00
James Hogan
4355c44f06 MIPS: KVM: Fix timer IRQ race when freezing timer
There's a particularly narrow and subtle race condition when the
software emulated guest timer is frozen which can allow a guest timer
interrupt to be missed.

This happens due to the hrtimer expiry being inexact, so very
occasionally the freeze time will be after the moment when the emulated
CP0_Count transitions to the same value as CP0_Compare (so an IRQ should
be generated), but before the moment when the hrtimer is due to expire
(so no IRQ is generated). The IRQ won't be generated when the timer is
resumed either, since the resume CP0_Count will already match CP0_Compare.

With VZ guests in particular this is far more likely to happen, since
the soft timer may be frozen frequently in order to restore the timer
state to the hardware guest timer. This happens after 5-10 hours of
guest soak testing, resulting in an overflow in guest kernel timekeeping
calculations, hanging the guest. A more focussed test case to
intentionally hit the race (with the help of a new hypcall to cause the
timer state to migrated between hardware & software) hits the condition
fairly reliably within around 30 seconds.

Instead of relying purely on the inexact hrtimer expiry to determine
whether an IRQ should be generated, read the guest CP0_Compare and
directly check whether the freeze time is before or after it. Only if
CP0_Count is on or after CP0_Compare do we check the hrtimer expiry to
determine whether the last IRQ has already been generated (which will
have pushed back the expiry by one timer period).

Fixes: e30492bbe9 ("MIPS: KVM: Rewrite count/compare timer emulation")
Signed-off-by: James Hogan <james.hogan@imgtec.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: "Radim Krčmář" <rkrcmar@redhat.com>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: linux-mips@linux-mips.org
Cc: kvm@vger.kernel.org
Cc: <stable@vger.kernel.org> # 3.16.x-
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2016-05-10 15:56:50 +02:00
Arnd Bergmann
3a99f3d8d2 Merge tag 'ux500-armsoc-v4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson into next/dt
Merge "ux500 Devicetree updates for v4.7" from Linus Walleij:

- Use generic include files
- Make accelerometers open drain on the TVK board

* tag 'ux500-armsoc-v4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson:
  ARM: dts: ux500: configure the accelerometers open drain
  ARM: dts: ux500: use the GIC include header
  ARM: dts: ux500: use the GPIO DT header
2016-05-10 15:46:55 +02:00
Arnd Bergmann
21c9a64873 Merge tag 'imx-dt-4.7-2' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/dt
Merge "i.MX device tree updates for 4.7, take 2: from Shawn Guo:

The i.MX device tree updates for 4.7, take 2:
 - Update display clock configuration for imx6q-b850v3 board
 - Use watchdog external reset for imx6q-ba16 board
 - Update operating points settings for i.MX6UL/SX/DL
 - New board support: imx6ul-pico-hobbit and imx6q-marsboard
 - Add SAI audio support for imx6ul-14x14-evk board
 - Enable USB OTG support for M53EVK board
 - A couple of fixes on DTC warnings

* tag 'imx-dt-4.7-2' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  ARM: mx5: dts: Enable USB OTG on M53EVK
  ARM: dts: imx6ul-14x14-evk: Add audio support
  ARM: dts: imx6qdl: Remove unneeded unit-addresses
  ARM: dts: imx6: apalis: parallel lcd display support on ixora
  ARM: dts: imx6sx-sdb: Add 198MHz operational point
  ARM: dts: imx28-m28: Remove unneeded partition nodes
  ARM: dts: imx6ul-pico-hobbit: Add initial support
  ARM: dts: imx6: Do not hardcode the CLKO clock
  ARM: dts: imx6: Add dts for Embest MarS Board
  ARM: dts: imx6: fix dtc warnings for ipu endpoints
  ARM: dts: imx6dl: Fix the VDD_ARM_CAP voltage for 396MHz operation
  ARM: dts: imx6sx: Add 198MHz operating point
  ARM: dts: imx6ul: Fix operating points
  ARM: dts: imx6q-ba16: use wdog external reset
  ARM: dts: imx: b450/b650v3: Move ldb_di clk assignment
  ARM: dts: imx6q-b850v3: Update display clock source
  ARM: dts: imx6q-b850v3: Remove ldb panel
2016-05-10 15:45:41 +02:00
Arnd Bergmann
7430bc1942 Merge tag 'v4.6-next-dts' of https://github.com/mbgg/linux-mediatek into next/dt
Merge "ARM: mediatek: dts updates for v4.7" from Matthias Brugger:

- add pinctrl node for mt2701
- add mt2701 pmic wrapper binding
- add auxadc binding document

* tag 'v4.6-next-dts' of https://github.com/mbgg/linux-mediatek:
  dt-bindings: MediaTek: Add binding document for the AUXADC
  dt-bindings: ARM: Mediatek: add MT2701/7623 string to the PMIC wrapper doc
  arm: dts: Add pinctrl/GPIO/EINT node for mt2701
2016-05-10 15:44:27 +02:00
Arnd Bergmann
e8f72bf9d4 Merge tag 'sunxi-dt-for-4.7' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux into next/dt
Merge "Allwinner DT additions for 4.7" from Maxime Ripard:

The usual bunch of changes, mostly:
  * Addition of the SPDIF support
  * Addition of the pre-requisites for the display support
  * New boards: Difrence DIT4350, colorfly e708 q1, Dserve DSRV9703C,
                Polaroid MID2809PXE4, Orange Pi PC, Orange Pi 2

* tag 'sunxi-dt-for-4.7' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux: (38 commits)
  ARM: dts: sun7i: Enable S/PDIF on the Cubietruck
  ARM: sun5i: Add DRAM gates
  ARM: sun5i: Add TV encoder gate to the DTSI
  ARM: sun5i: dt: Add pll3 and pll7 clocks
  ARM: dts: sun8i: Add dts file for the Orange Pi One SBC
  ARM: sun7i: dt: Enable dram gate 5 (tve0 clock) for simplefb TV output
  ARM: sun4i: dt: Enable dram gate 5 (tve0 clock) for simplefb TV output
  ARM: dts: sun5i-a13-olinuxino-micro: enable USB DRC
  ARM: dts: sun8i: Base Orange Pi Plus dts on the Orange Pi 2 dts
  ARM: dts: sun8i: Orangepi plus gpio keys fixes and improvements
  ARM: dts: sun8i: Add dts for Orange Pi 2 SBC
  ARM: dts: sun8i: Add Orange Pi PC support
  ARM: dts: sun8i: Fix pio nodes Orangepi Plus dts
  ARM: dts: sun7i: Add SPDIF to the Itead Ibox
  ARM: dts: sun4i: Add SPDIF to the Mele A1000
  ARM: dts: sun7i: Add the SPDIF block to the A20
  ARM: dts: sun4i: Add the SPDIF block to the A10
  ARM: dts: sun7i: Add the SPDIF clk to the A20
  ARM: dts: sun4i: Add the SPDIF clk to the A10
  ARM: dts: sun7i: Add SPDIF TX pin to the A20
  ...
2016-05-10 15:43:20 +02:00
Arnd Bergmann
10bd9eb7dd Merge tag 'davinci-for-v4.7/dt-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci into next/dt
Merge "DaVinci DT updates for v4.7 (part 2)" from Sekhar Nori:

Second set of DT updates for DaVinci
adding support for SPI0 and some low
priority fixes for ethernet and interrupt
controller.

* tag 'davinci-for-v4.7/dt-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci:
  ARM: dts: da850: There are 101 interrupts.
  ARM: dts: da850: disable mdio and eth0 in da850.dtsi
  ARM: davinci: da8xx-dt: Add spi0 lookup for clock matching
  ARM: dts: da850: add spi0 to device tree
2016-05-10 15:39:18 +02:00
Arnd Bergmann
c5e51c98e3 Merge tag 'v4.7-rockchip-dts32-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/dt
Merge "Rockchip dts32 updates for v4.7 - part2" from Heiko Stübner:

This adds the rk3288-miqi as new board, adapts the edp-phy settings
to the binding-change that made it into 4.6, adds rk3288 i2c controller
nodes and moves the rk3288 thermal data into the soc dtsi, as there
really is no need to have that separate file.

* tag 'v4.7-rockchip-dts32-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  ARM: dts: rockchip: move the rk3288 thermal data into rk3288.dtsi
  ARM: dts: rockchip: add MiQi board from mqmaker
  dt-bindings: add vendor-prefix for mqmaker
  ARM: dts: rockchip: move rk3288 edp phy under the GRF
  ARM: dts: rockchip: make rk3288-grf a simple-mfd
  ARM: dts: rockchip: add i2c nodes for RK3228 SoCs
2016-05-10 15:38:13 +02:00
Arnd Bergmann
6d5853ffe6 Merge tag 'mvebu-arm64-4.7-1' of git://git.infradead.org/linux-mvebu into next/arm64
Merge "mvebu arm64 for 4.7" from Gregory CLEMENT:

- Mention the arm64 SoCs in the MAINTAINER file
- Enable syscon drivers for Marvell Armada 7K/8K (replacing the clk
  one)

* tag 'mvebu-arm64-4.7-1' of git://git.infradead.org/linux-mvebu:
  MAINTAINERS: update entry for Marvell ARM platform maintainers
  arm64: marvell: enable AP806 and CP110 syscon driver
2016-05-10 14:53:01 +02:00
Thomas Petazzoni
e5d8b0ad5a arm64: configs: add options useful for Armada 7K/8K support
This commit updates the ARM64 defconfig to include additional options
useful to support the Armada 7K/8K platforms:

 - the SPI controller driver, spi-orion
 - the support for SPI flashes

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2016-05-10 14:42:23 +02:00
Andre Przywara
d7c38ff1cd arm64: defconfig: Add Juno SATA controller
The ARM Juno (r1 and r2) boards feature a SATA controller soldered
on the board and connected to the PCI bus.
Add the respective driver to defconfig to get hard disks supported out
of the box on the Junos.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2016-05-10 14:35:48 +02:00
Arnd Bergmann
cbeefdab99 Merge tag 'imx-defconfig64-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/arm64
Merge "The arm64 defconfig update for Freescale/NXP support" from Shawn Guo:

 - Clean up defconfig with savedefconfig
 - Enable 48-bit virtual address support
 - Enable driver support for various Freescale/NXP devices

* tag 'imx-defconfig64-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  arm64: defconfig: enable freescale/nxp config options
  arm64: defconfig: enable 48-bit virtual addresses
  arm64: defconfig: cleanup the defconfig
2016-05-10 14:32:09 +02:00
Arnd Bergmann
b80dc598eb Merge tag 'at91-defconfig2' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91 into next/defconfig
Merge "Second batch of defconfig" from Nicolas Ferre:

- sama5_defconfig: update to support easy use of systemd userspace

* tag 'at91-defconfig2' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91:
  ARM: at91/defconfig: sama5: add CONFIG_FHANDLE
  ARM: at91: sama5: Update defconfig
  ARM: multi_v7_defconfig: add the Atmel sama5d2-compatible ADC driver
  ARM: multi_v7_defconfig: add the Atmel Audio microphone interface PDMIC
  ARM: multi_v7_defconfig: add Atmel ISI (Image Sensor Interface) driver
  ARM: multi_v7_defconfig: add Atmel watchdog timers
  ARM: multi_v7_defconfig: add HLCDC drivers as modules
  ARM: at91/defconfig: add PDMIC driver to sama5_defconfig
  ARM: at91/defconfig: add HLCDC driver to sama5_defconfig
  ARM: at91/defconfig: add the HDMA controller to sama5_defconfig
2016-05-10 14:30:01 +02:00
Arnd Bergmann
2cbb21d749 Merge tag 'aspeed-for-4.7-defconfig' of https://github.com/shenki/linux into next/defconfig
Merge "aspeed defconfig for 4.7" from Joel Stanley:

This adds configurations used for testing Aspeed BMC SoCs, as well as adding
the v5 part to the multi defconfig.

* tag 'aspeed-for-4.7-defconfig' of https://github.com/shenki/linux:
  arm/configs: Add Aspeed defconfig
  arm/configs/multi_v5: Add Aspeed ast2400
2016-05-10 14:25:54 +02:00
Arnd Bergmann
11d708f414 Merge tag 'ux500-defconfig-armsoc2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson into next/defconfig
Merge "Ux500 defconfig update for v4.7" from Linus Walleij:

- Remove the unused MACH_UX500_DT option from the multi_v7 defconfig
- Remove staging driver from u8500_defconfig
- Update sensor support in u8500_defconfig

* tag 'ux500-defconfig-armsoc2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson:
  ARM: u8500_defconfig: update sensor config
  ARM: u8500_defconfig: remove staging from defconfig
  ARM: multi_v7_defconfig: Remove unused Kconfig option MACH_UX500_DT
2016-05-10 14:24:06 +02:00
Linus Walleij
35bee33355 ARM: u8500_defconfig: update sensor config
The Ux500 is using buffered IIO as the sensors support
IRQs. The BH1780 ambient light sensor was added to IIO,
so disable the old misc driver and activate the driver
in IIO.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-05-10 14:10:52 +02:00
Linus Walleij
6cf8440c2b ARM: u8500_defconfig: remove staging from defconfig
Ux500 was enabling the staging drivers due to the RMI4
touchscreen driver, this is now properly upstream, so drop
this and the dead symbol for the old RMI4 hack from
the defconfig.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-05-10 14:10:52 +02:00
Lee Jones
3ef875479c ARM: multi_v7_defconfig: Remove unused Kconfig option MACH_UX500_DT
Cc: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-05-10 14:10:51 +02:00
Arnd Bergmann
48bc03e541 Merge tag 'imx-defconfig-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/defconfig
Merge "i.MX defconfig updates for 4.7" from Shawn Guo:

 - Update multi_v5_defconfig for i.MX21/27 and systemd support
 - Update imx_v6_v7_defconfig to support devices found on various i.MX6
   board: FT5x06 and TSC2004 touch, I2C GPIO, MICREL PHY and M41T80 RTC

* tag 'imx-defconfig-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  ARM: imx_v6_v7_defconfig: add CONFIG_MICREL_PHY
  ARM: imx_v6_v7_defconfig: add CONFIG_I2C_GPIO
  ARM: multi_v5_defconfig: Enable recommended options for systemd
  ARM: multi_v5_defconfig: Enable support for MX21/MX27
  ARM: imx_v6_v7_defconfig: add CONFIG_RTC_DRV_M41T80
  ARM: imx_v6_v7_defconfig: add CONFIG_I2C_MUX_GPIO
  ARM: imx_v6_v7_defconfig: add FT5x06 and TSC2004 touch support
2016-05-10 14:09:41 +02:00
Arnd Bergmann
b6e3f6d543 Merge tag 'tegra-for-4.7-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into next/defconfig
Merge "ARM: tegra: Default configuration updates for v4.7-rc1" from Thierry Reding:

Enable the XUSB pad controller and XUSB controller drivers on the Tegra
and multi-v7 default configurations.

* tag 'tegra-for-4.7-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  ARM: multi_v7: Enable Tegra XUSB controller in defconfig
  ARM: tegra: Enable XUSB controller in defconfig
2016-05-10 14:09:39 +02:00
Arnd Bergmann
cbf3bbeb2e Merge tag 'davinci-for-v4.7/defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci into next/defconfig
Merge "DaVinci defconfig updates for v4.7" from Sekhar Nori:

Some defconfig updates to support systemd
based filesystems, SPI NOR and GPIO sysfs
entries.

* tag 'davinci-for-v4.7/defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci:
  ARM: davinci_all_defconfig: enable SPI and NOR as modules
  ARM: davinci_all_defconfig: support systemd
  ARM: davinci_all_defconfig: enable GPIO_SYSFS
2016-05-10 14:03:53 +02:00
Christian Lamparter
5b64250b61 gpio: dt-bindings: add wd,mbl-gpio bindings
This patch adds the device tree bindings for the Western Digital's
MyBook Live memory-mapped GPIO controllers.

The gpios will be supported by gpio-mmio code of the
GPIO generic library.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Acked-by: Rob Herring <robh@kernel.org>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-05-10 13:58:47 +02:00
Arnd Bergmann
41caed560f Merge branch 'renesas/fixes-2' into next/dt64
This merges fixes from linux-4.6 into the next/dt64 tree to avoid
a later merge conflict.

* renesas/fixes-2:
  arm64: dts: r8a7795: Don't disable referenced optional scif clock
  ARM: shmobile: timer: Fix preset_lpj leading to too short delays
  Revert "ARM: dts: porter: Enable SCIF_CLK frequency and pins"
  ARM: dts: r8a7791: Don't disable referenced optional clocks
2016-05-10 13:48:48 +02:00
Patrice Chotard
3beed93c16 pinctrl: stm32: Implement .pin_config_dbg_show()
Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-05-10 13:48:26 +02:00
Linus Walleij
fd9c55315d gpio: of: make it possible to name GPIO lines
Make it possible to name the producer side of a GPIO line using
a "gpio-line-names" property array, modeled on the
"clock-output-names" property from the clock bindings.

This naming is especially useful for:

- Debugging: lines are named after function, not just opaque
  offset numbers.

- Exploration: systems where some or all GPIO lines are available
  to end users, such as prototyping, one-off's "makerspace usecases"
  users are helped by the names of the GPIO lines when tinkering.
  This usecase has been surfacing recently.

The gpio-line-names attribute is completely optional.

Example output from lsgpio on a patched Snowball tree:

GPIO chip: gpiochip6, "8000e180.gpio", 32 GPIO lines
        line  0: unnamed unused
        line  1: "AP_GPIO161" "extkb3" [kernel]
        line  2: "AP_GPIO162" "extkb4" [kernel]
        line  3: "ACCELEROMETER_INT1_RDY" unused [kernel]
        line  4: "ACCELEROMETER_INT2" unused
        line  5: "MAG_DRDY" unused [kernel]
        line  6: "GYRO_DRDY" unused [kernel]
        line  7: "RSTn_MLC" unused
        line  8: "RSTn_SLC" unused
        line  9: "GYRO_INT" unused
        line 10: "UART_WAKE" unused
        line 11: "GBF_RESET" unused
        line 12: unnamed unused

Cc: Grant Likely <grant.likely@linaro.org>
Cc: Amit Kucheria <amit.kucheria@linaro.org>
Cc: David Mandala <david.mandala@linaro.org>
Cc: Lee Campbell <leecam@google.com>
Cc: devicetree@vger.kernel.org
Acked-by: Rob Herring <robh@kernel.org>
Reviewed-by: Michael Welling <mwelling@ieee.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-05-10 13:43:48 +02:00
Heiko Carstens
ca21872e43 s390: add missing include statements
arch_mmap_rnd, cpu_have_feature, and arch_randomize_brk are all
defined as globally visible variables.
However the files they are defined in do not include the header files
with the declaration. To avoid a possible mismatch add the missing
include statements so we have proper type checking in place.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2016-05-10 13:24:52 +02:00
Heiko Carstens
521b00cd7a s390: add missing declarations
arch_dup_task_struct and the per cpu variable mt_cycles are globally
visible, but do not have any header file with a declaration.
Therefore add it so we have proper type checking in place.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2016-05-10 13:24:51 +02:00
Heiko Carstens
f70a34c576 s390: make couple of variables and functions static
copy_oldmem_user() and ap_jumptable are private to the files they are
being used in. Therefore make them static.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2016-05-10 13:24:50 +02:00
Heiko Carstens
4c07a399f9 s390/cache: remove superfluous locking
With "s390/cpuinfo: simplify locking and skip offline cpus early" we
prevent already that cpus will go away. The additional
get_online_cpus() / put_online_cpus() within show_cacheinfo() is not
needed anymore.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2016-05-10 13:24:49 +02:00
Heiko Carstens
281eaa8cb6 s390/cpuinfo: simplify locking and skip offline cpus early
Move the get_online_cpus() and put_online_cpus() to the start and stop
operation of the seqfile ops. This way there is no need to lock cpu
hotplug again and again for each single cpu.

This way we can also skip offline cpus early if we simply use
cpumask_next() within the next operation.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2016-05-10 13:24:48 +02:00
Martin Schwidefsky
0c75691492 s390/3270: hangup the 3270 tty after a disconnect
The disconnect and later reconnect of a 3270 terminal does not do
a tty hangup. The current session is resumed which is a security
issue.

Do a tty hangup after a unit check has been received.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2016-05-10 13:24:47 +02:00
Martin Schwidefsky
7e36eff1ee s390/3270: handle reconnect of a tty with a different size
If an existing 3270 terminal disconnects and reconnects with a
different size, the 3270 driver still works with the old size.
If the new dimensions are larger the output merely looks funny,
if the new dimensions are smaller the terminal is unusable.

To fix this restart the size detection after a unit check has
been received.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2016-05-10 13:24:46 +02:00
Wang Hongcheng
ffe1b6c453 video: AMBA CLCD: Remove unncessary include in amba-clcd.c
The header file asm/sizes.h is unnecessary.
And it can also be compiled under X86 arch after the removal.

Signed-off-by: Wang Hongcheng <annie.wang@amd.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2016-05-10 13:32:31 +03:00
Julian Scheel
80403b232b fbdev: ssd1307fb: Fix charge pump setting
Make sure bit 4 is set for the charge pump setting. It is required according
to SSD1306 App Note.

Signed-off-by: Julian Scheel <julian@jusst.de>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2016-05-10 13:29:36 +03:00
Antonio Quartulli
676970e55b batman-adv: use batadv_compare_eth when possible
When comparing Ethernet address it is better to use the more
generic batadv_compare_eth. The latter is also optimised for
architectures having a fast unaligned access.

Signed-off-by: Antonio Quartulli <a@unstable.cc>
[sven@narfation.org: fix conflicts with current version]
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
2016-05-10 18:28:54 +08:00
Marek Lindner
9d1601ef43 batman-adv: replace ethertype variable with ETH_P_BATMAN for readability
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Reviewed-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Antonio Quartulli <a@unstable.cc>
2016-05-10 18:28:54 +08:00