Commit Graph

101999 Commits

Author SHA1 Message Date
Rafael J. Wysocki
49a09c9ab0 Merge branch 'pm-domains'
* pm-domains: (32 commits)
  PM / Domains: Rename cpu_data to cpuidle_data
  PM / Domains: Move dev_pm_domain_attach|detach() to pm_domain.h
  PM / Domains: Remove legacy API for adding devices through DT
  PM / Domains: Add genpd attach/detach callbacks
  PM / Domains: add debugfs listing of struct generic_pm_domain-s
  ACPI / PM: Convert acpi_dev_pm_detach() into a static function
  ARM: exynos: Move to generic PM domain DT bindings
  amba: Add support for attach/detach of PM domains
  spi: core: Convert to dev_pm_domain_attach|detach()
  mmc: sdio: Convert to dev_pm_domain_attach|detach()
  i2c: core: Convert to dev_pm_domain_attach|detach()
  drivercore / platform: Convert to dev_pm_domain_attach|detach()
  PM / Domains: Add APIs to attach/detach a PM domain for a device
  PM / Domains: Add generic OF-based PM domain look-up
  ACPI / PM: Assign the ->detach() callback when attaching the PM domain
  PM / Domains: Add a detach callback to the struct dev_pm_domain
  PM / domains: Spelling s/domian/domain/
  PM / domains: Keep declaration of dev_power_governors together
  PM / domains: Remove default_stop_ok() API
  drivers: sh: Leave disabling of unused PM domains to genpd
  ...
2014-10-07 01:18:12 +02:00
Rafael J. Wysocki
88b42a4883 Merge branch 'pm-genirq'
* pm-genirq:
  PM / genirq: Document rules related to system suspend and interrupts
  PCI / PM: Make PCIe PME interrupts wake up from suspend-to-idle
  x86 / PM: Set IRQCHIP_SKIP_SET_WAKE for IOAPIC IRQ chip objects
  genirq: Simplify wakeup mechanism
  genirq: Mark wakeup sources as armed on suspend
  genirq: Create helper for flow handler entry check
  genirq: Distangle edge handler entry
  genirq: Avoid double loop on suspend
  genirq: Move MASK_ON_SUSPEND handling into suspend_device_irqs()
  genirq: Make use of pm misfeature accounting
  genirq: Add sanity checks for PM options on shared interrupt lines
  genirq: Move suspend/resume logic into irq/pm code
  PM / sleep: Mechanism for aborting system suspends unconditionally
2014-10-07 01:17:21 +02:00
Andy Lutomirski
8c7aa698ba x86_64, entry: Filter RFLAGS.NT on entry from userspace
The NT flag doesn't do anything in long mode other than causing IRET
to #GP.  Oddly, CPL3 code can still set NT using popf.

Entry via hardware or software interrupt clears NT automatically, so
the only relevant entries are fast syscalls.

If user code causes kernel code to run with NT set, then there's at
least some (small) chance that it could cause trouble.  For example,
user code could cause a call to EFI code with NT set, and who knows
what would happen?  Apparently some games on Wine sometimes do
this (!), and, if an IRET return happens, they will segfault.  That
segfault cannot be handled, because signal delivery fails, too.

This patch programs the CPU to clear NT on entry via SYSCALL (both
32-bit and 64-bit, by my reading of the AMD APM), and it clears NT
in software on entry via SYSENTER.

To save a few cycles, this borrows a trick from Jan Beulich in Xen:
it checks whether NT is set before trying to clear it.  As a result,
it seems to have very little effect on SYSENTER performance on my
machine.

There's another minor bug fix in here: it looks like the CFI
annotations were wrong if CONFIG_AUDITSYSCALL=n.

Testers beware: on Xen, SYSENTER with NT set turns into a GPF.

I haven't touched anything on 32-bit kernels.

The syscall mask change comes from a variant of this patch by Anish
Bhatt.

Note to stable maintainers: there is no known security issue here.
A misguided program can set NT and cause the kernel to try and fail
to deliver SIGSEGV, crashing the program.  This patch fixes Far Cry
on Wine: https://bugs.winehq.org/show_bug.cgi?id=33275

Cc: <stable@vger.kernel.org>
Reported-by: Anish Bhatt <anish@chelsio.com>
Signed-off-by: Andy Lutomirski <luto@amacapital.net>
Link: http://lkml.kernel.org/r/395749a5d39a29bd3e4b35899cf3a3c1340e5595.1412189265.git.luto@amacapital.net
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2014-10-06 10:53:26 -07:00
Bjorn Helgaas
f92d9ee3ab Merge branch 'pci/host-xgene' into next
* pci/host-xgene:
  arm64: dts: Add APM X-Gene PCIe device tree nodes
  PCI: xgene: Add APM X-Gene PCIe driver

Conflicts:
	drivers/pci/host/Kconfig
	drivers/pci/host/Makefile
2014-10-06 09:59:15 -06:00
Tanmay Inamdar
767ebaff4e arm64: dts: Add APM X-Gene PCIe device tree nodes
Add the device tree nodes for APM X-Gene PCIe host controller and PCIe
clock interface.  Since X-Gene SOC supports maximum 5 ports, 5 dts nodes
are added.

Signed-off-by: Tanmay Inamdar <tinamdar@apm.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
2014-10-06 09:58:21 -06:00
Mukesh Rathor
a2ef5dc2c7 x86/xen: Set EFER.NX and EFER.SCE in PVH guests
This fixes two bugs in PVH guests:

  - Not setting EFER.NX means the NX bit in page table entries is
    ignored on Intel processors and causes reserved bit page faults on
    AMD processors.

  - After the Xen commit 7645640d6ff1 ("x86/PVH: don't set EFER_SCE for
    pvh guest") PVH guests are required to set EFER.SCE to enable the
    SYSCALL instruction.

Secondary VCPUs are started with pagetables with the NX bit set so
EFER.NX must be set before using any stack or data segment.
xen_pvh_cpu_early_init() is the new secondary VCPU entry point that
sets EFER before jumping to cpu_bringup_and_idle().

Signed-off-by: Mukesh Rathor <mukesh.rathor@oracle.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: David Vrabel <david.vrabel@citrix.com>
2014-10-06 10:27:47 +01:00
David S. Miller
d195b71bad sparc64: Kill unnecessary tables and increase MAX_BANKS.
swapper_low_pmd_dir and swapper_pud_dir are actually completely
useless and unnecessary.

We just need swapper_pg_dir[].  Naturally the other page table chunks
will be allocated on an as-needed basis.  Since the kernel actually
accesses these tables in the PAGE_OFFSET view, there is not even a TLB
locality advantage of placing them in the kernel image.

Use the hard coded vmlinux.ld.S slot for swapper_pg_dir which is
naturally page aligned.

Increase MAX_BANKS to 1024 in order to handle heavily fragmented
virtual guests.

Even with this MAX_BANKS increase, the kernel is 20K+ smaller.

Signed-off-by: David S. Miller <davem@davemloft.net>
Acked-by: Bob Picco <bob.picco@oracle.com>
2014-10-05 16:53:40 -07:00
bob picco
ee6a9333fa sparc64: sparse irq
This patch attempts to do a few things. The highlights are: 1) enable
SPARSE_IRQ unconditionally, 2) kills off !SPARSE_IRQ code 3) allocates
ivector_table at boot time and 4) default to cookie only VIRQ mechanism
for supported firmware. The first firmware with cookie only support for
me appears on T5. You can optionally force the HV firmware to not cookie
only mode which is the sysino support.

The sysino is a deprecated HV mechanism according to the most recent
SPARC Virtual Machine Specification. HV_GRP_INTR is what controls the
cookie/sysino firmware versioning.

The history of this interface is:

1) Major version 1.0 only supported sysino based interrupt interfaces.

2) Major version 2.0 added cookie based VIRQs, however due to the fact
   that OSs were using the VIRQs without negoatiating major version
   2.0 (Linux and Solaris are both guilty), the VIRQs calls were
   allowed even with major version 1.0

   To complicate things even further, the VIRQ interfaces were only
   actually hooked up in the hypervisor for LDC interrupt sources.
   VIRQ calls on other device types would result in HV_EINVAL errors.

   So effectively, major version 2.0 is unusable.

3) Major version 3.0 was created to signal use of VIRQs and the fact
   that the hypervisor has these calls hooked up for all interrupt
   sources, not just those for LDC devices.

A new boot option is provided should cookie only HV support have issues.
hvirq - this is the version for HV_GRP_INTR. This is related to HV API
versioning.  The code attempts major=3 first by default. The option can
be used to override this default.

I've tested with SPARSE_IRQ on T5-8, M7-4 and T4-X and Jalap?no.

Signed-off-by: Bob Picco <bob.picco@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-10-05 16:53:40 -07:00
David S. Miller
bb4e6e85da sparc64: Adjust vmalloc region size based upon available virtual address bits.
In order to accomodate embedded per-cpu allocation with large numbers
of cpus and numa nodes, we have to use as much virtual address space
as possible for the vmalloc region.  Otherwise we can get things like:

PERCPU: max_distance=0x380001c10000 too large for vmalloc space 0xff00000000

So, once we select a value for PAGE_OFFSET, derive the size of the
vmalloc region based upon that.

Signed-off-by: David S. Miller <davem@davemloft.net>
Acked-by: Bob Picco <bob.picco@oracle.com>
2014-10-05 16:53:40 -07:00
David S. Miller
7c0fa0f24b sparc64: Increase MAX_PHYS_ADDRESS_BITS to 53.
Make sure, at compile time, that the kernel can properly support
whatever MAX_PHYS_ADDRESS_BITS is defined to.

On M7 chips, use a max_phys_bits value of 49.

Based upon a patch by Bob Picco.

Signed-off-by: David S. Miller <davem@davemloft.net>
Acked-by: Bob Picco <bob.picco@oracle.com>
2014-10-05 16:53:40 -07:00
David S. Miller
c06240c7f5 sparc64: Use kernel page tables for vmemmap.
For sparse memory configurations, the vmemmap array behaves terribly
and it takes up an inordinate amount of space in the BSS section of
the kernel image unconditionally.

Just build huge PMDs and look them up just like we do for TLB misses
in the vmalloc area.

Kernel BSS shrinks by about 2MB.

Signed-off-by: David S. Miller <davem@davemloft.net>
Acked-by: Bob Picco <bob.picco@oracle.com>
2014-10-05 16:53:39 -07:00
David S. Miller
0dd5b7b09e sparc64: Fix physical memory management regressions with large max_phys_bits.
If max_phys_bits needs to be > 43 (f.e. for T4 chips), things like
DEBUG_PAGEALLOC stop working because the 3-level page tables only
can cover up to 43 bits.

Another problem is that when we increased MAX_PHYS_ADDRESS_BITS up to
47, several statically allocated tables became enormous.

Compounding this is that we will need to support up to 49 bits of
physical addressing for M7 chips.

The two tables in question are sparc64_valid_addr_bitmap and
kpte_linear_bitmap.

The first holds a bitmap, with 1 bit for each 4MB chunk of physical
memory, indicating whether that chunk actually exists in the machine
and is valid.

The second table is a set of 2-bit values which tell how large of a
mapping (4MB, 256MB, 2GB, 16GB, respectively) we can use at each 256MB
chunk of ram in the system.

These tables are huge and take up an enormous amount of the BSS
section of the sparc64 kernel image.  Specifically, the
sparc64_valid_addr_bitmap is 4MB, and the kpte_linear_bitmap is 128K.

So let's solve the space wastage and the DEBUG_PAGEALLOC problem
at the same time, by using the kernel page tables (as designed) to
manage this information.

We have to keep using large mappings when DEBUG_PAGEALLOC is disabled,
and we do this by encoding huge PMDs and PUDs.

On a T4-2 with 256GB of ram the kernel page table takes up 16K with
DEBUG_PAGEALLOC disabled and 256MB with it enabled.  Furthermore, this
memory is dynamically allocated at run time rather than coded
statically into the kernel image.

Signed-off-by: David S. Miller <davem@davemloft.net>
Acked-by: Bob Picco <bob.picco@oracle.com>
2014-10-05 16:53:39 -07:00
David S. Miller
8c82dc0e88 sparc64: Adjust KTSB assembler to support larger physical addresses.
As currently coded the KTSB accesses in the kernel only support up to
47 bits of physical addressing.

Adjust the instruction and patching sequence in order to support
arbitrary 64 bits addresses.

Signed-off-by: David S. Miller <davem@davemloft.net>
Acked-by: Bob Picco <bob.picco@oracle.com>
2014-10-05 16:53:39 -07:00
David S. Miller
4397bed080 sparc64: Define VA hole at run time, rather than at compile time.
Now that we use 4-level page tables, we can provide up to 53-bits of
virtual address space to the user.

Adjust the VA hole based upon the capabilities of the cpu type probed.

Signed-off-by: David S. Miller <davem@davemloft.net>
Acked-by: Bob Picco <bob.picco@oracle.com>
2014-10-05 16:53:39 -07:00
David S. Miller
ac55c76814 sparc64: Switch to 4-level page tables.
This has become necessary with chips that support more than 43-bits
of physical addressing.

Based almost entirely upon a patch by Bob Picco.

Signed-off-by: David S. Miller <davem@davemloft.net>
Acked-by: Bob Picco <bob.picco@oracle.com>
2014-10-05 16:53:38 -07:00
David S. Miller
473ad7f4fb sparc64: Fix reversed start/end in flush_tlb_kernel_range()
When we have to split up a flush request into multiple pieces
(in order to avoid the firmware range) we don't specify the
arguments in the right order for the second piece.

Fix the order, or else we get hangs as the code tries to
flush "a lot" of entries and we get lockups like this:

[ 4422.981276] NMI watchdog: BUG: soft lockup - CPU#12 stuck for 23s! [expect:117032]
[ 4422.996130] Modules linked in: ipv6 loop usb_storage igb ptp sg sr_mod ehci_pci ehci_hcd pps_core n2_rng rng_core
[ 4423.016617] CPU: 12 PID: 117032 Comm: expect Not tainted 3.17.0-rc4+ #1608
[ 4423.030331] task: fff8003cc730e220 ti: fff8003d99d54000 task.ti: fff8003d99d54000
[ 4423.045282] TSTATE: 0000000011001602 TPC: 00000000004521e8 TNPC: 00000000004521ec Y: 00000000    Not tainted
[ 4423.064905] TPC: <__flush_tlb_kernel_range+0x28/0x40>
[ 4423.074964] g0: 000000000052fd10 g1: 00000001295a8000 g2: ffffff7176ffc000 g3: 0000000000002000
[ 4423.092324] g4: fff8003cc730e220 g5: fff8003dfedcc000 g6: fff8003d99d54000 g7: 0000000000000006
[ 4423.109687] o0: 0000000000000000 o1: 0000000000000000 o2: 0000000000000003 o3: 00000000f0000000
[ 4423.127058] o4: 0000000000000080 o5: 00000001295a8000 sp: fff8003d99d56d01 ret_pc: 000000000052ff54
[ 4423.145121] RPC: <__purge_vmap_area_lazy+0x314/0x3a0>
[ 4423.155185] l0: 0000000000000000 l1: 0000000000000000 l2: 0000000000a38040 l3: 0000000000000000
[ 4423.172559] l4: fff8003dae8965e0 l5: ffffffffffffffff l6: 0000000000000000 l7: 00000000f7e2b138
[ 4423.189913] i0: fff8003d99d576a0 i1: fff8003d99d576a8 i2: fff8003d99d575e8 i3: 0000000000000000
[ 4423.207284] i4: 0000000000008008 i5: fff8003d99d575c8 i6: fff8003d99d56df1 i7: 0000000000530c24
[ 4423.224640] I7: <free_vmap_area_noflush+0x64/0x80>
[ 4423.234193] Call Trace:
[ 4423.239051]  [0000000000530c24] free_vmap_area_noflush+0x64/0x80
[ 4423.251029]  [0000000000531a7c] remove_vm_area+0x5c/0x80
[ 4423.261628]  [0000000000531b80] __vunmap+0x20/0x120
[ 4423.271352]  [000000000071cf18] n_tty_close+0x18/0x40
[ 4423.281423]  [00000000007222b0] tty_ldisc_close+0x30/0x60
[ 4423.292183]  [00000000007225a4] tty_ldisc_reinit+0x24/0xa0
[ 4423.303120]  [0000000000722ab4] tty_ldisc_hangup+0xd4/0x1e0
[ 4423.314232]  [0000000000719aa0] __tty_hangup+0x280/0x3c0
[ 4423.324835]  [0000000000724cb4] pty_close+0x134/0x1a0
[ 4423.334905]  [000000000071aa24] tty_release+0x104/0x500
[ 4423.345316]  [00000000005511d0] __fput+0x90/0x1e0
[ 4423.354701]  [000000000047fa54] task_work_run+0x94/0xe0
[ 4423.365126]  [0000000000404b44] __handle_signal+0xc/0x2c

Fixes: 4ca9a23765 ("sparc64: Guard against flushing openfirmware mappings.")
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-10-04 21:05:14 -07:00
Richard Weinberger
1742b630e4 score: Remove GENERIC_HAS_IOMAP
The symbol is an orphan, get rid of it.

Signed-off-by: Richard Weinberger <richard@nod.at>
Acked-by: Lennox Wu <lennox.wu@gmail.com>
Cc: Paul Bolle <pebolle@tiscali.nl>
[Guenter Roeck: Merge with 3.17-rc3; update headline]
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2014-10-05 04:38:08 +08:00
Chen Gang
d32c98e985 arch/score/include/asm/Kbuild: Add generic "serial.h"
The related error (with allmodconfig under score):

    CC [M]  drivers/staging/speakup/speakup_acntpc.o
  In file included from drivers/staging/speakup/speakup_acntpc.c:33:0:
  drivers/staging/speakup/serialio.h:7:24: fatal error: asm/serial.h: No such file or directory
   #include <asm/serial.h>
                          ^
  compilation terminated.
  make[3]: *** [drivers/staging/speakup/speakup_acntpc.o] Error 1
  make[2]: *** [drivers/staging/speakup] Error 2
  make[1]: *** [drivers/staging] Error 2
  make: *** [drivers] Error 2

Acked-by: Lennox Wu <lennox.wu@gmail.com>
Signed-off-by: Chen Gang <gang.chen.5i5j@gmail.com>
2014-10-05 01:18:17 +08:00
Michael Opdenacker
203d2fbbec score: remove deprecated IRQF_DISABLED
This patch removes the use of the IRQF_DISABLED flag
from arch/score/kernel/time.c

It's a NOOP since 2.6.35 and it will be removed one day.

Signed-off-by: Michael Opdenacker <michael.opdenacker@free-electrons.com>
Acked-by: Lennox Wu <lennox.wu@gmail.com>
2014-10-05 01:18:17 +08:00
Chen Gang
000ab4b0a7 arch/score/mm/cache.c: Export 'flush_icache_range'
The related error (with allmodconfig under score):

    MODPOST 1365 modules
  ERROR: "flush_icache_range" [drivers/misc/lkdtm.ko] undefined!

Acked-by: Lennox Wu <lennox.wu@gmail.com>
Signed-off-by: Chen Gang <gang.chen.5i5j@gmail.com>
2014-10-05 01:18:17 +08:00
Chen Gang
51de2f11f5 arch: score: Export necessary symbols in related files
'csum_partial_copy_from_user' and 'flush_dcache_page' are also needed by
outside modules, so need export them in the related files.

The related error (with allmodconfig under score):

    MODPOST 1365 modules
  ERROR: "csum_partial_copy_from_user" [net/rxrpc/af-rxrpc.ko] undefined!
  ERROR: "flush_dcache_page" [net/sunrpc/sunrpc.ko] undefined!

Acked-by: Lennox Wu <lennox.wu@gmail.com>
Signed-off-by: Chen Gang <gang.chen.5i5j@gmail.com>
2014-10-05 01:18:16 +08:00
Mike Turquette
23c4a3a521 Revert "arm: pxa: Transition pxa27x to clk framework"
This reverts commit 9ff25d7b58.

Originally reported on the kernel-build-reports mailing list[0]. The
problem is caused by kernel configs that select both pxa25x and pxa27x
such as cm_x2xx_defconfig and palmz72_defconfig. The short term solution
is to revert the patch introducing the failure. Longer term, all the PXA
chips will be converted to the common clock framework allowing support
for various PXA chips to build into a single image.

Reverting just this one patch does introduce some dead code into the
kernel, but that is offset by making it easier to convert the remaining
PXA platforms to the clock framework.

[0] http://lists.linaro.org/pipermail/kernel-build-reports/2014-October/005576.html

Signed-off-by: Mike Turquette <mturquette@linaro.org>
2014-10-03 16:30:53 -07:00
Michael Ellerman
75d43b2d0a Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/scottwood/linux.git
Freescale updates from Scott (27 commits):

  "Highlights include DMA32 zone support (SATA, USB, etc now works on 64-bit
   FSL kernels), MSI changes, 8xx optimizations and cleanup, t104x board
   support, and PrPMC PCI enumeration."
2014-10-04 08:59:06 +10:00
Geoff Levand
0a6479b0ff arm64: Remove unneeded extern keyword
Function prototypes are never definitions, so remove any 'extern' keyword
from the funcion prototypes in cpu_ops.h. Fixes warnings emited by
checkpatch.

Signed-off-by: Geoff Levand <geoff@infradead.org>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2014-10-03 14:51:02 +01:00
Uwe Kleine-König
c8fdd497a4 ARM64: make of_device_ids const
of_device_ids (i.e. compatible strings and the respective data) are not
supposed to change at runtime. All functions working with of_device_ids
provided by <linux/of.h> work with const of_device_ids. So mark the
only non-const struct in arch/arm64 as const, too.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2014-10-03 14:49:28 +01:00
Rafael J. Wysocki
6f1293ff74 Merge back cpufreq material for v3.18. 2014-10-03 15:41:16 +02:00
Viresh Kumar
bbcf071969 cpufreq: cpu0: rename driver and internals to 'cpufreq_dt'
The naming convention of this driver was always under the scanner, people
complained that it should have a more generic name than cpu0, as it manages all
CPUs that are sharing clock lines.

Also, in future it will be modified to support any number of clusters with
separate clock/voltage lines.

Lets rename it to 'cpufreq_dt' from 'cpufreq_cpu0'.

Tested-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2014-10-03 15:37:54 +02:00
Juergen Gross
d1e9abd630 xen: eliminate scalability issues from initrd handling
Size restrictions native kernels wouldn't have resulted from the initrd
getting mapped into the initial mapping. The kernel doesn't really need
the initrd to be mapped, so use infrastructure available in Xen to avoid
the mapping and hence the restriction.

Signed-off-by: Juergen Gross <jgross@suse.com>
Signed-off-by: David Vrabel <david.vrabel@citrix.com>
2014-10-03 12:34:52 +01:00
Julien Grall
c2ba1f7d39 arm{,64}/xen: Remove "EXPERIMENTAL" in the description of the Xen options
The Xen ARM API is stable since Xen 4.4 and everything has been
upstreamed in Linux for ARM and ARM64. Therefore we can drop "EXPERIMENTAL"
from the Xen option in the both Kconfig.

Signed-off-by: Julien Grall <julien.grall@linaro.org>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
2014-10-03 12:34:50 +01:00
Geert Uytterhoeven
24cae7934c m68k: Reformat arch/m68k/mm/hwtest.c
No functional changes

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
2014-10-03 10:50:56 +02:00
Geert Uytterhoeven
e4dc601bf9 m68k: Disable/restore interrupts in hwreg_present()/hwreg_write()
hwreg_present() and hwreg_write() temporarily change the VBR register to
another vector table. This table contains a valid bus error handler
only, all other entries point to arbitrary addresses.

If an interrupt comes in while the temporary table is active, the
processor will start executing at such an arbitrary address, and the
kernel will crash.

While most callers run early, before interrupts are enabled, or
explicitly disable interrupts, Finn Thain pointed out that macsonic has
one callsite that doesn't, causing intermittent boot crashes.
There's another unsafe callsite in hilkbd.

Fix this for good by disabling and restoring interrupts inside
hwreg_present() and hwreg_write().

Explicitly disabling interrupts can be removed from the callsites later.

Reported-by: Finn Thain <fthain@telegraphics.com.au>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: stable@vger.kernel.org
2014-10-03 10:50:56 +02:00
Michael Ellerman
d0b7abb2c7 powerpc: Enable CONFIG_CRASH_DUMP=y for ppc64_defconfig
It pulls in more code, including causing us to build a relocatable
kernel, which is good for testing.

The resulting kernel is still usable as a non-crash dump kernel.

Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2014-10-03 18:03:55 +10:00
Michael Ellerman
edcee77fef powerpc/kdump: crash_dump.c needs to include io.h
For __ioremap().

Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2014-10-03 18:03:35 +10:00
Michael Ellerman
d3b94e4b3b powerpc: Don't build powernv for other platform defconfigs
Because powernv arrived after these other platforms, the defconfigs
didn't have PPC_POWERNV disabled, and being default y it gets turned on.

If we're going to bother having defconfigs for the specific platforms
then they should only build the code required for those platforms.

The grab bag of everything config is ppc64_defconfig.

Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2014-10-03 18:03:11 +10:00
Wei Yang
8abf29f829 powerpc/pci: remove duplicate declaration of pci_bus_find_capability
pci_bus_find_capability() is decleared in pci.h, so it is not necessary to do
it again.

This patch removes it.

Signed-off-by: Wei Yang <weiyang@linux.vnet.ibm.com>
Reviewed-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2014-10-03 17:27:38 +10:00
Alexey Kardashevskiy
9410e0185e powerpc/iommu/ddw: Fix endianness
rtas_call() accepts and returns values in CPU endianness.
The ddw_query_response and ddw_create_response structs members are
defined and treated as BE but as they are passed to rtas_call() as
(u32 *) and they get byteswapped automatically, the data is CPU-endian.
This fixes ddw_query_response and ddw_create_response definitions and use.

of_read_number() is designed to work with device tree cells - it assumes
the input is big-endian and returns data in CPU-endian. However due
to the ddw_create_response struct fix, create.addr_hi/lo are already
CPU-endian so do not byteswap them.

ddw_avail is a pointer to the "ibm,ddw-applicable" property which contains
3 cells which are big-endian as it is a device tree. rtas_call() accepts
a RTAS token in CPU-endian. This makes use of of_property_read_u32_array
to byte swap and avoid the need for a number of be32_to_cpu calls.

