summaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)Author
2015-05-19powerpc/kvm: Disable in-kernel MPIC emulation for PREEMPT_RT_FULLBogdan Purcareata
Current in-kernel MPIC emulation for PowerPC is unsuitable for RT. More specifically, the MPIC lock becomes a sleeping mutex, causing concurrency issues on a KVM guest enter. Converting the lock to a raw_spinlock is still not a viable solution, since the current implementation is prone to induce large latencies with preemption and irqs disabled on the host kernel. Patch aready applied in the upstream 3.18.13 RT patch, version 9 [1]. [1] http://www.spinics.net/lists/linux-rt-users/msg13340.html Signed-off-by: Bogdan Purcareata <bogdan.purcareata@freescale.com> Change-Id: Ie942de00717527ea78c2471f6a5153489f432e89 Reviewed-on: http://git.am.freescale.net:8181/36530 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Scott Wood <scottwood@freescale.com> Reviewed-by: Honghua Yin <Hong-Hua.Yin@freescale.com>
2015-05-11powerpc/corenet64_smp_defconfig: Enable spi-nor frameworkHou Zhiqiang
Enable CONFIG_MTD_SPI_NOR_BASE for corenet64_smp_defconfig. Verified on P5040DS. Signed-off-by: Hou Zhiqiang <B48286@freescale.com> Change-Id: I534c2bf9d18ef330d14c4d7ed79dcfeb5185d562 Reviewed-on: http://git.am.freescale.net:8181/35462 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Mingkai Hu <Mingkai.Hu@freescale.com> Reviewed-by: Honghua Yin <Hong-Hua.Yin@freescale.com>
2015-05-04powerpc/t1042d4rdb: add DIU support in kernelWang Dongsheng
Add DIU support for T1042d4rdb board. DIU platform code has supported in kernel, this patch just add DT node check for T1042d4rdb. Signed-off-by: Wang Dongsheng <dongsheng.wang@freescale.com> Change-Id: I2b524265ea3009961da445820193788d0c82e19e Reviewed-on: http://git.am.freescale.net:8181/35832 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Chenhui Zhao <chenhui.zhao@freescale.com> Reviewed-by: Honghua Yin <Hong-Hua.Yin@freescale.com>
2015-04-30powerpc:rcpm:usb: Fix kernel crash in setting usb as wakeup sourceRamneek Mehresh
Fix kernel crash issue in setting usb as wake-up source for system sleep feature for relevant qoriq platforms (those supporting system sleep via rcpm) Signed-off-by: Ramneek Mehresh <ramneek.mehresh@freescale.com> Change-Id: I838234aff00800b6fafbb02ec12de7d3f2cc6075 Reviewed-on: http://git.am.freescale.net:8181/33283 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Honghua Yin <Hong-Hua.Yin@freescale.com>
2015-04-28powerpc/defconfig: Correct NR_CPUS for FMAN V3L platformJianhua Xie
There are 24 cpus/threads only for FMAN V3H platform. For FMAN V3L platform like T10xx, there are only 4 cpus/threads. Signed-off-by: Jianhua Xie <jianhua.xie@freescale.com> Change-Id: Idd5acc067b3e7bda9e4a6c39538f9c4078e34016 Reviewed-on: http://git.am.freescale.net:8181/35651 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Madalin-Cristian Bucur <madalin.bucur@freescale.com> Reviewed-by: Honghua Yin <Hong-Hua.Yin@freescale.com>
2015-04-28bonding/t1040d4rdb/dts: Add separate usdpaa dt for LAGJianhua Xie
There are 4 Offline/Host Command Ports (O/H n) in t10xx platform. This patch enables OP#2 for LAG use-cases and keep separate dt for usdpaa scenarios for t1040d4rdb. Change-Id: I1df879190f90f0cf7c25200cede9c4f52a7a552e Suggested-by: Pan Jiafei <Jiafei.Pan@freescale.com> Suggested-by: Madalin Bucur <madalin.bucur@freescale.com> Suggested-by: Scott Wood <scottwood@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/35504 Reviewed-by: Pan Jiafei <Jiafei.Pan@freescale.com> Signed-off-by: Jianhua Xie <jianhua.xie@freescale.com> Change-Id: I99d54e16abe6b8bb27099f2096d4ccea69c0b6f5 Reviewed-on: http://git.am.freescale.net:8181/35652 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Honghua Yin <Hong-Hua.Yin@freescale.com>
2015-04-28powerpc/t10xx/dts: Remove software feature node from platform dtJianhua Xie
Configurable node based on software feature should not appear in platform dt, since platform dt should only describe hardware. If some software features depend on some kinds of hardware, those software should share those hardware, and provide configurable capabilities in run-time. At least, a separate device tree with usdpaa style for software features will instead to keep platform dt clear. This patch removes software feature related offline port nodes and buffer pool nodes from t10xx platform dt. Change-Id: Ib367f9facfdd6743a704f863728a7f2e0e7955ce Suggested-by: Pan Jiafei <Jiafei.Pan@freescale.com> Suggested-by: Madalin Bucur <madalin.bucur@freescale.com> Suggested-by: Scott Wood <scottwood@freescale.com> Signed-off-by: Jianhua Xie <jianhua.xie@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/35429 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Madalin-Cristian Bucur <madalin.bucur@freescale.com>
2015-04-28bonding/t1040/dts: Add separate usdpaa dt for LAGJianhua Xie
There are 4 Offline/Host Command Ports (O/H n) in t10xx platform. This patch enables OP#2 for LAG use-cases and keep separate dt for usdpaa scenarios. Suggested-by: Pan Jiafei <Jiafei.Pan@freescale.com> Suggested-by: Madalin Bucur <madalin.bucur@freescale.com> Acked-by: Scott Wood <scottwood@freescale.com> Signed-off-by: Jianhua Xie <jianhua.xie@freescale.com> Change-Id: Ic39a9f6f5cab759c175c96cab57ac61fce44478f Reviewed-on: http://git.am.freescale.net:8181/35428 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Madalin-Cristian Bucur <madalin.bucur@freescale.com> Reviewed-by: Jiafei Pan <Jiafei.Pan@freescale.com> Reviewed-by: Honghua Yin <Hong-Hua.Yin@freescale.com>
2015-04-22t1042d4rdb/dts: Added usdpaa device tree and sharedSandeep Singh
interface device tree source Signed-off-by: Sandeep Singh <sandeep@freescale.com> Change-Id: If7e2e984aa0883f2ceacc30b67cf493b42f3f67d Reviewed-on: http://git.am.freescale.net:8181/35357 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Vakul Garg <vakul@freescale.com> Reviewed-by: Honghua Yin <Hong-Hua.Yin@freescale.com>
2015-04-22t1040d4rdb/dts: Add usdpaa device tree and usdpaa sharedSandeep Singh
interface device tree. Signed-off-by: Sandeep Singh <sandeep@freescale.com> Change-Id: I27db2e3e2b55c66e8b75ae560f2899c0455bf893 Reviewed-on: http://git.am.freescale.net:8181/34646 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Vakul Garg <vakul@freescale.com> Reviewed-by: Honghua Yin <Hong-Hua.Yin@freescale.com>
2015-04-21FMD: DSAR: add dsar support to device tree filesEyal Harari
Signed-off-by: Eyal Harari <eyal.harari@freescale.com> Change-Id: I900fd4e19738897af4be22df651b106e7384f30c Reviewed-on: http://git.am.freescale.net:8181/35281 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Mandy Lavi <Mandy.Lavi@freescale.com> Reviewed-by: Honghua Yin <Hong-Hua.Yin@freescale.com>
2015-04-21Expose RCW in the ccsr_guts structureMandy Lavi
This will enable the reading of essential h/w configuration setup from within the kernel space Change-Id: I8d5ffbf48b02b5ef6ad6bf546f3440485ccd9778 Reviewed-on: http://git.am.freescale.net:8181/35025 Reviewed-by: Igal Liberman <Igal.Liberman@freescale.com> Reviewed-by: Yangbo Lu <yangbo.lu@freescale.com> Reviewed-by: Honghua Yin <Hong-Hua.Yin@freescale.com> Tested-by: Honghua Yin <Hong-Hua.Yin@freescale.com>
2015-04-16t1024rdb/qe-tdm: remove incorrect qoriq-tdm1.0.dtsi for t1024Shengzhou Liu
qoriq-tdm1.0.dtsi is used for TDM instead of QE-TDM. qoriq-tdm1.0.dtsi was included incorrectly in t1024si-post.dtsi, so remove the unused node. Signed-off-by: Shengzhou Liu <Shengzhou.Liu@freescale.com> Change-Id: I04db42316df853ad596a466cccc0ac88621a5384 Reviewed-on: http://git.am.freescale.net:8181/34968 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Honghua Yin <Hong-Hua.Yin@freescale.com>
2015-04-16powerpc/perf: fix fsl_emb_pmu_start to write correct pmc valueTom Huynh
PMCs on PowerPC increases towards 0x80000000 and triggers an overflow interrupt when the msb is set to collect a sample. Therefore, to setup for the next sample collection, pmu_start should set the pmc value to 0x80000000 - left instead of left which incorrectly delays the next overflow interrupt. Same as commit 9a45a9407c69 ("powerpc/perf: power_pmu_start restores incorrect values, breaking frequency events") for book3s. Signed-off-by: Tom Huynh <tom.huynh@freescale.com> Signed-off-by: Scott Wood <scottwood@freescale.com> (cherry picked from commit d2caa3cebda8b626336e100b80a0ed6f909dccab) Change-Id: I2179f49218e1e0cd836c67714430a86be8535a27 Reviewed-on: http://git.am.freescale.net:8181/35052 Reviewed-by: Richard Schmitt <richard.schmitt@freescale.com> Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Honghua Yin <Hong-Hua.Yin@freescale.com>
2015-04-13t1023rdb/dts: add usdpaa device tree and usdpaaVakul Garg
shared interface device tree Signed-off-by: Sandeep Singh <sandeep@freescale.com> Change-Id: Id22399683933675957f945f61621f87856d53b2c Reviewed-on: http://git.am.freescale.net:8181/34778 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Vakul Garg <vakul@freescale.com> Reviewed-by: Honghua Yin <Hong-Hua.Yin@freescale.com>
2015-03-30powerpc: add little endian flag to syscall_get_arch()Richard Guy Briggs
Since both ppc and ppc64 have LE variants which are now reported by uname, add that flag (__AUDIT_ARCH_LE) to syscall_get_arch() and add AUDIT_ARCH_PPC64LE variant. Without this, perf trace and auditctl fail. Mainline kernel reports ppc64le (per a058801) but there is no matching AUDIT_ARCH_PPC64LE. Since 32-bit PPC LE is not supported by audit, don't advertise it in AUDIT_ARCH_PPC* variants. See: https://www.redhat.com/archives/linux-audit/2014-August/msg00082.html https://www.redhat.com/archives/linux-audit/2014-December/msg00004.html Signed-off-by: Richard Guy Briggs <rgb@redhat.com> Acked-by: Paul Moore <paul@paul-moore.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> (cherry picked from commit 63f13448d81c910a284b096149411a719cbed501) Signed-off-by: Bogdan Purcareata <bogdan.purcareata@freescale.com> Change-Id: I8bee5c00b6d4e0f3a6a3d322b21c2f103bd9ce00 Reviewed-on: http://git.am.freescale.net:8181/33027 Reviewed-by: Scott Wood <scottwood@freescale.com> Tested-by: Honghua Yin <Hong-Hua.Yin@freescale.com> Reviewed-by: Honghua Yin <Hong-Hua.Yin@freescale.com>
2015-03-30sparc: simplify syscall_get_arch()Eric Paris
Include linux/thread_info.h so we can use is_32_bit_task() cleanly. Then just simplify syscall_get_arch() since is_32_bit_task() works for all configuration options. Suggested-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Eric Paris <eparis@redhat.com> (cherry picked from commit 75dddcbd9651eec29708f91149e405cd42cf68d7) Signed-off-by: Bogdan Purcareata <bogdan.purcareata@freescale.com> Change-Id: Ie3eb2b996101ff3fbd8e3d44c708cd0d94bfb9f3 Reviewed-on: http://git.am.freescale.net:8181/33025 Tested-by: Honghua Yin <Hong-Hua.Yin@freescale.com> Reviewed-by: Honghua Yin <Hong-Hua.Yin@freescale.com>
2015-03-30powerpc: Relax secure computing on syscall entry traceBogdan Purcareata
The secure_computing_strict will just force the kernel to panic on secure_computing failure. Once SECCOMP_FILTER support is enabled in the kernel, syscalls can be denied without system failure. v4: - rebase on top of 3.19 v3,v2: no changes Upstream-Status: Pending [https://lkml.org/lkml/2015/2/18/53] Signed-off-by: Bogdan Purcareata <bogdan.purcareata@freescale.com> Change-Id: Icd077291db86657edce29b8079696fc8e48e554e Reviewed-on: http://git.am.freescale.net:8181/33031 Tested-by: Honghua Yin <Hong-Hua.Yin@freescale.com> Reviewed-by: Honghua Yin <Hong-Hua.Yin@freescale.com>
2015-03-30drivers:usb:pm: Fix usb pm support for deep-sleepRamneek Mehresh
Make sure that saving and restoration of usb phy registers only happen in case of deep-sleep, and not for any other feature like sleep, etc. Also export pm_suspend_state() and set_pm_suspend_state() Signed-off-by: Ramneek Mehresh <ramneek.mehresh@freescale.com> Change-Id: I2e08208c975ec7aee7ed42e7d424aaa8d14899e3 Reviewed-on: http://git.am.freescale.net:8181/33384 Reviewed-by: Nikhil Badola <nikhil.badola@freescale.com> Tested-by: Honghua Yin <Hong-Hua.Yin@freescale.com> Reviewed-by: Honghua Yin <Hong-Hua.Yin@freescale.com>
2015-03-30ARCH: AUDIT: implement syscall_get_arch for all archesEric Paris
For all arches which support audit implement syscall_get_arch() They are all pretty easy and straight forward, stolen from how the call to audit_syscall_entry() determines the arch. Based-on-patch-by: Richard Briggs <rgb@redhat.com> Signed-off-by: Eric Paris <eparis@redhat.com> Cc: linux-ia64@vger.kernel.org Cc: microblaze-uclinux@itee.uq.edu.au Cc: linux-mips@linux-mips.org Cc: linux@lists.openrisc.net Cc: linux-parisc@vger.kernel.org Cc: linuxppc-dev@lists.ozlabs.org Cc: sparclinux@vger.kernel.org (cherry picked from commit ce5d112827e5c2e9864323d0efd7ec2a62c6dce0) Signed-off-by: Bogdan Purcareata <bogdan.purcareata@freescale.com> Change-Id: I772d52f630cca58c583a8f9b42f396ffecacdd1e Conflicts: arch/mips/include/asm/syscall.h Change-Id: I261719173454c5157a96eaf06c1deb9b2e3835d6 Reviewed-on: http://git.am.freescale.net:8181/33086 Reviewed-by: Scott Wood <scottwood@freescale.com> Tested-by: Honghua Yin <Hong-Hua.Yin@freescale.com> Reviewed-by: Honghua Yin <Hong-Hua.Yin@freescale.com>
2015-03-30powerpc: Don't force ENOSYS as error on syscall failBogdan Purcareata
In certain scenarios - e.g. seccomp filtering with ERRNO as default action - the system call fails for other reasons than the syscall not being available. The seccomp filter can be configured to store a user-defined error code on return from a blacklisted syscall. Don't always set ENOSYS on do_syscall_trace_enter failure. Delegate setting ENOSYS in case of failure, where appropriate, to do_syscall_trace_enter. v4: - update syscall_exit to be local label on 64bit, after rebasing on top of 3.19 v3: - keep setting ENOSYS in the syscall entry assembly for scenarios without syscall tracing v2: - move setting ENOSYS as errno from the syscall entry assembly to do_syscall_trace_enter, only in the specific case Upstream-Status: Pending [https://lkml.org/lkml/2015/2/18/50] Signed-off-by: Bogdan Purcareata <bogdan.purcareata@freescale.com> Change-Id: I938a8754407a60c79fe9485cc76a6ec891e08e82 Reviewed-on: http://git.am.freescale.net:8181/33030 Reviewed-by: Scott Wood <scottwood@freescale.com> Tested-by: Honghua Yin <Hong-Hua.Yin@freescale.com> Reviewed-by: Honghua Yin <Hong-Hua.Yin@freescale.com>
2015-03-30powerpc: Enable HAVE_ARCH_SECCOMP_FILTERBogdan Purcareata
Upstream-Status: Pending [https://lkml.org/lkml/2015/2/18/51] Signed-off-by: Bogdan Purcareata <bogdan.purcareata@freescale.com> Change-Id: I8960b958a7115139caeedda53da76d96da0260fc Reviewed-on: http://git.am.freescale.net:8181/33032 Reviewed-by: Scott Wood <scottwood@freescale.com> Tested-by: Honghua Yin <Hong-Hua.Yin@freescale.com> Reviewed-by: Honghua Yin <Hong-Hua.Yin@freescale.com>
2015-03-30seccomp,x86,arm,mips,s390: Remove nr parameter from secure_computingBogdan Purcareata
The secure_computing function took a syscall number parameter, but it only paid any attention to that parameter if seccomp mode 1 was enabled. Rather than coming up with a kludge to get the parameter to work in mode 2, just remove the parameter. To avoid churn in arches that don't have seccomp filters (and may not even support syscall_get_nr right now), this leaves the parameter in secure_computing_strict, which is now a real function. For ARM, this is a bit ugly due to the fact that ARM conditionally supports seccomp filters. Fixing that would probably only be a couple of lines of code, but it should be coordinated with the audit maintainers. This will be a slight slowdown on some arches. The right fix is to pass in all of seccomp_data instead of trying to make just the syscall nr part be fast. This is a prerequisite for making two-phase seccomp work cleanly. Cc: Russell King <linux@arm.linux.org.uk> Cc: linux-arm-kernel@lists.infradead.org Cc: Ralf Baechle <ralf@linux-mips.org> Cc: linux-mips@linux-mips.org Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Cc: Heiko Carstens <heiko.carstens@de.ibm.com> Cc: linux-s390@vger.kernel.org Cc: x86@kernel.org Cc: Kees Cook <keescook@chromium.org> Signed-off-by: Andy Lutomirski <luto@amacapital.net> Signed-off-by: Kees Cook <keescook@chromium.org> (backported from commit a4412fc9486ec85686c6c7929e7e829f62ae377e) Signed-off-by: Bogdan Purcareata <bogdan.purcareata@freescale.com> Change-Id: I4109ed2560d19349927c3e3f7648022ae23db318 Reviewed-on: http://git.am.freescale.net:8181/33029 Reviewed-by: Scott Wood <scottwood@freescale.com> Tested-by: Honghua Yin <Hong-Hua.Yin@freescale.com> Reviewed-by: Honghua Yin <Hong-Hua.Yin@freescale.com>
2015-03-30powerpc/kernel: Make syscall_exit a local labelBogdan Purcareata
Currently when we back trace something that is in a syscall we see something like this: [c000000000000000] [c000000000000000] SyS_read+0x6c/0x110 [c000000000000000] [c000000000000000] syscall_exit+0x0/0x98 Although it's entirely correct, seeing syscall_exit at the bottom can be confusing - we were exiting from a syscall and then called SyS_read() ? If we instead change syscall_exit to be a local label we get something more intuitive: [c0000001fa46fde0] [c00000000026719c] SyS_read+0x6c/0x110 [c0000001fa46fe30] [c000000000009264] system_call+0x38/0xd0 ie. we were handling a system call, and it was SyS_read(). Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> (backported from commit 4c3b21686111e0ac6018469dacbc5549f9915cf8) Signed-off-by: Bogdan Purcareata <bogdan.purcareata@freescale.com> Change-Id: I2f04a5c9db260ffc36b95ce6ee48c50535053f7e Reviewed-on: http://git.am.freescale.net:8181/33028 Reviewed-by: Scott Wood <scottwood@freescale.com> Tested-by: Honghua Yin <Hong-Hua.Yin@freescale.com> Reviewed-by: Honghua Yin <Hong-Hua.Yin@freescale.com>
2015-03-30powerpc: Fix sys_call_table declaration to enable syscall tracingRomeo Cane
Declaring sys_call_table as a pointer causes the compiler to generate the wrong lookup code in arch_syscall_addr(). <arch_syscall_addr>: lis r9,-16384 rlwinm r3,r3,2,0,29 - lwz r11,30640(r9) - lwzx r3,r11,r3 + addi r9,r9,30640 + lwzx r3,r9,r3 blr The actual sys_call_table symbol, declared in assembler, is an array. If we lie about that to the compiler we get the wrong code generated, as above. This definition seems only to be used by the syscall tracing code in kernel/trace/trace_syscalls.c. With this patch I can successfully use the syscall tracepoints: bash-3815 [002] .... 333.239082: sys_write -> 0x2 bash-3815 [002] .... 333.239087: sys_dup2(oldfd: a, newfd: 1) bash-3815 [002] .... 333.239088: sys_dup2 -> 0x1 bash-3815 [002] .... 333.239092: sys_fcntl(fd: a, cmd: 1, arg: 0) bash-3815 [002] .... 333.239093: sys_fcntl -> 0x1 bash-3815 [002] .... 333.239094: sys_close(fd: a) bash-3815 [002] .... 333.239094: sys_close -> 0x0 Signed-off-by: Romeo Cane <romeo.cane.ext@coriant.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> (cherry picked from commit 1028ccf560b97adbf272381a61a67e17d44d1054) Signed-off-by: Bogdan Purcareata <bogdan.purcareata@freescale.com> Change-Id: I1754c0e1ca6c77cc56566bf50019c153ea405cbf Reviewed-on: http://git.am.freescale.net:8181/33026 Reviewed-by: Scott Wood <scottwood@freescale.com> Tested-by: Honghua Yin <Hong-Hua.Yin@freescale.com> Reviewed-by: Honghua Yin <Hong-Hua.Yin@freescale.com>
2015-03-30syscall_get_arch: remove useless function argumentsEric Paris
Every caller of syscall_get_arch() uses current for the task and no implementors of the function need args. So just get rid of both of those things. Admittedly, since these are inline functions we aren't wasting stack space, but it just makes the prototypes better. Signed-off-by: Eric Paris <eparis@redhat.com> Cc: linux-arm-kernel@lists.infradead.org Cc: linux-mips@linux-mips.org Cc: linux390@de.ibm.com Cc: x86@kernel.org Cc: linux-kernel@vger.kernel.org Cc: linux-s390@vger.kernel.org Cc: linux-arch@vger.kernel.org (backported from commit 5e937a9ae9137899c6641d718bd3820861099a09) Signed-off-by: Bogdan Purcareata <bogdan.purcareata@freescale.com> Change-Id: Ifeefd84eeaa99445fdfc49ef782b01957dd67c00 Reviewed-on: http://git.am.freescale.net:8181/33023 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Honghua Yin <Hong-Hua.Yin@freescale.com>
2015-03-30arm:dts:ls1021a : Add configure-gfladj property to USB3 nodeNikhil Badola
Add "configure-gfladj" boolean property to USB3 node. This property is used to determine whether frame length adjustent is required or not Signed-off-by: Nikhil Badola <nikhil.badola@freescale.com> Change-Id: Iab5ad0062acdbc03035d2ca98de071a52074e844 Reviewed-on: http://git.am.freescale.net:8181/33663 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Ramneek Mehresh <ramneek.mehresh@freescale.com> Reviewed-by: Honghua Yin <Hong-Hua.Yin@freescale.com>
2015-03-27capwap: reuse op2 to avoid errors of no resourcePan Jiafei
Use OP1 as outbound OP and OP2 as inbound OP, Then use the following arguments for capwap usecase: "-g 2 -o 1" T1024 only has 156K FIFO memory for FMan, so avoid no resource available for FMan port, we reuse OP2 which is already enabled in t1024rdb.dts by default. Signed-off-by: Pan Jiafei <Jiafei.Pan@freescale.com> Change-Id: Ia810568fd10d0a5a17f1d0b1c92a844d6941896d Reviewed-on: http://git.am.freescale.net:8181/33372 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Vakul Garg <vakul@freescale.com> Reviewed-by: Honghua Yin <Hong-Hua.Yin@freescale.com>
2015-03-27t1023rdb/dts: disable nor flash as errata A-009138Shengzhou Liu
Due to IFC NOR errata A-009138, NOR is not available on T1023RDB RevB, so disable NOR access for revB. Signed-off-by: Shengzhou Liu <Shengzhou.Liu@freescale.com> Change-Id: I475ff8b863aebed8ca014753c6f42c8a116f907f Reviewed-on: http://git.am.freescale.net:8181/33340 Reviewed-by: Xiaobo Xie <X.Xie@freescale.com> Tested-by: Honghua Yin <Hong-Hua.Yin@freescale.com> Reviewed-by: Honghua Yin <Hong-Hua.Yin@freescale.com>
2015-03-26mpc85xx: dts: Remove SPI and NAND partition from bsc9131rdb.dtsiAshish Kumar
* Run "mtdparts default" on u-boot to create dynamic partitions * Or use dynamic mtd partition with the help of bootargs in u-boot Append bootargs with: "mtdparts=ff800000.flash:1m(nand_uboot),512K(nand_dtb),8m(nand_kernel),-(fs);\ spiff707000.0:1m(spi_uboot),4m(spi_kernel),512k(spi_dtb),-(fs)'" Signed-off-by: Ashish Kumar <Ashish.Kumar@freescale.com> Change-Id: Ifb91067016c6327e11271868cda04b369881c083 Reviewed-on: http://git.am.freescale.net:8181/33582 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Honghua Yin <Hong-Hua.Yin@freescale.com>
2015-03-26t1024qds/dts: Added usdpaa shared interface device treeSandeep Singh
Signed-off-by: Sandeep Singh <sandeep@freescale.com> Change-Id: I30414c790280bed668b4a2e407a0917e5a95a7b9 Reviewed-on: http://git.am.freescale.net:8181/32930 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Vakul Garg <vakul@freescale.com> Reviewed-by: Honghua Yin <Hong-Hua.Yin@freescale.com>
2015-03-26t1024rdb/dts: Added usdpaa shared interface device treeSandeep Singh
Signed-off-by: Sandeep Singh <sandeep@freescale.com> Change-Id: I7dccc8996cf572f49353296287b4ae68d130f1c7 Reviewed-on: http://git.am.freescale.net:8181/32929 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Vakul Garg <vakul@freescale.com> Reviewed-by: Honghua Yin <Hong-Hua.Yin@freescale.com>
2015-03-26arm: KVM: Don't return PSCI_INVAL if waitqueue is inactiveChristoffer Dall
The current KVM implementation of PSCI returns INVALID_PARAMETERS if the waitqueue for the corresponding CPU is not active. This does not seem correct, since KVM should not care what the specific thread is doing, for example, user space may not have called KVM_RUN on this VCPU yet or the thread may be busy looping to user space because it received a signal; this is really up to the user space implementation. Instead we should check specifically that the CPU is marked as being turned off, regardless of the VCPU thread state, and if it is, we shall simply clear the pause flag on the CPU and wake up the thread if it happens to be blocked for us. Further, the implementation seems to be racy when executing multiple VCPU threads. There really isn't a reasonable user space programming scheme to ensure all secondary CPUs have reached kvm_vcpu_first_run_init before turning on the boot CPU. Therefore, set the pause flag on the vcpu at VCPU init time (which can reasonably be expected to be completed for all CPUs by user space before running any VCPUs) and clear both this flag and the feature (in case the feature can somehow get set again in the future) and ping the waitqueue on turning on a VCPU using PSCI. Reported-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org> (cherry picked from commit 478a8237f656d86d25b3e4e4bf3c48f590156294) Conflicts: arch/arm/kvm/psci.c Signed-off-by: Diana Craciun <Diana.Craciun@freescale.com> Change-Id: Ifdb4ff10bd3f02de20ee2302024a7dbedd1ddbf0 Reviewed-on: http://git.am.freescale.net:8181/31349 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Mihai Caraman <mihai.caraman@freescale.com> Reviewed-by: Honghua Yin <Hong-Hua.Yin@freescale.com>
2015-03-25powerpc/defconfig: enable CONFIG_REALTEK_PHYShengzhou Liu
Enable CONFIG_REALTEK_PHY to support Realtek PHY RTL8211F which is used on freescale's T1023 RDB board. Signed-off-by: Shengzhou Liu <Shengzhou.Liu@freescale.com> Change-Id: I91d7b0e22a6223f5d8fd973bcdfe51e0b82958fa Reviewed-on: http://git.am.freescale.net:8181/33220 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Xiaobo Xie <X.Xie@freescale.com> Reviewed-by: Honghua Yin <Hong-Hua.Yin@freescale.com>
2015-03-25powerpc: pm: save/restore CR register when doing deep sleepChenhui Zhao
Save and restore CR (Condition Register) register when doing deep sleep. Otherwise, conditional statement will get wrong result after resuming from deep sleep. Free memory which is allocated in suspend code. Change-Id: Ibe50138e85c164d0218a01f0f481bf484a02a45a Signed-off-by: Chenhui Zhao <chenhui.zhao@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/33411 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Zhuoyu Zhang <Zhuoyu.Zhang@freescale.com> Reviewed-by: Honghua Yin <Hong-Hua.Yin@freescale.com>
2015-03-25powerpc/fsl-booke: Add T1040D4RDB/T1042D4RDB board supportPriyanka Jain
T1040D4RDB/T1042D4RDB are Freescale Reference Design Board which can support T1040/T1042 QorIQ Power Architecture™ processor respectively T1040D4RDB/T1042D4RDB board Overview ------------------------------------- - SERDES Connections, 8 lanes supporting: - PCI - SGMII - SATA 2.0 - QSGMII(only for T1040D4RDB) - DDR Controller - Supports rates of up to 1600 MHz data-rate - Supports one DDR4 UDIMM -IFC/Local Bus - NAND flash: 1GB 8-bit NAND flash - NOR: 128MB 16-bit NOR Flash - Ethernet - Two on-board RGMII 10/100/1G ethernet ports. - PHY #0 remains powered up during deep-sleep - CPLD - Clocks - System and DDR clock (SYSCLK, “DDRCLK”) - SERDES clocks - Power Supplies - USB - Supports two USB 2.0 ports with integrated PHYs - Two type A ports with 5V@1.5A per port. - SDHC - SDHC/SDXC connector - SPI - On-board 64MB SPI flash - I2C - Devices connected: EEPROM, thermal monitor, VID controller - Other IO - Two Serial ports - ProfiBus port Add support for T1040/T1042D4RDB board: -add device tree -Add entry corenet_generic.c, as it is similar to other corenet platforms Signed-off-by: Vijay Rai <vijay.rai@freescale.com> Signed-off-by: Priyanka Jain <Priyanka.Jain@freescale.com> Change-Id: I4ff308a7884107dec88fac26e91feb3e85065d3f Reviewed-on: http://git.am.freescale.net:8181/33157 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Honghua Yin <Hong-Hua.Yin@freescale.com>
2015-03-23powerpc/t1023rdb: Add T1023RDB board supportShengzhou Liu
T1023RDB is a Freescale Reference Design Board that hosts T1023 SoC. This patch addes support for t1023rdb. Signed-off-by: Shengzhou Liu <Shengzhou.Liu@freescale.com> Change-Id: I58c350794d657c653ff0b37bfede1179a7b39370 Reviewed-on: http://git.am.freescale.net:8181/32940 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Xiaobo Xie <X.Xie@freescale.com> Reviewed-by: Honghua Yin <Hong-Hua.Yin@freescale.com>
2015-03-23t102x/diu: move display alias to t1024si-post.dtsiShengzhou Liu
As DIU/display feature exists on t1024 instead of t1023, so move display alias to t1024si-post.dtsi. Signed-off-by: Shengzhou Liu <Shengzhou.Liu@freescale.com> Change-Id: I831f211f8f85142622e63706204df2265f80ed0d Reviewed-on: http://git.am.freescale.net:8181/32939 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Xiaobo Xie <X.Xie@freescale.com> Reviewed-by: Honghua Yin <Hong-Hua.Yin@freescale.com>
2015-03-23t1024rdb/dts: add support for 2.5G SGMIIShengzhou Liu
Add 2.5G SGMII support for T1024RDB Rev-B. Signed-off-by: Shengzhou Liu <Shengzhou.Liu@freescale.com> Change-Id: I5e278f2dacde8c27b42c6486808366f8009186a2 Reviewed-on: http://git.am.freescale.net:8181/26736 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Xiaobo Xie <X.Xie@freescale.com> Reviewed-by: Honghua Yin <Hong-Hua.Yin@freescale.com>
2015-03-23fmd: create new config flavor for FManV3LMandy Lavi
CONFIG_FMAN_T4240 was eliminated Instead, there are now two flags representing FmanV3: CONFIG_FMAN_V3H for FmanV3H arch and CONFIG_FMAN_V3L for FmanV3L arch. FmanV3H h/w block is integrated in B4860, B4420, T4240, T4160, T2080 etc FmanV3L h/w block is integrated in T1040, T1024, T1020, T1022 etc defconfig files changes: corenet64_fmanv3_smp_defconfig -> corenet64_fmanv3l_smp_defconfig corenet32_fmanv3_smp_defconfig -> corenet32_fmanv3l_smp_defconfig 85xx/e6500rev2_defconfig -> corenet64_fmanv3h_smp_defconfig Change-Id: I9fcfb454bc3bd2d72c5d55c616400a808e181413 Signed-off-by: Mandy Lavi <mandy.lavi@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/30539 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Shengzhou Liu <Shengzhou.Liu@freescale.com> Reviewed-by: Honghua Yin <Hong-Hua.Yin@freescale.com>
2015-03-20powerpc: Make boot_cpuid common between 32 and 64-bitBenjamin Herrenschmidt
Move the definition to setup-common.c and set the init value to -1 on both 32 and 64-bit (it was 0 on 64-bit). Additionally add a check to prom.c to garantee that the init value has been udpated after the DT scan. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Change-Id: I3aa6499dd65bfa5410d382880ca42f259906cdea Reviewed-on: http://git.am.freescale.net:8181/33084 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Honghua Yin <Hong-Hua.Yin@freescale.com>
2015-03-20powerpc/mpc85xx: Add ranges to etsec2 nodesScott Wood
Commit 746c9e9f92dd "of/base: Fix PowerPC address parsing hack" limited the applicability of the workaround whereby a missing ranges is treated as an empty ranges. This workaround was hiding a bug in the etsec2 device tree nodes, which have children with reg, but did not have ranges. Signed-off-by: Scott Wood <scottwood@freescale.com> Reported-by: Alexander Graf <agraf@suse.de> Change-Id: I4c77ddeeb3c8de2ae180d8a24aae9871f2988fa6 Reviewed-on: http://git.am.freescale.net:8181/33083 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Honghua Yin <Hong-Hua.Yin@freescale.com>
2015-03-20Merge remote-tracking branch 'ls1-linux/LS1-SDK'Olivia Yin-R63875
2015-03-20powerpc/e6500: Optimize hugepage TLB missesScott Wood
Some workloads take a lot of TLB misses despite using traditional hugepages. Handle these TLB misses in the asm fastpath rather than going through a bunch of C code. Signed-off-by: Scott Wood <scottwood@freescale.com> Change-Id: I84a1f6fad189130c32a44e73ff60a26ffadfd59b Reviewed-on: http://git.am.freescale.net:8181/32729 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Richard Schmitt <richard.schmitt@freescale.com> Reviewed-by: Honghua Yin <Hong-Hua.Yin@freescale.com>
2015-03-19Merge branch 'qoriq-sdk' into LS1-SDKJason Jin
2015-03-16Revert "Revert "powerpc/hugetlb: Replace __get_cpu_var with get_cpu_var""Scott Wood
This reverts commit 978464fa78fef73e7c225e3a316662b6bfd1c261. Change-Id: I7d529835a9503cfc130da2da7bcda536b9c58762 Reviewed-on: http://git.am.freescale.net:8181/32820 Reviewed-by: Scott Wood <scottwood@freescale.com> Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
2015-03-16Revert "powerpc/hugetlb: Replace __get_cpu_var with get_cpu_var"Honghua Yin
This reverts commit 64ded519fc23ff43dc257dce37dfd1b7801f1e99. Change-Id: I31b93b7ed5e2e5acd1198be4f90d0414e39aad61 Reviewed-on: http://git.am.freescale.net:8181/32782 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Honghua Yin <Hong-Hua.Yin@freescale.com>
2015-03-16Revert "powerpc/perf: fix fsl_emb_pmu_start to write correct pmc value"Honghua Yin
This reverts commit a82bc85b91aabe41b47eb7ef4b15c466f671ecbc. Change-Id: If8da9358abad19bef990e0578a81b48e92487799 Reviewed-on: http://git.am.freescale.net:8181/32775 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Honghua Yin <Hong-Hua.Yin@freescale.com>
2015-03-16powerpc/perf: fix fsl_emb_pmu_start to write correct pmc valueTom Huynh
PMCs on PowerPC increases towards 0x80000000 and triggers an overflow interrupt when the msb is set to collect a sample. Therefore, to setup for the next sample collection, pmu_start should set the pmc value to 0x80000000 - left instead of left which incorrectly delays the next overflow interrupt. Same as commit 9a45a9407c69 ("powerpc/perf: power_pmu_start restores incorrect values, breaking frequency events") for book3s. Change-Id: I5ba1acaec8436973970d00fdbd4b100107559a32 Reviewed-on: http://git.am.freescale.net:8181/29119 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Honghua Yin <Hong-Hua.Yin@freescale.com>
2015-03-16powerpc/hugetlb: Replace __get_cpu_var with get_cpu_varTiejun Chen
Replace __get_cpu_var safely with get_cpu_var to avoid the following call trace: [ 7253.637591] BUG: using smp_processor_id() in preemptible [00000000 00000000] code: hugemmap01/9048 [ 7253.637601] caller is free_hugepd_range.constprop.25+0x88/0x1a8 [ 7253.637605] CPU: 1 PID: 9048 Comm: hugemmap01 Not tainted 3.10.20-rt14+ #114 [ 7253.637606] Call Trace: [ 7253.637617] [cb049d80] [c0007ea4] show_stack+0x4c/0x168 (unreliable) [ 7253.637624] [cb049dc0] [c031c674] debug_smp_processor_id+0x114/0x134 [ 7253.637628] [cb049de0] [c0016d28] free_hugepd_range.constprop.25+0x88/0x1a8 [ 7253.637632] [cb049e00] [c001711c] hugetlb_free_pgd_range+0x6c/0x168 [ 7253.637639] [cb049e40] [c0117408] free_pgtables+0x12c/0x150 [ 7253.637646] [cb049e70] [c011ce38] unmap_region+0xa0/0x11c [ 7253.637671] [cb049ef0] [c011f03c] do_munmap+0x224/0x3bc [ 7253.637676] [cb049f20] [c011f2e0] vm_munmap+0x38/0x5c [ 7253.637682] [cb049f40] [c000ef88] ret_from_syscall+0x0/0x3c [ 7253.637686] --- Exception: c01 at 0xff16004 Signed-off-by: Tiejun Chen<tiejun.chen@windriver.com> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> (cherry picked from commit 94b09d75546247ec7e0d441f352f548946619fe8) Signed-off-by: Scott Wood <scottwood@freescale.com> Change-Id: Iaafa3adce6ef75d8838f8e94caa759905ed77bf8 Reviewed-on: http://git.am.freescale.net:8181/29328 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Honghua Yin <Hong-Hua.Yin@freescale.com>