1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00
Commit graph

129978 commits

Author SHA1 Message Date
Nicolae Rosia
76eddd6046 ARM: OMAP: kill omap_pmic_init
Last user of this function was removed in commit
9b714 ("ARM: OMAP2+: Drop legacy board file for n900") during
legacy board file removal.

Signed-off-by: Nicolae Rosia <Nicolae_Rosia@mentor.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-11-09 14:46:10 -07:00
Nicolae Rosia
30bfa0deb3 ARM: OMAP2: kill omap2_pmic_init
Last call of function was removed with commit
bfd46a ("ARM: OMAP: Fix i2c init for twl4030")

Signed-off-by: Nicolae Rosia <Nicolae_Rosia@mentor.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-11-09 14:46:06 -07:00
Nicolae Rosia
873fe3f9ef ARM: OMAP3: kill omap3_pmic_init
Last user of this function was removed in commit
e92fc4 ("ARM: OMAP2+: Drop legacy board file for LDP") during
legacy board file removal.

Signed-off-by: Nicolae Rosia <Nicolae_Rosia@mentor.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-11-09 14:46:00 -07:00
Nicolae Rosia
482fde8c2d ARM: OMAP3: kill omap3_pmic_get_config and twl_{get,set}_voltage
Last user of these functions was removed in commit
e92fc4 ("ARM: OMAP2+: Drop legacy board file for LDP") during
legacy board file removal.

Signed-off-by: Nicolae Rosia <Nicolae_Rosia@mentor.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-11-09 14:45:54 -07:00
Nicolae Rosia
c01cda4c35 ARM: OMAP4: kill omap4_pmic_init and omap4_pmic_get_config
Last user of these functions was deleted in commit
b42b91 ("ARM: OMAP2+: Remove board-omap4panda.c") during DT transition.

Signed-off-by: Nicolae Rosia <Nicolae_Rosia@mentor.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-11-09 14:45:49 -07:00
Laurent Pinchart
71b2e2e3b3 ARM: OMAP2+: Remove the omapdss_early_init_of() function
The function is empty, remove it.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-11-09 14:38:47 -07:00
Milo Kim
eb3e4bbeba ARM: dts: am335x: Add the power button interrupt
This enables the power button driver gets corresponding IRQ number by
using platform_get_irq().

Signed-off-by: Milo Kim <woogyom.kim@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-11-09 14:32:21 -07:00
Milo Kim
1934e89a76 ARM: dts: am335x: Add the charger interrupt
This enables the charger driver gets corresponding IRQ number by using
platform_get_irq_byname() helper.

Signed-off-by: Milo Kim <woogyom.kim@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-11-09 14:32:12 -07:00
Milo Kim
2d63b9ce21 ARM: dts: am335x: Support the PMIC interrupt
AM335x bone based boards have the PMIC interrupt named NMI which is
connected to TPS65217 device. AM335x main interrupt controller provides it
and the number is 7.

Signed-off-by: Milo Kim <woogyom.kim@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-11-09 14:31:38 -07:00
Milo Kim
e598c44180 ARM: dts: tps65217: Add the power button device
Support the power button driver and disable it by default.

Signed-off-by: Milo Kim <woogyom.kim@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-11-09 14:31:32 -07:00
Milo Kim
9ec0a6585f ARM: dts: tps65217: Add the charger device
Support the charger driver and disable it by default.

Signed-off-by: Milo Kim <woogyom.kim@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-11-09 14:31:25 -07:00
Milo Kim
bd0fdb4cbd ARM: dts: tps65217: Specify the interrupt controller
TPS65217 MFD driver supports the IRQ domain to handle the charger input
interrupts and push button status event. The interrupt controller enables
corresponding IRQ handling in the charger[*] and power button driver[**].

[*]  drivers/power/supply/tps65217_charger.c
[**] drivers/input/misc/tps65218-pwrbutton.c

Signed-off-by: Milo Kim <woogyom.kim@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-11-09 14:31:20 -07:00
Sebastian Andrzej Siewior
90944e40ba x86/kexec: add -fno-PIE
If the gcc is configured to do -fPIE by default then the build aborts
later with:
| Unsupported relocation type: unknown type rel type name (29)

Tagging it stable so it is possible to compile recent stable kernels as
well.

Cc: stable@vger.kernel.org
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Michal Marek <mmarek@suse.com>
2016-11-09 22:28:09 +01:00
Wanpeng Li
8ca225520e x86/apic: Prevent tracing on apic_msr_write_eoi()
The following RCU lockdep warning led to adding irq_enter()/irq_exit() into
smp_reschedule_interrupt():

 RCU used illegally from idle CPU!
 rcu_scheduler_active = 1, debug_locks = 0
 RCU used illegally from extended quiescent state!
 no locks held by swapper/1/0.
 
  do_trace_write_msr
  native_write_msr
  native_apic_msr_eoi_write
  smp_reschedule_interrupt
  reschedule_interrupt