Cc: stable@vger.kernel.org # v3.13+
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
[aik: folded Anton's patch with of_property_read_u32_array]
Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Acked-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2014-10-03 14:22:34 +10:00
Pranith Kumar
2291059c85 locking,arch: Use ACCESS_ONCE() instead of cast to volatile in atomic_read()
Use the much more reader friendly ACCESS_ONCE() instead of the cast to volatile.
This is purely a stylistic change.

Signed-off-by: Pranith Kumar <bobby.prani@gmail.com>
Acked-by: Jesper Nilsson <jesper.nilsson@axis.com>
Acked-by: Hans-Christian Egtvedt <egtvedt@samfundet.no>
Acked-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-arch@vger.kernel.org
Link: http://lkml.kernel.org/r/1411482607-20948-1-git-send-email-bobby.prani@gmail.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2014-10-03 06:06:23 +02:00
Wei Huang
cc6cd47e73 perf/x86: Tone down kernel messages when the PMU check fails in a virtual environment
PMU checking can fail due to various reasons. On native machine, this
is mostly caused by faulty hardware and it is reasonable to use
KERN_ERR in reporting. However, when kernel is running on virtualized
environment, this checking can fail if virtual PMU is not supported
(e.g. KVM on AMD host). It is annoying to see an error message on
splash screen, even though we know such failure is benign on
virtualized environment.

This patch checks if the kernel is running in a virtualized environment.
If so, it will use KERN_INFO in reporting, which reduces the syslog
priority of them. This patch was tested successfully on KVM.

Signed-off-by: Wei Huang <wei@redhat.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
Link: http://lkml.kernel.org/r/1411617314-24659-1-git-send-email-wei@redhat.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2014-10-03 06:04:41 +02:00
Andi Kleen
4f971248bc perf/x86/intel/uncore: Fix minor race in box set up
I was looking for the trinity oops cause in the uncore driver.
(so far didn't found it)

However I found this tiny race: when a box is set up two threads on the
same CPU, they may be setting up the box in parallel (e.g. with kernel
preemption). This could lead to the reference count being increasing
too much. Always recheck there is no existing cpu reference inside the lock.

Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: eranian@google.com
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
Link: http://lkml.kernel.org/r/1411424826-15629-1-git-send-email-andi@firstfloor.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2014-10-03 06:02:49 +02:00
Rik van Riel
347abad981 sched, time: Fix build error with 64 bit cputime_t on 32 bit systems
On 32 bit systems cmpxchg cannot handle 64 bit values, so
some additional magic is required to allow a 32 bit system
with CONFIG_VIRT_CPU_ACCOUNTING_GEN=y enabled to build.

Make sure the correct cmpxchg function is used when doing
an atomic swap of a cputime_t.

Reported-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Rik van Riel <riel@redhat.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: umgwanakikbuti@gmail.com
Cc: fweisbec@gmail.com
Cc: srao@redhat.com
Cc: lwoodman@redhat.com
Cc: atheurer@redhat.com
Cc: oleg@redhat.com
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Paul Mackerras <paulus@samba.org>
Cc: linux390@de.ibm.com
Cc: linux-arch@vger.kernel.org
Cc: linuxppc-dev@lists.ozlabs.org
Cc: linux-s390@vger.kernel.org
Link: http://lkml.kernel.org/r/20140930155947.070cdb1f@annuminas.surriel.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2014-10-03 05:46:55 +02:00
Dave Hansen
728e5653e6 sched/x86: Fix up typo in topology detection
Commit:

  cebf15eb09 ("x86, sched: Add new topology for multi-NUMA-node CPUs")

some code to try to detect the situation where we have a NUMA node
inside of the "DIE" sched domain.

It detected this by looking for cpus which match_die() but do not match
NUMA nodes via topology_same_node().

I wrote it up as:

	if (match_die(c, o) == !topology_same_node(c, o))

which actually seemed to work some of the time, albiet
accidentally.

It should have been doing an &&, not an ==.

This code essentially chopped off the "DIE" domain on one of
Andrew Morton's systems.  He reported that this patch fixed his
issue.

Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
Reported-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Dave Hansen <dave@sr71.net>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: David Rientjes <rientjes@google.com>
Cc: Igor Mammedov <imammedo@redhat.com>
Cc: Jan Kiszka <jan.kiszka@siemens.com>
Cc: Lan Tianyu <tianyu.lan@intel.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Prarit Bhargava <prarit@redhat.com>
Cc: Toshi Kani <toshi.kani@hp.com>
Link: http://lkml.kernel.org/r/20140930214546.FD481CFF@viggo.jf.intel.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2014-10-03 05:46:52 +02:00
Russell King
d5d1689224 Merge branches 'fiq' (early part), 'fixes', 'l2c' (early part) and 'misc' into for-next 2014-10-02 21:47:02 +01:00
Yalin Wang
421520ba98 ARM: 8167/1: extend the reserved memory for initrd to be page aligned
This patch extends the start and end address of initrd to be page aligned,
so that we can free all memory including the un-page aligned head or tail
page of initrd, if the start or end address of initrd are not page
aligned, the page can't be freed by free_initrd_mem() function.

Signed-off-by: Yalin Wang <yalin.wang@sonymobile.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2014-10-02 21:29:17 +01:00
Yalin Wang
562c85cadb ARM: 8168/1: extend __init_end to a page align address
This patch changes the __init_end address to a
page align address, so that free_initmem() can
free the whole .init section, because if the end
address is not page aligned, it will round down to
a page align address, then the tail unligned page
will not be freed.

Signed-off-by: wang <yalin.wang2010@gmail.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2014-10-02 21:28:16 +01:00
Carlo Caione
d4ac2cfea7 ARM: DTS: meson: update DTSI to add watchdog node
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Carlo Caione <carlo@caione.org>
2014-10-02 22:27:42 +02:00
Linus Walleij
f3354ab674 ARM: 8169/1: l2c: parse cache properties from ePAPR definitions
When both 'cache-size' and 'cache-sets' are specified for a L2 cache
controller node, parse those properties and set up the
set size based on which type of L2 cache controller we are using.

Update the L2 cache controller Device Tree binding with the optional
'cache-size', 'cache-sets', 'cache-block-size' and 'cache-line-size'
properties. These come from the ePAPR specification.

Using the cache size, number of sets and cache line size we can
calculate desired associativity of the L2 cache. This is done
by the calculation:

    set size = cache size / sets
    ways = set size / line size
    way size = cache size / ways = sets * line size
    associativity = cache size / way size

Example output from the PB1176 DT that look like this:

L2: l2-cache {
    compatible = "arm,l220-cache";
    (...)
    arm,override-auxreg;
    cache-size = <131072>; // 128kB
    cache-sets = <512>;
    cache-line-size = <32>;
};

Ends up like this:

L2C OF: override cache size: 131072 bytes (128KB)
L2C OF: override line size: 32 bytes
L2C OF: override way size: 16384 bytes (16KB)
L2C OF: override associativity: 8
L2C: DT/platform modifies aux control register: 0x02020fff -> 0x02030fff
L2C-220 cache controller enabled, 8 ways, 128 kB
L2C-220: CACHE_ID 0x41000486, AUX_CTRL 0x06030fff

Which is consistent with the value earlier hardcoded for the
PB1176 platform.

This patch is an extended version based on the initial patch
by Florian Fainelli.

Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2014-10-02 21:26:37 +01:00
David S. Miller
739e4a758e Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Conflicts:
	drivers/net/usb/r8152.c
	net/netfilter/nfnetlink.c

Both r8152 and nfnetlink conflicts were simple overlapping changes.

Signed-off-by: David S. Miller <davem@davemloft.net>
2014-10-02 11:25:43 -07:00
Chris Metcalf
78410af511 tile: add clock_gettime support to vDSO
This change adds support for clock_gettime with CLOCK_REALTIME
and CLOCK_MONOTONIC using vDSO.  It also updates the vdso
struct nomenclature used for the clocks to match the x86 code
to keep it easier to update going forward.

We also support the *_COARSE clockid_t, for apps that want speed
but aren't concerned about fine-grained timestamps; this saves
about 20 cycles per call (see http://lwn.net/Articles/342018/).

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
Acked-by: John Stultz <john.stultz@linaro.org>
2014-10-02 13:56:07 -04:00
Paolo Bonzini
f439ed27f8 kvm: do not handle APIC access page if in-kernel irqchip is not in use
This fixes the following OOPS:

   loaded kvm module (v3.17-rc1-168-gcec26bc)
   BUG: unable to handle kernel paging request at fffffffffffffffe
   IP: [<ffffffff81168449>] put_page+0x9/0x30
   PGD 1e15067 PUD 1e17067 PMD 0
   Oops: 0000 [#1] PREEMPT SMP
    [<ffffffffa063271d>] ? kvm_vcpu_reload_apic_access_page+0x5d/0x70 [kvm]
    [<ffffffffa013b6db>] vmx_vcpu_reset+0x21b/0x470 [kvm_intel]
    [<ffffffffa0658816>] ? kvm_pmu_reset+0x76/0xb0 [kvm]
    [<ffffffffa064032a>] kvm_vcpu_reset+0x15a/0x1b0 [kvm]
    [<ffffffffa06403ac>] kvm_arch_vcpu_setup+0x2c/0x50 [kvm]
    [<ffffffffa062e540>] kvm_vm_ioctl+0x200/0x780 [kvm]
    [<ffffffff81212170>] do_vfs_ioctl+0x2d0/0x4b0
    [<ffffffff8108bd99>] ? __mmdrop+0x69/0xb0
    [<ffffffff812123d1>] SyS_ioctl+0x81/0xa0
    [<ffffffff8112a6f6>] ? __audit_syscall_exit+0x1f6/0x2a0
    [<ffffffff817229e9>] system_call_fastpath+0x16/0x1b
   Code: c6 78 ce a3 81 4c 89 e7 e8 d9 80 ff ff 0f 0b 4c 89 e7 e8 8f f6 ff ff e9 fa fe ff ff 66 2e 0f 1f 84 00 00 00 00 00 66 66 66 66 90 <48> f7 07 00 c0 00 00 55 48 89 e5 75 1e 8b 47 1c 85 c0 74 27 f0
   RIP  [<ffffffff81193045>] put_page+0x5/0x50

when not using the in-kernel irqchip ("-machine kernel_irqchip=off"
with QEMU).  The fix is to make the same check in
kvm_vcpu_reload_apic_access_page that we already have
in vmx.c's vm_need_virtualize_apic_accesses().

Reported-by: Jan Kiszka <jan.kiszka@siemens.com>
Tested-by: Jan Kiszka <jan.kiszka@siemens.com>
Fixes: 4256f43f9f
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2014-10-02 19:26:11 +02:00
Min-Hua Chen
097cbd8d26 arm64: Use phys_addr_t type for physical address
Change the type of physical address from unsigned long to phys_addr_t,
make valid_phys_addr_range more readable.

Signed-off-by: Min-Hua Chen <orca.chen@gmail.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2014-10-02 17:22:41 +01:00
Robert Richter
18ef9fefd3 arm64, defconfig: Enable Cavium Thunder SoC in defconfig
This patch enables Thunder SoCs in the arm64 defconfig. This is
esp. useful to add Thunder platforms to automated builds based on
arm64 defconfig.

Signed-off-by: Robert Richter <rrichter@cavium.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-10-02 17:38:55 +02:00
Radha Mohan Chintakuntla
28f7420de2 arm64, thunder: Add Kconfig option for Cavium Thunder SoC Family
This introduces ARCH_THUNDER to enable soc specific drivers and dtb
files.

Signed-off-by: Radha Mohan Chintakuntla <rchintakuntla@cavium.com>
Signed-off-by: Robert Richter <rrichter@cavium.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-10-02 17:38:49 +02:00
Radha Mohan Chintakuntla
3f173071bf arm64, thunder: Add initial dts for Cavium Thunder SoC
Add initial device tree nodes for Cavium Thunder SoCs with support of
48 cores and gicv3. The dtsi file requires further changes, esp. for
pci, gicv3-its and smmu. This changes will be added later together
with the device drivers.

Signed-off-by: Radha Mohan Chintakuntla <rchintakuntla@cavium.com>
Signed-off-by: Robert Richter <rrichter@cavium.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-10-02 17:38:35 +02:00
Arnd Bergmann
4394a00145 mvebu DT changes for v3.18 (round 2)
- Armada XP
     - Add HW datasheet references to docs
 
  - Armada 370
     - Change internal registers to 0xf1000000 for Armada 370 RD board
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQIcBAABAgAGBQJULVkEAAoJEP45WPkGe8ZnXHMP/1nX+ChvRqYxf5cNqvjioUJQ
 LbpTvMZpunqMkhxk3Kg1rVBxsrDnZWQaTq9IM/yvV+W4g/9vnIymJR9xfhNP1IHr
 ZbunZt8ztnBfMxvMonuEa2kHVjrVs2ztb+ouz2ca4owtvh8SvgFZsY7CN0Jus9xQ
 WHIQ+wNt5deeJDQEH7jId1/DocSztyS/9p3L/Ft+z6KmY5ZAn68xoMD4TZ+Gv/mN
 ecdVu5uYWYg3wF+Tgtg2BHX0wQugRdDccQEocU/TPqvXCbx4Eo6oRTJSfHO57i3L
 hZpnvX7YVrpk25uOS4FWIpqfYMWp+zTecRHBlqrvxWlWdeVm2un96wdSEa7toCmf
 Xnc0ELraHNoK45MlRs8eznLw3JZy7485plLZ9aue88n0nqqzIl2q4RhMHrNoLxRG
 4/iHSB5AS/7hJxI95Tn/ALe7LF8Wd73kQI9PFXlmU1Rx+NLP+BPNTrqDEdBQzECW
 q7aEmf7vdx2QUQuzW1IvaBn6OHwGGinw3E/1wHx71L/IZ3wus09tKCtOF5tnhjuP
 3DF9G4fhXz9R6dAJqQExK0ejD5NgcrRho3vuLi9SkSaxtXQ1sObwHiVUDGFzGu5c
 fzQ6bEsaMARl4lHZJYtOxXOmtBq3df+/4XpDNZw/haS4hpY9md3TX3hTUHmYPq3S
 Zqr0zDOolNAtpxsybeLL
 =Cjp7
 -----END PGP SIGNATURE-----

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

Pull "mvebu DT changes for v3.18 (round 2)" from Jason Cooper:

 - Armada XP
    - Add HW datasheet references to docs

 - Armada 370
    - Change internal registers to 0xf1000000 for Armada 370 RD board

Signed-off-by: Arnd Bergmann <arnd@arndb.de>

* tag 'mvebu-dt-3.18-2' of git://git.infradead.org/linux-mvebu:
  ARM: mvebu: switch the Armada 370 RD board to internal registers at 0xf1000000
  Documentation: arm: add hardware datasheet reference for Marvell Armada XP
2014-10-02 17:08:24 +02:00
Chris Metcalf
94fb1afbcb tile: switch to using seqlocks for the vDSO time code
Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
2014-10-02 10:48:12 -04:00
Arnd Bergmann
5a6da55f10 Few keystone DTS fixes for 3.18
- IO range fix for USB phy device
 	- Add missing dma-coherent property for K2E USB node
 	- Fix K2L MDIO start address
 	- Fix K2E MDIO start address
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJULA0zAAoJEHJsHOdBp5c/QlgQALfdqkrQATHc4Sp7dggM8XiY
 m52yGIu3X8qvQkD5B9HjHXmo3WuvFWloVuS20l1GwiG6g4nNI+RgMKe0+G1DVHaA
 QadQNm+H2TLlj906xY9ZrXs5igtZRwiIwooQDY/xTpbFoqIhwJAm6aD/i2/OFirx
 L/Z5fge9EaKsWATwmvDqyN9Beu+WD0HwmFMgIc10WH2VU/NaWPpj3Kmt4yIlpzEx
 KCmclHAokQcAQuigYg/6VAooifDQcPLjuqmt+d0BlxWn16twToGV+SDQMITiO10d
 mEWb/h6ugkzfZZgZcNSk8H0QsWP6Y9JCm3d7yH1KGJzkZxBzQ730e10QthtbGQ+W
 gpvWKPbbbS5+kT1QQ9pMaq9EuSS3rdXzhAcSj7uRDh1D0SFTRqsOpxIm8GLW16Dq
 FOiolVpGoXWu9m4OelhbFMAt/m/clQvtZq0o2+yEGLpkc0H5dVERTxyyrkVZaf5o
 LHBzWJu4bwV4ypcPIk6E7N1bbDqr4UZS/PvSJdfyM+nH7P3Ur4ZZ2kRA3VLxGkCI
 +GMlbQkIR/CF73vO4egdwCDEEgwCZjQiiGeCfm9ou/51JULhPucnXrPhVCivluK0
 9FbBWJu0k4E9nYqyTnfL1SfSdXO8wvixsPQ2cAHlP+/TkNTltbT2289ZDzNZgzg5
 UNAQOyr66EOsHcyrvgmX
 =rMKj
 -----END PGP SIGNATURE-----

Merge tag 'keystone-dts-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone into next/dt

Pull "Few keystone DTS fixes for 3.18" from Santosh Shilimkar:

	- IO range fix for USB phy device
	- Add missing dma-coherent property for K2E USB node
	- Fix K2L MDIO start address
	- Fix K2E MDIO start address

Signed-off-by: Arnd Bergmann <arnd@arndb.de>

* tag 'keystone-dts-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone:
  ARM: dts: keystone-k2l: fix mdio io start address
  ARM: dts: keystone-k2e: fix mdio io start address
  ARM: dts: keystone-k2e: update usb1 node for dma properties
  ARM: dts: keystone: fix io range for usb_phy0
2014-10-02 16:47:40 +02:00
Arnd Bergmann
d8f0faa339 ARM: hisi: depend on ARCH_MULTI_V7
hisi has a general dependency on ARCH_MULTIPLATFORM, which is
problematic when building a kernel for non-V7 platforms but selecting
drivers that might conflict with other architecture levels.

In this case, it broke my (still out of tree) patch set that
enables V7M multiplatform support, since that does not enable
MULTI_IRQ support:

arch/arm/kernel/built-in.o: In function `set_handle_irq':
arch/arm/kernel/irq.c:125: undefined reference to `handle_arch_irq'
arch/arm/kernel/built-in.o: In function `setup_arch':
arch/arm/kernel/setup.c:965: undefined reference to `handle_arch_irq'

Since all hisilicon platforms are ARMv7 based, we can avoid this
problem by just making the dependency more specific.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Wei Xu <xuwei5@hisilicon.com>
2014-10-02 16:40:10 +02:00
Krzysztof Hałasa
c3ca2130c8 CNS3xxx: Fix debug UART.
UARTs on CNS3xxx are 8250-compatible, not AMBA.
The base address for UART0 is 0x78000000 (physical)
and 0xfb002000 (virtual).

Signed-off-by: Krzysztof Hałasa <khalasa@piap.pl>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-10-02 16:35:03 +02:00
Chris Metcalf
bceb7efa6a tile gxio: use better string copy primitive
Both strncpy and strlcpy suffer from the fact that they do
partial copies of strings into the destination when the target
buffer is too small.  This is frequently pointless since an
overflow of the target buffer may make the result invalid.

strncpy() makes it relatively hard to even detect the error
condition, and with strlcpy() you have to duplicate the buffer
size parameter to test to see if the result exceeds it.
By returning zero in the failure case, we both make testing
for it easy, and by simply not copying anything in that case,
we make it mandatory for callers to test the error code.

To catch lazy programmers who don't check, we also place a NUL at
the start of the destination buffer (if there is space) to
ensure that the result is an invalid string.

At some point it may make sense to promote strscpy() to
a global platform-independent function, but other than the
reviewers, no one was interested on LKML, so for now leave
the strscpy() function as file-static.

Reviewed-by: Randy Dunlap <rdunlap@infradead.org>
Reviewed-by: Rickard Strandqvist <rickard_strandqvist@spectrumdigital.se>
Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
2014-10-02 10:19:34 -04:00
Kurt McAlpine
4cde4cc87a Removed repeated word in comments
Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
2014-10-02 10:19:34 -04:00
Chris Metcalf
3e24765d77 tilegx: Enable ARCH_SUPPORTS_ATOMIC_RMW
Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
2014-10-02 10:19:33 -04:00
Geert Uytterhoeven
454ac3ec3f tile: Remove tile-specific _sinitdata and _einitdata
Use standard __init_begin and __init_end instead.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Chris Metcalf <cmetcalf@tilera.com>
Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
2014-10-02 10:19:33 -04:00
Himangi Saraogi
367b9380b1 tile: use ARRAY_SIZE
ARRAY_SIZE is more concise to use when the size of an array is divided
by the size of its type or the size of its first element.

The semantic patch that makes this change is as follows:

// <smpl>
@i@
@@

@@
type T;
T[] E;
@@

- (sizeof(E)/sizeof(T))
+ ARRAY_SIZE(E)
// </smpl>

Signed-off-by: Himangi Saraogi <himangi774@gmail.com>
Acked-by: Julia Lawall <julia.lawall@lip6.fr>
Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
2014-10-02 10:19:32 -04:00
Masahiro Yamada
226422d08c kbuild: arm: Do not define "comma" twice
The definition of "comma" exists in scripts/Kbuild.include.
We should not double it.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Cc: linux-arm-kernel@lists.infradead.org
Signed-off-by: Michal Marek <mmarek@suse.cz>
2014-10-02 15:09:47 +02:00
Masahiro Yamada
ac84eb47cc kbuild: remove unnecessary variable initializaions
Clearing obj-y, obj-m, obj-n, obj- in each Makefile is
a useless habit.

They are non-exported variables; therefore they are always empty
whenever descending into each subdirectory.
(Moreorver, obj-y and obj-m are also set to empty at the beginning
of scripts/Makefile.build)

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Acked-by: Peter Foley <pefoley2@pefoley.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Michal Marek <mmarek@suse.cz>
2014-10-02 13:55:02 +02:00
Masahiro Yamada
895ed4e895 kbuild: remove unnecessary "obj- := dummy.o" trick
In these Makefiles, at least one of "obj-y" and "obj-" is non-empty,
hence built-in.o is always created without such a trick.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Acked-by: Peter Foley <pefoley2@pefoley.com>
Acked-by: Mike Turquette <mturquette@linaro.org>
Acked-by: Simon Horman <horms+renesas@verge.net.au> [shmobile]
Acked-by: David S. Miller <davem@davemloft.net> [networking]
Signed-off-by: Michal Marek <mmarek@suse.cz>
2014-10-02 13:55:02 +02:00
Sean Paul
a52ce12191 arm64: Use DMA_ERROR_CODE to denote failed allocation
This patch replaces the static assignment of ~0 to dma_handle with
DMA_ERROR_CODE to be consistent with other platforms.

Signed-off-by: Sean Paul <seanpaul@chromium.org>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2014-10-02 11:57:08 +01:00
Anton Blanchard
a7696b36c0 powerpc: Add printk levels to powerpc code
Add printk levels to some places in the powerpc port.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2014-10-02 17:33:55 +10:00
Anton Blanchard
9a4f5cd0a5 powerpc: Add printk levels to powernv platform code
Add printk levels to powernv platform code, and convert to
pr_err() etc while here.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2014-10-02 17:33:55 +10:00
Anton Blanchard
3e47d1474c powerpc: Remove powerpc specific cmd_line
There is no need for yet another copy of the command line, just
use boot_command_line like everyone else.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2014-10-02 17:33:55 +10:00
Anton Blanchard
c7d1f6afe0 powerpc: Use pr_fmt in module loader code
Use pr_fmt to give some context to the error messages in the
module code, and convert open coded debug printk to pr_debug.

Use pr_err for error messages.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2014-10-02 17:33:54 +10:00
Anton Blanchard
9d57472f61 powerpc: Fill in si_addr_lsb siginfo field
Fill in the si_addr_lsb siginfo field so the hwpoison code can
pass to userspace the length of memory that has been corrupted.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2014-10-02 17:15:17 +10:00
Anton Blanchard
3913fdd7a2 powerpc: Add VM_FAULT_HWPOISON handling to powerpc page fault handler
do_page_fault was missing knowledge of HWPOISON, and we would oops
if userspace tried to access a poisoned page:

kernel BUG at arch/powerpc/mm/fault.c:180!

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2014-10-02 17:15:13 +10:00
Anton Blanchard
63af52629a powerpc: Simplify do_sigbus
Exit out early for a kernel fault, avoiding indenting of
most of the function.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2014-10-02 17:15:09 +10:00
Mathias Krause
5cfed7b335 Revert "crypto: aesni - disable "by8" AVX CTR optimization"
This reverts commit 7da4b29d49.

Now, that the issue is fixed, we can re-enable the code.

Signed-off-by: Mathias Krause <minipli@googlemail.com>
Cc: Chandramouli Narayanan <mouli@linux.intel.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2014-10-02 14:40:28 +08:00
Herbert Xu
9561dccb45 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
Merging the crypto tree for 3.17 to pull in the "by8" AVX CTR revert.
2014-10-02 14:37:20 +08:00
Mathias Krause
e3b3bb5ac1 crypto: aesni - remove unused defines in "by8" variant
The defines for xkey3, xkey6 and xkey9 are not used in the code. They're
probably left overs from merging the three source files for 128, 192 and
256 bit AES. They can safely be removed.

Signed-off-by: Mathias Krause <minipli@googlemail.com>
Cc: Chandramouli Narayanan <mouli@linux.intel.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2014-10-02 14:35:03 +08:00
Mathias Krause
80dca4734b crypto: aesni - fix counter overflow handling in "by8" variant
The "by8" CTR AVX implementation fails to propperly handle counter
overflows. That was the reason it got disabled in commit 7da4b29d49
("crypto: aesni - disable "by8" AVX CTR optimization").

Fix the overflow handling by incrementing the counter block as a double
quad word, i.e. a 128 bit, and testing for overflows afterwards. We need
to use VPTEST to do so as VPADD* does not set the flags itself and
silently drops the carry bit.

As this change adds branches to the hot path, minor performance
regressions  might be a side effect. But, OTOH, we now have a conforming
implementation -- the preferable goal.

A tcrypt test on a SandyBridge system (i7-2620M) showed almost identical
numbers for the old and this version with differences within the noise
range. A dm-crypt test with the fixed version gave even slightly better
results for this version. So the performance impact might not be as big
as expected.

Tested-by: Romain Francoise <romain@orebokech.com>
Signed-off-by: Mathias Krause <minipli@googlemail.com>
Cc: Chandramouli Narayanan <mouli@linux.intel.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2014-10-02 14:35:03 +08:00
Anton Blanchard
e35735b9a5 powerpc: Speed up clear_page by unrolling it
Unroll clear_page 8 times. A simple microbenchmark which
allocates and frees a zeroed page:

for (i = 0; i < iterations; i++) {
	unsigned long p = __get_free_page(GFP_KERNEL | __GFP_ZERO);
	free_page(p);
}

improves 20% on POWER8.

This assumes cacheline sizes won't grow beyond 512 bytes or
page sizes wont drop below 1kB, which is unlikely, but we could
add a runtime check during early init if it makes people nervous.

Michael found that some versions of gcc produce quite bad code
(all multiplies), so we give gcc a hand by using shifts and adds.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2014-10-02 16:04:21 +10:00
Kees Cook
20cc28882b x86, boot, kaslr: Fix nuisance warning on 32-bit builds
Building 32-bit threw a warning on kASLR enabled builds:

arch/x86/boot/compressed/aslr.c: In function ‘mem_avoid_overlap’:
arch/x86/boot/compressed/aslr.c:198:17: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
   avoid.start = (u64)ptr;
                 ^

This fixes the warning; unsigned long should have been used here.

Signed-off-by: Kees Cook <keescook@chromium.org>
Link: http://lkml.kernel.org/r/20141001183632.GA11431@www.outflux.net
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2014-10-01 11:41:24 -07:00
Bjorn Helgaas
359c660e99 Merge branch 'pci/msi' into next
* pci/msi:
  PCI/MSI: Remove unnecessary temporary variable
  PCI/MSI: Use __write_msi_msg() instead of write_msi_msg()
  MSI/powerpc: Use __read_msi_msg() instead of read_msi_msg()
  PCI/MSI: Use __get_cached_msi_msg() instead of get_cached_msi_msg()
  PCI/MSI: Add "msi_bus" sysfs MSI/MSI-X control for endpoints
  PCI/MSI: Remove "pos" from the struct msi_desc msi_attrib
  PCI/MSI: Remove unused kobject from struct msi_desc
  PCI/MSI: Rename pci_msi_check_device() to pci_msi_supported()
  PCI/MSI: Move D0 check into pci_msi_check_device()
  PCI/MSI: Remove arch_msi_check_device()
  irqchip: armada-370-xp: Remove arch_msi_check_device()
  PCI/MSI/PPC: Remove arch_msi_check_device()

Conflicts:
	drivers/pci/host/pcie-designware.c
2014-10-01 12:31:46 -06:00
Bjorn Helgaas
07a7cbd3b8 Merge branch 'pci/host-generic' into next
* pci/host-generic:
  arm64: Add architectural support for PCI
  PCI: Add pci_remap_iospace() to map bus I/O resources
  of/pci: Add support for parsing PCI host bridge resources from DT
  of/pci: Add pci_get_new_domain_nr() and of_get_pci_domain_nr()
  PCI: Add generic domain handling
  of/pci: Fix the conversion of IO ranges into IO resources
  of/pci: Move of_pci_range_to_resource() to of/address.c
  ARM: Define PCI_IOBASE as the base of virtual PCI IO space
  of/pci: Add pci_register_io_range() and pci_pio_to_address()
  asm-generic/io.h: Fix ioport_map() for !CONFIG_GENERIC_IOMAP

Conflicts:
	drivers/pci/host/pci-tegra.c
2014-10-01 12:31:23 -06:00
Yijing Wang
1e8f4cc82e MSI/powerpc: Use __read_msi_msg() instead of read_msi_msg()
rtas_setup_msi_irqs() already has the struct msi_desc pointer required by
__read_msi_msg(), so call it directly instead of having read_msi_msg() look
it up from the IRQ.

No functional change.

[bhelgaas: changelog]
Signed-off-by: Yijing Wang <wangyijing@huawei.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Michael Ellerman <mpe@ellerman.id.au>
CC: Benjamin Herrenschmidt <benh@kernel.crashing.org>
CC: linuxppc-dev@lists.ozlabs.org
2014-10-01 12:21:46 -06:00
Yijing Wang
2b260085e4 PCI/MSI: Use __get_cached_msi_msg() instead of get_cached_msi_msg()
Both callers of get_cached_msi_msg() start with a struct irq_data pointer,
look up the corresponding IRQ number, and pass it to get_cached_msi_msg(),
which then uses irq_get_irq_data() to look up the struct irq_data again to
call __get_cached_msi_msg().

Since we already have the struct irq_data, call __get_cached_msi_msg()
directly and skip the lookup work done by get_cached_msi_msg().

No functional change.

[bhelgaas: changelog]
Signed-off-by: Yijing Wang <wangyijing@huawei.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
CC: Tony Luck <tony.luck@intel.com>
CC: linux-ia64@vger.kernel.org
2014-10-01 12:21:23 -06:00
Yijing Wang
48c3c38f00 PCI/MSI: Remove "pos" from the struct msi_desc msi_attrib
"msi_attrib.pos" is only used for MSI (not MSI-X), and we already cache the
MSI capability offset in "dev->msi_cap".

Remove "pos" from the struct msi_attrib and use "dev->msi_cap" directly.

[bhelgaas: changelog, fix whitespace]
Signed-off-by: Yijing Wang <wangyijing@huawei.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
2014-10-01 12:21:23 -06:00
Alexander Gordeev
6b2fd7efeb PCI/MSI/PPC: Remove arch_msi_check_device()
Move MSI checks from arch_msi_check_device() to arch_setup_msi_irqs().
This makes the code more compact and allows removing
arch_msi_check_device() from generic MSI code.

Signed-off-by: Alexander Gordeev <agordeev@redhat.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Michael Ellerman <mpe@ellerman.id.au>
2014-10-01 12:21:14 -06:00
Mike Turquette
a797900950 Allow parent rate changes for i2s on rk3288
and rockchip as well as s3c24xx restart handlers.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQEcBAABCAAGBQJUK/GYAAoJEPOmecmc0R2Bnc8IAJY3NpUhN2It0WqL1meeIDr7
 jGVphxhiEsAlXMbHyO0V/LhUTbGtjfDotd43Y84cZW43R7G2ErvvBsWMKCff2xIB
 cVtjXJ8JI+s2T/gBEssZDnhh1dcP04fnZ2LMdLCGudnmn2AyR2AXQQBqFiO+kQWe
 0x2dsGgcQPn93X9i9sT03BKJTZjRoCZkUh0aJ2y+yL9Y5A9CNXCVGfJ5E1GNw3Px
 ffeKA0OsOhUMw9aqb8fLvDuRd0mo1i+BSCaOeNTlwzASmxCUJ9MOOKtF/Khx7x2r
 6N3w/EN4F8R+qJ/gOyZR9I3SrnLU1rMBOHvaSxDJb0RXAq5AROvQS1t4GiF2A68=
 =bvGz
 -----END PGP SIGNATURE-----

Merge tag 'v3.18-rockchip-clk2' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into clk-next

Allow parent rate changes for i2s on rk3288
and rockchip as well as s3c24xx restart handlers.
2014-10-01 11:19:10 -07:00
Arnd Bergmann
a41988a050 Qualcomm ARM Based defconfig Updates for v3.18
* General defconfig update to match upstream changes
 * Enable IPQ806x & APQ8084 clk support
 * Enable pinctrl on MSM8960 & APQ8084
 * Enable CPU_IDLE to get basic wfi support
 * Enable SPI NOR and MTD M25P80 support (used on AP148 board)
 * Enable SATA PHY support on IPQ806x and APQ8064
 * Enable Fixed regulator and ARM MMCI support (mmc support on APQ8064)
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 Comment: GPGTools - https://gpgtools.org
 
 iQIcBAABCgAGBQJUIHiwAAoJEF9hYXeAcXzB7e4P/3+4/NHTObPud4DX/1OZiLbr
 kWlxZqRg4wV7EvQyuwIyrXsgeRQL+3WX5IWOt8I5qztCKH7UxrMXfBRVA9Ny+Nei
 wTL0yO2seWD7Wj+z96/OF7IZ2ZKXtXyI2JBQ/joeN8p6OSM1GRi7N7rMGIWPyr+t
 RTdeGVx+yFEGfjbak1WO5VTXocbcZV4O3gZH2acyIvNXdxQgQFAAHvLNSsAKdO2A
 siTB7uq5TWEA8wgrWI8fz0NT2EXfrvlFp6AEdkfNfAwuiuHvpOYBQHdrORu5yNwo
 rWtyXnDi0GwHDyWyJQVk5CjasWFbaz0SlwLwN5gYFroyfyOIfZfzJzUco5fYNWMs
 F2RBHrwVWtBbwh+mk1HL/rjYBfFu5+uX5tJ+X80cZGq/k97QgNwLDnO3xku//xDV
 /MVgzHN0QMwwbQdcgIroPx8oaMD9QykQPsrTf2M4F/cJ4cX8NP1qumhLxoI1yrhp
 r3FjV4Aj6gXN4dx8wqPr146rBZiPN0vziqFpuRbn8dAyuP8z2iBsmu7RfPSTf/id
 IW2/nfkeCGyTF7EL7WgCIwWvuRk2hXiyYF9mX45VgXoILMPrBfr15fApRBknXmt8
 KKtcH96lkBYDMBlpvI4hhab+BvpeYHCve8eTxqxWHXuNN9KsO/LvzSCtdRZrp5/1
 ycqCTz1Eem3sKZkPUfzw
 =xGSD
 -----END PGP SIGNATURE-----

Merge tag 'qcom-defconfig-for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom into next/defconfig

Pull "Qualcomm ARM Based defconfig Updates for v3.18" from Kumar Gala:

* General defconfig update to match upstream changes
* Enable IPQ806x & APQ8084 clk support
* Enable pinctrl on MSM8960 & APQ8084
* Enable CPU_IDLE to get basic wfi support
* Enable SPI NOR and MTD M25P80 support (used on AP148 board)
* Enable SATA PHY support on IPQ806x and APQ8064
* Enable Fixed regulator and ARM MMCI support (mmc support on APQ8064)

Signed-off-by: Arnd Bergmann <arnd@arndb.de>

* tag 'qcom-defconfig-for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom:
  ARM: qcom: Update defconfig
  ARM: qcom: Update defconfig
2014-10-01 16:37:33 +02:00
Grygorii Strashko
45aa70d1f7 ARM: dts: keystone-k2l: fix mdio io start address
The K2L MDIO io space has different start address.
Hence, fix it to be 0x26200f00 according to TRM.

Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
2014-10-01 09:59:33 -04:00
Grygorii Strashko
9a84c8928d ARM: dts: keystone-k2e: fix mdio io start address
The K2E MDIO io space has different start address.
Hence, fix it to be 0x24200f00 according to TRM.

Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
2014-10-01 09:58:25 -04:00
Grygorii Strashko
b741bb2878 ARM: dts: keystone-k2e: update usb1 node for dma properties
Keystone supports dma-coherent on USB master and also needs
dma-ranges to specify the hardware alias memory range in which DMA
can be operational.
Such configuration applied for USB0 devices, but It's missed for
USB1 device which is present only in K2E SoC - hence apply it.

Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
2014-10-01 09:58:25 -04:00
Grygorii Strashko
cfb198ceed ARM: dts: keystone: fix io range for usb_phy0
The IO range size is set incorrectly for USB PHY0 deivice
it should be 24 instead of 32. Otherwise, It causes
USB PHY1 probing failure.

Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
2014-10-01 09:58:25 -04:00
David Hildenbrand
ce2e4f0b75 KVM: s390: count vcpu wakeups in stat.halt_wakeup
This patch introduces the halt_wakeup counter used by common code and uses it to
count vcpu wakeups done in s390 arch specific code.

Acked-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
2014-10-01 14:42:14 +02:00
Christian Borntraeger
7be81a4669 KVM: s390/facilities: allow TOD-CLOCK steering facility bit
There is nothing to do for KVM to support TOD-CLOCK steering.

Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Reviewed-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
2014-10-01 14:42:14 +02:00
Gavin Shan
2013add4ce powerpc/eeh: Show hex prefix for PE state sysfs
As Michael suggested, the hex prefix for the output of EEH PE
state sysfs entry (/sys/bus/pci/devices/xxx/eeh_pe_state) is
always informative to users.

Suggested-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2014-10-01 22:23:34 +10:00
Heiko Stuebner
aec1d96c53 Immutable branch with restart handler patches for v3.18
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJUJQ8/AAoJEMsfJm/On5mBMNgP+QEUHpRKJaOGU3jX/ftHH/t3
 EoNUx7lZt6Q0c9MB2ySAxILYpWUujc9N0tDkRDyW7mTWunF8gEGiRN+iKaSbzcUN
 Y4VffRAbxBasIaBqRtpDl08ycODh6Xu1t8sAao03DdhnMNLGNNO79s3UFHsubdTC
 cXx9mfYR/2SHV/0BXiFvKi8ovdqUspdp9cyZO/qc0PVFGbsADx3MNGGzkvWfgvcE
 6vXnKnUkZrNl5JPiG77kTKZnDsjEMXggmA9DGWKijFCJjGIbuLiuIDf63Zp+eQ52
 mJMRA+ViP/dDgAxY1dkWBcF5nOBT1vTYwLfy69jEoQeHzcomiHVoDKmCSBOpeAEH
 G8VoasWKWYpYnlcOJb+XgkA3QTe6mOPgAPzNsbYr0Ep7hMFw66mOQgKbgi6k4Qts
 HHimG9pnBYpPlBUfvNh+6K4dHAm0C2IyoZyMhKWsyFH6hkhS8TVM8j0gPR8rTTmk
 0a9/e2vxcFnfBe3UAJaqzWRVFsBkOHrTNpG1hvID3Oq8IeywSBXw2VMSR93+mwaB
 sa/GCZKlqHGpOfmtILlhiXQX0E/tTHmcrI2VqyCpX0J2CW+MiGvkcGOwKHOJciSA
 Cj9D68y837QU/DCpMQ6ec/5wqWqZKz8yQb8kxb6vJcL19JcVKdAiPzbuOI49C3Ux
 YxDWoUutzDfVoUD5RhcJ
 =cP1w
 -----END PGP SIGNATURE-----

Merge tag 'tags/restart-handler-for-v3.18' into v3.18-next/cpuclk

Immutable branch with restart handler patches for v3.18
2014-10-01 11:04:37 +02:00
Linus Torvalds
aad7fb916a Merge branch 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm
Pull ARM fixes from Russell King:
 "Some further ARM fixes:
   - another build fix for the kprobes test code
   - a fix for no kuser helpers for the set_tls code, which oopsed on
     noMMU hardware
   - a fix for alignment handler with neon opcodes being misinterpreted
   - turning off the hardware access support, which is not implemented
   - a build fix for the v7 coherency exiting code, which can be built
     in non-v7 environments (but still only executed on v7 CPUs)"

* 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
  ARM: 8179/1: kprobes-test: Fix compile error "bad immediate value for offset"
  ARM: 8178/1: fix set_tls for !CONFIG_KUSER_HELPERS
  ARM: 8177/1: cacheflush: Fix v7_exit_coherency_flush exynos build breakage on ARMv6
  ARM: 8165/1: alignment: don't break misaligned NEON load/store
  ARM: 8164/1: mm: clear SCTLR.HA instead of setting it for LPAE
2014-09-30 19:52:08 -07:00
Liviu Dudau
d1e6dc91b5 arm64: Add architectural support for PCI
Use the generic PCI domain and OF functions to provide support for PCI
on arm64.

[bhelgaas: Change comments to use generic PCI, not just PCIe.  Nothing at
this level is PCIe-specific.]
Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
2014-09-30 17:08:57 -06:00
Liviu Dudau
0b0b0893d4 of/pci: Fix the conversion of IO ranges into IO resources
The ranges property for a host bridge controller in DT describes the
mapping between the PCI bus address and the CPU physical address.  The
resources framework however expects that the IO resources start at a pseudo
"port" address 0 (zero) and have a maximum size of IO_SPACE_LIMIT.  The
conversion from PCI ranges to resources failed to take that into account,
returning a CPU physical address instead of a port number.

Also fix all the drivers that depend on the old behaviour by fetching the
CPU physical address based on the port number where it is being needed.

Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
CC: Grant Likely <grant.likely@linaro.org>
CC: Rob Herring <robh+dt@kernel.org>
CC: Arnd Bergmann <arnd@arndb.de>
CC: Thierry Reding <thierry.reding@gmail.com>
CC: Simon Horman <horms@verge.net.au>
CC: Catalin Marinas <catalin.marinas@arm.com>
2014-09-30 17:08:40 -06:00
Sowmini Varadhan
ca605b7dd7 sparc64: Add vio_set_intr() to enable/disable Rx interrupts
The vio_set_intr() API should be used by VIO consumers to enable/disable
Rx interrupts to facilitate deferred processing in softirq/bottom-half
context.

Signed-off-by: Sowmini Varadhan <sowmini.varadhan@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-09-30 14:40:45 -07:00
Dwight Engen
d0aedcd4f1 vio: fix reuse of vio_dring slot
vio_dring_avail() will allow use of every dring entry, but when the last
entry is allocated then dr->prod == dr->cons which is indistinguishable from
the ring empty condition. This causes the next allocation to reuse an entry.
When this happens in sunvdc, the server side vds driver begins nack'ing the
messages and ends up resetting the ldc channel. This problem does not effect
sunvnet since it checks for < 2.

The fix here is to just never allocate the very last dring slot so that full
and empty are not the same condition. The request start path was changed to
check for the ring being full a bit earlier, and to stop the blk_queue if
there is no space left. The blk_queue will be restarted once the ring is
only half full again. The number of ring entries was increased to 512 which
matches the sunvnet and Solaris vdc drivers, and greatly reduces the
frequency of hitting the ring full condition and the associated blk_queue
stop/starting. The checks in sunvent were adjusted to account for
vio_dring_avail() returning 1 less.

Orabug: 19441666
OraBZ: 14983

Signed-off-by: Dwight Engen <dwight.engen@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-09-30 14:37:35 -07:00
Allen Pais
9bce21828d sunvdc: add cdrom and v1.1 protocol support
Interpret the media type from v1.1 protocol to support CDROM/DVD.

For v1.0 protocol, a disk's size continues to be calculated from the
geometry returned by the vdisk server. The geometry returned by the server
can be less than the actual number of sectors available in the backing
image/device due to the rounding in the division used to compute the
geometry in the vdisk server.

In v1.1 protocol a disk's actual size in sectors is returned during the
handshake. Use this size when v1.1 protocol is negotiated. Since this size
will always be larger than the former geometry computed size, disks created
under v1.0 will be forwards compatible to v1.1, but not vice versa.

Signed-off-by: Dwight Engen <dwight.engen@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-09-30 14:37:34 -07:00
David L Stevens
163a4e7473 sparc: VIO protocol version 1.6
Add VIO protocol version 1.6 interfaces.

Signed-off-by: David L Stevens <david.stevens@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-09-30 14:17:08 -07:00
David L Stevens
42db672dca sunvnet: allow admin to set sunvnet MTU
This patch allows an admin to set the MTU on a sunvnet device to arbitrary
values between the minimum (68) and maximum (65535) IPv4 packet sizes.

Signed-off-by: David L Stevens <david.stevens@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-09-30 17:10:39 -04:00
David L Stevens
e4defc7754 sunvnet: upgrade to VIO protocol version 1.6
This patch upgrades the sunvnet driver to support VIO protocol version 1.6.
In particular, it adds per-port MTU negotiation, allowing MTUs other than
ETH_FRAMELEN with ports using newer VIO protocol versions.

Signed-off-by: David L Stevens <david.stevens@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-09-30 17:10:39 -04:00
Guenter Roeck
72d099e257 next: mips: bpf: Fix build failure
Fix:

arch/mips/net/bpf_jit.c: In function 'build_body':
arch/mips/net/bpf_jit.c:762:6: error: unused variable 'tmp'
cc1: all warnings being treated as errors
make[2]: *** [arch/mips/net/bpf_jit.o] Error 1

Seen when building mips:allmodconfig in -next since next-20140924.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-09-30 16:54:51 -04:00
Antoine Ténart
75215193b9 ARM: dts: berlin: enable the Ethernet port on the BG2Q DMP
This patch enables the Ethernet port on the Marvell Berlin2Q DMP board.

Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-09-30 16:36:13 -04:00
Antoine Ténart
bdc06cd701 ARM: dts: berlin: add the Ethernet node
This patch adds the Ethernet node, enabling the network unit on Berlin
BG2Q SoCs.

Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-09-30 16:36:13 -04:00
Mike Turquette
38bf3a7978 Merge branch 'clk-pxa27x' into clk-next 2014-09-30 12:49:42 -07:00
Robert Jarzmik
9ff25d7b58 arm: pxa: Transition pxa27x to clk framework
Transition the PXA27x CPUs to the clock framework.
This transition still enables legacy platforms to run without device
tree as before, ie relying on platform data encoded in board specific
files.

Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
2014-09-30 12:45:44 -07:00
Robert Jarzmik
85fe55c11a dts: add devicetree bindings for pxa27x clocks
Add the clock tree description for the PXA27x based boards.

Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
2014-09-30 12:31:31 -07:00
Robert Jarzmik
108f303f0e arm: pxa: add clock pll selection bits
Add missing bits for CCCR and CCSR :
 - CPLL and PPLL selection, either full speed or 13MHz
 - CPSR masks

Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
2014-09-30 12:31:31 -07:00
Liviu Dudau
dad13e3c08 ARM: Define PCI_IOBASE as the base of virtual PCI IO space
This is needed for calls into OF code that parses PCI ranges.  It signals
support for memory mapped PCI I/O accesses that are described by device
trees.

Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
CC: Russell King <linux@arm.linux.org.uk>
CC: Rob Herring <robh+dt@kernel.org>
2014-09-30 13:19:44 -06:00
Jon Medhurst
ad684dce87 ARM: 8179/1: kprobes-test: Fix compile error "bad immediate value for offset"
When compiling kprobes-test-arm.c the following error has been observed

/tmp/ccoT403o.s:21439: Error: bad immediate value for offset (4168)

This is caused by the compiler spilling it's literal pool too far away
from the site which is trying to reference it with a PC relative load.
This arises because the compiler is underestimating the size of the
inline assembler code present, which apparently it approximates as 4
bytes per line or instruction.

We fix this problem by moving the operations which generate more than
4 bytes out of the text section. Specifically, moving the .ascii
directives to the .rodata section.

Signed-off-by: Jon Medhurst <tixy@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2014-09-30 16:55:24 +01:00
Nathan Lynch
9cc6d9e5da ARM: 8178/1: fix set_tls for !CONFIG_KUSER_HELPERS
Joachim Eastwood reports that commit fbfb872f5f "ARM: 8148/1: flush
TLS and thumbee register state during exec" causes a boot-time crash
on a Cortex-M4 nommu system:

Freeing unused kernel memory: 68K (281e5000 - 281f6000)
Unhandled exception: IPSR = 00000005 LR = fffffff1
CPU: 0 PID: 1 Comm: swapper Not tainted 3.17.0-rc6-00313-gd2205fa30aa7 #191
task: 29834000 ti: 29832000 task.ti: 29832000
PC is at flush_thread+0x2e/0x40
LR is at flush_thread+0x21/0x40
pc : [<2800954a>] lr : [<2800953d>] psr: 4100000b
sp : 29833d60 ip : 00000000 fp : 00000001
r10: 00003cf8 r9 : 29b1f000 r8 : 00000000
r7 : 29b0bc00 r6 : 29834000 r5 : 29832000 r4 : 29832000
r3 : ffff0ff0 r2 : 29832000 r1 : 00000000 r0 : 282121f0
xPSR: 4100000b
CPU: 0 PID: 1 Comm: swapper Not tainted 3.17.0-rc6-00313-gd2205fa30aa7 #191
[<2800afa5>] (unwind_backtrace) from [<2800a327>] (show_stack+0xb/0xc)
[<2800a327>] (show_stack) from [<2800a963>] (__invalid_entry+0x4b/0x4c)

The problem is that set_tls is attempting to clear the TLS location in
the kernel-user helper page, which isn't set up on V7M.

Fix this by guarding the write to the kuser helper page with
a CONFIG_KUSER_HELPERS ifdef.

Fixes: fbfb872f5f ARM: 8148/1: flush TLS and thumbee register state during exec

Reported-by: Joachim Eastwood <manabian@gmail.com>
Tested-by: Joachim Eastwood <manabian@gmail.com>
Cc: stable@vger.kernel.org
Signed-off-by: Nathan Lynch <nathan_lynch@mentor.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2014-09-30 16:55:23 +01:00
Krzysztof Kozlowski
ebc77251a4 ARM: 8177/1: cacheflush: Fix v7_exit_coherency_flush exynos build breakage on ARMv6
This fixes build breakage of platsmp.c if ARMv6 was chosen for compile
time options (e.g. by building allmodconfig):

$ make allmodconfig
$ make
  CC      arch/arm/mach-exynos/platsmp.o
/tmp/ccdQM0Eg.s: Assembler messages:
/tmp/ccdQM0Eg.s:432: Error: selected processor does not support ARM mode `isb '
/tmp/ccdQM0Eg.s:437: Error: selected processor does not support ARM mode `isb '
/tmp/ccdQM0Eg.s:438: Error: selected processor does not support ARM mode `dsb '
make[1]: *** [arch/arm/mach-exynos/platsmp.o] Error 1

The error was introduced in commit "ARM: EXYNOS: Move code from
hotplug.c to platsmp.c".  Previously code using
v7_exit_coherency_flush() macro was built with '-march=armv7-a' flag but
this flag dissapeared during the movement.

Fix this by annotating the v7_exit_coherency_flush() asm code with
armv7-a architecture.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Reported-by: Mark Brown <broonie@kernel.org>
Acked-by: Nicolas Pitre <nico@linaro.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2014-09-30 16:55:22 +01:00
Heiko Carstens
cfb0b24143 s390/mm: make use of ipte range facility
Invalidate several pte entries at once if the ipte range facility
is available. Currently this works only for DEBUG_PAGE_ALLOC where
several up to 2 ^ MAX_ORDER may be invalidated at once.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2014-09-30 10:19:29 +02:00
Gavin Shan
fe7e85c6f5 powerpc/powernv: Override dma_get_required_mask()
The dma_get_required_mask() function is used by some drivers to
query the platform about what DMA mask is needed to cover all of
memory. This is a bit of a strange semantic when we have to choose
between IOMMU translation or bypass, but essentially what it means
is "what DMA mask will give best performances".

Currently, our IOMMU backend always returns a 32-bit mask here, we
don't do anything special to it when we have bypass available. This
causes some drivers to choose a 32-bit mask, thus losing the ability
to use the bypass window, thinking this is more efficient. The problem
was reported from the driver of following device:

0004:03:00.0 0107: 1000:0087 (rev 05)
0004:03:00.0 Serial Attached SCSI controller: LSI Logic / Symbios \
             Logic SAS2308 PCI-Express Fusion-MPT SAS-2 (rev 05)

This patch adds an override of that function in order to, instead,
return a 64-bit mask whenever a bypass window is available in order
for drivers to prefer this configuration.

Reported-by: Murali N. Iyer <mniyer@us.ibm.com>
Suggested-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2014-09-30 17:15:20 +10:00
Gavin Shan
372fb80db9 powerpc/powernv: Fetch frozen PE on top level
It should have been part of commit 1ad7a72c5 ("powerpc/eeh: Report
frozen parent PE prior to child PE"). There are 2 ways to report
EEH errors: proactively polling because of 0xFF's returned from
PCI config or IO read, or interrupt driven event. We missed to
report and handle parent frozen PE prior to child frozen PE for
the later case on PowerNV platform.

Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2014-09-30 17:15:20 +10:00
Gavin Shan
f2e0be5e76 powerpc/eeh: Dump PCI config space for all child devices
The PEs can be organized as nested. Current implementation doesn't
dump PCI config space for subordinate devices of child PEs. However,
the frozen PE could be caused by those subordinate devices of its
child PEs.

The patch dumps PCI config space for all subordinate devices of the
problematic PE.

Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2014-09-30 17:15:19 +10:00
Gavin Shan
5cfb20b96f powerpc/eeh: Emulate EEH recovery for VFIO devices
When enabling EEH functionality on passed through devices (PE)
with VFIO, the devices in the PE would be removed permanently
from guest side. In that case, the PE remains frozen state.
When returning PE to host, or restarting the guest again, we
had mechanism unfreezing the PE by clearing PESTA/B frozen
bits. However, that's not enough for some adapters, which are
indicated as following "lspci" shows. Those adapters require
hot reset on the parent bus to bring their firmware back to
workable state. Otherwise, those adaptrs won't be operative
and the host (for returning case) or the guest will fail to
load the drivers for those adapters without exception.

0000:01:00.0 Ethernet controller: Emulex Corporation OneConnect \
             10Gb NIC (be3) (rev 02)
0000:01:00.0 0200: 19a2:0710 (rev 02)
0001:03:00.0 Ethernet controller: Emulex Corporation OneConnect \
             NIC (Lancer) (rev 10)
0001:03:00.0 0200: 10df:e220 (rev 10)

The patch adds mechanism to emulate EEH recovery (for hot reset
on parent PCI bus) on 3 gates to fix the issue: open/release one
adapter of the PE, enable EEH functionality on one adapter of the
PE.

Reported-by:  Murilo Fossa Vicentini <muvic@br.ibm.com>
Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2014-09-30 17:15:18 +10:00
Gavin Shan
93e8b36d7b powerpc/eeh: Tag reset state for user owned PE
PE would be owned by userland, which probably request PE reset
done in host side. During the reset, we should drop the PCI
config accesses to the PE with help of flag EEH_PE_RESET.

Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2014-09-30 17:15:17 +10:00
Gavin Shan
d1a85eee35 powerpc/powernv: Sync OpalPciResetScope with firmware
The names of PCI reset scopes aren't sychronized with firmware.
The patch fixes it.

Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2014-09-30 17:15:17 +10:00
Gavin Shan
4ba5a0fc64 powerpc/pseries: Decrease message level on EEH initialization
As Anton suggested, the patch decreases the message level on EEH
initialization to avoid unnecessary messages if required. Also,
we have unified hint if any of needful RTAS calls is missed, and
then we can check /proc/device-tree to figure out the missed RTAS
calls.

Suggested-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2014-09-30 17:15:16 +10:00
Gavin Shan
9372dddb18 powerpc/eeh: Block PCI config access during reset
Function pcibios_set_pcie_reset_state() can be used to do PCI
reset. PCI config access during the reset usually causes EEH
errors unexpectedly. In order to avoid the EEH error, the patch
blocks PCI config access during reset with the help of flag
EEH_PE_RESET, which is similar to what we did in EEH PE reset
path.

Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2014-09-30 17:15:15 +10:00
Gavin Shan
c9dd014397 powerpc/eeh: Use eeh_unfreeze_pe()
The patch uses eeh_unfreeze_pe() to replace the logic clearing
frozen IO and DMA, in order to simplify the code.

Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2014-09-30 17:15:14 +10:00
Gavin Shan
4eeeff0ebc powerpc/eeh: Unfreeze PE on enabling EEH functionality
When passing through PE to guest, that's possibly in frozen
state. The driver for the pass-through devices on guest side
can't be loaded successfully as reported. We already had one
gate in eeh_dev_open() to clear PE frozen state accordingly,
but that's not enough because the function is only called at
QEMU startup for once.

The patch adds another gate in eeh_pe_set_option() so that the
PE frozen state can be cleared at QEMU restart time.

Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2014-09-30 17:15:14 +10:00
Gavin Shan
4d4f577e4b powerpc/eeh: Fix improper condition in eeh_pci_enable()
The function eeh_pci_enable() is called to apply various requests
to one particular PE: Enabling EEH, Disabling EEH, Enabling IO,
Enabling DMA, Freezing PE. When enabling IO or DMA on one specific
PE, we need check that IO or DMA isn't enabled previously. But
the condition used to do the check isn't completely correct because
one PE would be in DMA frozen state with workable IO path, or vice
versa.

The patch fixes the improper condition.

Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2014-09-30 17:15:13 +10:00
Gavin Shan
22fca17924 powerpc/eeh: Clear frozen device state in time
The problem was reported by Carol: In the scenario of passing mlx4
adapter to guest, EEH error could be recovered successfully. When
returning the device back to host, the driver (mlx4_core.ko)
couldn't be loaded successfully because of error number -5 (-EIO)
returned from mlx4_get_ownership(), which hits offlined PCI device.
The root cause is that we missed to put the affected devices into
normal state on clearing PE isolated state right after PE reset.

The patch fixes above issue by putting the affected devices to
normal state when clearing PE isolated state in eeh_pe_state_clear().

Cc: stable@vger.kernel.org
Reported-by: Carol L. Soto <clsoto@us.ibm.com>
Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2014-09-30 17:15:12 +10:00
Gavin Shan
d9df1b5da1 powerpc/powernv: Clear PAPR error injection registers
The frozen state on one specific PE is probably caused by error
injection, which is done with help of PAPR error injection registers.
According to the hardware spec, those registers should be cleared
automatically after one-shot frozen PE. However, that's not always
true, at least on P7IOC of Firebird-L. So we have to clear them
before doing PE reset to avoid recursive EEH errors at recovery
stage.

Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2014-09-30 17:15:11 +10:00
Mike Qiu
7a06278229 powerpc/powernv: Add PCI error injection debugfs entry
The patch adds debugfs file (/sys/kernel/debug/powerpc/PCIxxxx/
err_injct), which accepts following formated string, to support
error injection. It will be used to support userland utility
"errinjct" in future.

  "pe_no:0:function:address:mask" - 32-bits PCI errors
  "pe_no:1:function:address:mask" - 64-bits PCI errors

Signed-off-by: Mike Qiu <qiudayu@linux.vnet.ibm.com>
Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2014-09-30 17:15:10 +10:00
Gavin Shan
131c123abe powerpc/eeh: Introduce eeh_ops::err_inject
The patch introduces eeh_ops::err_inject(), which allows to inject
specified errors to indicated PE for testing purpose. The functionality
isn't support on pSeries platform. On PowerNV, the functionality
relies on OPAL API opal_pci_err_inject().

Signed-off-by: Mike Qiu <qiudayu@linux.vnet.ibm.com>
Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2014-09-30 17:15:10 +10:00
Gavin Shan
5b64234081 powerpc/powernv: Sync header with firmware
The patch synchronizes firmware header file (opal.h) for PCI error
injection.

Signed-off-by: Mike Qiu <qiudayu@linux.vnet.ibm.com>
Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2014-09-30 17:15:09 +10:00
Gavin Shan
404079c87e powerpc/eeh: Clear frozen state on passing device
When passing through device, its PE might have been put into frozen
state. One obvious example would be: the passed PE is forced to be
offline because of hitting maximal allowed EEH errors in userland.
In that case, the frozen state won't be cleared and then the PE is
returned back to host, which might not have chance detecting and
recovering from it.

The patch adds more check when passing through device and clear the
PE frozen state if necessary.

Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2014-09-30 17:15:08 +10:00
Gavin Shan
316233ff87 powerpc/eeh: Reenable PCI devices after reset
The PCI devices that have been passed through are enabled before
reset, we need restore to the enabled state after reset. Otherwise,
MMIO access might be issued to disabled devices after reset and
causes exceptional recursive EEH error.

Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2014-09-30 17:15:07 +10:00
Gavin Shan
0d5ee5205e powerpc/eeh: Freeze PE before PE reset
The patch adds one more option (EEH_OPT_FREEZE_PE) to set_option()
method to proactively freeze PE, which will be issued before resetting
pass-throughed PE to drop MMIO access during reset because it's
always contributing to recursive EEH error.

Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2014-09-30 17:15:07 +10:00
Gavin Shan
940376b3a4 powerpc/eeh: Add eeh_pe_state sysfs entry
The patch adds sysfs entry "eeh_pe_state". Reading on it returns
the PE's state while writing to it clears the frozen state. It's
used to check or clear the PE frozen state from userland for
debugging purpose.

The patch also replaces printk(KERN_WARNING ...) with pr_warn() in
eeh_sysfs.c

Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2014-09-30 17:15:06 +10:00
Gavin Shan
3e938052fb powerpc/eeh: Drop unused argument in eeh_check_failure()
eeh_check_failure() is used to check frozen state of the PE which
owns the indicated I/O address. The argument "val" of the function
isn't used. The patch drops it and return the frozen state of the
PE as expected.

Cc: Vishal Mansur <vmansur@linux.vnet.ibm.com>
Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2014-09-30 17:15:05 +10:00
Mike Turquette
24afc3852e Samsung clock patches for v3.18
1) non-critical fixes (without the need to push to stable)
 
 fa0111be4f clk: samsung: exynos4: remove duplicate div_core2 divider clock instantiation
 b511593d71 clk: samsung: exynos4: fix g3d clocks
 c142543001 clk: samsung: exynos4: add missing smmu_g2d clock and update comments
 22842d244a clk: samsung: exynos5260: fix typo in clock name
 e82ba578cc clk: samsung: exynos3250: fix width field of mout_mmc0/1
 59037b92f4 clk: samsung: exynos3250: fix width and shift of div_spi0_isp clock
 5ce37f2666 clk: samsung: exynos3250: fix mout_cam_blk parent list
 
 2) Clock driver extensions
 
 07ccf02ba5 dt-bindings: clk: samsung: Document the DMC domain of Exynos3250 CMU
 d0e73eaf19 ARM: dts: exynos3250: Add CMU node for DMC domain clocks
 e3c3f19bc6 clk: samsung: exynos3250: Register DMC clk provider
 4676f0aab9 clk: samsung: exynos4: add support for MOUT_HDMI and MOUT_MIXER clocks
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQIcBAABAgAGBQJUKcEKAAoJEIv3Hb8G/XruW/cP/34kC45bvMqXIIcDHq3CRRpG
 i3HgG3mJb/rSzE4rDMPBtBXmkp45tHfOh4npdw5Db/+Kpb6m22X0yEYmGtH5Yfpw
 thQEuAeCjL5jDob/YjbPHH1PeoBHy5LS5wgwaJIC/aLQj6od31mgWZabYpeVX3AE
 flrWoxVmFVWGUKqfk2hJMY7RVuJcNw2CyIJ/jK0V3zh05GM9e8sFulXY3vellofW
 6aSaRYWqD7QYlf9VSU0ECHpCoFTIRCDh0k/yafDZrvOyKuWfyvGYorGnLh3wE7S7
 bPi+fo47WKRtoiKEeQDa0egxq/fl0ksp3kubWZq09EQYKQE/pMHayCYyImxGyAeK
 gy0M6E8M3Xwf+Slg+xKrNRP89ExfW0ymTbaNMgKJf96ocQjSH93rcPZGrXhrPILT
 CV8jWNRSjNcAfAvuzH2CZiLfCrc9phTbz3WEce8D8zf14fPOkGrYQB0GMr1+HUj1
 4LL/3JcCt/3wrliSVim3eSf1lgUCLKocMM1lrzzc7JhBamKvesKU2gw+RRSg9Pe5
 gg7RPCSgQMieGp1yO8nNkbmZhhXPNIXoEHjMlS1XTymBHiG+24f1mX7Q/nfGD5mY
 VP7LKeLUIYKPQZlvM9d9Ko2Xt13ypDZLGAM/bmEtOoibeNbELbfzeIxiUkgkB6rE
 uADWSEd6SDyV+E6nK62z
 =MsKp
 -----END PGP SIGNATURE-----

Merge tag 'for_3.18/samsung-clk' of git://git.kernel.org/pub/scm/linux/kernel/git/tfiga/samsung-clk into clk-next

Samsung clock patches for v3.18

1) non-critical fixes (without the need to push to stable)

fa0111be4f clk: samsung: exynos4: remove duplicate div_core2 divider clock instantiation
b511593d71 clk: samsung: exynos4: fix g3d clocks
c142543001 clk: samsung: exynos4: add missing smmu_g2d clock and update comments
22842d244a clk: samsung: exynos5260: fix typo in clock name
e82ba578cc clk: samsung: exynos3250: fix width field of mout_mmc0/1
59037b92f4 clk: samsung: exynos3250: fix width and shift of div_spi0_isp clock
5ce37f2666 clk: samsung: exynos3250: fix mout_cam_blk parent list

2) Clock driver extensions

07ccf02ba5 dt-bindings: clk: samsung: Document the DMC domain of Exynos3250 CMU
d0e73eaf19 ARM: dts: exynos3250: Add CMU node for DMC domain clocks
e3c3f19bc6 clk: samsung: exynos3250: Register DMC clk provider
4676f0aab9 clk: samsung: exynos4: add support for MOUT_HDMI and MOUT_MIXER clocks
2014-09-29 23:43:12 -07:00
Mike Turquette
82de1bc86c Merge branch 'for-v3.18/ti-clk-driver' of github.com:t-kristo/linux-pm into clk-next 2014-09-29 23:38:59 -07:00
Markus Pargmann
fa5f4adf3a arm: dts: am33xx, Add syscon phandle to cpsw node
There are 2 MACIDs stored in the control module of the am33xx. These are
read by the cpsw driver if no valid MACID was found in the devicetree.

Signed-off-by: Markus Pargmann <mpa@pengutronix.de>
Reviewed-by: Wolfram Sang <wsa@the-dreams.de>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-09-30 01:30:43 -04:00
Markus Pargmann
c9aaf87cd0 am33xx: define syscon control module device node
Signed-off-by: Markus Pargmann <mpa@pengutronix.de>
Reviewed-by: Wolfram Sang <wsa@the-dreams.de>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-09-30 01:30:43 -04:00
Anton Blanchard
a75c380c71 powerpc: Enable DCACHE_WORD_ACCESS on ppc64le
Enable on DCACHE_WORD_ACCESS on ppc64le. It should work on
ppc64 and ppc32 but we need to do some testing first.

A somewhat reasonable testcase used to show the performance
improvement - a repeated stat of a 33 byte filename that
doesn't exist:

 #include <sys/types.h>
 #include <sys/stat.h>
 #include <unistd.h>

 #define ITERATIONS 10000000

 #define PATH "123456781234567812345678123456781"

 int main(void)
 {
 	unsigned long i;
 	struct stat buf;

 	for (i = 0; i < ITERATIONS; i++)
 		stat(PATH, &buf);

 	return 0;
 }

runs 27% faster on POWER8.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2014-09-30 14:59:13 +10:00
Anton Blanchard
8989aa4ada powerpc: ppc64le optimised word at a time
Use cmpb which compares each byte in two 64 bit values and
for each matching byte places 0xff in the target and 0x00
otherwise.

A simple hash_name microbenchmark:

http://ozlabs.org/~anton/junkcode/hash_name_bench.c

shows this version to be 10-20% faster than running the x86
version on POWER8, depending on the length.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2014-09-30 14:59:13 +10:00
Michael Ellerman
fe2a1bb1db selftests/powerpc: Add test of load_unaligned_zero_pad()
It is a rarely exercised case, so we want to have a test to ensure it
works as required.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2014-09-30 14:59:12 +10:00
Anton Blanchard
de5946c035 powerpc: Implement load_unaligned_zeropad
Implement a bi-arch and bi-endian version of load_unaligned_zeropad.

Since the fallback case is so rare, a userspace test harness was used
to test this on ppc64le, ppc64 and ppc32:

http://ozlabs.org/~anton/junkcode/test_load_unaligned_zeropad.c

It uses mprotect to force a SEGV across a page boundary, and a SEGV
handler to lookup the exception tables and run the fixup routine.
It also compares the result against a normal load.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2014-09-30 14:59:12 +10:00
Michael Opdenacker
31d6f57d3c MIPS: ralink: remove deprecated IRQF_DISABLED
Remove the use of the IRQF_DISABLED flag
from arch/mips/ralink/timer.c

It's a NOOP since 2.6.35 and it will be removed soon.

Signed-off-by: Michael Opdenacker <michael.opdenacker@free-electrons.com>
Cc: akpm@linux-foundation.org
Cc: jkosina@suse.cz
Cc: standby24x7@gmail.com
Cc: rdunlap@infradead.org
Cc: yongjun_wei@trendmicro.com.cn
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/7886/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2014-09-29 19:46:32 +02:00
Vladimir Murzin
37a34ac1d4 arm: kvm: fix CPU hotplug
On some platforms with no power management capabilities, the hotplug
implementation is allowed to return from a smp_ops.cpu_die() call as a
function return. Upon a CPU onlining event, the KVM CPU notifier tries
to reinstall the hyp stub, which fails on platform where no reset took
place following a hotplug event, with the message:

CPU1: smp_ops.cpu_die() returned, trying to resuscitate
CPU1: Booted secondary processor
Kernel panic - not syncing: unexpected prefetch abort in Hyp mode at: 0x80409540
unexpected data abort in Hyp mode at: 0x80401fe8
unexpected HVC/SVC trap in Hyp mode at: 0x805c6170

since KVM code is trying to reinstall the stub on a system where it is
already configured.

To prevent this issue, this patch adds a check in the KVM hotplug
notifier that detects if the HYP stub really needs re-installing when a
CPU is onlined and skips the installation call if the stub is already in
place, which means that the CPU has not been reset.

Signed-off-by: Vladimir Murzin <vladimir.murzin@arm.com>
Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
2014-09-29 16:02:34 +02:00
Aneesh Kumar K.V
cec26bc3c1 KVM: PPC: BOOK3S: HV: CMA: Reserve cma region only in hypervisor mode
We use cma reserved area for creating guest hash page table.
Don't do the reservation in non-hypervisor mode. This avoids unnecessary
CMA reservation when booting with limited memory configs like
fadump and kdump.

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Reviewed-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2014-09-29 15:36:33 +02:00
Tero Kristo
c08ee14cc6 clk: ti: change clock init to use generic of_clk_init
Previously, the TI clock driver initialized all the clocks hierarchically
under each separate clock provider node. Now, each clock that requires
IO access will instead check their parent node to find out which IO range
to use.

This patch allows the TI clock driver to use a few new features provided
by the generic of_clk_init, and also allows registration of clock nodes
outside the clock hierarchy (for example, any external clocks.)

Signed-off-by: Tero Kristo <t-kristo@ti.com>
Cc: Mike Turquette <mturquette@linaro.org>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Peter Ujfalusi <peter.ujfalusi@ti.com>
Cc: Jyri Sarha <jsarha@ti.com>
Cc: Stefan Assmann <sassmann@kpanic.de>
Acked-by: Tony Lindgren <tony@atomide.com>
2014-09-29 11:51:13 +03:00
Geert Uytterhoeven
2c8faf3d65 m68k: AMIGA_BUILTIN_SERIAL should depend on TTY
If CONFIG_TTY=n:

drivers/built-in.o: In function `rs_flush_buffer':
amiserial.c:(.text+0x1f626): undefined reference to `tty_wakeup'
drivers/built-in.o: In function `transmit_chars':
amiserial.c:(.text+0x1f6c8): undefined reference to `tty_wakeup'
drivers/built-in.o: In function `change_speed':
amiserial.c:(.text+0x1f80a): undefined reference to `tty_termios_baud_rate'
amiserial.c:(.text+0x1f88c): undefined reference to `tty_termios_baud_rate'
drivers/built-in.o: In function `check_modem_status':
amiserial.c:(.text+0x1faa6): undefined reference to `tty_hangup'
amiserial.c:(.text+0x1faec): undefined reference to `tty_wakeup'
drivers/built-in.o: In function `get_serial_info':
amiserial.c:(.text+0x1fb88): undefined reference to `tty_lock'
amiserial.c:(.text+0x1fbc0): undefined reference to `tty_unlock'
drivers/built-in.o: In function `rs_open':
amiserial.c:(.text+0x1fdc6): undefined reference to `tty_port_block_til_ready'
drivers/built-in.o: In function `set_serial_info':
amiserial.c:(.text+0x1fe0c): undefined reference to `tty_lock'
amiserial.c:(.text+0x1fea0): undefined reference to `tty_unlock'
amiserial.c:(.text+0x1fed0): undefined reference to `tty_unlock'
amiserial.c:(.text+0x1ffaa): undefined reference to `tty_unlock'
drivers/built-in.o: In function `receive_chars':
amiserial.c:(.text+0x2005c): undefined reference to `do_SAK'
amiserial.c:(.text+0x200e0): undefined reference to `tty_insert_flip_string_flags'
amiserial.c:(.text+0x2013c): undefined reference to `tty_insert_flip_string_flags'
amiserial.c:(.text+0x20148): undefined reference to `tty_flip_buffer_push'
drivers/built-in.o: In function `rs_close':
amiserial.c:(.text+0x20744): undefined reference to `tty_port_close_start'
amiserial.c:(.text+0x2078a): undefined reference to `tty_ldisc_flush'
amiserial.c:(.text+0x20798): undefined reference to `tty_port_close_end'
drivers/built-in.o: In function `amiga_serial_probe':
amiserial.c:(.init.text+0x96a): undefined reference to `__tty_alloc_driver'
amiserial.c:(.init.text+0x9c0): undefined reference to `tty_std_termios'
amiserial.c:(.init.text+0x9e6): undefined reference to `tty_set_operations'
amiserial.c:(.init.text+0xa3e): undefined reference to `tty_port_init'
amiserial.c:(.init.text+0xa5c): undefined reference to `tty_port_link_device'
amiserial.c:(.init.text+0xa6c): undefined reference to `tty_register_driver'
amiserial.c:(.init.text+0xb4a): undefined reference to `tty_unregister_driver'
amiserial.c:(.init.text+0xb58): undefined reference to `tty_port_destroy'
amiserial.c:(.init.text+0xb64): undefined reference to `put_tty_driver'

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-09-28 21:44:20 -04:00
Ricardo Ribalda Delgado
195311761e asm/uapi: Add definition of TIOC[SG]RS485
Commit: e676253b19 (serial/8250: Add
support for RS485 IOCTLs), adds support for RS485 ioctls for 825_core on
all the archs. Unfortunately the definition of TIOCSRS485 and
TIOCGRS485 was missing on the ioctls.h file

Reported-by: Guenter Roeck <linux@roeck-us.net>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-09-28 21:37:17 -04:00
Nathan Lynch
e1ce5c7adc clocksource: arm_arch_timer: Consolidate arch_timer_evtstrm_enable
The arch_timer_evtstrm_enable hooks in arm and arm64 are substantially
similar, the only difference being a CONFIG_COMPAT-conditional section
which is relevant only for arm64.  Copy the arm64 version to the
driver, removing the arch-specific hooks.

Signed-off-by: Nathan Lynch <nathan_lynch@mentor.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Acked-by: Will Deacon <will.deacon@arm.com>
2014-09-29 01:59:26 +02:00
Nathan Lynch
8b8dde0034 clocksource: arm_arch_timer: Enable counter access for 32-bit ARM
The only difference between arm and arm64's implementations of
arch_counter_set_user_access is that 32-bit ARM does not enable user
access to the virtual counter.  We want to enable this access for the
32-bit ARM VDSO, so copy the arm64 version to the driver itself, and
remove the arch-specific implementations.

Signed-off-by: Nathan Lynch <nathan_lynch@mentor.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Acked-by: Will Deacon <will.deacon@arm.com>
2014-09-29 01:59:25 +02:00
Paul Bolle
e803d4bd31 m68k: Fix typo 'COFNIG_MBAR'
Signed-off-by: Paul Bolle <pebolle@tiscali.nl>
Signed-off-by: Greg Ungerer <gerg@uclinux.org>
2014-09-29 09:56:19 +10:00
Greg Ungerer
f89487adce m68knommu: add missing ioport_map() and ioport_unmap()
Add the missing ioport_map() and ioport_unmap() functions for the
non-MMU platforms.

Signed-off-by: Greg Ungerer <gerg@uclinux.org>
2014-09-29 09:18:36 +10:00
Fabian Frederick
1089c552fb m68k/coldfire: remove second asm/mcfclk.h inclusion in m54xx.c
asm/mcfclk.h was included twice.

Signed-off-by: Fabian Frederick <fabf@skynet.be>
Signed-off-by: Greg Ungerer <gerg@uclinux.org>
2014-09-29 09:18:36 +10:00
Greg Ungerer
ecb6bdcde2 m68knommu: fix size of address field for 5272 interrupt controller
Picked up by the 0-day buidler:

All warnings:
>> arch/m68k/coldfire/intc-5272.c:46:20: warning: large integer implicitly truncated to unsigned type [-Woverflow]
     /*MCF_IRQ_EINT1*/ { .icr = MCFSIM_ICR1, .index = 28, .ack = 1, },
...

The problem stems from the changes to make all ColdFire register addresses
absolute, in commit d72a5abb ("make remaining ColdFire 5272 register
definitions absolute"). That change did not take into account that the
addresses were stored as offsets in the irqmap of the intc-5272.c code.
Make the field that now stores register addresses big enough to hold
addresses.

Signed-off-by: Greg Ungerer <gerg@uclinux.org>
2014-09-29 09:18:36 +10:00
Greg Ungerer
6f4a8856e0 m68k: fix crufty 68000 and 68360 intro comments
Quite a few of the non-mmu specific support files have a pathname in the
title comments of the file. These files have moved around a bit over the
years, and most are no longer accurate. Remove the pathname and fix the
comments to include at least a short description of the files contents.

Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
2014-09-29 09:18:35 +10:00
Greg Ungerer
d3a887ccba m68k: remove the unused arch/m68k/platform directory
The non-mmu platform/machine directories have been move up one level.
We no longer need arch/m68k/platform, or its Makefile, so remove them.

Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
2014-09-29 09:18:35 +10:00
Greg Ungerer
3ba885f524 m68k: move non-mmu 68360 platform code
The non-mmu 68360 specific code is inconsistently placed under a directory
named "platform". Move it to arch/m68k/ along with the other platform and
board directories.

Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
2014-09-29 09:18:35 +10:00
Greg Ungerer
18cb3faf6f m68k: move non-mmu 68000 platform code
The non-mmu 68000 specific code is inconsistently placed under a directory
named "platform". Move it to arch/m68k/ along with the other platform and
machine directories.

Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
2014-09-29 09:18:35 +10:00
Greg Ungerer
ece9ae6515 m68k: fix crufty ColdFire intro comments
Quite a few of the ColdFire specific support files have a pathname in the
title comments of the file. These files have moved around a bit over the
years, and most are no longer accurate. Remove the pathname and fix the
comments to include at least a short description of the files contents.

Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
2014-09-29 09:18:34 +10:00
Greg Ungerer
f86b9e0383 m68k: move coldfire platform code
Move the m68k ColdFire platform support code directory to be with the
existing m68k platforms. Although the ColdFire is not a platform as such,
we have always kept all its support together. No reason to change that
as this time.

Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
2014-09-29 09:18:34 +10:00
Geert Uytterhoeven
fd4d453b64 m68k: AMIGA_BUILTIN_SERIAL should depend on TTY
If CONFIG_TTY=n:

drivers/built-in.o: In function `rs_flush_buffer':
amiserial.c:(.text+0x1f626): undefined reference to `tty_wakeup'
drivers/built-in.o: In function `transmit_chars':
amiserial.c:(.text+0x1f6c8): undefined reference to `tty_wakeup'
drivers/built-in.o: In function `change_speed':
amiserial.c:(.text+0x1f80a): undefined reference to `tty_termios_baud_rate'
amiserial.c:(.text+0x1f88c): undefined reference to `tty_termios_baud_rate'
drivers/built-in.o: In function `check_modem_status':
amiserial.c:(.text+0x1faa6): undefined reference to `tty_hangup'
amiserial.c:(.text+0x1faec): undefined reference to `tty_wakeup'
drivers/built-in.o: In function `get_serial_info':
amiserial.c:(.text+0x1fb88): undefined reference to `tty_lock'
amiserial.c:(.text+0x1fbc0): undefined reference to `tty_unlock'
drivers/built-in.o: In function `rs_open':
amiserial.c:(.text+0x1fdc6): undefined reference to `tty_port_block_til_ready'
drivers/built-in.o: In function `set_serial_info':
amiserial.c:(.text+0x1fe0c): undefined reference to `tty_lock'
amiserial.c:(.text+0x1fea0): undefined reference to `tty_unlock'
amiserial.c:(.text+0x1fed0): undefined reference to `tty_unlock'
amiserial.c:(.text+0x1ffaa): undefined reference to `tty_unlock'
drivers/built-in.o: In function `receive_chars':
amiserial.c:(.text+0x2005c): undefined reference to `do_SAK'
amiserial.c:(.text+0x200e0): undefined reference to `tty_insert_flip_string_flags'
amiserial.c:(.text+0x2013c): undefined reference to `tty_insert_flip_string_flags'
amiserial.c:(.text+0x20148): undefined reference to `tty_flip_buffer_push'
drivers/built-in.o: In function `rs_close':
amiserial.c:(.text+0x20744): undefined reference to `tty_port_close_start'
amiserial.c:(.text+0x2078a): undefined reference to `tty_ldisc_flush'
amiserial.c:(.text+0x20798): undefined reference to `tty_port_close_end'
drivers/built-in.o: In function `amiga_serial_probe':
amiserial.c:(.init.text+0x96a): undefined reference to `__tty_alloc_driver'
amiserial.c:(.init.text+0x9c0): undefined reference to `tty_std_termios'
amiserial.c:(.init.text+0x9e6): undefined reference to `tty_set_operations'
amiserial.c:(.init.text+0xa3e): undefined reference to `tty_port_init'
amiserial.c:(.init.text+0xa5c): undefined reference to `tty_port_link_device'
amiserial.c:(.init.text+0xa6c): undefined reference to `tty_register_driver'
amiserial.c:(.init.text+0xb4a): undefined reference to `tty_unregister_driver'
amiserial.c:(.init.text+0xb58): undefined reference to `tty_port_destroy'
amiserial.c:(.init.text+0xb64): undefined reference to `put_tty_driver'

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
2014-09-28 11:36:38 +02:00
Geert Uytterhoeven
a000dfc2ab m68k: Add missing ioport_unmap()
drivers/net/ethernet/cirrus/cs89x0.c: In function ‘cs89x0_ioport_probe’:
drivers/net/ethernet/cirrus/cs89x0.c:1629: error: implicit declaration of function ‘ioport_unmap’

Add the missing ioport_unmap() implementation, and convert ioport_map()
from a macro to a static inline function while we're at it (both copied
from asm-generic).

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
2014-09-28 11:36:33 +02:00
Linus Torvalds
8369289864 ARM: SoC fixes for 3.17
Here's our last set of fixes for 3.17. Most of these are for TI platforms,
 fixing some noisy Kconfig issues, runtime clock and power issues on
 several platforms and NAND timings on DRA7.
 
 There are also a couple of bug fixes for i.MX, one for QCOM and a small
 fix to avoid section mismatch noise on PXA.
 
 Diffstat looks large, partially due to some tables being updated and
 thus touching many lines. The qcom gsbi change also restructures clock
 management a bit and thus touches a bunch of lines.
 
 All in all, a bit more changes than we'd like at this point, but nothing
 stands out as risky either so it seems like the right thing to send it
 up now instead of holding it to the merge window.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.14 (GNU/Linux)
 
 iQIcBAABAgAGBQJUJxVMAAoJEIwa5zzehBx3VVoP/3WeftI/+vncYhMmPCaUxOso
 B/rNY1CW2ZYr9yWEvREQtMQCkLWYPifeyHa+fXHeFfLGWlMP1wU4LP78RrvaMnSs
 V0d2wYmfTkSIlVwqRMuArY9KwnOTRSiDfhQpl2BQ84u1IaZM5/IRw9oNICTao8jI
 A7NsLAnss3exKCT06R3CcG7+fq3zVc19aI1QJG61BFqTIVItf71NTm/lcjsL3Tss
 Tr/ITTgZM6UGkEnTUuRCl3gpMn/TVvO/qE94xU6vY0jqDQKUl1cxUCx6gRcSDRu4
 PvLvPS7d4p99dHmLxVUuLBT7AGtRCxfdAoVE3D3rmGfcthDt1nFBgJfp6ekQZAM9
 ZfJnrvfHRLjl/lxQvWWkpuugu0z7GCFeXRFHN6aLsD6aRD4JmYoRuSeA0aXmTKyp
 oDcduXqYOImTcbUQ8G8n1YeK8BAVlL6PEZKvaIhjmxUWHVeGdpesz9s7TFBqGBBd
 F1EeCPtAczBpNJP4E/dRDzWYjp+lGyQs4dQEU+YpRe9drzJpw6GsDuaF78QP8A5a
 TEcc3y3o2FSNbGCw9qQ7pkgm76aS1YhLKMQb+2JXJptgwKMw3G6abMr+iomlm3Id
 DY8+WIBggx/gB5k/onFseZvjNxVKqQUeh31UT5e1v/9M4bCJvEcY+KeKcgjbPpy7
 GnGoXEvCnwZ7kPokqH0D
 =K6xV
 -----END PGP SIGNATURE-----

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

Pull ARM SoC fixes from Olof Johansson:
 "Here's our last set of fixes for 3.17.  Most of these are for TI
  platforms, fixing some noisy Kconfig issues, runtime clock and power
  issues on several platforms and NAND timings on DRA7.

  There are also a couple of bug fixes for i.MX, one for QCOM and a
 small fix to avoid section mismatch noise on PXA.

  Diffstat looks large, partially due to some tables being updated and
  thus touching many lines.  The qcom gsbi change also restructures
  clock management a bit and thus touches a bunch of lines.

  All in all, a bit more changes than we'd like at this point, but
  nothing stands out as risky either so it seems like the right thing to
  send it up now instead of holding it to the merge window"

* tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
  drivers/soc: qcom: do not disable the iface clock in probe
  ARM: imx: fix .is_enabled() of shared gate clock
  ARM: OMAP3: Fix I/O chain clock line assertion timed out error
  ARM: keystone: dts: fix bindings for pcie and usb clock nodes
  bus: omap_l3_noc: Fix connID for OMAP4
  ARM: DT: imx53: fix lvds channel 1 port
  ARM: dts: cm-t54: fix serial console power supply.
  ARM: dts: dra7-evm: Fix NAND GPMC timings
  ARM: pxa: fix section mismatch warning for pxa_timer_nodt_init
  ARM: OMAP: Fix Kconfig warning for omap1
2014-09-27 14:58:59 -07:00
Linus Torvalds
74807afd3f Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus
Pull MIPS fixes from Ralf Baechle:
 "The final round of fixes.  One corner case in the math emulator and
  another one in the mcount function for ftrace"

* 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
  MIPS: mcount: Adjust stack pointer for static trace in MIPS32
  MIPS: Fix MFC1 & MFHC1 emulation for 64-bit MIPS systems
2014-09-27 14:42:18 -07:00
Linus Torvalds
cd40fab6db Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 fixes from Ingo Molnar:
 "This has:

   - EFI revert to fix a boot regression
   - early_ioremap() fix for boot failure
   - KASLR fix for possible boot failures
   - EFI fix for corrupted string printing
   - remove a misleading EFI bootup 'failed!' error message

  Unfortunately it's all rather close to the merge window"

* 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86/efi: Truncate 64-bit values when calling 32-bit OutputString()
  x86/efi: Delete misleading efi_printk() error message
  Revert "efi/x86: efistub: Move shared dependencies to <asm/efi.h>"
  x86/kaslr: Avoid the setup_data area when picking location
  x86 early_ioremap: Increase FIX_BTMAPS_SLOTS to 8
2014-09-27 14:23:13 -07:00
Mike Turquette
4dc7ed32f3 Allwinner Clocks Additions for 3.18
The most important part of this serie is the addition of the phase API to
 handle the MMC clocks in the Allwinner SoCs.
 
 Apart from that, the A23 gained a new mbus driver, and there's a fix for a
 incorrect divider table on the APB0 clock.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJUJm3zAAoJEBx+YmzsjxAgxJwQAJk3+Oq3J54jzRxKLGjUpfy9
 Ma9p/78ZSnYlYWrEn62vzu7sGeMJsPo4Lsmy+Hch2r765+PzFZw9oDaxjFT5poQy
 Mv8F7Uyetc99sGAfmg/fKnzgQpp1t+9+kB42cV6lzjXolqX/ACcIjzFOzROXEF9B
 2bnQ3RwXqvQhKKryDBg9+hJYt1R15d4SxQ7Rn6lb6WsZTxjGVO0cvvU3tp4QGQgg
 ZDUkJNLzLYdMK9XUNyqreatmz+HMxL5vYHeEWFz388ECp9DRUPT3MqlQcUqgSLlD
 eMqQPOnd5p5ZEUdB8qAAtf4kIbQTaVa7/4u37sE/+fogw6Pq/6a2Jqppl9aJWD7I
 PDFjxSMl77W5mQZSEanbc0a0qmqAqtZokDusP0bc0ETSZzmPVvohjW5Fa9Awyi0j
 PeN2bTglaFDPsHxKlQ31HF/e/almXkpiIXegeG0e/3VrGSrghFMQtqLEUXgVPu10
 4PV8x7O2ib1VVAowwOb10qGv0fLGC8UCqL9zXVNlCy268ijjKMlNyK3U1sllphba
 fWBYgtg9+1YHONI1SewuYibAqROC7ICDXiqDkJVb6UWmO39HBcOFDb3HJ0EIj8T4
 9v1clkVy1vONIqfvi1SeTekLovpROOxhxGtyXTpdx5qdlVhBjkEsNVHc5jh6BPHr
 o9TlBnnmIPajvF9wMN+H
 =ZkI9
 -----END PGP SIGNATURE-----

Merge tag 'sunxi-clocks-for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux into clk-next

Allwinner Clocks Additions for 3.18

The most important part of this serie is the addition of the phase API to
handle the MMC clocks in the Allwinner SoCs.

Apart from that, the A23 gained a new mbus driver, and there's a fix for a
incorrect divider table on the APB0 clock.
2014-09-27 12:52:33 -07:00
Paolo Bonzini
e77d99d4a4 Changes for KVM for arm/arm64 for 3.18
This includes a bunch of changes:
  - Support read-only memory slots on arm/arm64
  - Various changes to fix Sparse warnings
  - Correctly detect write vs. read Stage-2 faults
  - Various VGIC cleanups and fixes
  - Dynamic VGIC data strcuture sizing
  - Fix SGI set_clear_pend offset bug
  - Fix VTTBR_BADDR Mask
  - Correctly report the FSC on Stage-2 faults
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQEcBAABAgAGBQJUJWAdAAoJEEtpOizt6ddy9cMH+gIoUPnRJLe+PPcOOyxOx6pr
 +CnD/zAd0sLvxZLP/LBOzu99H3YrbO5kwI/172/8G1zUNI2hp6YxEEJaBCTHrz6l
 RwgLy7a3EMMY51nJo5w2dkFUo8cUX9MsHqMpl2Xb7Dvo2ZHp+nDqRjwRY6yi+t4V
 dWSJTRG6X+DIWyysij6jBtfKU6MpU+4NW3Zdk1fapf8QDkn+cBtV5X2QcmERCaIe
 A1j9hiGi43KA3XWeeePU3aVaxC2XUhTayP8VsfVxoNG2manaS6lqjmbif5ghs/0h
 rw7R3/Aj0MJny2zT016MkvKJKRukuVRD6e1lcYghqnSJhL2FossowZ9fHRADpqU=
 =QgU8
 -----END PGP SIGNATURE-----

Merge tag 'kvm-arm-for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into kvm-next

Changes for KVM for arm/arm64 for 3.18

This includes a bunch of changes:
 - Support read-only memory slots on arm/arm64
 - Various changes to fix Sparse warnings
 - Correctly detect write vs. read Stage-2 faults
 - Various VGIC cleanups and fixes
 - Dynamic VGIC data strcuture sizing
 - Fix SGI set_clear_pend offset bug
 - Fix VTTBR_BADDR Mask
 - Correctly report the FSC on Stage-2 faults

Conflicts:
	virt/kvm/eventfd.c
	[duplicate, different patch where the kvm-arm version broke x86.
	 The kvm tree instead has the right one]
2014-09-27 11:03:33 +02:00
Maxime Ripard
7868c5ebdb ARM: sunxi: dt: Switch to the new mbus compatible
Now that we have a compatible of its own for the mbus clock, switch to it.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Hans de Goede <hdegoede@redhat.com>
2014-09-27 08:58:02 +02:00
David S. Miller
9d0713edf7 sparc64: Fix hibernation code refrence to PAGE_OFFSET.
We changed PAGE_OFFSET to be a variable rather than a constant,
but this reference here in the hibernate assembler got missed.

Signed-off-by: David S. Miller <davem@davemloft.net>
2014-09-26 19:50:31 -07:00
Alexei Starovoitov
cec0831519 sparc: bpf_jit: add support for BPF_LD(X) | BPF_LEN instructions
BPF_LD | BPF_W | BPF_LEN instruction is occasionally used by tcpdump
and present in 11 tests in lib/test_bpf.c
Teach sparc JIT compiler to emit it.

Signed-off-by: Alexei Starovoitov <ast@plumgrid.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-09-26 16:52:09 -04:00
David S. Miller
57219dc7bf Merge tag 'master-2014-09-16' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next
John W. Linville says:

====================
pull request: wireless-next 2014-09-22

Please pull this batch of updates intended for the 3.18 stream...

For the mac80211 bits, Johannes says:

"This time, I have some rate minstrel improvements, support for a very
small feature from CCX that Steinar reverse-engineered, dynamic ACK
timeout support, a number of changes for TDLS, early support for radio
resource measurement and many fixes. Also, I'm changing a number of
places to clear key memory when it's freed and Intel claims copyright
for code they developed."

For the bluetooth bits, Johan says:

"Here are some more patches intended for 3.18. Most of them are cleanups
or fixes for SMP. The only exception is a fix for BR/EDR L2CAP fixed
channels which should now work better together with the L2CAP
information request procedure."

For the iwlwifi bits, Emmanuel says:

"I fix here dvm which was broken by my last pull request. Arik
continues to work on TDLS and Luca solved a few issues in CT-Kill. Eyal
keeps digging into rate scaling code, more to come soon. Besides this,
nothing really special here."

Beyond that, there are the usual big batches of updates to ath9k, b43,
mwifiex, and wil6210 as well as a handful of other bits here and there.
Also, rtlwifi gets some btcoexist attention from Larry.

Please let me know if there are problems!
====================

Had to adjust the wil6210 code to comply with Joe Perches's recent
change in net-next to make the netdev_*() routines return void instead
of 'int'.

Signed-off-by: David S. Miller <davem@davemloft.net>
2014-09-26 15:39:24 -04:00
Alexei Starovoitov
749730ce42 bpf: enable bpf syscall on x64 and i386
done as separate commit to ease conflict resolution

Signed-off-by: Alexei Starovoitov <ast@plumgrid.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-09-26 15:05:14 -04:00
Guenter Roeck
29075feaf1 next: openrisc: Fix build
openrisc:defconfig fails to build in next-20140926 with the following error.

In file included from arch/openrisc/kernel/signal.c:31:0:
./arch/openrisc/include/asm/syscall.h: In function 'syscall_get_arch':
./arch/openrisc/include/asm/syscall.h:77:9: error: 'EM_OPENRISC' undeclared

Fix by moving EM_OPENRISC to include/uapi/linux/elf-em.h.

Fixes: ce5d112827 ("ARCH: AUDIT: implement syscall_get_arch for all arches")
Cc: Eric Paris <eparis@redhat.com>
Cc: Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Eric Paris <eparis@redhat.com>
2014-09-26 14:53:23 -04:00
Linus Torvalds
d2865c7d4e Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull scheduler fixes from Ingo Molnar:
 "A CONFIG_STACK_GROWSUP=y fix, and a hotplug llc CPU mask fix"

* 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  sched: Fix unreleased llc_shared_mask bit during CPU hotplug
  sched: Fix end_of_stack() and location of stack canary for architectures using CONFIG_STACK_GROWSUP
2014-09-26 08:38:09 -07:00
Uwe Kleine-König
e16343c47e ARM: 8160/1: drop warning about return_address not using unwind tables
The warning was introduced in 2009 (commit 4bf1fa5a34 ([ARM] 5613/1:
implement CALLER_ADDRESSx)). The only "problem" here is that
CALLER_ADDRESSx for x > 1 returns NULL which doesn't do much harm.

The drawback of implementing a fix (i.e. use unwind tables to implement CALLER_ADDRESSx) is that much of the unwinder code would need to be marked as not
traceable.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2014-09-26 14:40:07 +01:00
Uwe Kleine-König
c3c963e1fb ARM: 8161/1: footbridge: select machine dir based on ARCH_FOOTBRIDGE
Syntactically FOOTBRIDGE and ARCH_FOOTBRIDGE are identical (the former
is defined in an if ARCH_FOOTBRIDGE block and the latter selects the
former).

Sematically FOOTBRIDGE means "we have a DC21285 (aka footbridge) device
in the system" and ARCH_FOOTBRIDGE is the support for boards with a
footbridge device, so ARCH_FOOTBRIDGE is the better symbol here.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2014-09-26 14:40:04 +01:00
Behan Webster
aeea3592a1 ARM: 8158/1: LLVMLinux: use static inline in ARM ftrace.h
With compilers which follow the C99 standard (like modern versions of gcc and
clang), "extern inline" does the wrong thing (emits code for an externally
linkable version of the inline function). In this case using static inline
and removing the NULL version of return_address in return_address.c does
the right thing.

Signed-off-by: Behan Webster <behanw@converseincode.com>
Reviewed-by: Mark Charlebois <charlebm@gmail.com>
Acked-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2014-09-26 14:40:03 +01:00
Nathan Lynch
389522b0c0 ARM: 8155/1: place sigpage at a random offset above stack
The sigpage is currently placed alongside shared libraries etc in the
address space.  Similar to what x86_64 does for its VDSO, place the
sigpage at a randomized offset above the stack so that learning the
base address of the sigpage doesn't help expose where shared libraries
are loaded in the address space (and vice versa).

Signed-off-by: Nathan Lynch <nathan_lynch@mentor.com>
Reviewed-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2014-09-26 14:40:01 +01:00
Nathan Lynch
02e0409a65 ARM: 8154/1: use _install_special_mapping for sigpage
_install_special_mapping allows the VMA to be identifed in
/proc/pid/maps without the use of arch_vma_name, providing a
slight net reduction in object size:

  text    data     bss     dec     hex filename
  2996      96     144    3236     ca4 arch/arm/kernel/process.o (before)
  2956     104     144    3204     c84 arch/arm/kernel/process.o (after)

Signed-off-by: Nathan Lynch <nathan_lynch@mentor.com>
Reviewed-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2014-09-26 14:39:59 +01:00
Vincent Sanders
75c349062a ARM: 8153/1: Enable gcov support on the ARM architecture
Enable gcov support for ARM based on original patches by David
Singleton and George G. Davis

Riku - updated to patch to current mainline kernel. The patch
has been submitted in 2010, 2012 - for symmetry, now in 2014 too.

https://lwn.net/Articles/390419/
http://marc.info/?l=linux-arm-kernel&m=133823081813044

v2: remove arch/arm/kernel from gcov disabled files

Cc: Andrey Ryabinin <a.ryabinin@samsung.com>
Cc: Naresh Kamboju <naresh.kamboju@linaro.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
Signed-off-by: Vincent Sanders <vincent.sanders@collabora.co.uk>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2014-09-26 14:39:57 +01:00
Russell King
195b58add4 ARM: Avoid writing to control register on every exception
If we are not changing the control register value, avoid writing to it.
Writes to the control register can be very expensive, taking around a
hundred cycles or so.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2014-09-26 14:39:54 +01:00
Joe Perches
8b521cb294 ARM: 8152/1: Convert pr_warning to pr_warn
Use the more common pr_warn.

Other miscellanea:

o Coalesce formats
o Realign arguments

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2014-09-26 14:39:53 +01:00
Christoffer Dall
0496daa5cf arm/arm64: KVM: Report correct FSC for unsupported fault types
When we catch something that's not a permission fault or a translation
fault, we log the unsupported FSC in the kernel log, but we were masking
off the bottom bits of the FSC which was not very helpful.

Also correctly report the FSC for data and instruction faults rather
than telling people it was a DFCS, which doesn't exist in the ARM ARM.

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
2014-09-26 14:39:45 +02:00
Joel Schopp
dbff124e29 arm/arm64: KVM: Fix VTTBR_BADDR_MASK and pgd alloc
The current aarch64 calculation for VTTBR_BADDR_MASK masks only 39 bits
and not all the bits in the PA range. This is clearly a bug that
manifests itself on systems that allocate memory in the higher address
space range.

 [ Modified from Joel's original patch to be based on PHYS_MASK_SHIFT
   instead of a hard-coded value and to move the alignment check of the
   allocation to mmu.c.  Also added a comment explaining why we hardcode
   the IPA range and changed the stage-2 pgd allocation to be based on
   the 40 bit IPA range instead of the maximum possible 48 bit PA range.
   - Christoffer ]

Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Joel Schopp <joel.schopp@amd.com>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
2014-09-26 14:39:13 +02:00
Arnd Bergmann
3a75d1ad9a Revert "Merge tag 'hix5hd2-dt-for-3.18' of git://github.com/hisilicon/linux-hisi into next/dt"
Apparently most of the newly added nodes had the same problem,
so instead of reverting the individual patches, this undoes
the effect of the merge and backs out all of them at once.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-09-26 14:17:26 +02:00
Arnd Bergmann
6b74db0650 ARM: configs: fix duplicate entry in multi_v7
Two of the recent patches each added support for CPU_FREQ, which
causes a kconfig warning:

arch/arm/configs/multi_v7_defconfig:443:warning: override: reassigning to symbol CPU_FREQ

This removes one of the two in order to avoid the warning.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-09-26 13:42:11 +02:00
Arnd Bergmann
e138e3ae87 ARM: at91: fix nommu build regression
The newly introduced support for SAMA5D4 added access to the
'AT91_ALT_BASE_SYS' register area, but failed to define the
symbols in the case when CONFIG_MMU is disabled.

We really should not hardwire addresses like this any more,
but as a small fixup, this patch just adds the missing
definitions for the nommu case, which gets at91x40_defconfig
and any configuration of sam9 and sama5 with MMU disabled
back to work.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Fixes: 726d32bf79 ("ARM: at91: SAMA5D4 SoC detection code and low ...")
2014-09-26 13:00:03 +02:00
Martin Schwidefsky
242a112af6 s390/setup: correct 4-level kernel page table detection
Fix calculation to decide if a 4-level kernel page table is required.
Git commit c972cc60c2 "s390/vmalloc: have separate modules area"
added the separate module area which reduces the size of the vmalloc
area but fails to take it into account for the 3 vs 4 level page table
decision.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2014-09-26 12:22:42 +02:00
Martin Schwidefsky
48e9a6c1f5 s390/topology: call set_sched_topology early
The call to topology_init is too late for the set_sched_topology call.
The initial scheduling domain structure has already been established
with default topology array. Use the smp_cpus_done() call to get the
s390 specific topology array registered early enough.

Cc: stable@vger.kernel.org # v3.16+
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2014-09-26 12:22:39 +02:00
Markos Chandras
8a574cfa26 MIPS: mcount: Adjust stack pointer for static trace in MIPS32
Every mcount() call in the MIPS 32-bit kernel is done as follows:

[...]
move at, ra
jal _mcount
addiu sp, sp, -8
[...]

but upon returning from the mcount() function, the stack pointer
is not adjusted properly. This is explained in details in 58b69401c7
(MIPS: Function tracer: Fix broken function tracing).

Commit ad8c396936 ("MIPS: Unbreak function tracer for 64-bit kernel.)
fixed the stack manipulation for 64-bit but it didn't fix it completely
for MIPS32.

Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
Cc: <stable@vger.kernel.org>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/7792/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2014-09-26 11:41:17 +02:00
Paul Burton
c8c0da6bdf MIPS: Fix MFC1 & MFHC1 emulation for 64-bit MIPS systems
Commit bbd426f542 "MIPS: Simplify FP context access" modified the
SIFROMREG & SIFROMHREG macros such that they return unsigned rather
than signed 32b integers. I had believed that to be fine, but
inadvertently missed the MFC1 & MFHC1 cases which write to a struct
pt_regs regs element. On MIPS32 this is fine, but on 64 bit those
saved regs' fields are 64 bit wide. Using unsigned values caused the
32 bit value from the FP register to be zero rather than sign extended
as the architecture specifies, causing incorrect emulation of the
MFC1 & MFHc1 instructions. Fix by reintroducing the casts to signed
integers, and therefore the sign extension.

Signed-off-by: Paul Burton <paul.burton@imgtec.com>
Cc: stable@vger.kernel.org # v3.15+
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/7848/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2014-09-26 11:33:11 +02:00
Richard Weinberger
7bb38d57fd Remove MN10300_PROC_MN2WS0038
The symbol is an orphan, get rid of it.

Signed-off-by: Richard Weinberger <richard@nod.at>
Acked-by: David Howells <dhowells@redhat.com>
Signed-off-by: Paul Bolle <pebolle@tiscali.nl>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2014-09-26 11:15:18 +02:00
Masanari Iida
f54619f28f treewide: Fix typos in Kconfig
This patch fix spelling typos found in Kconfig.

Signed-off-by: Masanari Iida <standby24x7@gmail.com>
Acked-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2014-09-26 11:12:28 +02:00
Guenter Roeck
6cd6d94d96 arm/arm64: unexport restart handlers
Implementing a restart handler in a module don't make sense as there would
be no guarantee that the module is loaded when a restart is needed.
Unexport arm_pm_restart to ensure that no one gets the idea to do it
anyway.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: Heiko Stuebner <heiko@sntech.de>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: David Woodhouse <dwmw2@infradead.org>
Cc: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Jonas Jensen <jonas.jensen@gmail.com>
Cc: Maxime Ripard <maxime.ripard@free-electrons.com>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Tomasz Figa <t.figa@samsung.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Wim Van Sebroeck <wim@iguana.be>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2014-09-26 00:00:48 -07:00
Guenter Roeck
1a9607a3be arm: support restart through restart handler call chain
The kernel core now supports a restart handler call chain for system
restart functions.

With this change, the arm_pm_restart callback is now optional, so drop its
initialization and check if it is set before calling it.  Only call the
kernel restart handler if arm_pm_restart is not set.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: Heiko Stuebner <heiko@sntech.de>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: David Woodhouse <dwmw2@infradead.org>
Cc: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Jonas Jensen <jonas.jensen@gmail.com>
Cc: Maxime Ripard <maxime.ripard@free-electrons.com>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Tomasz Figa <t.figa@samsung.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Wim Van Sebroeck <wim@iguana.be>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2014-09-26 00:00:22 -07:00
Guenter Roeck
1c7ffc32ea arm64: support restart through restart handler call chain
The kernel core now supports a restart handler call chain to restart the
system.  Call it if arm_pm_restart is not set.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: Heiko Stuebner <heiko@sntech.de>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: David Woodhouse <dwmw2@infradead.org>
Cc: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Jonas Jensen <jonas.jensen@gmail.com>
Cc: Maxime Ripard <maxime.ripard@free-electrons.com>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Tomasz Figa <t.figa@samsung.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Wim Van Sebroeck <wim@iguana.be>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2014-09-26 00:00:16 -07:00
Olof Johansson
32bb231845 Revert "ARM: dts: hix5hd2: add wdg node"
This reverts commit 610bd8722e.

"ARM: dts: hix5hd2: add wdg node" causes a build breakage due to
an undefined constatns:

Error: arch/arm/boot/dts/hisi-x5hd2.dtsi:374.22-23 syntax error

(Don't you just looove the dtc error messages? They are so informative!)

Signed-off-by: Olof Johansson <olof@lixom.net>
2014-09-25 17:42:58 -07:00
Arnd Bergmann
55c71581d4 Fixes non critical for AT91:
- mmc pinmux for at91sam9263 was missing
 - little fix of the old clock implementation
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQEcBAABAgAGBQJUIvtbAAoJEAf03oE53VmQMP4H/1e3NM8xP6ePHSDzYW/SyqGx
 IdFJwRff/FlHTzx23jND6z9SJDLTDu7NhUtABEsOIN+uJ28Vg9FLSR5+XqOfpbGt
 UH9M2Xxla0WClIUzNDcDTyX56vo/TT0M1lnfh7IvP4yR0iWghbvDIWj/4L5Zl52n
 bU1Ac+Spz4kuSShb6PSLxWfZXY7rlEFZbdOUd0ju2AqgLGbf+GeEWl4JcyPBb0id
 MrS2YN5yO+0Ts72QPX7mSDS+RCzTm5ncIw6aLfgJzC0vWWvV6AXn6w6nYNUm/o4+
 BlHZLHYOPVOLoz+uQE9biKcWeZhMR1orWkcIGXxfzao2cOm5WGa3CkuLd+dol2g=
 =VQv1
 -----END PGP SIGNATURE-----

Merge tag 'at91-fixes-non-critical' of git://github.com/at91linux/linux-at91 into next/fixes-non-critical

Pull "Fixes non critical for AT91" from Nicolas Ferre:

- mmc pinmux for at91sam9263 was missing
- little fix of the old clock implementation

Signed-off-by: Arnd Bergmann <arnd@arndb.de>

* tag 'at91-fixes-non-critical' of git://github.com/at91linux/linux-at91:
  ARM: at91/PMC: don't forget to write PMC_PCDR register to disable clocks
  ARM: at91: fix at91sam9263ek DT mmc pinmuxing settings
2014-09-26 01:49:21 +02:00
Behan Webster
49dd0dcfd7 arm, vt8500, LLVMLlinux: Use mcr instead of mcr% for mach-vt8500
The ASM below does not compile with clang and is not the way that the mcr
command is used in other parts of the kernel.

arch/arm/mach-vt8500/vt8500.c:72:11: error: invalid % escape in inline assembly string
        asm("mcr%? p15, 0, %0, c7, c0, 4" : : "r" (0));
            ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.

There are other forms that are supported on different ARM instruction sets but
generally the kernel just uses mcr as it is supported in all ARM instruction
sets.

Signed-off-by: Behan Webster <behanw@converseincode.com>
Reviewed-by: Mark Charlebois <charlebm@gmail.com>
Acked-by: Will Deacon <will.deacon@arm.com>
Acked-by: Tony Prisk <linux@prisktech.co.nz>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-09-26 01:49:03 +02:00
Arnd Bergmann
bb25ce633d Merge branch 'next/defconfig' of git+ssh://ra.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc into next/defconfig 2014-09-26 01:38:28 +02:00
Stephen Warren
7b13e1aa6e ARM: multi_v7_defconfig: add missing Tegra options
Add all HW-support options from tegra_defconfig that are missing from
multi_v7_defconfig.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-09-26 01:30:04 +02:00
Arnd Bergmann
01eacbb84c Samsung DT update for 3.18
- un-use slot-node and deprecate the supports-highspped
   for dw-mmc
 - remove old USB2 PHY node for exynos5250
 
 - exynos4412-odroid-common
   enable PMIC interrupt and i2c improvements
 
 - exynos5250-snow
   fold exynos5250-cros-common
   update display related nodes
 
 - Peach Pit and Pi
   improve power scheme, add support max77802 PMIC,
   add hdmi regulators add thermistor, ISL29018 sensor,
   set i2c clock at 400kHz, add support Atmel touchpad,
   update display related nodes
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJUGLrUAAoJEA0Cl+kVi2xqpTgQAKXkcDw25ITAB/50rpnV0oi0
 qtM8sUA7MuZgtOA0ymQwV2/xGKei+KKYLT14Sgs8UWvQTGYBpj5p8xug35KP0e7Y
 ndpc3I6K9Jx1D3ICu9aEhbuIPNLGxGhxMhcVLrRoH0UTqgQkH2AUpEADuR43HZx7
 jD4wyJZtLhnKoiN8mPWto5tHXAUBG4iKHGYGkubfEGZUk1tHCbV6sBi1+6Dmc/gZ
 QmBrhbB69iSe2Rvza/s7XCTafV18AW7XiWjm/Un3C4ARdZ28YUD6o0Dqb/ol6Eoc
 rmyMxgNUyrabJrvrN9HUi6oXNGWcPl6a3oJoCoL0PL+9ks6pPRST+7rDCN5+a73Z
 xlNl1EiiwHpgXbDufQESMglhV63aJ9BCRpYrj3n2nkJc42qyJNfldjMlKacObqKd
 4S3sTIpfLI6WAk+7/RL47w9MMZtWtWOnJW4hgZ9OGiaRQe+i3lP2X/KYrsZcu/Zm
 ZSMjVSOPc1w+9KxHTbuhsqaHeeDEJRn4eg4xSs6jfCE93l+5qnSQqR0NMQuRtqVk
 4cL0AmowQUHX5dImKpBIg+CuMOvTayBG7ZvhPZSMCCDqm3fEhP5rmsh+NL0UozvH
 9+j9NZV0ZJ3Y+7xzbkww0K04sNKU9ojcj5GYaNYq0QEOM0DtKBlcdSaVyF4ANtJe
 Vv7zahRq1Ub2avVGQYd8
 =aaca
 -----END PGP SIGNATURE-----

Merge tag 'samsung-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/dt

Pull "Samsung DT update for 3.18" from Kukjin Kim:

- un-use slot-node and deprecate the supports-highspped
  for dw-mmc
- remove old USB2 PHY node for exynos5250

- exynos4412-odroid-common
  enable PMIC interrupt and i2c improvements

- exynos5250-snow
  fold exynos5250-cros-common
  update display related nodes

- Peach Pit and Pi
  improve power scheme, add support max77802 PMIC,
  add hdmi regulators add thermistor, ISL29018 sensor,
  set i2c clock at 400kHz, add support Atmel touchpad,
  update display related nodes

Signed-off-by: Arnd Bergmann <arnd@arndb.de>

* tag 'samsung-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
  ARM: dts: remove old USB2 PHY node for exynos5250
  ARM: dts: remove old USB2 PHY node hook for exynos5250-arndale
  ARM: dts: update display related nodes for exynos5800-peach-pi
  ARM: dts: update display related nodes for exynos5420-peach-pit
  ARM: dts: update display related nodes for exynos5250-snow
  ARM: dts: Add support Atmel touchpad for exynos5800-peach-pi
  ARM: dts: Add support Atmel touchpad for exynos5420-peach-pit
  ARM: dts: Set i2c7 clock at 400kHz for exynos based Peach boards
  ARM: dts: Add ISL29018 sensor for exynos based Peach boards
  ARM: dts: Add thermistor dts fragment used by exynos based Peach boards
  ARM: dts: add hdmi regulators for exynos5420-peach-pit
  ARM: dts: add hdmi regulators for exynos5800-peach-pi
  ARM: dts: Add support max77802 PMIC for exynos based Peach boards
  ARM: dts: Improve Peach Pit and Pi power scheme
  ARM: dts: unuse the slot-node and deprecate the supports-highspeed for dw-mmc in exynos
  ARM: dts: Fold exynos5250-cros-common into exynos5250-snow
  ARM: dts: Fix MMC pinctrl for exynos5250-snow
  ARM: dts: ODROID i2c improvements for exynos4412-odroid-common
  ARM: dts: Enable PMIC interrupts for exynos4412-odroid-common
2014-09-26 00:51:53 +02:00
Arnd Bergmann
8446cef1ca Keystone DTS updates for v3.18
- Add IRQ and GPIO nodes
 - Fix SPI chip select
 - Fix usb and pcie clock nodes
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJUIHqLAAoJEHJsHOdBp5c/oAkP/izvFIgYHLD9un5BIlVmyxWk
 WaGFYCXKlIhN/pf0XIGQUjt39ohpXDi63T3vztua5Gk8HV8sCnm+m0aeBRiG1ezf
 M96FeYgcbxiM56dd261JIBeP10cIB44TChP81RFftWE8QTP3Tc6qy1gcjLI5Q7Ya
 7gDOcfhXLa46L7+dm/MBpF+THfJG8MhRro+jCxIYrJEut3/764+QbzemFQaMRzsv
 +L1w+6aayMl+wPMsKr0MiM09AaxmafMrJ9ek1P+uNnh1hbyMI1FY2cXURVflNGFg
 ca6kRxR3T3Lw6o9Ii4cMe0kN1WcN/Vnkl+uxOY12MYbi6tUqzSoM1/TnI4ohTCKf
 mv30yfvPPqvp7pcYgUuC9nCywgaD95CAKdcsJCt8lpFzhwf2StvHbMbIpIwmDKKN
 tTI7zz67zWpnqmBjNSgBL1G631rqvMkKSvLf4gyaBAFNozAX5NJFmUr0Fa48YckL
 XqbmLLmu8viqpuphWx3QHIeHceW/jNLFoYlefWdSlLwiWExrxuKq7tnCmMxyXlai
 clWhNL0LhNjB/g0G6fCmIUIYGqLoNhMUZwj8kHKFWdsYjSqHm+JFeTZ9o/uuKurq
 BEh2jJ1d01ZIaptpFU7SDPt3DKS2AZEPFUhGpJAg88tqYaHc9i7pjyy+sFf/1eya
 jWeWAycqkTQkCyG4eU9R
 =BjWz
 -----END PGP SIGNATURE-----

Merge tag 'keystone-dts' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone into next/dt

Pull "Keystone DTS updates for v3.18" from Santosh Shilimkar"

- Add IRQ and GPIO nodes
- Fix SPI chip select
- Fix usb and pcie clock nodes

Signed-off-by: Arnd Bergmann <arnd@arndb.de>

* tag 'keystone-dts' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone:
  ARM: dts: keystone: fix bindings for pcie and usb clock nodes
  ARM: dts: keystone: k2l: Fix chip selects for SPI devices
  ARM: dts: keystone: add dsp gpio controllers nodes
  ARM: dts: keystone: add keystone irq controller node
2014-09-26 00:40:43 +02:00
Jianqun
a0f95e35c7 ARM: dts: add rk3288 i2s controller
Add dt for rk3288 i2s controller, since i2s clock pins and data pins
default to be GPIO, this patch also add pinctrl to mux them.

Tested on RK3288 board.

Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-09-26 00:38:53 +02:00
Arnd Bergmann
6d50424a39 Second SoC batch for 3.18:
- introduction of the new SAMA5D4 SoC and associated Evaluation Kit
 - low level soc detection and early printk code
 - taking advantage of this, documentation of all AT91 SoC DT strings
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQEcBAABAgAGBQJUIB6OAAoJEAf03oE53VmQL+IIALNg2XPS49u2Y6VMjL3srFLt
 7CUdNoGB7GJKoGrIXPSyAhJLkRlWREgRsEk/RSYqfBpyBZV4PIx9R6dIz1L+VxGU
 9neXLkZGrYNzN8qJPz82+ARuCXdCF13N8ClVfXkNDhwbDnlbZgTkh4hNV118mKLt
 +PF0d3w354ujieUD7D0pOcdRlny487qMNjtc/0U4P+H2sp2EtL0PpFHicn79InPT
 V36PpFtUMEgbw2wQPNtlFkjQWstyZ7WJJGUbIX/2P3PASCwKsgrbmkvDvmfp5tUT
 FdclJwJnxgcpni2fDvbz8Vq04i3hixl2Olm8tAvIXOI/hdVcurvZSfweJ5BrfDk=
 =fMfO
 -----END PGP SIGNATURE-----

Merge tag 'at91-soc2' of git://github.com/at91linux/linux-at91 into next/soc

Pull "Second SoC batch for 3.18" from Nicolas Ferre:

- introduction of the new SAMA5D4 SoC and associated Evaluation Kit
- low level soc detection and early printk code
- taking advantage of this, documentation of all AT91 SoC DT strings

Signed-off-by: Arnd Bergmann <arnd@arndb.de>

* tag 'at91-soc2' of git://github.com/at91linux/linux-at91:
  ARM: at91: document Atmel SMART compatibles
  ARM: at91: add sama5d4 support to sama5_defconfig
  ARM: at91: dt: add device tree file for SAMA5D4ek board
  ARM: at91: dt: add device tree file for SAMA5D4 SoC
  ARM: at91: SAMA5D4 SoC detection code and low level routines
  ARM: at91: introduce basic SAMA5D4 support
  clk: at91: add a driver for the h32mx clock
2014-09-26 00:15:09 +02:00
Arnd Bergmann
0c18acc110 Merge branch 'at91/soc' into next/soc
The soc2 branch is based on this cleanup:

* at91/soc:
  ARM: at91: Remove the support for the RSI EWS board
  ARM: at91: remove board file for Acme Systems Fox G20

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-09-26 00:14:31 +02:00
Arnd Bergmann
05301fe7de First AT91 SoC batch for 3.18:
- removal of 2 board C files in mach-at91
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQEcBAABAgAGBQJUHFcbAAoJEAf03oE53VmQ1IEH/3Bzs3OhF7YTEM0XX10l64lK
 STAVbYurugb6IbvYZ2Q7LY1YOeilaNdZeMmmyivhiIOU5duQURyoSJm1+5VSKF6p
 XYZJcJSNdmoqiSTFmmok8sO8CC0Y2hi+W/SgFO/PHnj15PLECX/KddlfMTjRECvr
 QvbgruHiX1AX5z5nWyjPFDrxrk33rDvjQfVEqMwjNhcV4hGhV6vU8CIRUrqGftH1
 8yGxpGkYYBGlBu6qd9MmgIV0sPmkpMrDaWoEnyphxF8bmZNnkKO0JnxcQCaeHL6v
 tQV8EFxQqm5xQU4vNAWnEiDFj/hrZN3fC5tzrOSj8OoEoPIyQW+XKI64Y3UrZXs=
 =Q1d3
 -----END PGP SIGNATURE-----

Merge tag 'at91-soc' of git://github.com/at91linux/linux-at91 into next/cleanup

Pull "First AT91 SoC batch for 3.18" from Nicolas Ferre:

- removal of 2 board C files in mach-at91

Signed-off-by: Arnd Bergmann <arnd@arndb.de>

* tag 'at91-soc' of git://github.com/at91linux/linux-at91:
  ARM: at91: Remove the support for the RSI EWS board
  ARM: at91: remove board file for Acme Systems Fox G20
2014-09-26 00:12:30 +02:00
Arnd Bergmann
ddfe53d1cb Clean-up for omaps for v3.18 merge window:
- Remove unused pieces of the legacy DMA API as we're moving to
   dmaengine API
 
 - Search and replace to standardize on pr_warn instead of pr_warning
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJUGzmvAAoJEBvUPslcq6Vz53kQAOAS6Rxp03mmjflegqkVzech
 JUPBfGQHVwcpbYQU53+ZCt2Bfg0iaD6xL2BtBfS8tsaePDwqT6kVFrDBqWuIiT6S
 Taq2NUzqAhdgva74a6VAh0VSpPK4ui3cdXRoXvMfZRvOtR8bbfAprAWYyWipy2RM
 4y07a9dcd1SalcWDJttfXxBV7ImqXPf1e6dRtxYRBBshoNJ46/nk8nS9HblaoJbJ
 L3FdmOw7x5jG1nSO4dmhsGzg0PmfjKJwe+rGYPVLuEPil6Sc0VDJxGF8ZyAyK+/K
 r8ZvIdbWLiJ6ga/ehMNaZaz6sOsSPRAWWSTOOGUlJvBUiOgHH8P+/Y/3fCkcjTlT
 Rg15sij0aBVQJNGNEif9xd19f1tnlthSnjIt593YnqElCN50lnNDBt+bVICTlszd
 sXbPZtO8vZ0PHEDshBpWvjyPKyN1CrRTVHtGJXZr/zNWoK2Y1NvsdOYR36AlQugW
 WhA5hklyJnRpdbiU84fBon9pbowAOIMcLctBqpK5RyqyC+vVgopcaoMWl9F1XW/r
 cAcGVm/zAWfWm01XeuJu1R6DOdLxUvi0Sn7UrXcsPwEYR2pp0NdQQUmNEX3Ko9cW
 rIO7emEqQvUdY/K+wa5HzhVMHk5VuBIUb8nT30KjOCEGOB7QhEb/6ly6D0pxLFJ0
 RtC70hvqxGWawiNpGadr
 =ZNTi
 -----END PGP SIGNATURE-----

Merge tag 'cleanup-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/cleanup

Pull "Clean-up for omaps for v3.18 merge window" from Tony Lindgren:

- Remove unused pieces of the legacy DMA API as we're moving to
  dmaengine API

- Search and replace to standardize on pr_warn instead of pr_warning

Signed-off-by: Arnd Bergmann <arnd@arndb.de>

* tag 'cleanup-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  arm: mach-omap2: Convert pr_warning to pr_warn
  ARM: OMAP: Remove unused pieces of legacy DMA API
2014-09-26 00:09:49 +02:00
Arnd Bergmann
16529509a5 Changes to add dra7 PMU, display support for cm-t54, misc
changes needed for omap3 boards for device tree support.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJUGztXAAoJEBvUPslcq6VzvYQP/RAqIs92dr8Xd0bhqUeIjnBC
 6tUjBowX1MvpeW9vkN6omBICzVnkZeuwTSLVYIeQlJQ0KH86Z8kMjcTVrBs9JPaZ
 KL71sw6TSf55Ljyb5ODwKDcErd45Vc3JrWmNCjk6yQAxWxmr5/IyEN/FIpVhxu5P
 vvTT1G9HmBdJOBc3FlHy2qdygnhOQHWZI4L3GMiDtJID1MJGIwm/rvniqG83qTlO
 5CbjY+AUcoTD2Ggt6IkWIarbgcTe8cTKKHvC0kw5l89VssVLVL4T47r9TgOQGsK4
 PpaCqkmcMGe0A3JSTZ+viCAbGVBmblakUpAugpk5cynz0IX1N2PHy1kAlP3v8g8j
 Oj4AJMgwa9gVXQb9ZOqyisjT6GlUwouWgioAg8+xouFpkQNyvkTnR8NZiupgzIN4
 CbPqLT8si1BUNQzbqvgTUmCyrlvdjc872XeAeKKiirXXp0ujYLBCe4RDKudyJLkE
 Ve+pjE3G0rYYXjlQivZyIQk+KVxrr0VjZiXHqLEO33bPp9YTBBjNQ/SYX6UQyTWC
 yXNLLD7iS9kTKDCv/p5Jg/1fr6EVkITyIMKSzOhdosNgKhFTpLflrKXf9mkPtBdV
 qQm62bFGIgpNnb/jIc0+gXcMlmSQYZdp5v2DkW7zaodFee99sm7XN9fFpYq1E8Q3
 3PFerwHRAxfnoOWW3VFA
 =7kOC
 -----END PGP SIGNATURE-----

Merge tag 'dt-part2-v2-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/dt

Pull "part 2 of omap dts changes" from Tony Lindgren:

Changes to add dra7 PMU, display support for cm-t54, misc
changes needed for omap3 boards for device tree support.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>

* tag 'dt-part2-v2-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: dts: DRA7: Add PMU nodes
  ARM: dts: cm-t54: setup omap_dwc3
  ARM: dts: cm-t54: add ADS7846 touchscreen support
  ARM: dts: cm-t54: add Startek LCD support
  ARM: dts: cm-t54: add HDMI/DVI display data
  ARM: dts: cm-t54: fix mux mode comment style
  ARM: dts: sbc-t54: fix mux mode comment style
  ARM: dts: Enable PMIC idle configuration for LDP
  ARM: dts: Add support for Ethernet on some N900 macro boards
  ARM: dts: Do not set pulls for I2C lines
  ARM: dts: omap: Remove WAKEUPENABLE mux options for UARTs
  ARM: dts: omap3-overo: Fix UART wake-up events
2014-09-26 00:08:06 +02:00
Arnd Bergmann
cd95427481 Few hwmod changes to support upcoming 8250 driver with DMA,
start using the SRAM driver for some omaps, and update the
 defconfig.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJUGzhLAAoJEBvUPslcq6VzHcMQAK/WsTqmMgZ6ydOQGzOuyELi
 wLUrSdIHmw6vRYAdgWlXHS9X/F3avqS3tDXjUgW7801prbVn1MvSZ+Re3e862Md9
 GdDpB2Q1fV6J9BFXY8nENkHIf7S86Nnsa5yGh6i6IIPHizmb2jf2KrRRSrsrRVA4
 00PhmTlLaQb4Xuo4WG2PkOF/g10/vBqboRsG8Jhn9QTlBUYByYqNJJ3tKw9gHccr
 UdYe94XjX6HLfenSv/FeWobk1QMnNJdjXmj4obgZtauKku6ZUOA5y41spirry8Rg
 G9d+MJByrwG/2O2Vq71Ap0HSlGN00odlFco1FIUw8K3d5RVYD2VLDE+ROJiFBSKg
 yavCrmZj7aTh+fMZuvprFKo0PBMlqZMCCsokz51MWxql6Unt9eXKbAey40KtAoo6
 Y6Nq4ijdirJTWcdnKjk3dg4Mz6avHRSP+8YqndxNnnI1WS3++aI/GJNT5sCYuDG5
 DezFkKET3DvIpKxHByh+n+H6P8NV3MPQ6vvV2qZAv3mvnDdA109Rgb2XamHKgf6z
 dP76dA05K7/XFCRjZwbSAYJYAA3nU51fPkH1lO79oBwuP8OCqcBo6CAk22lXZupW
 Dkkk+LWhYRAEvExHVEUs6raGJErOrFLtWF3wLkWVjSWZDC+Pb5psHqzGw9ck2Po1
 aI+/ZyHh2P8Nl7X1G7kZ
 =iau9
 -----END PGP SIGNATURE-----

Merge tag 'soc-part2-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/soc

Pull "part 2 of omap SoC changes" from Tony Lindgren:

Few hwmod changes to support upcoming 8250 driver with DMA,
start using the SRAM driver for some omaps, and update the
defconfig.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>

* tag 'soc-part2-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: OMAP4+: Remove static iotable mappings for SRAM
  ARM: OMAP4+: Move SRAM data to DT
  ARM: AM335x: Get rid of unused sram init function
  ARM: omap2plus_defconfig: Enable some display features
  ARM: omap2plus_defconfig: Enable battery and reset drivers
  ARM: omap2plus_defconfig: Add support for distros with systemd
  ARM: omap2plus_defconfig: Add cpufreq to defconfig
  ARM: omap2plus_defconfig: Shrink with savedefconfig
  ARM: OMAP3: Use manual idle for UARTs because of DMA errata
  ARM: OMAP2+: Add hwmod flag for HWMOD_RECONFIG_IO_CHAIN
2014-09-26 00:00:02 +02:00
Arnd Bergmann
6839dbbb16 Second part of omap intc interrupt controller changes to
move it to drivers.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJUGze9AAoJEBvUPslcq6VzL4oP/3WxH63RYT2eAyYQ8EGEpPiu
 puAfHh30Rrc+TH9ir51DbdXbcGnimOsJSHP89oEM309NKsMhezVx7htDAMKGguNt
 wH9uU9LSJtoAHiO06wQOQJCho2UCYd6Fywveauhauxw7k9EQ6uHZlN3q/knLH6r2
 2eV6E7aHeqwOWFlajOQywICeu7vlmYmEJCdrbcl+GAWzfzH+yiBHfJwzns1RIvmv
 A4qBHvbejL2053Iz4BpO+6iGBLfvzCjoNZn37i/Etc32MTf4cVLRXeoqQBTfthxS
 27R5CeT+EHTEU9q77uRF3R1t2PzoUZPx04zPEntYsiBLTRtlolbC6WrMAmPNKYS+
 ePwkbVNvhapXzKD5SlcaC+8aY29rToF4l7pCh7ARWG2IYMlZNWRgkeQPWS76LF2O
 53g/cy+FUaW2WSWjwL/ktnRdv50ShzUngcdaOrztK9mnF8MihlmbZwoTk5JLFQP6
 Ick7vc2SVVMP55d7tMhPWH7o07Xc0KvUb3goSvsA4z7KMopaqFAw5s6nZx2QwA6o
 LLJNbShIRPrsbi21dohkE/WUUAHFjFsWcckfzK9XKOMM9RRY6usAFVvp3XwM0326
 xRcd8vvAb5DP2nbBYxSqLYygCQKG80KlpF9Uvuk3NCK5aPo3gEcJs8/qzv5ZwFjq
 DIWYy/AVRYGQhY/8GJUP
 =cYAz
 -----END PGP SIGNATURE-----

Merge tag 'intc-part2-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/drivers

Merge "part 2 of omap intc changes" from Tony Lindgren:

Second part of omap intc interrupt controller changes to
move it to drivers.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>

* tag 'intc-part2-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  irqchip: omap-intc: remove unnecessary comments
  irqchip: omap-intc: correct maximum number or MIR registers
  irqchip: omap-intc: enable TURBO idle mode
  irqchip: omap-intc: enable IP protection
  irqchip: omap-intc: remove unnecesary of_address_to_resource() call
  irqchip: omap-intc: comment style cleanup
  irqchip: omap-intc: minor improvement to omap_irq_pending()
  arm: omap: irq: move irq.c to drivers/irqchip/
  irqchip: add irq-omap-intc.h header
  arm: omap2: n8x0: move i2c devices to DT
2014-09-25 23:57:23 +02:00
Pawel Moll
478a4f81af ARM: vexpress: Add CLCD Device Tree properties
... for V2M-P1 motherboard CLCD (limited to 640x480 16bpp and using
dedicated video RAM bank) and for V2P-CA9 (up to 1024x768 16bpp).

Signed-off-by: Pawel Moll <pawel.moll@arm.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-09-25 23:54:33 +02:00
Arnd Bergmann
e1e85e76ef Merge tag 'bcm63138-v4' of http://github.com/brcm/linux into next/soc
Merge "ARM: BCM: Broadcom BCM63138 support" from Florian Fainelli:

This patchset adds very minimal support for the BCM63138 SoC which is
a xDSL SoC using a dual Cortex A9 CPU complex.

* tag 'bcm63138-v4' of http://github.com/brcm/linux:
  MAINTAINERS: add entry for the Broadcom BCM63xx ARM SoCs
  ARM: BCM63XX: add BCM963138DVT Reference platform DTS
  ARM: BCM63XX: add BCM63138 minimal Device Tree
  ARM: BCM63XX: add low-level UART debug support
  ARM: BCM63XX: add basic support for the Broadcom BCM63138 DSL SoC

Conflicts:
	arch/arm/Kconfig.debug

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-09-25 23:50:02 +02:00
Krzysztof Hałasa
367dc4b75f CNS3xxx: Fix PCIe read size limit.
Max_Read_Request_Size is 3 bits wide, not 2 bits.
Also fix the message.

Signed-off-by: Krzysztof Hałasa <khalasa@piap.pl>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-09-25 23:35:01 +02:00
Krzysztof Hałasa
defaa4d1dc CNS3xxx: Fix logical PCIe topology.
Without this patch, each root port and the device connected directly to it seem
to be located on a shared (virtual) bus #0. It creates problems with enabling
devices (the PCI code doesn't know that the root bridge must be enabled in order
to access other devices).
The PCIe topology shown by lspci doesn't reflect reality, e.g.:

0000:00:00.0 PCI bridge: Cavium Networks Device 3400
0000:00:01.0 PCI bridge: Texas Instruments XIO2001 PCI Express-to-PCI Bridge
0000:02:...
0001:00:00.0 PCI bridge: Cavium Networks Device 3400 (for the second lane/bus)

-+-[0001:00]---00.0-[01]--
 \-[0000:00]-+-00.0-[01]--
             | ^^^^ root bridge
             \-01.0-[02]----...
               ^^^^ first external device

With this patch, the first external PCIe device is connected to bus #1
(behind the root bridge).

-+-[0001:00]---00.0-[01]--
 \-[0000:00]---00.0-[01-02]----------00.0-[02]----...
               ^^^^ root bridge      ^^^^ first external device

Signed-off-by: Krzysztof Hałasa <khalasa@piap.pl>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-09-25 23:34:54 +02:00
Krzysztof Hałasa
b125170a39 CNS3xxx: Fix debug UART.
UARTs on CNS3xxx are 8250-compatible, not AMBA.
The base address for UART0 is 0x78000000 (physical)
and 0xfb002000 (virtual).

Signed-off-by: Krzysztof Hałasa <khalasa@piap.pl>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-09-25 23:34:37 +02:00
Lubomir Rintel
bf7389c49d ARM: bcm2835: enable USB_DWC2_HOST in defconfig
It broke when host was moved into a separate module, in 47a1685 ("usb:
dwc2/s3c-hsotg: move s3c-hsotg into dwc2 directory"),

Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-09-25 23:27:03 +02:00
Mark Brown
667bbd5337 ARM: bcm2835: add I2S pinctrl to device tree
Signed-off-by: Florian Meier <florian.meier@koalo.de>
[Tweaked slightly to disable by default -- broonie]
Signed-off-by: Mark Brown <broonie@linaro.org>
[swarren, removed duplicate i2s node]
Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-09-25 23:25:30 +02:00
Arnd Bergmann
2b3a47d7a0 Samsung cleanup for 3.18
- remove unused <mach/memory.h> in exynos
 - local <mach/regs-clock.h> for s5pv210
 - cleanup boot address calculate for exynos
 - remove separate restart code for s3c24xx
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJUGLtMAAoJEA0Cl+kVi2xqZgsP/i4J6DJeiihnPY6YgFVRmKLY
 4VJeUJahAlE1gjAG+gFKDZtfw/VgCm8VuWyJQORtVHBTgPhThnJumGuHrJUj8EQA
 oM9zb0CNQu+YyDY5R4af7gA6BGw0B99lmOGF3cymC+8rtin20rolXT79RQJCSLq/
 kSVP1jGgHnLouGop2Up6HtrTRBAdypwxxeKlwpRSYb6+NF17TW6cOqdO514QkHtd
 3ivCcd6grzH7t0DixXKBaeqOdxJeA1/t+v/1hMzmVrX4WOlLXdHq5K1Q7z+EjL6D
 Lqe7LZNwqJkdKS+yRaGqbnaObZwkwC1V8BEPoQvhbU9Uve2PmkIcrg4SgGA7zLtp
 qwfG4C1z9hooEhjhIQ6W3c+aIAKxVEGiEmnXG0w5diD2ElB+JtISIt0oftT0LuJX
 o+WF5r8a5hfuL3VzQlQKJehMojY0KEqkgOHWF5HTIWCsYjSKrkSq9ra3P5UrO3p6
 abMseGD5bKRGEcdEWMdINb05n4Mrn+APzltswD5dftsBx+13otapleloIkmdwOSz
 4YOH8ysx4HvOPz6P95rdYC1SZ+rqkOspt5eifrDP+6Q6saBahjR6AHWxKHbkkD3A
 w9JlY/iBlRP10W7FAaYw/cYut0nm+OVSPHyKrToUyXy5kz1R3tG+y576NjaLGMRx
 uDePfIZSjYo0HSVjpN7B
 =4HVZ
 -----END PGP SIGNATURE-----

Merge tag 'samsung-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/cleanup

Pull "Samsung cleanup for 3.18" from Kukjin Kim:

- remove unused <mach/memory.h> in exynos
- local <mach/regs-clock.h> for s5pv210
- cleanup boot address calculate for exynos
- remove separate restart code for s3c24xx

Signed-off-by: Arnd Bergmann <arnd@arndb.de>

* tag 'samsung-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
  ARM: S3C24XX: remove separate restart code
  ARM: EXYNOS: Do not calculate boot address twice
  ARM: S5PV210: move <mach/regs-clock.h> into mach-s5pv210/
  ARM: EXYNOS: remove unused <mach/memory.h>
2014-09-25 23:23:34 +02:00
Arnd Bergmann
0bee2b6f44 ARM: DT: Hisilicon terminal SoC HiX5HD2 DT updates for 3.18
- Add watchdog, gpio, sata, usb, mmc and gmac nodes in HiX5HD2 SoC DT
 - Enable sata and gmac in HiX5HD2 dkb board DT
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJUF8R5AAoJEGROujcbgXtLUtQP/A2nZVYqBAAdZCeflFyvphlg
 6Vl83VzcSo/vfzJ++u4Hq3OFxUMfnlV1oOfFIaT4OgKFElC5pWReVrmPhKkt1FxL
 lPQypxwsguj3ROX+/d0CS/7DZxbEFrpir20kZnj/jezCOxBHYXT9D1Q+iEZpENnM
 qiADLtJZi3bMwJVHpNEMAVQ6roPKwCkf4wieeP+jrdlubuY+voxkPkW6heh6JLxY
 6WBfpfor+SrY/1I9WpMrvu9i7kvbTbfpgW7PvNpfh8oitFN7rZZZ4KPcYBb3w5Sp
 ZAIgIQAQ1o7ZKJkCip6fE723mD4/gGMx+uLqNb6CZG+YAPyIchAkMH7QAyzEx4t0
 K8SCMhgtyf5Fc7VT0xH8I81eCQtq2LOeFEPrV7QikEkIi1b8Be3w+4nSOMErt46P
 rcQgZq+9Ads3qV9L/BZ8IiwEdW2a+5Nvrzs8bncaQArZ4fsTR5RMeqhcrmK7aVAY
 QRhbHi0yG3GVQpK+lyqKdvUG55C9sUekF1AAdo2tQJwQk+/Q0FzaMucrBOtC6f4H
 qPfuTJAnP9XyaQ216SS2+T7LLX27g0XkhB5T4VX1bi9UsO3Ucg539kWTUw+jODWz
 vYKis3jq7TJRrzuJgWQopaaY9J5xgNt25YdnkytY7xxbyP9R5jcJ13Srjztn9X7o
 l51xb8XM8sRB6tNOVRjT
 =BIjd
 -----END PGP SIGNATURE-----

Merge tag 'hix5hd2-dt-for-3.18' of git://github.com/hisilicon/linux-hisi into next/dt

Pull "ARM: DT:  Hisilicon terminal SoC HiX5HD2 DT updates for 3.18" from Wei Xu:

- Add watchdog, gpio, sata, usb, mmc and gmac nodes in HiX5HD2 SoC DT
- Enable sata and gmac in HiX5HD2 dkb board DT

Signed-off-by: Arnd Bergmann <arnd@arndb.de>

* tag 'hix5hd2-dt-for-3.18' of git://github.com/hisilicon/linux-hisi:
  ARM: dts: hix5hd2: add wdg node
  ARM: dts: hix5hd2: add gpio node
  ARM: dts: hix5hd2: add sata node
  ARM: dts: hix5hd2: add usb node
  ARM: dts: hix5hd2: add mmc node
  ARM: dts: hix5hd2: add gmac node
2014-09-25 23:21:09 +02:00
Bjorn Helgaas
b1bf295778 Merge branches 'pci/host-mvebu' and 'pci/host-spear' into next
* pci/host-mvebu:
  PCI: mvebu: Fix uninitialized variable in mvebu_get_tgt_attr()

* pci/host-spear:
  PCI: spear: Pass config resource through reg property
2014-09-25 13:51:55 -06:00
Arnd Bergmann
cd7555aeae Allwinner DT Additions for 3.18
Mostly:
   - A23 bringup ongoing
   - New boards: HSG H702, Merrii A20 Hummingbird
   - sun(4|5|7)i DMA support
   - DT relicensing to a dual GPL/X11 license
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJUHeJlAAoJEBx+YmzsjxAg+ucQAIRU5OYdzKt8shq4sVfn+X2E
 ST65yLSzDIOtsZzvojL8otyCiIaaMza5Q8K68bYPTPfGKM7fhDlP4ldWeOB2+sB7
 dnLYnUluLrK/aDn92DuaXqPmC7HI3R+QYElwfxNtc/39+DHJfjD1mHSiDcV856Lx
 zjh6b1dFced7JV4Gz9yxkzT0eWXOEvo2gI87vd/V4AlEAw4fzYkWBkHrYYlBLknj
 T2BGFOyZeXB6/DyaJjImLyjG4p7YqJMaICOC3JsRa/vAYmF1i39uRw0A3VTQCXxh
 CvoV8v9NjWmszDvHcrG7tA5gB3Y+jUGOkOdAhFuT0mm8GyzIaU6muRD/thhvhHg4
 JsUNIFnRRs/uRQTv+YSyXGupq9NZo1QtnTSRqKmPqZSDMf2KGaacntvzjoBX7NOQ
 aTauTfTnEshyI/XnCjQ4hxjAjbh3mSBLCTjlfFUllOQwHMFgFkTYCO1z6g6oRxQ4
 CZ6UZZ8LO/XfbfnaKh5WR2he/+cqgmdSvZWCB6B01QWY3ZqPn3OE83sCqNBv69P1
 aLzO173d4crL0lhEMCjHi4B9zVar05FTJ2VjEKRXRZ97NGpaCteY5sa9Ck3+jaDr
 vvlaqHK1rpYtLwXv6Um034AWVJ8SNSR1bHN4dzmwgjqtNmdz5Npv5YarTWz4CPuB
 MQaca/w/SKLq9jl9gtnv
 =PNFc
 -----END PGP SIGNATURE-----

Merge tag 'sunxi-dt-for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux into next/dt

Pull "Allwinner DT Additions for 3.18" from Maxime Ripard:

Mostly:
  - A23 bringup ongoing
  - New boards: HSG H702, Merrii A20 Hummingbird
  - sun(4|5|7)i DMA support
  - DT relicensing to a dual GPL/X11 license

Signed-off-by: Arnd Bergmann <arnd@arndb.de>

* tag 'sunxi-dt-for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux: (30 commits)
  ARM: dts: sun8i: Add DMA controller node
  ARM: dts: sun5i: Add DT for HSG H702 tablet board
  ARM: dts: sunxi: Add fixed 5V regulator
  ARM: sun8i: Relicense the A23 DTSI under GPLv2/X11
  ARM: sun7i: Relicense the A20 DTSI under GPLv2/X11
  ARM: sun6i: Relicense the A31 DTSI under GPLv2/X11
  ARM: sun7i: Add support for Olimex A20-OLinuXino-LIME
  ARM: dts: sun7i: Add Merrii A20 Hummingbird board
  ARM: dts: sun7i: Add uart3/4/5, i2c3 and spi2 pinmux
  ARM: dt: sunxi: Remove i2c controller clock-frequency that matches default
  ARM: dts: sun8i: Enable i2c controllers on ippo-q8h-v5
  ARM: dts: sun8i: Add i2c controller nodes
  ARM: dts: sun8i: Add pin-muxing info for the i2c controllers
  ARM: dts: sun8i: Enable mmc controller on ippo-q8h-v5
  ARM: dts: sun8i: Add mmc controller nodes
  ARM: dts: sun8i: Add pin-muxing info for the mmc controllers
  ARM: dts: sun8i: Add mmc clocks to the dtsi
  ARM: dts: sun8i: ippo-q8h: Add pinctrl properties for R_UART
  ARM: dts: sun8i: Add pin muxing option for R_UART
  ARM: dts: sun8i: Add pinmux set for uart0
  ...
2014-09-25 18:13:49 +02:00
Arnd Bergmann
cb88e7cdd1 Allwinner defconfig additions for 3.18
Nothing major, just a few drivers additions and misc options
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJUHd/DAAoJEBx+YmzsjxAgHKMP/0MwySqAfMZBXOs4iYsCsEN7
 ZE/PMH616d10nJFJ34nE6yNfqLV/ma7QD2rNBa1y9sikWlDWN/JL7SDtOFPg/iry
 xosTdstaSnDn/et3rxL/kyTIHHGL16t4B1NsmBl+IyqqtFYShYxdHTRGuZbK9tw3
 6jcr/XEMsDsT0LB8ZrJAiPixfuT58KLBLMK66zRmvuCruDYbkPtd2lmc79WeiQXJ
 YLnDiIIWcGsGBCiYfwW907mQzqq0VJr855RTOd+Hnv2McN7AiWjl6wOOB0fGWG8j
 NqlEBfgttqFeNJw60ocqoyBVKVw2YMUm7ohYm6zhezH3Pb2TfTjiT4oC4O5Pv9qI
 XVebFGY17hdtyBNo2kt1maboFty5f8AaVz6RQRM3U3dN2KyKpIiXopKUDp4DLeTu
 E+zpGTV2pAtRZISCvjrUG1EKeK+GT92JUtX4FTjgWfdHYL5wUt9nasAu6hxh6yss
 nHXZaY6XTAcVqOo5gGu+Cs3+JHe8/uU55HU/HvYfd5v4zPZ8t5zMwI5jyAcL7v7f
 YxMp32LfuNXq8L5y/Um93VevdZzsn+T068o27557M+BTaOhhix/UaUUd60cCZMLd
 ZuN7jLi9WELcNXbHPKHjbkB1l+r0NIeoysB3qd85K9H4R3driKGJ/sLveX/xnaxY
 Aqx4QO0930+OrE9Yigtk
 =+yQb
 -----END PGP SIGNATURE-----

Merge tag 'sunxi-defconfig-for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux into next/defconfig

Pull "Allwinner defconfig additions for 3.18" from Maxime Ripard

Nothing major, just a few drivers additions and misc options

Signed-off-by: Arnd Bergmann <arnd@arndb.de>

* tag 'sunxi-defconfig-for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux:
  ARM: sunxi_defconfig: add NLS_CODEPAGE_437 and NLS_ISO8859_1
  ARM: sunxi: Add A31 RTC driver to multi_v7_defconfig
  ARM: sunxi: Add A31 RTC driver to sunxi_defconfig
2014-09-25 18:12:02 +02:00
Arnd Bergmann
57e33ff1db Fifth Round of Renesas ARM Based SoC Soc Updates for v3.18
* r8a7740: Fix documentation error coppied from elsewhere
 * r8a7794: Reserve memory for CMA in a manner consistent to
            other R-Car Gen2 SoCs
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJUG61hAAoJENfPZGlqN0++YrEP/2AUMZCOUlKOz71JMS9d26vD
 g64wXv8SEezY+RwBnxO2CNNPGUQf+3RjGNIyEhE62PbF7y6RcDz6sFxhR7FKrnf4
 aDFC/fyh2jot3lsPmEv8fBH94FkmAao/dyO6nAlaJ64ACGDoApecWlL3KFBG6i7a
 QRB3e+tRetGEHQsdlwLrap8SJN0YigkjFKorOVHEAHnQlNnULCRYcGgJo742jGyr
 6IEiZUGn5OOWWRtiTWs1oWQbMsnbHmgG4l6/51NKkuD/uoxq7gMbBiHu9ht5npmo
 e5zPQ+1ILA9hI43Mk52vfilNXdBn7urTjc6CtROXWBer35smJ5kpxj5WSKpT7jTN
 MXENqilQiYeTbP5GR3p96p4JiL2U3Zd+frxfsPOMgyfvTGEdYFULfuXgblgwEGv2
 RC/8AB8lfcnwPnkI1C21GR2Zbt7bw8ytJD9iQoTb1GEqyVMd/Oxrp0S+/Zk9EoVW
 w+3fCRJrBQVmTDi9XArqt5IgpjloZndfkwVX6J45/KJu4/gFCv1AKYSw7bD/rNrD
 cZzDYtkj9DbO125gDDfyJo+jMOMJGVUnHv9XSLgBpUbaEKfa9oh2hpwPoM0C/OS5
 KHMISR2rFu4vVteLlANLODSFoprM1Xyd4NDFqp5bdwN7RoMZFLOHHwlzmMXn/Xc8
 lladCk6BwpEkOUYYriG3
 =wfDI
 -----END PGP SIGNATURE-----

Merge tag 'renesas-soc5-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc

Pull "Fifth Round of Renesas ARM Based SoC Soc Updates for v3.18" from Simon Horman:

* r8a7740: Fix documentation error copied from elsewhere
* r8a7794: Reserve memory for CMA in a manner consistent to
           other R-Car Gen2 SoCs

Signed-off-by: Arnd Bergmann <arnd@arndb.de>

* tag 'renesas-soc5-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: r8a7740 legacy: Fix copied bug in comment
  ARM: shmobile: r8a7794: Reserve memory as other R-Car Gen2 SoCs
2014-09-25 18:10:40 +02:00
Arnd Bergmann
45c636b46e Fifth Round of Renesas ARM Based SoC DT Updates for v3.18
* Document manufacturer for KZM boards
 * Use SoC-specific irqc compatible property
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJUG6yEAAoJENfPZGlqN0++CGUP/1XqrqiyBtjpcwn+PXbGDli/
 DBUpj3shuCG4nWmOxR2KYHP9KGHBOOdENr1vYNjOtYP8YY6uUcbwbl2uGcfjWyMT
 7BQOFIKpxVY8fsC0SPf+3UlqbX7JrPdhzavtJ5U/q/6/JI4B2baFk3f56Wp2YkRG
 As7xIu9ntbSj30MwXmYzZ0Ct5J5n6t+lPR4E628CuwnYVYbbtMXeN15d0ZL0z1o5
 u9DfH/gdhZVYBqHuuTbXyRE4TDXDNdKIQkxnmrPs3oH4j7rYzHA0/ImSor+t/uRl
 ANklHlVL8V2Sym7rCHeu0U2jdLmCRYLvzbpJz28xyTtWGNKAoWbB8Nixr/A6cNm5
 d4jcLfrt8wnARnLxg84aL9tvpSCBXWSnrNCDIM20LW8uphAqw7GolxW6kmeuKmJB
 VBTa5DSdbrimeedsBU6HS7rkBSJKqhPzF/DmOzKY4a+AOBEi2OgsUhhUYHTsyYPs
 jWPFB7ViqPmPaB4BUTaWIgnbK9dWmFKfhd8kr/DmkvvX/aw6Yul0ulAymU/SMIEU
 DgDJL8h4H1r5Zwak10lRCzNdDraip7ufqmLe31IefNg6Lsz+Gf5JypptQuSBIwDU
 QBemqhS/8yFQ+Cc8ae1v+gNgNXwUEmpVfefwnB5mr3250POPE9fjrX9IJsJGdwvw
 MED5gr3YDTvH5Ej7VJ6X
 =t5J9
 -----END PGP SIGNATURE-----

Merge tag 'renesas-dt5-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt

Pull "Fifth Round of Renesas ARM Based SoC DT Updates for v3.18" from Simon Horman:

* Document manufacturer for KZM boards
* Use SoC-specific irqc compatible property

Signed-off-by: Arnd Bergmann <arnd@arndb.de>

* tag 'renesas-dt5-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: Add manufacturer for KZM boards
  ARM: shmobile: r8a73a4 dtsi: Add SoC-specific irqc compatible property
2014-09-25 18:08:56 +02:00
Arnd Bergmann
a508698e6b fix PXA3xx SSP naming issue. It's imported by 972a55b62 ASoC: fix pxa-ssp compiling issue under mach-mmp from v3.5
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJUGx3hAAoJELXbXY/c+iv2QZIP/0nvU6RWgqF0FRArjb7HeIG7
 2xL/1oTLPBTmOXQDx0k09DdY/nDHJY6xM4dXRsY/SKXxW1hf3xongpONj9fsMYCF
 UOlI7QTpwznxpKjv/Ak8mgdP+6jUSg7v7mgCw7MMPhI9yQN9XjJyeS4ylWy+Cij8
 JYTMuDFV+s7EXK+bmfIdJQ8D4qAPXhYnbZfNfhU+UVgRtMl7chtNPsBeccSt4pz5
 N0WTVkrlQaw+lk1VlPWX+8e5bK7cnZeF9NUa/yd7cRp+146g5muBOoQekDVBgBi/
 c3V/+5a0YL+0PzNunitxaxyaW62EfX8PUk/3/Lzc7KUGAYKQeBPEjaZFFXo+Hv3c
 dIFPkl/DtbYdVnriG2jyCGl6Q6zGq4zuBb2h8KFKWyxT8pVOsFGdiFG0GUtlgexh
 YhmO7HnCapNAl00d11fFYr2hlBdXC1Kea/Pz7LfM43HZGb8ybzucEJ89+RaQQCon
 kxk0gxZQbE3BczWls3Nvnr4FVUYf4kwI9AQxmVlltcxqVt5B3148tNiKGTCKvTUl
 U+g/WvDOx9foPscpWOhC+KvKEo3UDOItnW1b0XTRkceZXz8ONDhL/fXarO/lmat3
 dNu/25+VPkZxSeoqak2bAx0c/a/0uMYPD/YB18mQoOn5xnaep3VUQqnYzmXrH89x
 DGKiYhHFoxpKXmPNhi7W
 =wGqT
 -----END PGP SIGNATURE-----

Merge tag 'pxa3xx-ssp-name' of https://git.kernel.org/pub/scm/linux/kernel/git/hzhuang1/linux into next/soc

Pull "fix PXA3xx SSP naming issue" from Haojian Zhuang:

It's imported by 972a55b62 ASoC: fix pxa-ssp compiling issue under mach-mmp from v3.5

Signed-off-by: Arnd Bergmann <arnd@arndb.de>

* tag 'pxa3xx-ssp-name' of https://git.kernel.org/pub/scm/linux/kernel/git/hzhuang1/linux:
  ARM: pxa3xx: provide specific platform_devices for all ssp ports
  ARM: pxa: ssp: provide platform_device_id for PXA3xx
2014-09-25 18:06:05 +02:00
Arnd Bergmann
84bdd3a491 Since DT aren't fully enabled in pxa2xx, it's fine to merge them in v3.18
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJUGxqOAAoJELXbXY/c+iv2UBIP/2Sh/qtZw3Z5dFNrtCz0VbLE
 v5wVhy03txuEqmHw5n0jE4TgQ3+ULUkDa6dIPEvNDRbp04riyd5Xacv2xAOifk8u
 1/GhxWhhDr8MsVptwUJO9VYUcXBpIkOWBEh+vMjfeyBuZTt1Bk+eHubBmYCb/IT8
 s+5rVcQPzTYJXQMMfntpzKX2xxIAzwHbsc7xC1VmnLazUs7kM3D18ra8m4ced1Mr
 oEGwJ8JCJXMm4UvUJ6eZekS5TscPIu5yjLmzu13nJwp1BsjoeIMIOsMCdl/MAPLL
 Ab4pqXubgDHzxGlV3k02o7XftCQGBdy3xjP320QdY0FTfSrtdi4ey6V7f4kV+6Gs
 JnJrdOj1pukfaFHiTWUt28w7vNBvfnwd65c0i5ZzefvOlUYl8IN8Mw/DTl3TxtGX
 XyxNXs6gdTH5eV0CVP5i8KaMXzwdmD2Pb0bTHpXmtT9i4J9AtLZHNYa7zl/E0R8a
 bWywK/gA8FZoykhzoY68jDCgy/ecbxu2D6Lo3IOYLaigT/vQtu75CKBUMCwT5FPD
 Zmqj8T0SKLcYuvfLLO2CJIzqvurakLJPw2ylbEqPa+HdhmTc8AUi3DjDD6sVXgUt
 pyeoHhq9erwU1/RDmIKH86OG3cRjLL1Xaat9nzMcZUcPpn9gvn5MlgcVPFOIwQ80
 rWKlJ0H/Z5Mp2gr1LMpV
 =v60b
 -----END PGP SIGNATURE-----

Merge tag 'pxa-fix-abi' of https://git.kernel.org/pub/scm/linux/kernel/git/hzhuang1/linux into next/dt

Pull "pxa2xx DT changes" from Haojian Zhuang:

Since DT aren't fully enabled in pxa2xx, it's fine to merge them in v3.18

Signed-off-by: Arnd Bergmann <arnd@arndb.de>

* tag 'pxa-fix-abi' of https://git.kernel.org/pub/scm/linux/kernel/git/hzhuang1/linux:
  ARM: pxa: dts: fix ohci controller compatible string
  ARM: pxa: dts: fix mmc controller compatible string
2014-09-25 18:02:30 +02:00
Arnd Bergmann
413cb0036c ARM: tegra: tegra_defconfig changes for 3.18
Support is enabled for Venice2's touchpad, and Tegra124's AHCI (SATA)
 controller, as used on Jetson TK1.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJUGxqvAAoJEMzrak5tbycx4+wP/idwSloMKvyBv5sH54sXvAhW
 eBnB8cVfqHpxvHrlitJd7QPdacISiwMs3v4lY+QIrxhKP8vJqGQF2uT/JjE5NPxs
 tfOMoUStrcdeuvFpHOS3vWMGvMlERVdRcnrt35g+EtOlQnQWuENUOVR8J1J6sA/j
 FAwY8VbGH1Onve0OO/aeXCvJAHqn6lI/UgM3VFlzceA4yWJ/BdJwu1aRtehV6kxz
 O1h9YM6JXOnhJ1BUE5dFyw1WFpH6Qg7IndgUR3SDpJvk4GfDAuNLzmW8DfYzBohY
 PxUV/DzM8nAtT7Uuaww/Bnr21bR1jmj2NQ82UC795AIpMBbMmX9+Zr3WHmMEsdNu
 Jj8uFYvAXCU/0r8kF/M9PF4PZcmkUD6fsESrYkqTPPNaVNSgXJviQTzu/ayBrixm
 EYSJdwr7DDxz7fkV6OaddXOt/dcwH8sOEi7wG0SFZTvCDLGVGcXK2J9FgULH9fMg
 vJt/p4/FDmUbzhBWXN9tseIMUatnRXoic0YMFXde6CLWCM/aZG3ZIkAa5usVTnTF
 BgytcX6tcg+melHeMiylBi1BfxT6UdjJVI/djQC96ykRdM8OIKRDgTtXKczT+0Rh
 XGlbE0JP2TxteOlB6TTBV1s5bQiZxChBGxrEduJx50dxLi79zB3rPPmoloqDn+xo
 ituxm3nNSpDIpi+mLFjm
 =cO5m
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-3.18-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra into next/defconfig

Pull "ARM: tegra: tegra_defconfig changes for 3.18" from Stephen Warren:

Support is enabled for Venice2's touchpad, and Tegra124's AHCI (SATA)
controller, as used on Jetson TK1.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>

* tag 'tegra-for-3.18-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra:
  ARM: tegra: enable Atmel touchpad in defconfig
  ARM: tegra: Add options for Tegra AHCI support to tegra_defconfig

Contains an update to 3.17-rc2.
2014-09-25 17:55:25 +02:00
Arnd Bergmann
ea62edd850 ARM: tegra: device tree changes for 3.18
The main highlights are:
 * SATA and PCIe support added to Tegra124, and enabled on Jetson TK1.
 * Touchpad enabled on Venice2 (although the driver still has a few issues
   to be worked out).
 * NVIDIA reference boards rely on the bootloader to program the pinmux.
 * Support added for the Acer Chromebook 13 (CB5).
 * DT nodes added for the Tegra flow controller HW module. This will
   help reduce use of iomap.h in a future code cleanup.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJUGxqBAAoJEMzrak5tbycx+wEQAK6ZYRguvDAlCHWfleVYfoZd
 SFrexKADcTDy3Rvu6c3dXCsct/JLXR0ptkXmq+iLG6D9lQ5v/FYnFDeDq1GT0ftN
 TQLZVWEoFOt0KaVP2C8nwvEu0kCnXiUhljBONs+xQYExS06xOs9qJ3qBM3j7xpPT
 5teVF1zXCxDeXVeT6M2DqscEwZczIjgHeMfM18uIZfQE+HJv3DcIOevUygOyGW2V
 lNKdnVrqi3qJ7eZ6usuSb/K9ukNpDj8pLeb/qca275uSsLAoTpJ+Zx4iFb9ZDHy1
 e+VpL91CqOUXmp+lks54Wlsd//xz6IzK6E7B+kwsUMYFXSxXzqT0PJ2OEXsJtQ+1
 neQYiZwoGv1PLv13AnU2KlVz71PKdY+FUJ8hrndBFQXHUB9okkYGZabZEIC8dM34
 mM4rVGs1NPHwmaoJF6BPob7KFiUkH72oClSshlxSYm2l4smk7p2Wvp5oOm3f423P
 sEb8Ic4yjH8fBWuX+8NQX+jk6ut9tO9zGg0y2A1ouI71tOKuL+k3Jc2gKVcyt6EL
 j2Q5mHepT5FNTelkQw4aFPdT6YUrIGiuksrFYroYVZv1evEu4q2fzit6XzTc2WAh
 h4eI7tMl5DqcCy926rWq0Iz3tLkAuVygSV+yD2vS4ROCf60mtK9XjnHUtBM25rqT
 LgWisUN2swEhbTmvirY4
 =X2mr
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-3.18-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra into next/dt

Pull "ARM: tegra: device tree changes for 3.18" from Stephen Warren:

The main highlights are:
* SATA and PCIe support added to Tegra124, and enabled on Jetson TK1.
* Touchpad enabled on Venice2 (although the driver still has a few issues
  to be worked out).
* NVIDIA reference boards rely on the bootloader to program the pinmux.
* Support added for the Acer Chromebook 13 (CB5).
* DT nodes added for the Tegra flow controller HW module. This will
  help reduce use of iomap.h in a future code cleanup.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>

* tag 'tegra-for-3.18-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra:
  ARM: tegra: enable PCIe in Jetson TK1 DT
  ARM: tegra: add PCIe to Tegra124 DT
  ARM: tegra: rely on bootloader pinmux programming on Tegra124
  ARM: tegra: add Acer Chromebook 13 device tree
  ARM: tegra: Move pwm and dpaux labels to tegra124.dtsi
  ARM: tegra: add touchpad to Venice2 DT
  ARM: tegra: Add device tree nodes for flow controller
  ARM: tegra: add PCIe-related pins to the Jetson TK1 pinmux tables
  ARM: tegra: Add SATA and SATA power to Jetson TK1 device tree
  ARM: tegra: Add SATA controller to Tegra124 device tree
2014-09-25 17:54:32 +02:00
Arnd Bergmann
14b62fb015 ARM: tegra: core SoC code changes for 3.18
the primary change here gets its address information from DT rather than
 iomap.h. This removes one more user of iomap.h, and will help allow the
 code to move to a location that can be shared between arch/arm and
 arch/arm64.
 
 An unused header file was also removed.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJUGxmUAAoJEMzrak5tbycxh8gP/AraovjYUwxHfFDkRgRn/Ukb
 t8PRy/mieHwypO86Rseu4x5P+OWO3MFMYLfqFpJZAYugwq7hgB6dCCcFuezqDP0k
 HVBBQN1wu8XDpjJd260EQmzjx8mqW+omMmeWZcZSMChnqPsntVpCmbWf4dlGoAcY
 qgGfiNVZ7QWsS7ROjGD9JI0SmkYdfoXWtPX6r0z93sn3SM4lrJeIs/RGYKfEaQb0
 JXvJChj/K59Z8ejUjM5pI2CkC0Y23ftl5BH6sJk9yiFRA09UDahdUJiO1wcM0TgK
 oukVFOapGyGscFrN/bZq79RPde1P0GnbllcT0aOV5PWr4R6HGEArxrsVm7UoC+L3
 3J3OwpG5EokCOh7Agt81ExTP6uaohWZKC4WS8l247qbDXhdxIXscmTk9Y3Fey//x
 UM044kprNgUaRiQ/fFFx8W+6V3dHthCD6TslNCN8E0s1yjqgw8lLyuW0YqaO+CJe
 q3+d8Twf2d8GUwOPmh2hSYh1kGt47YNQvrQ+bkdb9FFOtkrrYZykPSDI71H/IpIR
 wrmHiueQV1zu6f4KRCgYgg5SQj/SI9rncoI1innarw+JszSK5Pn8fKp+z9mTRDML
 oaSCSKc9UNMVAMfex1p1GYgxuVbCQex6VHFTRXke99CJA7nedRzhB6v8wk7ICdXP
 pb3AeTLB4R1rr7Ull1mt
 =BeSe
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-3.18-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra into next/soc

Pull "ARM: tegra: core SoC code changes for 3.18" from Stephen Warren:

the primary change here gets its address information from DT rather than
iomap.h. This removes one more user of iomap.h, and will help allow the
code to move to a location that can be shared between arch/arm and
arch/arm64.

An unused header file was also removed.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>

* tag 'tegra-for-3.18-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra:
  ARM: tegra: remove unused tegra_emc.h
  ARM: tegra: Initialize flow controller from DT
  of: Add NVIDIA Tegra flow controller bindings
2014-09-25 17:53:39 +02:00
Arnd Bergmann
44086148bf More AT91 DT material for 3.18:
- specify DMA channels for USART on sama5d3 and choose peripherals
   that will use them on the EK boards
 - SSC update for audio on at91sam9rl and at91sam9g20
 - addition of the NFC clock and new pinctrl compatible string
   to use enhancements that will land in drivers during this release
 - several new nodes and fixes
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQEcBAABAgAGBQJUGxCuAAoJEAf03oE53VmQDRYIAIMkFVY9ZfhVDD8BEwOXm5FL
 ZECxGAKxzoaN+P5DbDOqCWmW9juxLhJjxPrwmpoYi7ShG5exYGl2jUZiF6fRq/fH
 JJgSNKuNCLJbwlVWBo150v+2gRTyew3Pt8ijZWkzK06YPjW8Oxy3c4MjZ+wF2838
 k9jv/8dMT52nEr24x9Py0CPYR1Dh+EzFfoIXyJ4XM66CPIFfn4Ds4tz2gRhj7t2Z
 8NyGJ/F+fP3HB1ds3nauaS77XkulN5R/odIQchUzu4IO+mEQY9pbeVvyXWv97Y5T
 gL9AE5hcSwnE2xrXJGt2l2HV90FZMFU108WIKucca+RPOlfaB25fpMvMm8gAxDA=
 =fE/3
 -----END PGP SIGNATURE-----

Merge tag 'at91-dt3' of git://github.com/at91linux/linux-at91 into next/dt

Pull "More AT91 DT material for 3.18" from Nicolas Ferre:

- specify DMA channels for USART on sama5d3 and choose peripherals
  that will use them on the EK boards
- SSC update for audio on at91sam9rl and at91sam9g20
- addition of the NFC clock and new pinctrl compatible string
  to use enhancements that will land in drivers during this release
- several new nodes and fixes

Signed-off-by: Arnd Bergmann <arnd@arndb.de>

* tag 'at91-dt3' of git://github.com/at91linux/linux-at91:
  ARM: at91/dt: at91sam9m10g45ek add rtc node
  ARM: at91/dt: sama5d3: use new pinctrl compatible string
  ARM: at91/dt: sama5d3: add the nfc clock
  ARM: at91/dt: declare sckc node on at91sam9g45
  ARM: at91/dt: Fix typo regarding can0_clk
  ARM: at91/dt: at91sam9g20: switch ssc compatible string
  ARM: at91/dt: at91sam9rl: switch ssc compatible string
  ARM: at91: sama5d3xek: reserve dma channel for audio
  ARM: at91: sama5d3: add usart dma configurations
2014-09-25 17:50:36 +02:00
Arnd Bergmann
41c9002ad1 arm: Xilinx Zynq dt patches for v3.18
- Add eth phys
 - Add led for zc702
 - Various dts cleanups
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.10 (GNU/Linux)
 
 iEYEABECAAYFAlQYFewACgkQykllyylKDCGHKgCeJK4b6TUOD3UNQgI8qu8UkUPV
 UQwAnRH5BSaqtTkiasx6feLE7dKpNHeW
 =Trb8
 -----END PGP SIGNATURE-----

Merge tag 'zynq-dt-for-3.18' of git://git.xilinx.com/linux-xlnx into next/dt

Pull "arm: Xilinx Zynq dt patches for v3.18" from Michal Simek:

- Add eth phys
- Add led for zc702
- Various dts cleanups

Signed-off-by: Arnd Bergmann <arnd@arndb.de>

* tag 'zynq-dt-for-3.18' of git://git.xilinx.com/linux-xlnx:
  ARM: zynq: Add ISL9305 regulator on Parallella board
  ARM: zynq: DT: Add Ethernet phys
  ARM: zynq: DT: Fix coding style issues in dtsi
  ARM: zynq: DT: Describe interrupt-names for pl330
  ARM: zynq: DT: Extend compatible string for zedboard
  ARM: zynq: DT: Use 0x prefix for memory nodes
  ARM: zynq: DT: Update years in header
  ARM: zynq: DT: Move size/address properties to dtsi
  ARM: zynq: DT: Fix Ethernet phy modes
  ARM: zynq: DT: Add LEDs to zc702 DT
2014-09-25 17:47:26 +02:00
Arnd Bergmann
e36087998a arm: Xilinx Zynq cleanup patches for v3.18
- PM support
 - Fix L2 useless setting
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.10 (GNU/Linux)
 
 iEYEABECAAYFAlQYGFwACgkQykllyylKDCFI/ACeMQecelDM7sN3pOXVDA8unho5
 eqEAnjwQL/kw2p8jru1+t13V1SxThxKa
 =xfgX
 -----END PGP SIGNATURE-----

Merge tag 'zynq-cleanup-for-3.18' of git://git.xilinx.com/linux-xlnx into next/soc

Pull "arm: Xilinx Zynq cleanup patches for v3.18" from Michal Simek:

- PM support
- Fix L2 useless setting

Signed-off-by: Arnd Bergmann <arnd@arndb.de>

* tag 'zynq-cleanup-for-3.18' of git://git.xilinx.com/linux-xlnx:
  ARM: zynq: Remove useless L2C AUX setting
  ARM: zynq: Rename 'zynq_platform_cpu_die'
  ARM: zynq: Remove hotplug.c
  ARM: zynq: Synchronise zynq_cpu_die/kill
  ARM: zynq: cpuidle: Remove pointless code
  ARM: zynq: Remove invalidate cache for cpu die
  ARM: zynq: PM: Enable DDR clock stop
  ARM: zynq: DT: Add DDRC node
  Documentation: devicetree: Add binding for Synopsys DDR controller
  ARM: zynq: PM: Enable A9 internal clock gating feature
2014-09-25 17:42:57 +02:00
Carlo Caione
3b8f5030dd ARM: meson: add basic support for MesonX SoCs
This patch adds the basic machine file for the MesonX SoCs. Only Meson6
is populated.

Signed-off-by: Carlo Caione <carlo@caione.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-09-25 17:34:42 +02:00
Carlo Caione
6b112e2414 ARM: meson: dts: add basic Meson/Meson6/Meson6-atv1200 DTSI/DTS
The Meson6 SoC is produced by Amlogic inc. and it is based on 2 Cortex
A9 and an ARM Mali-400 GPU.
This patch adds two basic DTSI for the preliminary support of Meson and
Meson6 SoCs. Another DTS is also added for supporting the atv1200 board,
produced by Geniatech inc.

Signed-off-by: Carlo Caione <carlo@caione.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-09-25 17:34:14 +02:00
Carlo Caione
5efbc31600 ARM: meson: update multi_v7_defconfig
This patch updates the multi_v7_defconfig with the CONFIG_* needed by
the just added Meson anch. It also adds a new defconfig specifically for
the Meson SoCs.

Signed-off-by: Carlo Caione <carlo@caione.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-09-25 17:33:38 +02:00
Carlo Caione
d8a00916b3 ARM: meson: debug: add debug UART for earlyprintk support
Add the UART definitions needed to support earlyprintk for MesonX SoCs
on UARTAO.

Signed-off-by: Carlo Caione <carlo@caione.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-09-25 17:31:53 +02:00
Ingo Molnar
29282ac0bd * Revert the static library changes from the merge window since they're
causing issues for Macbooks and Fedora + Grub2 - Matt Fleming
 
  * Delete the misleading "setup_efi_pci() failed!" message which some
    people are seeing when booting EFI - Matt Fleming
 
  * Fix printing strings from the 32-bit EFI boot stub by only passing
    32-bit addresses to the firmware - Matt Fleming
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJUIzOFAAoJEC84WcCNIz1VpSwQAJhp9Yu60dWXyqRpV+ER1yau
 MWHXunkeaccbBXNABkzuDUqb2a6DRIJow+/n+dYjIGY6Nf9zzLQFQ+s/EsS+IiyY
 s4rRvAqzfGYk1d6xzgvEccrdD4fRP32kFKnSlZpfTRuJZHZieD+f2y6TP7D33Ja3
 HV/ivPQHZNjxgsExpcE8Rz/QyOZpqRacTr9Gr7IusBRL6IMCyycfCTmt6d5pf1iD
 kQGSGwIBvgN4xMqPUdxTNo31bQZA5ZeywNOh9WhdSCL7FAIDfG9TmXt/J7ckq5ax
 0f6X92qgCs3peLY+/szgSZ2LsZI6I/FM1udc2SFiIOPvCwwytcJ94Wro5pLYzZ4i
 SnqB2xLLEmsR2J3MXIeY0aVy2VtHT4bYRnXYNd9G0eaVfrlJ+4lgwqJavAJmtDZx
 88ey1R8LKRQr+ueSv/BnOvE6T2+38HrjrMooFQsPvolRR0S6MITBr8I2hoRASkUt
 YsA+7s6+tO2QBmQYrKCYSAi9A7onMA9Fh93dmv7XLqFw/SsfVm3RnrNhOVsO9kPC
 zIsWZoS+PGwb4RRvM2i7JAEqUCbuLpIAHYEU6gqprWm1ERHsX9mfFYfsJQHzHuOY
 rg6+wtWQ9MGxek8POac4d2mC+PwC4DA0AkaTTZQBcdAJu+h/gZNt4w7mpk5v4Th1
 QYr/otShMvc84Zd+RMeV
 =5mVJ
 -----END PGP SIGNATURE-----

Merge tag 'efi-urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/mfleming/efi into x86/urgent

Pull EFI fixes from Matt Fleming:

  * Revert the static library changes from the merge window since they're
    causing issues for Macbooks and Fedora + Grub2 (Matt Fleming)

  * Delete the misleading "setup_efi_pci() failed!" message which some
    people are seeing when booting EFI (Matt Fleming)

  * Fix printing strings from the 32-bit EFI boot stub by only passing
    32-bit addresses to the firmware (Matt Fleming)

Signed-off-by: Ingo Molnar <mingo@kernel.org>
2014-09-25 16:40:08 +02:00
Catalin Marinas
7acf71d1a2 arm64: Fix typos in KGDB macros
Some of the KGDB macros used for generating the BRK instructions had the
wrong spelling for DBG and KGDB abbreviations.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2014-09-25 15:35:41 +01:00
Robin Murphy
5ca918e5e3 ARM: 8165/1: alignment: don't break misaligned NEON load/store
The alignment fixup incorrectly decodes faulting ARM VLDn/VSTn
instructions (where the optional alignment hint is given but incorrect)
as LDR/STR, leading to register corruption. Detect these and correctly
treat them as unhandled, so that userspace gets the fault it expects.

Reported-by: Simon Hosie <simon.hosie@arm.com>
Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2014-09-25 15:32:57 +01:00
Will Deacon
2c553ac19e ARM: 8164/1: mm: clear SCTLR.HA instead of setting it for LPAE
SCTLR.HA (hardware access flag) is deprecated and not actually
implemented by any CPUs. Furthermore, it can confuse cr_alignment checks
where the whole value of SCTLR is compared against the value sitting in
the hardware, since the bit is actually RAZ/WI and will not match the
saved cr_alignment value.

Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2014-09-25 15:32:57 +01:00
Mark Brown
a9ae04c9fa arm64: insn: Add return statements after BUG_ON()
Following a recent series of enhancements to the insn code the ARMv8
allnoconfig build has been generating a large number of warnings in the
form of:

arch/arm64/kernel/insn.c:689:8: warning: 'insn' may be used uninitialized in this function [-Wmaybe-uninitialized]

This is because BUG() and related macros can be compiled out so we get
execution paths which normally result in a panic compiling out to noops
instead.

I wasn't able to immediately identify a sensible return value to use in
these cases so just return AARCH64_BREAK_FAULT - this is all "should
never happen" code so hopefully it never has a practical impact.

Signed-off-by: Mark Brown <broonie@kernel.org>
[catalin.marinas@arm.com: AARCH64_BREAK_FAULT definition contributed by Daniel Borkmann]
[catalin.marinas@arm.com: replace return 0 with AARCH64_BREAK_FAULT]
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2014-09-25 15:32:48 +01:00
Joe Perches
6d31c2fa0e powerpc: pci-ioda: Use a single function to emit logging messages
No need for 3 functions when a single one will do.

Modify the function declaring macros to call the single function.

Reduces object code size a little:

$ size arch/powerpc/platforms/powernv/pci-ioda.o*
   text	   data	    bss	    dec	    hex	filename
  22303	   1073	   6680	  30056	   7568	arch/powerpc/platforms/powernv/pci-ioda.o.new
  22840	   1121	   6776	  30737	   7811	arch/powerpc/platforms/powernv/pci-ioda.o.old

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2014-09-25 23:14:57 +10:00
Joe Perches
45eb47242d powerpc: pci-ioda: Remove unnecessary return value from printk
The return value is unnecessary and unused, so make the functions
void instead of int.

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2014-09-25 23:14:56 +10:00
Wei Yang
2a58222f82 powerpc/eeh: Fix kernel crash when passing through VF
When doing vfio passthrough a VF, the kernel will crash with following
message:

[  442.656459] Unable to handle kernel paging request for data at address 0x00000060
[  442.656593] Faulting instruction address: 0xc000000000038b88
[  442.656706] Oops: Kernel access of bad area, sig: 11 [#1]
[  442.656798] SMP NR_CPUS=1024 NUMA PowerNV
[  442.656890] Modules linked in: vfio_pci mlx4_core nf_conntrack_netbios_ns nf_conntrack_broadcast ipt_MASQUERADE ip6t_REJECT xt_conntrack bnep bluetooth rfkill ebtable_nat ebtable_broute bridge stp llc ebtable_filter ebtables ip6table_nat nf_conntrack_ipv6 nf_defrag_ipv6 nf_nat_ipv6 ip6table_mangle ip6table_security ip6table_raw ip6table_filter ip6_tables iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack iptable_mangle iptable_security iptable_raw tg3 nfsd be2net nfs_acl ses lockd ptp enclosure pps_core kvm_hv kvm_pr shpchp binfmt_misc kvm sunrpc uinput lpfc scsi_transport_fc ipr scsi_tgt [last unloaded: mlx4_core]
[  442.658152] CPU: 40 PID: 14948 Comm: qemu-system-ppc Not tainted 3.10.42yw-pkvm+ #37
[  442.658219] task: c000000f7e2a9a00 ti: c000000f6dc3c000 task.ti: c000000f6dc3c000
[  442.658287] NIP: c000000000038b88 LR: c0000000004435a8 CTR: c000000000455bc0
[  442.658352] REGS: c000000f6dc3f580 TRAP: 0300   Not tainted  (3.10.42yw-pkvm+)
[  442.658419] MSR: 9000000000009032 <SF,HV,EE,ME,IR,DR,RI>  CR: 28004882  XER: 20000000
[  442.658577] CFAR: c00000000000908c DAR: 0000000000000060 DSISR: 40000000 SOFTE: 1
GPR00: c0000000004435a8 c000000f6dc3f800 c0000000012b1c10 c00000000da24000
GPR04: 0000000000000003 0000000000001004 00000000000015b3 000000000000ffff
GPR08: c00000000127f5d8 0000000000000000 000000000000ffff 0000000000000000
GPR12: c000000000068078 c00000000fdd6800 000001003c320c80 000001003c3607f0
GPR16: 0000000000000001 00000000105480c8 000000001055aaa8 000001003c31ab18
GPR20: 000001003c10fb40 000001003c360ae8 000000001063bcf0 000000001063bdb0
GPR24: 000001003c15ed70 0000000010548f40 c000001fe5514c88 c000001fe5514cb0
GPR28: c00000000da24000 0000000000000000 c00000000da24000 0000000000000003
[  442.659471] NIP [c000000000038b88] .pcibios_set_pcie_reset_state+0x28/0x130
[  442.659530] LR [c0000000004435a8] .pci_set_pcie_reset_state+0x28/0x40
[  442.659585] Call Trace:
[  442.659610] [c000000f6dc3f800] [00000000000719e0] 0x719e0 (unreliable)
[  442.659677] [c000000f6dc3f880] [c0000000004435a8] .pci_set_pcie_reset_state+0x28/0x40
[  442.659757] [c000000f6dc3f900] [c000000000455bf8] .reset_fundamental+0x38/0x80
[  442.659835] [c000000f6dc3f980] [c0000000004562a8] .pci_dev_specific_reset+0xa8/0xf0
[  442.659913] [c000000f6dc3fa00] [c0000000004448c4] .__pci_dev_reset+0x44/0x430
[  442.659980] [c000000f6dc3fab0] [c000000000444d5c] .pci_reset_function+0x7c/0xc0
[  442.660059] [c000000f6dc3fb30] [d00000001c141ab8] .vfio_pci_open+0xe8/0x2b0 [vfio_pci]
[  442.660139] [c000000f6dc3fbd0] [c000000000586c30] .vfio_group_fops_unl_ioctl+0x3a0/0x630
[  442.660219] [c000000f6dc3fc90] [c000000000255fbc] .do_vfs_ioctl+0x4ec/0x7c0
[  442.660286] [c000000f6dc3fd80] [c000000000256364] .SyS_ioctl+0xd4/0xf0
[  442.660354] [c000000f6dc3fe30] [c000000000009e54] syscall_exit+0x0/0x98
[  442.660420] Instruction dump:
[  442.660454] 4bfffce9 4bfffee4 7c0802a6 fbc1fff0 fbe1fff8 f8010010 f821ff81 7c7e1b78
[  442.660566] 7c9f2378 60000000 60000000 e93e02c8 <e8690060> 2fa30000 41de00c4 2b9f0002
[  442.660679] ---[ end trace a64ac9546bcf0328 ]---
[  442.660724]

The reason is current VF is not EEH enabled.

This patch introduces a macro to convert eeh_dev to eeh_pe. By doing so, it
will prevent converting with NULL pointer.

Signed-off-by: Wei Yang <weiyang@linux.vnet.ibm.com>
Acked-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
CC: Michael Ellerman <mpe@ellerman.id.au>

V3 -> V4:
   1. move the macro definition from include/linux/pci.h to
      arch/powerpc/include/asm/eeh.h

V2 -> V3:
   1. rebased on 3.17-rc4
   2. introduce a macro
   3. use this macro in several other places

V1 -> V2:
   1. code style and patch subject adjustment

Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2014-09-25 23:14:56 +10:00
Michael Ellerman
9e34992a62 powerpc/mm: Unindent htab_dt_scan_page_sizes()
We can unindent the bulk of htab_dt_scan_page_sizes() by returning early
if the property is not found. That is nice in and of itself, but also
has the advantage of making it clear that we always return success once
we have found the ibm,segment-page-sizes property.

Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2014-09-25 23:14:56 +10:00