summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-05-14Merge remote-tracking branch 'stable/linux-3.12.y' into sdk-v1.6.xScott Wood
Signed-off-by: Scott Wood <scottwood@freescale.com> Conflicts: arch/sparc/Kconfig drivers/tty/tty_buffer.c
2014-05-14onic: disable buffer deallocationMarian Rotariu
In some complex scenarios, VSP cannot be enabled on Tx O/H port. To support these scenarios, a new attribute was added to onic dts node. The user should guarantee that other hw modules will release the buffers into onic draining pool, otherwise the system will leak memory. Signed-off-by: Marian Rotariu <marian.rotariu@freescale.com> Signed-off-by: Ioana Tibuleac <ioana.tibuleac@freescale.com> Change-Id: Ieb6d1c9cc7d165ad71165a58bd2dbd7b46a70dbc Reviewed-on: http://git.am.freescale.net:8181/12332 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Radu-Andrei Bulie <Radu.Bulie@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-05-14booke/powerpc: define wimge shift mask to fix compilation errorBharat Bhushan
This fixes below compilation error on SOCs where CONFIG_PHYS_64BIT is not defined: arch/powerpc/kvm/e500_mmu_host.c: In function 'kvmppc_e500_shadow_map': | arch/powerpc/kvm/e500_mmu_host.c:631:20: error: 'PTE_WIMGE_SHIFT' undeclared (first use in this function) | wimg = (*ptep >> PTE_WIMGE_SHIFT) & MAS2_WIMGE_MASK; | ^ | arch/powerpc/kvm/e500_mmu_host.c:631:20: note: each undeclared identifier is reported only once for each function it appears in | make[1]: *** [arch/powerpc/kvm/e500_mmu_host.o] Error 1 Signed-off-by: Bharat Bhushan <Bharat.Bhushan@freescale.com> Change-Id: Ic49cf6dab73f05b7eed751c2fa6bc6182f178cdc Reviewed-on: http://git.am.freescale.net:8181/12214 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Stuart Yoder <stuart.yoder@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-05-14powerpc/pm: add API for setting powerdown exceptionZhao Chenhui
Add fsl_set_power_except() for setting powerdown exception when sleep. The drivers can call this function to set the corresponding bits if the devices will power down when sleep. This patch also fixed an issue which is that FMan ports can not work after wake-up from deep sleep using Wake-on-LAN. Set FMan bit and MAC bits of the register IPPDEXPCR seperately, instead of setting them together. Change-Id: I8f632efb8ca54a5d32deb7ee1d42b333fa66d5cd Signed-off-by: Zhao Chenhui <chenhui.zhao@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/12219 Reviewed-by: Yang Li <LeoLi@freescale.com> Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-05-14dpa_offload: fix oNIC non-IPSEC Tx traffic for ipsec_offloadIoana Tibuleac
add dts attribute that prevents the pre-SEC OH port to free buffers when used with an oNIC node Signed-off-by: Ioana Tibuleac <ioana.tibuleac@freescale.com> Change-Id: I0d0c4f67973e2661855ed6d30a1d1bea3311f983 Reviewed-on: http://git.am.freescale.net:8181/12333 Reviewed-by: Marian Cristian Rotariu <marian.rotariu@freescale.com> Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-05-14dpaa_eth: Reordering of FMD API calls in suspend/resume callbacksCristian Sovaiala
Reordered the fm_port_suspend/resume, set_wol API calls. Besides that, in resume callback we do not suspend the port anymore in case of error such as when the setting of MG bit fails. The goto labels have been updated accordingly. Change-Id: I1e8cbe29be4f30129162f0c152bd2914615b7b98 Signed-off-by: Cristian Sovaiala <cristian.sovaiala@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/12326 Reviewed-by: Madalin-Cristian Bucur <madalin.bucur@freescale.com> Reviewed-by: Ruxandra Ioana Radulescu <ruxandra.radulescu@freescale.com> Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com> Reviewed-by: Marian Cristian Rotariu <marian.rotariu@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-05-14dpa_offload: Fill VSP enqueue params even when policer is not enabledMarian Chereji
The dpa_classifier was filling in the VSP profile Id only when policer parameters were specified for the classification entry. VSP profile parameters must not depend on the policer parameters. Signed-off-by: Francois Massot-Pellet <francois.massot-pellet@freescale.com> Signed-off-by: Sebastian Grigore <sebastian.grigore@freescale.com> Signed-off-by: Marian Chereji <marian.chereji@freescale.com> Change-Id: Ide4a26c8cc8fa8d7f85b2212a89816c51e01d19a Reviewed-on: http://git.am.freescale.net:8181/12301 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-05-14dpa_offload: wrp compat, Instance ID not given OK when creating SAsAndrei Varvara
In compat case the instances id was not properly given to the create SA API function. This commit is fixing the issue. Signed-off-by: Andrei Varvara <andrei.varvara@freescale.com> Change-Id: Ie8c3d0f4bbbd8d34f7fa62207efcdf66d504b72b Reviewed-on: http://git.am.freescale.net:8181/12085 Reviewed-by: Marian-Cornel Chereji <marian.chereji@freescale.com> Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-05-13fsl_pme: limit time spent checking for pme activity bitJeffrey Ladouceur
Exit from possible endless loops when checking for pme to go idle. Signed-off-by: Jeffrey Ladouceur <Jeffrey.Ladouceur@freescale.com> Change-Id: Ic8b9f8682fd9079c9d5a260918a7ee1d58be07b9 Reviewed-on: http://git.am.freescale.net:8181/12297 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Haiying Wang <Haiying.Wang@freescale.com> Reviewed-by: Roy Pledge <roy.pledge@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-05-13dpa_eth: set skb->data for recycled framesMadalin Bucur
Set skb->data to point towards the origin of the mapped area for recycled frames. The skb->data value is adjusted with the fd offset on reception so it needs to point towards the origin of the buffer as seen by hardware. Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com> Change-Id: I33d96a6c56cc3c05a2331368c375ff0ce8431ae8 Reviewed-on: http://git.am.freescale.net:8181/12293 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Ruxandra Ioana Radulescu <ruxandra.radulescu@freescale.com> Reviewed-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-05-13Revert "fman: updating default value of FSL_FM_RX_EXTRA_HEADROOM from 64 to ↵Richard Schmitt
128 bytes" This reverts commit 98345f7c55a5a52b30aa0982cec8644ad9636bdb. Change-Id: I7cc841b30ed0e23728b40dd10057edb9c54d07fe Reviewed-on: http://git.am.freescale.net:8181/12289 Reviewed-by: Richard Schmitt <richard.schmitt@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com> Tested-by: Jose Rivera <German.Rivera@freescale.com>
2014-05-13crypto: caam/qi - FQs must be destroyed after being retiredAlex Porosanu
Once there is no further need for a QI context, and its attached FQ, this must be destroyed, so it can be reused later on. Change-Id: If7c1c57aede3242a726f3be345216de2176dc393 Signed-off-by: Alex Porosanu <alexandru.porosanu@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/12227 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Vakul Garg <vakul@freescale.com> Reviewed-by: Mircea Pop <mircea.pop@freescale.com> Reviewed-by: Horia Ioan Geanta Neag <horia.geanta@freescale.com> Reviewed-by: Cristian Stoica <cristian.stoica@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-05-13crypto: caam/qi - rewrite logic on context releaseAlex Porosanu
The caam_drv_ctx_rel(...) function already performs a check if the drv_ctx is NULL. But this is not enough, it must also check if drv_ctx was set to an error code. If these checks are done in this function, there's no need to perfom them in caam_cra_exit(...) Change-Id: Ia4522dd6929c3676654569b27225b6666bebdbf5 Signed-off-by: Alex Porosanu <alexandru.porosanu@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/12229 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Mircea Pop <mircea.pop@freescale.com> Reviewed-by: Horia Ioan Geanta Neag <horia.geanta@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-05-13crypto: caam/qi - fix handling of create_caam_req_fq(...) errorAlex Porosanu
When create_caam_req_fq(...) returns an error, it does so by using the ERR_PTR macro, due to its return type. Thus the return of this function needs to be checked by using the corresponding IS_ERR_* class of macros, and not by a "if(!ret)" construct. This patch adds the necessary macro calls in all the locations where create_caam_req_fq(...) is called. Change-Id: I41283fc1f728d959099351cc36ba07ba377a1848 Signed-off-by: Alex Porosanu <alexandru.porosanu@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/12066 Reviewed-by: Mircea Pop <mircea.pop@freescale.com> Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Horia Ioan Geanta Neag <horia.geanta@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-05-13powerpc/t1040/dts: Chang oh5 to oh2Jianhua Xie
According to T1040RM Rev D, 04/2014, T1 has not as many FM_MAX_NUM_OF_OH_PORTS as the ones in T4240, there are only 4 Offline/Host Command Ports (O/H n) in T1. So oh5 is not available. This patch is replacing oh5 with oh2 in T1 dts. Signed-off-by: Jianhua Xie <jianhua.xie@freescale.com> Change-Id: I99be60539aad6d9999dd8198fd5b0e98ecef7ca0 Reviewed-on: http://git.am.freescale.net:8181/12242 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Mandy Lavi <Mandy.Lavi@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-05-13fman: Add t10xx port constraintJianhua Xie
There are two FMAN V3 version: FMAN_V3H and FMAN_V3L. Some hardware resources are different between the two version. T1040, T1042, T1020, T1022 belong to FMAN_V3L, there are 4 Offline/Host Command Ports (O/H n) in FMAN_V3L. But there are 6 Offline/Host Command Ports (O/H n) in FMAN_V3H. This patch is correcting some definition like INTG_MAX_NUM_OF_FM, FM_MAX_NUM_OF_10G_MACS, FM_MAX_NUM_OF_1G_MACS and etc. according to (T1040RM Rev D, 04/2014) Signed-off-by: Jianhua Xie <jianhua.xie@freescale.com> Change-Id: I3f7fa9b70fad30b49cd76da57429ab8ad08b5176 Reviewed-on: http://git.am.freescale.net:8181/12241 Reviewed-by: Jiafei Pan <Jiafei.Pan@freescale.com> Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-05-13powerpc: T208xqds: Add ina220 nodes in dtsTang Yuantian
Add power sensor chip ina220 nodes in dts to support power monitor Signed-off-by: Tang Yuantian <Yuantian.Tang@freescale.com> Change-Id: I7973e6c259f7189d077c798ca914bb4bf6d7dd98 Reviewed-on: http://git.am.freescale.net:8181/12206 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Hongtao Jia <hongtao.jia@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-05-12powerpc: T4240: Add ina220 node in dtsTang Yuantian
Add power sensor chip ina220 node in dts to support power monitor Signed-off-by: Tang Yuantian <Yuantian.Tang@freescale.com> Change-Id: I2e250ad72ddc0cf226aabff515b9b0e4e72b3ff6 Reviewed-on: http://git.am.freescale.net:8181/12205 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Hongtao Jia <hongtao.jia@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-05-12Talitos support for RAID XORXuelin Shi
Expose Talitos's XOR functionality to be used for RAID parity calulation via the Async_tx layer. Signed-off-by: Dipen Dudhat <Dipen.Dudhat@freescale.com> Signed-off-by: Maneesh Gupta <Maneesh.Gupta@freescale.com> Signed-off-by: Kim Phillips <kim.phillips@freescale.com> Signed-off-by: Vishnu Suresh <Vishnu@freescale.com> Signed-off-by: Xuelin Shi <xuelin.shi@freescale.com> Change-Id: I9452e02b3d72f66f6df6b0e003a5539b46ce1df7 Reviewed-on: http://git.am.freescale.net:8181/12190 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Richard Schmitt <richard.schmitt@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-05-12iommu/fsl: Use pci_clear_master to disable device bus master capability.Varun Sethi
Initially we were disabling the bus master capability by writing to the PCI configuration space. We were not clearing the "is_busmaster" flag. As a result when the device was assgined back to host, the bus master capability of the pci bridge (to which the device was connected) were not getting enabled. Once the device was assigned back to host, device was facing DMA issues. Now, we are using the pci_clear_master for disabling device bus master capability. This routine clears the device bus master capability by accessing the device configuration space and also clears the "is_busmaster" flag. Signed-off-by: Varun Sethi <Varun.Sethi@freescale.com> Change-Id: Icda6f5551d8da43bec8f2b657846b7e3f9474290 Reviewed-on: http://git.am.freescale.net:8181/12224 Reviewed-by: Stuart Yoder <stuart.yoder@freescale.com> Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-05-12onic: fix MTU handlingMarian Rotariu
The MTU known by the network device driver was initialized with a default value (1500) and could not be validated in accordance with DPAA values. This patch initializes the MTU with proper values and adds the posibility to be changed and validated at run-time. Signed-off-by: Marian Rotariu <marian.rotariu@freescale.com> Change-Id: I44b9a9e18dbb45669e16913f0f5bdc290ec3e6b2 Reviewed-on: http://git.am.freescale.net:8181/11833 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Madalin-Cristian Bucur <madalin.bucur@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-05-12mmc/eSDHC: host need long time to generate command complete interruptHaijun Zhang
According to Spec 2.0, command complete interrupt will be generate within 150 SD-CLK. But this was not long enough for P5040 board. So add quirk SDHCI_QUIRK2_LONG_TIME_CMD_COMPLETE_IRQ to enlarge this detect time to avoid hardware timeout error. Signed-off-by: Haijun Zhang <Haijun.Zhang@freescale.com> Change-Id: I26863bf687275191ead0e6396c381d9c15fb8e07 Reviewed-on: http://git.am.freescale.net:8181/12215 Reviewed-by: Shengzhou Liu <Shengzhou.Liu@freescale.com> Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-05-12booke/watchdog: refine and clean up the codesTang Yuantian
Basically, this patch does the following: 1. Move the codes of parsing boot parameters from setup-common.c to driver. In this way, code reader can know directly that there are boot parameters that can change the timeout. 2. Make boot parameter 'booke_wdt_period' effective. currently, when driver is loaded, default timeout is always being used in stead of booke_wdt_period. 3. Wrap up the watchdog timeout in device struct and clean up unnecessary codes. Signed-off-by: Tang Yuantian <Yuantian.Tang@freescale.com> Change-Id: I1d605067e39e3805a539f079e86934b38fa7d224 Reviewed-on: http://git.am.freescale.net:8181/12196 Reviewed-by: Yang Li <LeoLi@freescale.com> Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-05-12dma: fix potential oom issue in fsl raidengine.Xuelin Shi
missing unmap dma sources and destinations. Signed-off-by: Xuelin Shi <xuelin.shi@freescale.com> Change-Id: I698884591fc0b56525ee2803c0b6a0581f9d9d95 Reviewed-on: http://git.am.freescale.net:8181/12192 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Yang Li <LeoLi@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-05-12dma: fix oom issue.Xuelin Shi
missing unmap sources and destinations while doing dequeue. Signed-off-by: Xuelin Shi <xuelin.shi@freescale.com> Change-Id: Ibf51682e6d2db57f00adb2bacab3d2b6d44690e0 Reviewed-on: http://git.am.freescale.net:8181/12191 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Yang Li <LeoLi@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-05-12powerpc/e6500rev2_defconfig: enable CONFIG_I2C_MUX and CONFIG_I2C_MUX_PCA954xShengzhou Liu
By default we enable CONFIG_I2C_MUX and CONFIG_I2C_MUX_PCA954x, which are needed on T2080QDS, T4240QDS, B4860QDS. Signed-off-by: Shengzhou Liu <Shengzhou.Liu@freescale.com> Change-Id: Ic897fb8d0cd2f06fe110d2d73f021fb8a1168aaf Reviewed-on: http://git.am.freescale.net:8181/12213 Reviewed-by: Shaohui Xie <Shaohui.Xie@freescale.com> Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-05-10fsl_dpa_offload: Used SA index has to be set with invalid value at ↵Andrei Varvara
initialization used_sa_index field is used to check if SA is being initialized and used. Have to be set to -1 when init_sa_manager is called. Signed-off-by: Andrei Varvara <andrei.varvara@freescale.com> Change-Id: Ie227979a3fc2f713d9c368245f9884c347a11434 Reviewed-on: http://git.am.freescale.net:8181/12044 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Marian-Cornel Chereji <marian.chereji@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-05-10fsl_dpa_offload: Fix T4240 DTS for Multiple DPAA IPSec InstancesAndrei Varvara
required update of chosen offload, new entry for FMAN 1 with VSP. Change-Id: If6518557ed6be13c5d66e428a7198c20b7cb5d7d Signed-off-by: Andrei Varvara <andrei.varvara@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/12035 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Marian-Cornel Chereji <marian.chereji@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-05-09powerpc/booke64: wrap tlb lock and search in htw miss with FTR_SMTLaurentiu Tudor
Virtualized environments expose a e6500 dual-threaded core as two single-threaded e6500 cores. Take advantage of this and get rid of the tlb lock and the trap-causing tlbsx in the htw miss handler by guarding with CPU_FTR_SMT, as it's already being done in the bolted tlb1 miss handler. As results below show, lmbench random memory access latency test shows an improvement of ~34%. Memory latencies in nanoseconds - smaller is better (WARNING - may not be correct, check graphs) ---------------------------------------------------- Host Mhz L1 $ L2 $ Main mem Rand mem --------- --- ---- ---- -------- -------- smt 1665 1.8020 13.2 83.0 1149.7 nosmt 1665 1.8020 13.2 83.0 758.1 Signed-off-by: Laurentiu Tudor <Laurentiu.Tudor@freescale.com> Cc: Scott Wood <scottwood@freescale.com> Change-Id: Ia6c028b8bb9c847d46d32f788a7257527cd6af09 Reviewed-on: http://git.am.freescale.net:8181/12089 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Scott Wood <scottwood@freescale.com> Reviewed-by: Richard Schmitt <richard.schmitt@freescale.com>
2014-05-09fsl_dce: Fix broken dce testsJeffrey Ladouceur
The dce test code was broken when focus was placed on bman usage. Fixed test code when using pre-built buffers. Added verbosity level to test cases. Change kernel help api name to explicitly name output buffer as this is consistent with bman api. Signed-off-by: Jeffrey Ladouceur <Jeffrey.Ladouceur@freescale.com> Change-Id: I62aae72b5075718180729fe49b62524eea9d28fa Reviewed-on: http://git.am.freescale.net:8181/12099 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Geoff Thorpe <Geoff.Thorpe@freescale.com> Reviewed-by: Richard Schmitt <richard.schmitt@freescale.com>
2014-05-09onic: fix RX PCD fqs initializationMarian Rotariu
RX PCD fqs should have rx default handler not the error handler. This patch solves this problem and clarifies some comments related to fqs initialization. Signed-off-by: Marian Rotariu <marian.rotariu@freescale.com> Change-Id: I9624a3dfce594b2b4d0fe99567dfdd8ea3cab1e0 Reviewed-on: http://git.am.freescale.net:8181/11841 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Madalin-Cristian Bucur <madalin.bucur@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-05-09hibernation/pci: fix PCI-EP device bar lost in hibernation thaw flowWang Dongsheng
EP device bar address will lost when EP device in D3 state, But when system thaw out from hibernation freezen, EP bar address not be restored in thaw flow. The pci framework provide arch-specific hooks(pcibios_pm_ops) when a PCI device is doing a hibernate transition, so register fsl_pci_thaw_noirq into pcibios_pm_ops to fix this issue, the fsl_pci_thaw_noirq will call pci_restore_state() to restore EP bar address. Signed-off-by: Wang Dongsheng <dongsheng.wang@freescale.com> Change-Id: I11b68737dd9aafc99f4b7571558529c37e8a648b Reviewed-on: http://git.am.freescale.net:8181/12031 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Yang Li <LeoLi@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-05-09gianfar: Avoid unnecessary reg accesses in adjust_link()Claudiu Manoil
For phy devices that don't issue interrupts upon link state changes, phylib polls the link state resulting in repeated calls to adjust_link(), even if the link state didn't change. As a result, some mac registers are repeatedly read and written with the same values, which is not ok. To fix this, adjust_link() has been refactored to check first whether the link state has changed and to take action only if needed, updating mac registers and local state variables. The 'new_state' local flag, set if one of the link params changed (link, speed or duplex), has been rendered useless and removed by this refactoring. Signed-off-by: Claudiu Manoil <claudiu.manoil@freescale.com> Signed-off-by: David S. Miller <davem@davemloft.net> Change-Id: I796d506bfd7193f9206c122d64844b43015c09a9 Reviewed-on: http://git.am.freescale.net:8181/11912 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Jianhua Xie <jianhua.xie@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-05-09t4240/dts: Enable third elo3 DMA engine supportChunhe Lan
T4240QDS and T4240RDB have the third DMA engine controller. So add corresponding DMA node into dts file. Signed-off-by: Chunhe Lan <Chunhe.Lan@freescale.com> Change-Id: I52a1a7786ce7c8b457d4c1c532a6d50b28c08544 Reviewed-on: http://git.am.freescale.net:8181/12078 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Shaohui Xie <Shaohui.Xie@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-05-09gianfar: Use netif_device_{detach,attach}() around resetClaudiu Manoil
We need to keep the TX queues stopped throughout a reset, without triggering the TX watchdog and regardless of the link state. Given the way the watchdog works, the proper way to do this is to use netif_device_{detach,attach}() just as we do around suspend/resume. netif_device_detach() can be called to stop TX queues in a control operation other than ndo_stop, and in our case this is insured by testing the driver's RESETTING state flag. napi_disable() is called before the stopping the TX queues to make sure that the poll function is not running, and therefore there can be no netif_wake_queue() calls. (Inspired by sfc.) Change-Id: Ie00ddaf39e454938b4ab5418d038de5d1a277b03 Signed-off-by: Claudiu Manoil <claudiu.manoil@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/11994 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Rajan Gupta <rajan.gupta@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-05-09asf_gfar: Patch to fix the crash seen in ifup for bsc9132.Sandeep Malik
ASF uses two TX queues to avoid contention. BSC9132 even though having controller which can support two groups was having the DTS file written for one group. To fix this we allow ASF to override the default tx queue mapping with the "fsl,tx-bit-map" value given in the DT. This patch resolves the crash seen in case of bsc9132 board when the network interface is up and trying to xmit the packet. Signed-off-by: Sandeep Malik <Sandeep.Malik@freescale.com> --- CQ:ENGR311623 Change-Id: I9d61b0ac73674774f4b674836478048e9a0c8873 Reviewed-on: http://git.am.freescale.net:8181/12091 Reviewed-by: Claudiu Manoil <claudiu.manoil@freescale.com> Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-05-09fman: updating default value of FSL_FM_RX_EXTRA_HEADROOM from 64 to 128 bytesAlok Makhariya
64 is not enough to handle IPv6-IPSec and it will impact both Linux and ASF IPSec-IPv6 performance so updating the headroom to 128 bytes CR:ENGR00309290 Signed-off-by: Alok Makhariya <B46187@freescale.com> Change-Id: Iae44de3c58d616a846a5f04d2f3013f7c7581ad7 Reviewed-on: http://git.am.freescale.net:8181/12056 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Hemant Agrawal <hemant@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-05-09t2080qds/dts: Removed two 10G from device treeSandeep Singh
Linux supports maximum two 10G per FMAN. t2080qds has four 10G ports. Removing two 10G from usdpaa device-tree till this gets fixed. Signed-off-by: Sandeep Singh <sandeep@freescale.com> Change-Id: I4c868131f79b6ba43dffea198d73c95425b09ce4 Reviewed-on: http://git.am.freescale.net:8181/12050 Reviewed-by: Vakul Garg <vakul@freescale.com> Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-05-09dpa_offload: Fix DPA Stats async request for 64bit US modeAurelian Zanoschi
Because in the case of 64 bit user-space, 64 bit kernel-space CONFIG_COMPAT is enabled, the DPA Stats asynchronous request failed to work. Solving the problem involves analyzing at run time the environment and taking the decision if the compat or normal function for read is used. Also some changes in the internal DPA Stats data structures are needed. Change-Id: I0d7357def19e42901a3c9b90478b07ef53f62301 Signed-off-by: Aurelian Zanoschi <Aurelian.Zanoschi@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/12052 Reviewed-by: Anca Jeanina Floarea <anca.floarea@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com> Tested-by: Jose Rivera <German.Rivera@freescale.com>
2014-05-09fsl_qman: some fixes in ceetm ccg APIsHaiying Wang
In ceetm_ccg_set(), check whether the cb_node is already in the list before adding it to the list in order to make sure the cb_node will only be added to list once. Also update the CSCN target only when CSCN_EN mask is set. In ceetm_ccg_release(), check whether the ccg->cb_node is in the list before deleting it. Signed-off-by: Haiying Wang <Haiying.Wang@freescale.com> Change-Id: Ie48e3459d0c856d91fa84ff74676d2bbe69850ae Reviewed-on: http://git.am.freescale.net:8181/11999 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Geoff Thorpe <Geoff.Thorpe@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-05-08crypto: talitos: init the priv->alg_list more earlier in talitos_probe()Kevin Hao
In function talitos_probe(), it will jump to err_out when getting an error in talitos_probe_irq(). Then the uninitialized list head priv->alg_list will be used in function talitos_remove(). In this case we would get a call trace like the following. So move up the initialization of priv->alg_list. Unable to handle kernel paging request for data at address 0x00000000 Faulting instruction address: 0xc0459ff4 Oops: Kernel access of bad area, sig: 11 [#1] SMP NR_CPUS=8 P1020 RDB Modules linked in: CPU: 1 PID: 1 Comm: swapper/0 Tainted: G W 3.13.0-08789-g54c0a4b46150 #33 task: cf050000 ti: cf04c000 task.ti: cf04c000 NIP: c0459ff4 LR: c0459fd4 CTR: c02f2438 REGS: cf04dcb0 TRAP: 0300 Tainted: G W (3.13.0-08789-g54c0a4b46150) MSR: 00029000 <CE,EE,ME> CR: 82000028 XER: 20000000 DEAR: 00000000 ESR: 00000000 GPR00: c045ac28 cf04dd60 cf050000 cf2579c0 00021000 00000000 c02f35b0 0000014e GPR08: c07e702c cf104300 c07e702c 0000014e 22000024 00000000 c0002a3c 00000000 GPR16: 00000000 00000000 00000000 00000000 00000000 00000000 c082e4e0 000000df GPR24: 00000000 00100100 00200200 cf257a2c cf0efe10 cf2579c0 cf0efe10 00000000 NIP [c0459ff4] talitos_remove+0x3c/0x1c8 LR [c0459fd4] talitos_remove+0x1c/0x1c8 Call Trace: [cf04dd60] [c07485d8] __func__.13331+0x1241c8/0x1391c0 (unreliable) [cf04dd90] [c045ac28] talitos_probe+0x244/0x998 [cf04dde0] [c0306a74] platform_drv_probe+0x28/0x68 [cf04ddf0] [c0304d38] really_probe+0x78/0x250 [cf04de10] [c030505c] __driver_attach+0xc8/0xcc [cf04de30] [c0302e98] bus_for_each_dev+0x6c/0xb8 [cf04de60] [c03043cc] bus_add_driver+0x168/0x220 [cf04de80] [c0305798] driver_register+0x88/0x130 [cf04de90] [c0002458] do_one_initcall+0x14c/0x198 [cf04df00] [c079f904] kernel_init_freeable+0x138/0x1d4 [cf04df30] [c0002a50] kernel_init+0x14/0x124 [cf04df40] [c000ec40] ret_from_kernel_thread+0x5c/0x64 Signed-off-by: Kevin Hao <haokexin@gmail.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Change-Id: I983008fb42edeb6bfdfe33c1f1f23cd4675b4f69 Reviewed-on: http://git.am.freescale.net:8181/11898 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Alexandru Porosanu <alexandru.porosanu@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-05-08crypto: talitos - fix locating offending descriptor in error pathHoria Geanta
Commit 3e721aeb3df3816e283ab18e327cd4652972e213 ("crypto: talitos - handle descriptor not found in error path") tried to address the fact that CDPR (Current Descriptor Pointer Register) is unreliable. As it turns out, there are still issues in the function detecting the offending descriptor: -only 32 bits of the descriptor address are read, however the address is 36-bit - since reset_channel() initializes channels with EAE (extended address) bit set -reading CDPR can return zero in cur_desc; when searching the channel fifo for this address, cur_desc == dma_desc (= 0) case might happen, leading to an oops when trying to return desc->hdr (desc is zero) -read channel's .tail only once; the tail is a moving target; use a local variable for the end of search condition Signed-off-by: Lei Xu <Lei.Xu@freescale.com> Signed-off-by: Horia Geanta <horia.geanta@freescale.com> Tested-by: Kalyani Chowdhury <Kalyani.Chowdhury@freescale.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Change-Id: Icfe3113e81a703b18a02dbb1ce74653f0b4f4e0e Reviewed-on: http://git.am.freescale.net:8181/11897 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Alexandru Porosanu <alexandru.porosanu@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-05-08t2080rdb/dts: Removed two 10G from device treeSandeep Singh
Linux supports maximum two 10G per FMAN. t2080rdb has four 10G ports. Removing two 10G from usdpaa device-tree till this gets fixed. Signed-off-by: Sandeep Singh <sandeep@freescale.com> Change-Id: I490684739bf7dea1978e0eba9be1a213dfb386fe Reviewed-on: http://git.am.freescale.net:8181/12049 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Vakul Garg <vakul@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-05-08tdm/test: Limit scope of structures and global variablesSandeep Singh
TDM test and TDM loopback test share few variable and structure name. This leads to build failure when both these test are enable at once. Signed-off-by: Sandeep Singh <sandeep@freescale.com> Change-Id: I7bbc7504b610ecb59b95acb121cb991b4c6663c5 Reviewed-on: http://git.am.freescale.net:8181/12039 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Poonam Aggrwal <poonam.aggrwal@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-05-08kvm: powerpc: use caching attributes as per linux pteBharat Bhushan
KVM uses same WIM tlb attributes as the corresponding qemu pte. For this we now search the linux pte for the requested page and get these cache caching/coherency attributes from pte. Signed-off-by: Bharat Bhushan <Bharat.Bhushan@freescale.com> Change-Id: Idfbf48fd839fecaff6996f42ffa8c2ec35c1455d Reviewed-on: http://git.am.freescale.net:8181/11892 Reviewed-by: Stuart Yoder <stuart.yoder@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com> Tested-by: Jose Rivera <German.Rivera@freescale.com>
2014-05-08powerpc/t2080qds: fix sgmii phy addressShengzhou Liu
When using rcw_0x6d_0x2d, the PHY address(combined with MAC2) of SGMII card in slot3 is 0x1f instead of 0x1d. Signed-off-by: Shengzhou Liu <Shengzhou.Liu@freescale.com> Change-Id: Ie9c61b6056e5e29e492a534c034a9cfa41b9a2f0 Reviewed-on: http://git.am.freescale.net:8181/12046 Reviewed-by: Xiaobo Xie <X.Xie@freescale.com> Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-05-08gianfar: Check if phydev present on ethtool -AClaudiu Manoil
This fixes a seg fault on 'ethtool -A' entry if the interface is down. Obviously we need to have the phy device initialized / "connected" (see of_phy_connect()) to be able to advertise pause frame capabilities. Fixes: 23402bddf9e56eecb27bbd1e5467b3b79b3dbe58 Signed-off-by: Claudiu Manoil <claudiu.manoil@freescale.com> Signed-off-by: David S. Miller <davem@davemloft.net> Change-Id: I94f1a677dafca91e68029acce120e7417c75ff8f Reviewed-on: http://git.am.freescale.net:8181/11514 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Jianhua Xie <jianhua.xie@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-05-08mmc:esdhc: disable trim feature on T4240QDSHaijun Zhang
The timeout value got from eMMC card on T4240QDS is incorrect. Disable trim and use erase instead. Remove quirk SDHCI_QUIRK_BROKEN_ADMA to enable ADMA on T4240QDS. Calculate the timeout based SD clock when we have qurik SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK. Signed-off-by: Haijun Zhang <Haijun.Zhang@freescale.com> Change-Id: I2eca7c1d00c89db8b2e257f60b6ef62971536f90 Reviewed-on: http://git.am.freescale.net:8181/11981 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Xiaobo Xie <X.Xie@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-05-08gianfar: Add BD rings allocation to L2 SRAMClaudiu Manoil
When this option is enabled the driver will try to allocate the buffer descriptors (BDs) to the L2 SRAM memory, using the powerpc/85xx cache-sram support API for the P1/P2 QorIQ platforms. For this to work, the size and address of the SRAM region must be provided as kernel boot params. Should the attempt to allocate in L2 SRAM fail, the driver falls back to normal allocation of BDs as before (to DDR). The gfar_l2sram_en driver module param is provided to allow to disable the allocation to L2 SRAM at driver level (enabled by default). Change-Id: I087e97baf289111a0841fdf69592c56d3a9a0310 Signed-off-by: Claudiu Manoil <claudiu.manoil@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/11624 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Jianhua Xie <jianhua.xie@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-05-07Clean portals before releasing them back into the alloctorRoy Pledge
During USDPAA cleanup ERNs may be produced to any portal the process was using. The cleanup code will service those portals until the FQs reach the retired state. This patch makes sure the portals are reinitialize to a clean state before returning them to the allocation pool Signed-off-by: Roy Pledge <Roy.Pledge@freescale.com> Change-Id: Ib4589b816d3259682f16ebacb5932194bc85e053 Reviewed-on: http://git.am.freescale.net:8181/6769 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Haiying Wang <Haiying.Wang@freescale.com> Reviewed-by: Geoff Thorpe <Geoff.Thorpe@freescale.com> Reviewed-by: Thomas Trefny <Tom.Trefny@freescale.com> (cherry picked from commit ebe5afa136e096ed78d4ce94b5dad8327fdd134c) Reviewed-on: http://git.am.freescale.net:8181/11730 Reviewed-by: Jeffrey Ladouceur <Jeffrey.Ladouceur@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>