As Peterz pointed out:

| So now we're making a very frequent interrupt slower because of debug 
| code.
|
| The thing is, many many smp_reschedule_interrupt() invocations don't
| actually execute anything much at all and are only sent to tickle the
| return to user path (which does the actual preemption).
| 
| Having to do the whole irq_enter/irq_exit dance just for this unlikely
| debug case totally blows.

Use the wrmsr_notrace() variant in native_apic_msr_write_eoi, annotate the
kvm variant with notrace and add a native_apic_eoi callback to the apic
structure so KVM guests are covered as well.

This allows to revert the irq_enter/irq_exit dance in
smp_reschedule_interrupt().

Suggested-by: Peter Zijlstra <peterz@infradead.org>
Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Wanpeng Li <wanpeng.li@hotmail.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Cc: kvm@vger.kernel.org
Cc: Mike Galbraith <efault@gmx.de>
Cc: Borislav Petkov <bp@alien8.de>
Link: http://lkml.kernel.org/r/1478488420-5982-3-git-send-email-wanpeng.li@hotmail.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2016-11-09 22:03:14 +01:00
Wanpeng Li
b2c5ea4f75 x86/msr: Add wrmsr_notrace()
Required to remove the extra irq_enter()/irq_exit() in
smp_reschedule_interrupt().

Suggested-by: Peter Zijlstra <peterz@infradead.org>
Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Wanpeng Li <wanpeng.li@hotmail.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Borislav Petkov <bp@alien8.de>
Cc: kvm@vger.kernel.org
Cc: Mike Galbraith <efault@gmx.de>
Link: http://lkml.kernel.org/r/1478488420-5982-2-git-send-email-wanpeng.li@hotmail.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2016-11-09 22:03:14 +01:00
Borislav Petkov
308a047c3f x86/pat, mm: Make track_pfn_insert() return void
It only returns 0 so we can save us the testing of its retval
everywhere.

Signed-off-by: Borislav Petkov <bp@suse.de>
Cc: Toshi Kani <toshi.kani@hp.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: mcgrof@suse.com
Cc: dri-devel@lists.freedesktop.org
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Dave Airlie <airlied@redhat.com>
Cc: dan.j.williams@intel.com
Cc: torvalds@linux-foundation.org
Link: http://lkml.kernel.org/r/20161026174839.rusfxkm3xt4ennhe@pd.tnic
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2016-11-09 21:36:07 +01:00
Jaehoon Chung
9adce7a441 ARM: dts: exynos: Replace "clock-freq-min-max" with "max-frequency"
In drivers/mmc/core/host.c, there is a "max-frequency" property.
Behavior should not change, so use the "max-frequency" instead of
"clock-freq-min-max".

Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2016-11-09 22:08:53 +02:00
Thomas Gleixner
d49597fd3b x86/cpu: Deal with broken firmware (VMWare/XEN)
Both ACPI and MP specifications require that the APIC id in the respective
tables must be the same as the APIC id in CPUID.

The kernel retrieves the physical package id from the APIC id during the
ACPI/MP table scan and builds the physical to logical package map. The
physical package id which is used after a CPU comes up is retrieved from
CPUID. So we rely on ACPI/MP tables and CPUID agreeing in that respect.

There exist VMware and XEN implementations which violate the spec. As a
result the physical to logical package map, which relies on the ACPI/MP
tables does not work on those systems, because the CPUID initialized
physical package id does not match the firmware id. This causes system
crashes and malfunction due to invalid package mappings.

The only way to cure this is to sanitize the physical package id after the
CPUID enumeration and yell when the APIC ids are different. Fix up the
initial APIC id, which is fine as it is only used printout purposes.

If the physical package IDs differ yell and use the package information
from the ACPI/MP tables so the existing logical package map just works.

Chas provided the resulting dmesg output for his affected 4 virtual
sockets, 1 core per socket VM:

[Firmware Bug]: CPU1: APIC id mismatch. Firmware: 1 CPUID: 2
[Firmware Bug]: CPU1: Using firmware package id 1 instead of 2
....

Reported-and-tested-by: "Charles (Chas) Williams" <ciwillia@brocade.com>,
Reported-by: M. Vefa Bicakci <m.v.b@runbox.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Alok Kataria <akataria@vmware.com>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: #4.6+ <stable@vger,kernel.org>
Link: http://lkml.kernel.org/r/alpine.DEB.2.20.1611091613540.3501@nanos
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2016-11-09 21:05:01 +01:00
Linus Torvalds
ae67e87f40 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux
Pull s390 fixes from Martin Schwidefsky:
 "Two bug fixes

   - a memory alignment fix in the s390 only hypfs code

   - a fix for the generic percpu code that caused ftrace to break on
     s390. This is not relevant for x86 but for all architectures that
     use the generic percpu code"

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
  percpu: use notrace variant of preempt_disable/preempt_enable
  s390/hypfs: Use get_free_page() instead of kmalloc to ensure page alignment
2016-11-09 11:09:40 -08:00
Steffen Trumtrar
d837a80d19 ARM: dts: socfpga: add nand controller nodes
Add the denali nand controller to the socfpga dtsi.

Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
2016-11-09 12:40:52 -06:00
Mark Rutland
094339443e arm64: percpu: kill off final ACCESS_ONCE() uses
For several reasons it is preferable to use {READ,WRITE}_ONCE() rather than
ACCESS_ONCE(). For example, these handle aggregate types, result in shorter
source code, and better document the intended access (which may be useful for
instrumentation features such as the upcoming KTSAN).

Over a number of patches, most uses of ACCESS_ONCE() in arch/arm64 have been
migrated to {READ,WRITE}_ONCE(). For consistency, and the above reasons, this
patch migrates the final remaining uses.

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Acked-by: Dmitry Vyukov <dvyukov@google.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2016-11-09 17:15:40 +00:00
Huang Shijie
0c2f0afe35 arm64: hugetlb: fix the wrong address for several functions
The libhugetlbfs meets several failures since the following functions
do not use the correct address:
   huge_ptep_get_and_clear()
   huge_ptep_set_access_flags()
   huge_ptep_set_wrprotect()
   huge_ptep_clear_flush()

This patch fixes the wrong address for them.

Signed-off-by: Huang Shijie <shijie.huang@arm.com>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2016-11-09 16:55:13 +00:00
Huang Shijie
20156ce236 arm64: hugetlb: remove the wrong pmd check in find_num_contig()
The find_num_contig() will return 1 when the pmd is not present.
It will cause a kernel dead loop in the following scenaro:

   1.) pmd entry is not present.

   2.) the page fault occurs:
       ... hugetlb_fault() --> hugetlb_no_page() --> set_huge_pte_at()

   3.) set_huge_pte_at() will only set the first PMD entry, since the
       find_num_contig just return 1 in this case. So the PMD entries
       are all empty except the first one.

   4.) when kernel accesses the address mapped by the second PMD entry,
       a new page fault occurs:
       ... hugetlb_fault() --> huge_ptep_set_access_flags()

       The second PMD entry is still empty now.

   5.) When the kernel returns, the access will cause a page fault again.
       The kernel will run like the "4)" above.
       We will see a dead loop since here.

The dead loop is caught in the 32M hugetlb page (2M PMD + Contiguous bit).

This patch removes wrong pmd check, and fixes this dead loop.

This patch also removes the redundant checks for PGD/PUD in
the find_num_contig().

Acked-by: Steve Capper <steve.capper@arm.com>
Signed-off-by: Huang Shijie <shijie.huang@arm.com>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2016-11-09 16:54:55 +00:00
Catalin Marinas
6ed0038d5e arm64: Fix typo in add_default_hugepagesz() for 64K pages
The default hugepage size when 64K pages are enabled is set to 2MB using
the contiguous PTE bit. The add_default_hugepagesz(), however, uses
CONT_PMD_SHIFT instead of CONT_PTE_SHIFT. There is no functional change
since the values are the same.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2016-11-09 16:52:21 +00:00
Yazen Ghannam
b6a50cddbc x86/cpu/AMD: Clean up cpu_llc_id assignment per topology feature
These changes do not affect current hw - just a cleanup:

Currently, we assume that a system has a single Last Level Cache (LLC)
per node, and that the cpu_llc_id is thus equal to the node_id. This no
longer applies since Fam17h can have multiple last level caches within a
node.

So group the cpu_llc_id assignment by topology feature and family in
order to make the computation of cpu_llc_id on the different families
more clear.

Here is how the LLC ID is being computed on the different families:

The NODEID_MSR feature only applies to Fam10h in which case the LLC is
at the node level.

The TOPOEXT feature is used on families 15h, 16h and 17h. So far we only
see multiple last level caches if L3 caches are available. Otherwise,
the cpu_llc_id will default to be the phys_proc_id.

We have L3 caches only on families 15h and 17h:

 - on Fam15h, the LLC is at the node level.

 - on Fam17h, the LLC is at the core complex level and can be found by
   right shifting the APIC ID. Also, keep the family checks explicit so that
   new families will fall back to the default, which will be node_id for
   TOPOEXT systems.

Single node systems in families 10h and 15h will have a Node ID of 0
which will be the same as the phys_proc_id, so we don't need to check
for multiple nodes before using the node_id.

Tested-by: Borislav Petkov <bp@suse.de>
Signed-off-by: Yazen Ghannam <Yazen.Ghannam@amd.com>
[ Rewrote the commit message. ]
Signed-off-by: Borislav Petkov <bp@suse.de>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Aravind Gopalakrishnan <aravindksg.lkml@gmail.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/20161108153054.bs3sajbyevq6a6uu@pd.tnic
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2016-11-09 17:07:43 +01:00
Ingo Molnar
ca4b2df651 Merge branch 'x86/urgent' into x86/cpu, to pick up dependent fix
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2016-11-09 17:07:11 +01:00
Yazen Ghannam
b0b6e86846 x86/cpu/AMD: Fix cpu_llc_id for AMD Fam17h systems
cpu_llc_id (Last Level Cache ID) derivation on AMD Fam17h has an
underflow bug when extracting the socket_id value. It starts from 0
so subtracting 1 from it will result in an invalid value. This breaks
scheduling topology later on since the cpu_llc_id will be incorrect.

For example, the the cpu_llc_id of the *other* CPU in the loops in
set_cpu_sibling_map() underflows and we're generating the funniest
thread_siblings masks and then when I run 8 threads of nbench, they get
spread around the LLC domains in a very strange pattern which doesn't
give you the normal scheduling spread one would expect for performance.

Other things like EDAC use cpu_llc_id so they will be b0rked too.

So, the APIC ID is preset in APICx020 for bits 3 and above: they contain
the core complex, node and socket IDs.

The LLC is at the core complex level so we can find a unique cpu_llc_id
by right shifting the APICID by 3 because then the least significant bit
will be the Core Complex ID.

Tested-by: Borislav Petkov <bp@suse.de>
Signed-off-by: Yazen Ghannam <Yazen.Ghannam@amd.com>
[ Cleaned up and extended the commit message. ]
Signed-off-by: Borislav Petkov <bp@suse.de>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
Cc: <stable@vger.kernel.org> # v4.4..
Cc: Aravind Gopalakrishnan <aravindksg.lkml@gmail.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Fixes: 3849e91f57 ("x86/AMD: Fix last level cache topology for AMD Fam17h systems")
Link: http://lkml.kernel.org/r/20161108083506.rvqb5h4chrcptj7d@pd.tnic
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2016-11-09 17:06:08 +01:00
Paolo Bonzini
6314a17fec The three KVM patches that KVMGT needs.
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.22 (GNU/Linux)
 
 iQEcBAABAgAGBQJYIy78AAoJEL/70l94x66DzbQH/34Mgm52OdLzTe+Yf8Pcae5X
 A/z2Aicto+6M+dtYoWPn2DfoevPaSpVmymryRrRzAqk5QDPHiVHZ5iCW0RaIEU7M
 iiPudqSGVGa0oFYBkxsJxCBysAQsHX5sEXEszs4egbO1TtQ8LCAxYUVuLBGlx+Fa
 qj26Fi/p2ByHVp/RX55A2kF5T8J671KT4LWUvFjzTgGFWo8Kr1bk0q4hmRYB9OBc
 /pqczV3Mc6KcmzfIg3Rd6xt8UDlEGJ4YQhpNgY6nxrQ1py3AP7vNqBPAH4RXbHJB
 /OqdAjpqa8+rrwSpQ1f58U+7v/ZO1ZTg0IW9bf60qKjG/aV4fGN6y0/iXKGgKyQ=
 =cpog
 -----END PGP SIGNATURE-----

Merge tag 'tags/for-kvmgt' into HEAD

The three KVM patches that KVMGT needs.

Conflicts:
	arch/x86/include/asm/kvm_page_track.h
	arch/x86/kvm/mmu.c
2016-11-09 15:20:31 +01:00
Dinh Nguyen
cab004fa97 ARM: socfpga_defconfig: enable FS configs to support Angstrom filesystem
systemd on the Angstrom root file system expects AUTOFS to be configured
as a module and NFSD to be statically linked into the kernel. This patch
adds the necessary configuration to get rid two "FAILED" error messages
during systemd startup.

Signed-off-by: Matthew Gerlach <mgerlach@opensource.altera.com>
Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
---
v2: provide a more descriptive changelog
2016-11-09 08:11:31 -06:00
Jaehoon Chung
c49590691f arm64: dts: rockchip: replace to "max-frequency" instead of "clock-freq-min-max"
In drivers/mmc/core/host.c, there is "max-freqeuncy" property.
It should be same behavior, So Use the "max-frequency" instead of
"clock-freq-min-max".

Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2016-11-09 15:08:55 +01:00
Jaehoon Chung
6a8883d614 ARM: dts: rockchip: replace to "max-frequency" instead of "clock-freq-min-max"
In drivers/mmc/core/host.c, there is "max-frequency" property.
It should be same behavior. So use the "max-frequency" instead of
"clock-freq-min-max".

Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2016-11-09 14:46:04 +01:00
Marcin Wojtas
8d897006fe arm64: dts: marvell: add unique identifiers for Armada A8k SPI controllers
Enabling SPI controllers, which are attached to different busses
inside an SoC, may result in overlapping enumeration and cause
sysfs registration failure. Example log after enabling two
controllers on Armada 8040 SoC with same identifiers:

[    3.740415] sysfs: cannot create duplicate filename
'/class/spi_master/spi0'
[    3.747510] ------------[ cut here ]------------
[    3.752145] WARNING: at fs/sysfs/dir.c:31
[...]
[    4.002299] orion_spi: probe of f4700600.spi failed with error -17

spi-orion driver offers dedicated DT property ('cell-index'), that
allow setting unique identifiers. Recently added support for CP110-slave
HW block introduced two new SPI controllers' nodes with same ID as
ones from CP110-master.

This commit fixes the issue by assigning different 'cell-index' values
for CP110-slave SPI controllers.

Fixes: 4eef78a009 ("arm64: dts: marvell: add description for the slave
CP110 in Armada 8K")

Signed-off-by: Marcin Wojtas <mw@semihalf.com>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2016-11-09 09:44:08 +01:00
Marcin Wojtas
2ec27be338 arm64: dts: marvell: fix clocksource for CP110 slave SPI0
I2C and SPI interfaces share common clock trees within the CP110 HW block.
It occurred that SPI0 interface has wrong clock assignment in the device
tree, which is fixed in this commit to a proper value.

Fixes: c749b8d9de32 ("arm64: dts: marvell: add description for the ...")
Signed-off-by: Marcin Wojtas <mw@semihalf.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2016-11-09 09:42:58 +01:00
Gregory CLEMENT
29f0c9edbd arm64: dts: marvell: Fix typo in label name on Armada 37xx
The label names of the peripheral clocks have a typo. Fix it before it is
more widely used.

Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2016-11-09 09:41:26 +01:00
Kees Cook
215e2aa6c0 gcc-plugins: Adjust Kconfig to avoid cyc_complexity
In preparation for removing "depends on !COMPILE_TEST" from GCC_PLUGINS,
the GCC_PLUGIN_CYC_COMPLEXITY plugin needs to gain the restriction,
since it is mainly an example, and produces (intended) voluminous stderr
reporting, which is generally undesirable for allyesconfig-style build
tests. This additionally puts the plugin behind EXPERT and improves the
help text.

Signed-off-by: Kees Cook <keescook@chromium.org>
2016-11-08 16:27:03 -08:00
Dinh Nguyen
47d5c5ffa3 ARM: dts: socfpga: Enable QSPI on the Arria5 devkit
Enable the QSPI node and add the flash chip.

Signed-off-by: Dinh Nguyen <dinguyen@opensource.altera.com>
2016-11-08 15:40:36 -06:00
Dinh Nguyen
466e90ca21 ARM: dts: socfpga: Enable QSPI on the Cyclone5 sockit
Enable the QSPI node and add the flash chip.

Signed-off-by: Dinh Nguyen <dinguyen@opensource.altera.com>
---
v3: Use n25q00 for the compatible entry for the flash part and
    tested on SoCKit
v2: Remove partition entries for the SoCKIT
2016-11-08 15:40:35 -06:00
Dinh Nguyen
1df99da895 ARM: dts: socfpga: Enable QSPI in Arria10 devkit
Enable the QSPI node and add the flash chip.

Signed-off-by: Dinh Nguyen <dinguyen@opensource.altera.com>
2016-11-08 15:40:35 -06:00
Dinh Nguyen
5d662bf15d ARM: dts: socfpga: Add QSPI node for the Arria10
Add the QSPI device node for Arria10 SOC.

Signed-off-by: Dinh Nguyen <dinguyen@opensource.altera.com>
2016-11-08 15:40:34 -06:00
Dinh Nguyen
e8f0ff5833 ARM: dts: socfpga: enable qspi on the Cyclone5 devkit
Enable the qspi controller on the devkit and add the flash chip.

Signed-off-by: Dinh Nguyen <dinguyen@opensource.altera.com>
2016-11-08 15:40:33 -06:00
Dinh Nguyen
d1da663517 ARM: dts: socfpga: add specific compatible strings for boards
Add a more specific board compatible entry for all of the SOCFPGA
Cyclone 5 based boards.

Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
---
v3: Be a bit more specific with the c5 dk and sockit, use
    "altr,socfpga-cyclone5-socdk" and "terasic,socfpga-cyclone5-sockit"
v2: remove extra space and add a comma between compatible entries
2016-11-08 15:36:52 -06:00
Maxime Coquelin
ca16c9c8a6 ARM: config: Enable GPIO Key driver in stm32_defconfig
Signed-off-by: Maxime Coquelin <mcoquelin.stm32@gmail.com>
Signed-off-by: Alexandre TORGUE <alexandre.torgue@st.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2016-11-08 12:24:29 -08:00
Olof Johansson
93711a2ba5 Some updates to davinci_all_defconfig for MMC,
LCDC and GPIO/LEDs.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJYHCPqAAoJEGFBu2jqvgRNJSAP/3aEK/e1ju60exEEj6sug9ZC
 EbbQ3KO9y6iP+eAiUzC+IIzIP9gYRh/eqR76FSH0WrDSE6wWJhFvtE7t1rCQqGQa
 k8zIBNsSyLhRyHPJIE+ha9eI672bW5oT+8qX/St3GzlMfeOeuL5kddFJZ3GRn6CS
 p1RfXkpCyu5Fx52LZGWtaUh0mIh12XGwRF2aAwEZAn7SKo04ZNxZNBZve8P3ihd+
 PCB/jQre+2VIHRHCq4HdUuD6C+ldhrHsfNuwyJ3Hrj4Vp+SXz1cxcaCb0iJRFxl0
 99Tu1pz5cn+fj8k6hUjNDVnAedG5AWlT8tO5E3z8O4D6QRID6S1/UdbQfs/lmBfK
 /ifYL/2wCL/7nGF9begQoG6p0SilqxImt7mj0Uey/NjIWak9kAiOn5KRrC5Xu4VF
 EiMwMCUVKziWNDZTfRW71wwUKVWZ309rWzMyX33yntsVxqabn1Pw3UyCa3JAR506
 bcXKHSJFS0jFb/70zZQ+4KZuUzCIXBlhUX7tEmjs/GUTSTKhW/NjYsRgacta/ZMm
 TKpx4TtO7Tf3pfloKfMU3iI7WGFtOzm6SBmNvE7mKS+IqyjFzyDt/3rwMdvdQnbw
 0+S/SmlV+Ji3gn+Y/79lyK/qUw9lsahOYGyj9VI+HcshUvcU5Z22F/BkIT+5Sa56
 stkj8vKomd8/IFgDaCTd
 =0lZP
 -----END PGP SIGNATURE-----

Merge tag 'davinci-for-v4.10/defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci into next/defconfig

Some updates to davinci_all_defconfig for MMC,
LCDC and GPIO/LEDs.

* tag 'davinci-for-v4.10/defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci:
  ARM: davinci_all_defconfig: enable LED default-on trigger
  ARM: davinci_all_defconfig: build MMC into kernel
  ARM: davinci_all_defconfig: enable gpio poweroff driver
  ARM: davinci_all_defconfig: enable LCDC DRM driver

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-11-08 12:24:01 -08:00
Olof Johansson
20e3ecd7f5 DaVinci device-tree source additions for
LCD, SPI and cfgchip syscon.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJYHCGuAAoJEGFBu2jqvgRNECcP/AtytrxI2kRoujQ+JbnFcPng
 XWTlsMcMSJ1xsxDHvgNd5Lj80jUWV4gajDa5F/zwYXP4e1uW0yO+VdLxIeSdLHzb
 SM02/DTQ1485U/0jpKST8REzxOOKPtyvgNP4+0nK8Pox0T0JGl2flycAbbmFEkw1
 SZ/DLQ7DjcCfFK7VSrGHNeNfb3KtVaaKHv/VAjwyjZ/xVDOy987SGJkDArKY3kQ0
 dQxsA+suVFa4IRWpzkQJk2c/FlgpsL+yslKiqgeuBpW+mzjT337kyMABh+MEKfK1
 IEgxm3Z4gUiXhSuhCDHkpgW2DUdwph96eKu4B9Vrnv+UjCsxOW3kgN+oFs8Qa5UZ
 Ht0BlsA7wuaruEs/wOZ4H+LULry57KsnrGwYBwiW09dZaduwDbwkN8V/ZF7CXvnB
 8mzbzUuVpB+DXRD9uC2hCiViJmF8pyXBo2o/jj//p2dF9DU8Ym3S2HEjBNKMFqWe
 UcZ9Kae2QtO+RiqEFgH1euEKpuRDYKz9JyFMEdSCZf8rDkfnghM2w0oMUnarMeg0
 0k4aN3jFASjC6EX+EwIgs7iaBjTqfaWf9b4phvAJoIPeUwCaZfa4fM1T9kxVFX/4
 ymVJX3IYimG/9ufkwSg4k5Dx7JcAb8BN/v/iVFvRJoDRUZWUUsV4GRFvrwU/3mMS
 z48KEtET4djJ3OpdNpmL
 =JlEB
 -----END PGP SIGNATURE-----

Merge tag 'davinci-for-v4.10/dt' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci into next/dt

DaVinci device-tree source additions for
LCD, SPI and cfgchip syscon.

* tag 'davinci-for-v4.10/dt' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci:
  ARM: dts: da850: Add cfgchip syscon node
  ARM: dts: da850: Add DMA to SPI0
  ARM: dts: da850: add a node for the LCD controller

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-11-08 12:23:23 -08:00
Yuriy Kolerov
0a0a047def ARCv2: MCIP: Use IDU_M_DISTRI_DEST mode if there is only 1 destination core
ARC linux uses 2 distribution modes for common interrupts: round robin
mode (IDU_M_DISTRI_RR) and a simple destination mode (IDU_M_DISTRI_DEST).
The first one is used when more than 1 cores may handle a common interrupt
and the second one is used when only 1 core may handle a common interrupt.

However idu_irq_set_affinity() always sets IDU_M_DISTRI_RR for all affinity
values. But there is no sense in setting of such mode if only 1 core must
handle a common interrupt.

Signed-off-by: Yuriy Kolerov <yuriy.kolerov@synopsys.com>
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
2016-11-08 12:22:52 -08:00
Olof Johansson
1474f44ec8 DaVinci SoC support improvements mainly towards an effort to
get to working USB support.
 
 - use CFGCHIP syscon device to access common registers
 
 - define platform data and device tree nodes for newly
   introduced USB phy driver
 
 - clock lookup and auxdata lookup for USB phy and also
   for LCDC (LCD controller)
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJYHCFWAAoJEGFBu2jqvgRNsiMP/AtyFsKue1Y+hNm5EXUwnHVF
 kmJn1AfXzYa2xn9fPQIIrraqQxNobbl5BiEuLgFk33s6C0wrAz3/5FjnsguoJ+UD
 7BNzMpXHac4nLORRMTdKlACGv7rsrRelSrKZr6dAd0puEnKqRlSORBJTcGRCLJPh
 pqTJM5X53NsGlhJOXnk33CDxuK4Ym/nVtbvKBzi2nGBbWiIWIvn/jzwZqkNCYzdc
 iDQzIDMfeP9G8l8JkL7A947Yolf2h7hYqPDKRFhJSSvvdGUNEkbHyu4iSG7qE+B4
 z/aLvvH6sB3CPeKqum1PMAk8hEV+Mp3lsTtrdFLgxz4NsY1jcIriSIDBY+x5Fkfh
 jKOsmkniwysVHsWvta4pLJMwnamfg/SG05wCCTb/PDO4S3NFnB4L9rdslzo7A0ad
 M6ewqKUFOCMsSyxyGBEiSA1UuWblkzeKOh8dcx1Q/haYPMfJUzzeRMeaXNLpUR+l
 fAqoKQBTAA5szydu83qKJLUDugkYZxaoeIw7wIo2JhqCaubyoGUZ6rpyaDiA+M0K
 kC6KIDmSunensISvTRxHPrjkPcalLY6x6VJNDnMTMrf4CfwYCqLlA2LlqG770xjK
 Th46PAjHr6SyPbjHwLxm3EZC385eKtTTlc7wdSHF/iR9Bt/EMnIynJgqKGc0YXDC
 yNMITMhPxl09K5eR1JO4
 =tA0U
 -----END PGP SIGNATURE-----

Merge tag 'davinci-for-v4.10/soc' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci into next/soc

DaVinci SoC support improvements mainly towards an effort to
get to working USB support.

- use CFGCHIP syscon device to access common registers

- define platform data and device tree nodes for newly
  introduced USB phy driver

- clock lookup and auxdata lookup for USB phy and also
  for LCDC (LCD controller)

* tag 'davinci-for-v4.10/soc' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci:
  ARM: davinci: da8xx: register USB PHY clocks in the DT file
  ARM: davinci: da8xx: add usb phy clocks
  ARM: davinci: da8xx-dt: add OF_DEV_AUXDATA entry for USB phy
  ARM: davinci: da8xx: Add USB device names to clock lookup tables
  ARM: davinci: da8xx: Add USB PHY platform device
  ARM: davinci: da8xx-dt: add OF_DEV_AUXDATA entry for lcdc
  ARM: davinci: da8xx: Add full regulator constraints for non-DT boot
  ARM: davinci: da8xx: Add CFGCHIP syscon platform device

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-11-08 12:22:33 -08:00
Olof Johansson
e6caea6e0a Clean-up some unnecessary code from mach-davinci.
- Remove now unneeded dma resources where drivers
   are already converted to use the dma_slave_map[]
   structure.
 
 - Remove some duplicated defines related to USB support.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJYHB6/AAoJEGFBu2jqvgRN+0kP/1sLx9D5vozYniEFGhdyeeR/
 xlyIOFCLunt8TxkxUwMz4Kjeuv87jc0LOiOKSij4v0jmr4+XI2+JZ+s5YPSkVpom
 NjGdOmlkeGeweZ9KbJf5tLd9dNnC+TTBt+WlF9HgNdgAp/uKTJe9O4w54bWQ0O/j
 4VXeEkfuwfjNjCk04BVFv+gWWZXvpCcJe7eNbaa95ac+hGwPwZ8gRJExtuvyFwG6
 fCP3c+G8cbCoVhljOJliQHEiD3dfJpiVtdk/msgGAC4Qa+c/j2ScxS7YYw8J8St5
 6nhrXSQJ7lJQxRp5IZvPeB6tZ38JTUnLhwQmIWYk2JtBPjX6WsK1rugIcDkuaZNF
 0hMzU21XRLNmx9Zkakjm3huxjNFGNNdatmv9HJoTbvkPkr1+L0wEG1FkSCfDRFdH
 bSd5dsmL6FODhGoL1wEt7/ZQHuNiVg75e7TvcT5/HWXmj2Y2F7QIlMuO/sMj8BzU
 pBW0R8X2zFRU8b6Bcb4V7Qyw1Ap3bNmEu4k4Tgk0qz3UAmtf1T3O/EtoyccB0JpE
 Nf0CDNKHy0XRT8Gepr2pMOIAsvo/NwTA/NDQBgyYMGLVMUkeVJoBrZNJMr7gsaOs
 uLYlakUE8j9oVhrNKFYqwZRhVPQGpyhvoq+jXTEgyDEJ60CQGW0vuTFohXu4Qs8u
 5yROQdnxpCZiaLm8siz1
 =d/RL
 -----END PGP SIGNATURE-----

Merge tag 'davinci-for-v4.10/cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci into next/soc

Clean-up some unnecessary code from mach-davinci.

- Remove now unneeded dma resources where drivers
  are already converted to use the dma_slave_map[]
  structure.

- Remove some duplicated defines related to USB support.

* tag 'davinci-for-v4.10/cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci:
  ARM: davinci: da8xx: Remove duplicated defines
  ARM: davinci: dm365: Remove DMA resources for SPI
  ARM: davinci: dm355: Remove DMA resources for SPI
  ARM: davinci: devices: Remove DMA resources for MMC
  ARM: davinci: devices-da8xx: Remove DMA resources for MMC and SPI

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-11-08 12:21:16 -08:00
Yuriy Kolerov
34e71e4cbb ARC: IRQ: Do not use hwirq as virq and vice versa
This came up when reviewing code to address missing IRQ affinity
setting in AXS103 platform and/or implementing hierarchical IRQ domains

- smp_ipi_irq_setup() callers pass hwirq but in turn calls
  request_percpu_irq() which expects a linux virq. So invoke
  irq_find_mapping() to do the conversion
  (also explicitify this in code by renaming the args appropriately)

- idu_of_init()/idu_cascade_isr() were similarly using linux virq where
  hwirq is expected, so do the conversion using irqd_to_hwirq() helper

Signed-off-by: Yuriy Kolerov <yuriy.kolerov@synopsys.com>
[vgupta: made changelog a bit concise a bit]
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
2016-11-08 12:05:10 -08:00
Noam Camus
19dbc76228 ARC: [plat-eznps] set default baud for early console
For CONFIG_SERIAL_EARLYCON we need 800MHz for NPS SoC
The early console driver uses BASE_BAUD and not using dtb.

The default of 50MHz is NOT good for NPS SoC.

Signed-off-by: Noam Camus <noamca@mellanox.com>
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
2016-11-08 09:39:37 -08:00
Noam Camus
66619433d0 ARC: [plat-eznps] remove IPI clear from SMP operations
Today we register to plat_smp_ops.clear() method which actually
is acking the IPI.
However this is already taking care by our irqchip driver specifically
by the irq_chip.irq_eoi() method.
This is perfect timing where it should be done and no special handling
is needed at plat_smp_ops.clear().

Signed-off-by: Noam Camus <noamca@mellanox.com>
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
2016-11-08 09:25:18 -08:00