summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-03-12powerpc/fsl-booke: Add initial T208x QDS board supportShengzhou Liu
Add support for Freescale T2080/T2081 QDS Development System Board. T2081QDS board shares the same PCB with T1040QDS with some differences. The T2080QDS Development System is a high-performance computing, evaluation, and development platform that supports T2080 QorIQ Power Architecture processor, with following major features: T2080QDS feature overview: Processor: - T2080 SoC integrating four 64-bit dual-threads e6500 cores up to 1.8GHz Memory: - Single memory controller capable of supporting DDR3 and DDR3-LV devices - Two DDR3 memory, 4GB, Dual rank @ 1866 Mbps data rate, and ECC support Ethernet interfaces: - Two 1Gbps RGMII on-board ports - Four 10Gbps XFI on-board cages - 1Gbps/2.5Gbps SGMII Riser card - 10Gbps XAUI Riser card Accelerator: - DPAA components consist of FMan, BMan, QMan, PME, DCE and SEC SerDes: - 16 lanes up to 10.3125GHz - Supports Aurora debug, PEX, SATA, SGMII, sRIO, HiGig, XFI and XAUI IFC: - 128MB NOR Flash, 512MB NAND Flash, PromJet debug port and FPGA eSPI: - Three SPI flash (16MB N25Q128A + 16MB EN25S64 + 512KB SST25WF040) USB: - Two USB2.0 ports with internal PHY (one Type-A + one micro Type-AB) PCIE: - Four PCI Express controllers (two PCIe 2.0 and two PCIe 3.0) SATA: - Two SATA 2.0 ports on-board SRIO: - Two Serial RapidIO 2.0 ports up to 5 GHz eSDHC: - Supports SD/MMC/eMMC Card DMA: - Three 8-channels DMA controllers I2C: - Four I2C controllers. UART: - Dual 4-pins UART serial ports System Logic: - QIXIS-II FPGA system controll Differences between T2080 and T2081: Feature T2080 T2081 1G Ethernet numbers: 8 6 10G Ethernet numbers: 4 2 SerDes lanes: 16 8 Serial RapidIO,RMan: 2 no SATA Controller: 2 no Aurora: yes no SoC Package: 896-pins 780-pins Signed-off-by: Shengzhou Liu <Shengzhou.Liu@freescale.com> Change-Id: I957e25509ee47dab0d8e9d780241728358c609a5 Reviewed-on: http://git.am.freescale.net:8181/9457 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-03-12powerpc/fsl-booke: Add initial device tree support for T2080/T2081 SoCShengzhou Liu
Add initial device tree for T2080/T2081 without DPAA components. The T2080 SoC includes the following function and features: - Four dual-threaded 64-bit Power architecture e6500 cores, up to 1.8GHz - 2MB L2 cache and 512KB CoreNet platform cache (CPC) - Hierarchical interconnect fabric - One 32-/64-bit DDR3/3L SDRAM memory controllers with ECC and interleaving - Data Path Acceleration Architecture (DPAA) incorporating acceleration - 16 SerDes lanes up to 10.3125 GHz - 8 Ethernet interfaces (multiple 1G/2.5G/10G MACs) - High-speed peripheral interfaces - Four PCI Express controllers (two PCIe 2.0 and two PCIe 3.0) - Two Serial RapidIO 2.0 controllers/ports running at up to 5 GHz - Additional peripheral interfaces - Two serial ATA (SATA 2.0) controllers - Two high-speed USB 2.0 controllers with integrated PHY - Enhanced secure digital host controller (SD/SDXC/eMMC) - Enhanced serial peripheral interface (eSPI) - Four I2C controllers - Four 2-pin UARTs or two 4-pin UARTs - Integrated Flash Controller supporting NAND and NOR flash - Three eight-channel DMA engines - Support for hardware virtualization and partitioning enforcement - QorIQ Platform's Trust Architecture 2.0 T2081 personality is a reduced personality of T2080 without SATA, sRIO, RMan, Aurora, and with less SerDes lanes and ethernet interfaces. Signed-off-by: Shengzhou Liu <Shengzhou.Liu@freescale.com> Change-Id: Idb3b97d617fc2dd9ce6c778560f95d44542bbdfd Reviewed-on: http://git.am.freescale.net:8181/9456 Reviewed-by: Xiaobo Xie <X.Xie@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com> Tested-by: Jose Rivera <German.Rivera@freescale.com>
2014-03-12Added support for PKC keygenYashpal Dutta
As a part of PKC support, RSA, DSA DH, ECDH, ECDSA requires key generation. The patch adds support for key generation support for DSA, ECDSA, DH, ECDH. Signed-off-by: Yashpal Dutta <yashpal.dutta@freescale.com> Change-Id: Ifc90734302e0b581db1b3c30f9e62266bb4674e7 Reviewed-on: http://git.am.freescale.net:8181/9545 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Ruchika Gupta <ruchika.gupta@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-03-11Entry of CEETM in DTS fileGanga Negi
Adding details regarding CEETM QDisc qportal in DTS file. Signed-off-by: Ganga Negi <ganga.negi@freescale.com> CQ: ENGR299854 Change-Id: I36bc185227bfef275470be001deb5bebb6a151b9 Reviewed-on: http://git.am.freescale.net:8181/9510 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Haiying Wang <Haiying.Wang@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-03-07fmd: fix flow id classification to work after PCD re-init"Mandy Lavi
For KG & Policer: Renamed pointedOwners --> RequiredActionFlag changed from counter to flag added flag clear at delete Change-Id: I55dd4125202d59e7659a3ffb8e39f56eaac7cd62 Signed-off-by: Mandy Lavi <mandy.lavi@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/9261 Reviewed-by: Eyal Harari <Eyal.Harari@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com> Tested-by: Jose Rivera <German.Rivera@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/9449
2014-03-07fmd: extend workaround of fman reset on t208x and t4160v2Shengzhou Liu
The same hang issue was observed on T208x and T4160v2 also. So extend the workaround for now. Signed-off-by: Shengzhou Liu <Shengzhou.Liu@freescale.com> Signed-off-by: Shaohui Xie <Shaohui.Xie@freescale.com> Signed-off-by: Mandy Lavi <mandy.lavi@freescale.com> Change-Id: If75d58a3d609f3607050c0cf306d9c86aa69cfaf Reviewed-on: http://git.am.freescale.net:8181/7205 Reviewed-by: Jose Rivera <German.Rivera@freescale.com> Tested-by: Jose Rivera <German.Rivera@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/9450 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
2014-03-07FMD: DSAR: added accumulate mode when entering deep sleepEyal Harari
Change-Id: Iad7a7c608e738661c1a9205fa2da45681ab2bc84 Signed-off-by: Eyal Harari <Eyal.Harari@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/9305 Reviewed-by: Mandy Lavi <Mandy.Lavi@freescale.com> Reviewed-by: Sunil Kumar Kori <Sunil.Kori@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com> Tested-by: Jose Rivera <German.Rivera@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/9446
2014-03-07fmd: adjust allocation of fifo resources for fmanv3lMandy Lavi
Change-Id: I249456d0f157547fab221286e1c18e59ce5345d3 Signed-off-by: Mandy Lavi <mandy.lavi@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/9257 Reviewed-by: Igal Liberman <Igal.Liberman@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com> Tested-by: Jose Rivera <German.Rivera@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/9448
2014-03-07FMD: DSAR: Establish the auto-response driverEyal Harari
- New code for auto-response - Changed parser init - Added DsarCheckParams and fm_port_dsar_dump_regs - Added snmp support - Added statistics features - Fixed SNMP oid table - Removed usage of create_proc_entry - for merging to master Change-Id: Icd6292c8d68ddb4ee60ecfed87419c1f4cbf5e74 Signed-off-by: Eyal Harari <Eyal.Harari@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/8711 Reviewed-by: Madalin-Cristian Bucur <madalin.bucur@freescale.com> Reviewed-by: Mandy Lavi <Mandy.Lavi@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com> Tested-by: Jose Rivera <German.Rivera@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/9445
2014-03-07FMD: DSAR: Added dsar device tree sourceEyal Harari
Change-Id: I1da08cec47972011c871796ab0d1b7a8fbe3024e Signed-off-by: Eyal Harari <Eyal.Harari@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/9306 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Mandy Lavi <Mandy.Lavi@freescale.com> Reviewed-by: Sunil Kumar Kori <Sunil.Kori@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/9447 Tested-by: Jose Rivera <German.Rivera@freescale.com>
2014-03-07fmd: fix mis-assignment of compat and pcd structuresMandy Lavi
Fixes memory corruption issues within lnxwrp_ioctls_fm.c Caused by wrong usage of some data structures. Change-Id: I75b710dd5888cc6ab3b86f0604cd5ef177396e23 Signed-off-by: Mandy Lavi <mandy.lavi@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/9041 Reviewed-by: Nir Erez <nir.erez@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com> Tested-by: Jose Rivera <German.Rivera@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/9386 Reviewed-by: Mandy Lavi <Mandy.Lavi@freescale.com>
2014-03-06fmd: correct compilation warning in lnxwrp_sysfs_fm_port.c Mandy Lavi
Change-Id: I1d0661f217d96c530ad03e797be85edf2c8a3b1e Signed-off-by: Mandy Lavi <mandy.lavi@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/9077 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Nir Erez <nir.erez@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com> (cherry picked from commit 431aea6cc98e1c0350214dc3bdb2a32269307211) Change-Id: I1d0661f217d96c530ad03e797be85edf2c8a3b1e Reviewed-on: http://git.am.freescale.net:8181/9431 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-03-06Only initalize fragment owner when fragement is first createdRoy Pledge
When a USDPAA memory fragment is mapped into a user space process the owner should only be initialized if the fragment has just been created. Failure to do this will cause an error if another process is using the fragment when the mapping is done. Signed-off-by: Roy Pledge <Roy.Pledge@freescale.com> Change-Id: I0fdeb195f5d1910ec70f6f56d772dd2b8cedab4c Reviewed-on: http://git.am.freescale.net:8181/9427 Reviewed-by: Haiying Wang <Haiying.Wang@freescale.com> Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-03-05Add support for raw portal allocationRoy Pledge
Add support for allocation of raw (unconfigured) portals to the USDPAA kernel driver. This allows a USDPAA process to allocate a portal on behalf of another user. Signed-off-by: Roy Pledge <Roy.Pledge@freescale.com> Change-Id: I5764ff1f8e46c8d22cb28367a70ce5a83a8ede85 Reviewed-on: http://git.am.freescale.net:8181/9381 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Vakul Garg <vakul@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-03-05fmd: add wake-on-lan support Mandy Lavi
Change-Id: I1898186679983caccc4e51a8674ee7909955e346 Signed-off-by: Mandy Lavi <mandy.lavi@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/9076 Reviewed-by: Igal Liberman <Igal.Liberman@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com> Tested-by: Jose Rivera <German.Rivera@freescale.com> (cherry picked from commit 19640982a1c57f9f81508f9fa15dcc6ec1841cb4) Change-Id: I1898186679983caccc4e51a8674ee7909955e346 Reviewed-on: http://git.am.freescale.net:8181/9385 Reviewed-by: Jose Rivera <German.Rivera@freescale.com> Tested-by: Jose Rivera <German.Rivera@freescale.com>
2014-03-05fmd: change port_frame counter printout to unsigned Mandy Lavi
Change-Id: I308873aa47e84169f51840b10340da30a5689d36 Signed-off-by: Mandy Lavi <mandy.lavi@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/8638 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Nir Erez <nir.erez@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com> (cherry picked from commit 6d27c61eccf7b68e5bdcb751f8bc829e9317da47) Change-Id: I308873aa47e84169f51840b10340da30a5689d36 Reviewed-on: http://git.am.freescale.net:8181/9384 Reviewed-by: Jose Rivera <German.Rivera@freescale.com> Tested-by: Jose Rivera <German.Rivera@freescale.com>
2014-03-05fmd: add PPP header type to the list of headers to be handled Mandy Lavi
Change-Id: I7347668005c7979c2c64a97cbf05c16faddff49a Signed-off-by: Mandy Lavi <mandy.lavi@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/7945 Tested-by: Richard Schmitt <richard.schmitt@freescale.com> Reviewed-by: Nir Erez <nir.erez@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com> (cherry picked from commit 978622644e30299070942ff53c9908c1c01e59e4) Change-Id: I7347668005c7979c2c64a97cbf05c16faddff49a Reviewed-on: http://git.am.freescale.net:8181/9383 Reviewed-by: Jose Rivera <German.Rivera@freescale.com> Tested-by: Jose Rivera <German.Rivera@freescale.com>
2014-03-05fmd: memac: add tx_fifo_sections register initialization Mandy Lavi
B4/T4 rev2 introduced two new registers in memac block named: RX_FIFO_SECTIONS and TX_FIFO_SECTIONS TX_FIFO_SECTIONS[TX_AVAIL] field requires a specific (non default) init value when working with 10g interface (0x19) Change-Id: Ic577e24d10031b2f2f1697006a6d5be52db19f4e Signed-off-by: Mandy Lavi <mandy.lavi@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/6882 Reviewed-by: Haiying Wang <Haiying.Wang@freescale.com> Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Thomas Trefny <Tom.Trefny@freescale.com> (cherry picked from commit 2818e16b8a8c4f49ef8c7438505f0dc952b3d46f) Change-Id: Ic577e24d10031b2f2f1697006a6d5be52db19f4e Reviewed-on: http://git.am.freescale.net:8181/7386 Reviewed-by: Jose Rivera <German.Rivera@freescale.com> Tested-by: Jose Rivera <German.Rivera@freescale.com> (cherry picked from commit fc1388287f2ad1566be2b7c8c6897a277e96ca98) Change-Id: Ic577e24d10031b2f2f1697006a6d5be52db19f4e Reviewed-on: http://git.am.freescale.net:8181/9382 Reviewed-by: Jose Rivera <German.Rivera@freescale.com> Tested-by: Jose Rivera <German.Rivera@freescale.com>
2014-03-05dpaa_eth: enable ethtool control of PAUSE frame autonegotiationCristian Bercaru
This patch enables the ethtool control of PAUSE frame autonegotiation. ethtool calculats symmetric/asymmetric PAUSE frame capabilities based on the PAUSE RX/TX settings it receives. If the the capabilities differ from the previous, it forces link renegotiation and triggers the advertisment of the new values. If autonegotiation is disabled, ethtool enforces RX/TX PAUSE settings for the FMan port. Else, RX/TX is determined from the negotiated symmetric/asymmetric capabilities. Signed-off-by: Cristian Bercaru <cristian.bercaru@freescale.com> Change-Id: I7b2cba1813f44b97f67885e7d7fe575859db61e0 Reviewed-on: http://git.am.freescale.net:8181/8722 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-03-05Fix power of two check and most significant bit determination forVarun Sethi
64 bit types the PAMU driver. is_power_of_2 requires an unsigned long parameter which would lead to truncation of 64 bit values on 32 bit architectures. __ffs also expects an unsigned long parameter thus won't work for 64 bit values on 32 bit architectures. Signed-off-by: Varun Sethi <Varun.Sethi@freescale.com> Change-Id: I01c043a04ad5b66cdf30673292ffa099be1c7996 Reviewed-on: http://git.am.freescale.net:8181/9300 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-03-05dpa_offload: Fix build error in dpa_ipsecMarian Chereji
A build error occurs in dpa_ipsec since the commit "dpa_ipsec: Patch to update the append_math_ldshift command" due to an incomplete fix. This patch did not replace all occurences of "append_math_ldshift" call. Signed-off-by: Andrei Varvara <andrei.varvara@freescale.com> Signed-off-by: Marian Chereji <marian.chereji@freescale.com> Change-Id: I11e14418cc91b25918943a8e06563bf528ffe790 Reviewed-on: http://git.am.freescale.net:8181/9370 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-03-05dpa_offload: Fix in IPSec wrapper regarding dpa_ipsec_get_statsAndrei Varvara
When doing the Multiple IPSec instances implementation I had to change the API for dpa_ipsec_get_stats which did not received as parameter the intance ID. Unfortunately when updating the IPSec wrapper I forgot to update also in case of compat mode. Signed-off-by: Andrei Varvara <andrei.varvara@freescale.com> Change-Id: I6acddda0e54d1c5e6c1b47122d81559ecd0cf0f3 Reviewed-on: http://git.am.freescale.net:8181/9369 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-03-05crypto: caam - UIO JR driver should be enabled by defaultAlex Porosanu
With the addition of US PDCP SEC driver as part of SDK 1.6, the UIO JR driver needs to be enabled, thus some of the JRs from kernel can be exposed via UIO to userspace. Change-Id: I8aa6988a2bab452bb3fa081f495d76d380c64d2e Signed-off-by: Alex Porosanu <alexandru.porosanu@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/8472 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Horia Ioan Geanta Neag <horia.geanta@freescale.com> Reviewed-by: Ruchika Gupta <ruchika.gupta@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-03-05crypto: caam - Dynamic memory allocation for caam_rng_ctx objectNitesh Lal
This patch allocates memory from DMAable region to the caam_rng_ctx object, earlier it had been statically allocated which resulted in errorneous behaviour on inserting the caamrng module at the runtime. Signed-off-by: Nitesh Lal <NiteshNarayanLal@freescale.com> Change-Id: I5706dfeb5a7ba15bb9a757d64f239fbc1568e1ce Reviewed-on: http://git.am.freescale.net:8181/9324 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-03-04mpc85xx: unify the data collection module driverTang Yuantian
This patch updated the data collection module driver. It removed all the hard-coded parameters by detecting automatically. Adding new board support will be easier in this way. Signed-off-by: Tang Yuantian <Yuantian.Tang@freescale.com> Change-Id: Ibb67c243faac53fee7865154e0fdb703933ace3f Reviewed-on: http://git.am.freescale.net:8181/8991 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-03-03dpa_offload: Add DPA IPSec Multiple Instances supportAndrei Varvara
Implemented the code needed to support multiple intances of DPA IPSec. Basically the IPSec was using only one FMAN and if the boards had multiple FMANs they could not be used. Thanks to this patch the IPSec is now able to create multiple intances using as much of FMAN as available. Signed-off-by: Andrei Varvara <andrei.varvara@freescale.com> Change-Id: I98f25f45f1949ce9e922837ae5824e2b186916f2 Reviewed-on: http://git.am.freescale.net:8181/9262 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Marian-Cornel Chereji <marian.chereji@freescale.com> Reviewed-by: Nicolae-Sebastian Grigore <sebastian.grigore@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-03-03dpaa_eth: add MAC PAUSE frames autonegotiation supportCristian Bercaru
PHY devices advertise symmetric/asymmetric PAUSE frame capabilities to their peers. This patch changes the 'adjust_link' function behavior. When a change occurs in the advertised or remote capabilities and PAUSE frame autonegotiation is enabled, the FMan port adjusts PAUSE frames reception and transmission depending on these settings. When PAUSE autonegotiation is disabled, the FMan interface adjusts PAUSE frames RX/TX depending on the values in the 'mac_device'. Signed-off-by: Cristian Bercaru <cristian.bercaru@freescale.com> Change-Id: I360ad283e2820d9f681f66606abf073f1c0708a9 Reviewed-on: http://git.am.freescale.net:8181/8721 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-03-03dpa_offload: Add new DTS for supporting DPA IPSec Multiple InstancesAndrei Varvara
The new feature of IPSec, multiple instances require additional FMAN resources in order to initialize, create multiple instances and test using trafic the newly added feature. Basically it is required to add another 3 offline ports from the other FMAN (fman 0). Aditional it requires another macless device, since USDPAA can't reuse the macles given as input for first initialized DPA IPSec instance. And finally the ethernet 1 has to be initialize by the USDPPA. Change-Id: Ice624be15a98bd120ee53b57f266dac1db0ba3ac Signed-off-by: Andrei Varvara <andrei.varvara@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/9264 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-03-03fsl_qbman: Fix warning if lockdep is enabled in kernel configAlex Porosanu
When CONFIG_LOCKDEP is set to yes, the following WARNING is generated: WARNING: at kernel/lockdep.c:2986 Modules linked in: NIP: c00000000008d3a0 LR: c00000000008d380 CTR: c000000000317130 REGS: c0000000791071d0 TRAP: 0700 Not tainted (3.8.13-rt9-01934-gc5021a4-dirty) MSR: 0000000080029000 <CE,EE,ME> CR: 24ad2e42 XER: 20000000 SOFTE: 1 TASK = c000000079102040[1] 'swapper/0' THREAD: c000000079104000 CPU: 7 GPR00: c00000000008d36c c000000079107450 c000000000b513e8 0000000000000001 GPR04: 0000000084ad2e44 00000000a14394ec 0000000000000008 0000000000000001 GPR08: 0000000000000000 0000000000000000 000000000000000f 0000000000000001 GPR12: 0000000022ad2e84 c00000000fffbc00 c000000000001c50 0000000000000000 GPR16: 0000000000000000 0000000000000000 0000000000000000 c0000000007a71d8 GPR20: 0000000000000100 c000000000b2c288 c00000007966b800 c00000000095f860 GPR24: c0000000007a71c0 c00000007966b820 0000000000000000 0000000000000100 GPR28: c000000000b6aef0 c0000000058ab12f c000000005d819a8 0000000000000000 NIP [c00000000008d3a0] .lockdep_init_map+0x3d0/0x580 LR [c00000000008d380] .lockdep_init_map+0x3b0/0x580 Call Trace: [c000000079107450] [c00000000008d36c] .lockdep_init_map+0x39c/0x580 (unreliable) [c000000079107520] [c000000000194eac] .sysfs_add_file_mode+0xbc/0x140 [c0000000791075e0] [c000000000198e08] .internal_create_group+0x118/0x2e0 [c000000079107690] [c0000000005c1db4] .of_fsl_bman_probe+0x294/0x320 [c000000079107770] [c00000000032e64c] .platform_drv_probe+0x2c/0x40 [c0000000791077e0] [c00000000032ca04] .driver_probe_device+0xa4/0x2b0 [c000000079107880] [c00000000032cd0c] .__driver_attach+0xfc/0x100 [c000000079107910] [c00000000032a368] .bus_for_each_dev+0x78/0xe0 [c0000000791079b0] [c00000000032c384] .driver_attach+0x24/0x40 [c000000079107a20] [c00000000032bdb8] .bus_add_driver+0x1f8/0x330 [c000000079107ac0] [c00000000032d3bc] .driver_register+0x9c/0x240 [c000000079107b60] [c00000000032e7d8] .platform_driver_register+0x68/0x80 [c000000079107bd0] [c0000000005c1e58] .bman_ctrl_init+0x18/0x30 [c000000079107c40] [c000000000001534] .do_one_initcall+0x164/0x1e0 [c000000079107cf0] [c0000000009f3c04] .kernel_init_freeable+0x188/0x270 [c000000079107db0] [c000000000001c6c] .kernel_init+0x1c/0x3b0 [c000000079107e30] [c0000000000008d0] .ret_from_kernel_thread+0x64/0x94 Instruction dump: 813c0000 2f890000 409efcf8 48226d15 60000000 2fa30000 419efce8 3d220084 3929c718 81290000 2f890000 409efcd4 <0fe00000> 4bfffccc fbde0000 7fddf378 ---[ end trace 39bdd3537239024e ]--- BUG: key c0000000058ab048 not in .data! BUG: key c0000000058ab078 not in .data! ... As per upstream commit 6992f5334995af474c2b58d010d08bc597f0f2fe, "non-static sysfs attributes need to be initialized with sysfs_attr_init or sysfs_bin_attr_init. Strictly speaking this requirement only exists when lockdep is enabled, and when lockdep is enabled we get a bit fat warning if this requirement is not met." This patch adds the necessary function call in the qbman driver for eliminating the warning. Change-Id: Ia1cb069dc551a8a47ed3682f5e8d1eb2fedb9b6c Signed-off-by: Alex Porosanu <alexandru.porosanu@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/8460 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-02-27dpa_offload: Update rx port to 1G in dts for T4240Aurelian Zanoschi
Changed the rx port to 1G for chosen dts file for T4240QDS platform in order to be able to run dpa_offloading applications. Signed-off-by: Aurelian Zanoschi <Aurelian.Zanoschi@freescale.com> Change-Id: Ie4fcb1748f4efff67905c72e0b9b9661295d3332 Reviewed-on: http://git.am.freescale.net:8181/9226 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-02-27dpa_offload: Add errors-to-discard optimization in dts files for T4240Marian Chereji
Adding the errors-to-discard option improves DPA offloading apps performances. This optimization was accidentally omitted for the T4240 platform. Signed-off-by: Marian Chereji <marian.chereji@freescale.com> Change-Id: Ib909b6bac08c6cc905aca4b4de2c8aeb4ee90a7a Reviewed-on: http://git.am.freescale.net:8181/9142 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Aurelian Zanoschi <Aurelian.Zanoschi@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-02-27dpaa_eth: fix MAC device capabilities for maclessMarian Rotariu
Right now, the macless probe function will set mac_dev on NULL even if mac_dev variable was previously initialiazed with a MAC device reference. The MAC device reference is needed for the new macless capability of having some control on a proxy initialized MAC device. This patch removes the undesired mac_dev variable overwrite. Signed-off-by: Marian Rotariu <marian.rotariu@freescale.com> Change-Id: Idd1830a464f172ead8a824d7d39bddf9fd66a0b0 Reviewed-on: http://git.am.freescale.net:8181/9227 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Cristian-Constantin Sovaiala <Cristian.Sovaiala@freescale.com> Reviewed-by: Madalin-Cristian Bucur <madalin.bucur@freescale.com> (cherry picked from commit 80854e726ec82d0d5c903de4b284ed387908000d) Reviewed-on: http://git.am.freescale.net:8181/9259 Tested-by: Madalin-Cristian Bucur <madalin.bucur@freescale.com>
2014-02-27dpaa_eth: minor comment changesMadalin Bucur
Minor comment changes in mac.c. Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com> Change-Id: Ieecc4a7941be4d63b9750ff8a549594989a244f8 Reviewed-on: http://git.am.freescale.net:8181/9222 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Cristian-Constantin Sovaiala <Cristian.Sovaiala@freescale.com> (cherry picked from commit aa960d51f8394e700a951e7319157a133469bec3) Reviewed-on: http://git.am.freescale.net:8181/9256
2014-02-26phy: unmask link partner capabilitiesCristian Bercaru
Masking the link partner's capabilities with local capabilities can be misleading in autonegotiation scenarios such as PAUSE frame autonegotiation. This patch calculates the join between the local capabilities and the link parner capabilities, when it determines the speed and duplex settings, but does not mask any of the link partner capabilities when it calculates PAUSE frame settings. Signed-off-by: Cristian Bercaru <cristian.bercaru@freescale.com> Change-Id: I08907f357f63fb953db8695ed0cebcf85d96d0ff Reviewed-on: http://git.am.freescale.net:8181/8875 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Madalin-Cristian Bucur <madalin.bucur@freescale.com> Reviewed-by: Shaohui Xie <Shaohui.Xie@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-02-26powerpc/corenet: Enable muxing MDIO buses via GPIOShruti Kanetkar
P4080 DS is using GPIO(s) to mux the on board MDIO buses. The P4080 DS is the only board that uses GPIO(s) for MDIO muxing and commit '431f241 qoriq: Enable muxing MDIO buses' missed this particular board Signed-off-by: Shruti Kanetkar <Shruti@Freescale.com> Change-Id: I6e085b131e0cec1dadeda8f2c31b4b81f6587640 Reviewed-on: http://git.am.freescale.net:8181/9080 Reviewed-by: Madalin-Cristian Bucur <madalin.bucur@freescale.com> Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Emilian Medve <Emilian.Medve@freescale.com> Reviewed-by: Marian-Cornel Chereji <marian.chereji@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-02-26dpa_offload: Update errors-to-discard setting for Rx portsMarian Chereji
The errors-to-discard value in FMan chosen node is intended to set FM_PORT_FRM_ERR_NON_FM and FM_PORT_FRM_ERR_CLS_DISCARD for DPA offloading applications. However, the configuration FM_PORT_FRM_ERR_NON_FM is not valid for Rx ports and it will be avoided. Signed-off-by: Marian Chereji <marian.chereji@freescale.com> Change-Id: I77dcfe62caac7355e69fe2b69e941040a04a155c Reviewed-on: http://git.am.freescale.net:8181/9022 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Aurelian Zanoschi <Aurelian.Zanoschi@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-02-26powerpc/mpc85xx: move the cpufreq driver to drivers/cpufreq/Zhao Chenhui
Change-Id: I83eb8533d747a5da8c06df54398db1a43b22fe4b Signed-off-by: Zhao Chenhui <chenhui.zhao@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/8744 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Yang Li <LeoLi@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-02-26powerpc/mpc85xx: fix compile error in cpufreq-jog.cZhao Chenhui
These compile errors are caused by the changes of the internal interface of kernel. Also fix some problems found by the script checkpatch. Change-Id: Ie719d3f40f1ffcf932dd00b9c5b1b5e1bb0d1b22 Signed-off-by: Zhao Chenhui <chenhui.zhao@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/8743 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Yang Li <LeoLi@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-02-26powerpc/irq: fix compilation error if CONFIG_TRACE_IRQFLAGS is enabledAlex Porosanu
If CONFIG_TRACE_IRQFLAGS is set to 'y' in the kernel configuration file, then compilation will fail with the following error message: CC arch/powerpc/kernel/irq.o arch/powerpc/kernel/irq.c: In function 'arch_local_irq_restore': arch/powerpc/kernel/irq.c:233:2: error: 'else' without a previous 'if' make[1]: *** [arch/powerpc/kernel/irq.o] Error 1 make: *** [arch/powerpc/kernel] Error 2 This is due to the fact that the __hard_irq_disable() macro used if erratum A006198 is not enabled has a trailing semicolon. This leads to having two statements instead of one in arch/powerpc/kernel/irq.c: ... if (unlikely(irq_happened != PACA_IRQ_HARD_DIS)) __hard_irq_disable(); else { ... The 2nd semicolon (coming from the code above) signals the end of the braceless "if", which leaves the subsequent "else" without a corresponding "if", which is exactly what the compiler complains about. This patch removes the trailing semicolon from the __hard_irq_disable() macro. Change-Id: If223ee6f85f3f0e0bd0883ccf3ea95768cb6e69e Signed-off-by: Alex Porosanu <alexandru.porosanu@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/8547 Reviewed-by: Scott Wood <scottwood@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com> Tested-by: Jose Rivera <German.Rivera@freescale.com>
2014-02-26dpaa_eth: solved sparse reports in mac codeMadalin Bucur
Solved the sparse warnings in the mac code. Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com> Change-Id: I7efdda3ab818279dc2f9d7bdfeb3e22e889fe047 Reviewed-on: http://git.am.freescale.net:8181/9031 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Cristian-Constantin Sovaiala <Cristian.Sovaiala@freescale.com> (cherry picked from commit 21dd7822fc2120e7c82c17d02a35f0d683b42ea0) Reviewed-on: http://git.am.freescale.net:8181/9195
2014-02-26dpaa_eth: addressed several sparse reports in dpaa_ethtool.cMadalin Bucur
Solved several sparse warnings in dpaa_ethtool.c. Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com> Change-Id: I612785dc4839b6377a768e823b2eae9898e6b9e4 Reviewed-on: http://git.am.freescale.net:8181/9030 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Cristian-Constantin Sovaiala <Cristian.Sovaiala@freescale.com> (cherry picked from commit 7fa30bc4adea9bbde0eb05fe507c3a9dc2a80474) Reviewed-on: http://git.am.freescale.net:8181/9194
2014-02-26dpaa_eth: fix several sparse reportsMadalin Bucur
Fix a series of sparse reports related to percpu types. Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com> Change-Id: I7a482a325d2457323ef895aa514779037b5c87a1 Reviewed-on: http://git.am.freescale.net:8181/9029 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Cristian-Constantin Sovaiala <Cristian.Sovaiala@freescale.com> (cherry picked from commit 53f3f24c412966c1d7e98ec2edc95b192b490b8b) Reviewed-on: http://git.am.freescale.net:8181/9193
2014-02-26dpaa_eth: fix sparse report in dpaa_eth_common.cMadalin Bucur
Fix one sparse warning in dpaa_eth_common.c. Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com> Change-Id: I12a0bb8463830b0b264f84f427cd8f954981d26f Reviewed-on: http://git.am.freescale.net:8181/9027 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Cristian-Constantin Sovaiala <Cristian.Sovaiala@freescale.com> (cherry picked from commit 888b343d28d612f0bb4dc99a0ce39238e03e7f09) Reviewed-on: http://git.am.freescale.net:8181/9192
2014-02-26dpaa_eth: move declarations to the proper locationMadalin Bucur
Move dpa_alloc_pcd_fqids and dpa_free_pcd_fqids to dpaa_eth_common.c. Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com> Change-Id: I6322cdc377e2b8061680fc39129d567726ec4c29 Reviewed-on: http://git.am.freescale.net:8181/9026 Reviewed-by: Cristian-Constantin Sovaiala <Cristian.Sovaiala@freescale.com> (cherry picked from commit fe1d9e3e097efe1c330f4209b7cca7f75049a6a8) Reviewed-on: http://git.am.freescale.net:8181/9191
2014-02-26dpaa_eth: fix sparse report in dpaa_eth.cMadalin Bucur
Fix one sparse warning in dpaa_eth.c. Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com> Change-Id: Idc00cd8e670bc0cbb4a25408276b0ddce04953f5 Reviewed-on: http://git.am.freescale.net:8181/9024 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Marian Cristian Rotariu <marian.rotariu@freescale.com> Reviewed-by: Cristian-Constantin Sovaiala <Cristian.Sovaiala@freescale.com> (cherry picked from commit 5c4387d198f8f5d211968a0dd50e046bdaff1b22) Reviewed-on: http://git.am.freescale.net:8181/9189
2014-02-26dpaa_eth: fix sparse issues in dpaa_eth_base.cMadalin Bucur
Fix the warnings reported by sparse in dpaa_eth_base.c. Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com> Change-Id: Icb5deda70e94a74c7bbf02e002625f6c5548c788 Reviewed-on: http://git.am.freescale.net:8181/8963 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Cristian-Constantin Sovaiala <Cristian.Sovaiala@freescale.com> (cherry picked from commit 3771f9d89faf95e9a8b2dbb35765a853220bafc1) Reviewed-on: http://git.am.freescale.net:8181/9188
2014-02-26gianfar: Fix Tx int miss, dont write IC on-the-flyClaudiu Manoil
Programming the interrupt coalescing (IC) registers while the controller/DMA is on may incur the loss of one Tx confirmation interrupt, under certain conditions. This is a subtle hw race because it does not occur during a burst of Tx packets. It has been observed on p2020 devices that, if just one packet is being xmit'ed, the Tx confirmation doesn't trigger and BQL evetually blocks the Tx queues, followed by Tx timeout and an un-responsive device. This issue was not apparent prior to introducing BQL support, as a late Tx confirmation was not an issue back then and the next burst of Tx frames would have triggered the Tx confirmation/ Tx ring cleanup anyway. Bottom line, the hw specifications state that the IC registers should not be programmed while the Rx/Tx blocks (the DMA) are enabled. Further more, these registers are currently re-written with the same values on the processing path, over and over again. To fix this, rewriting the IC registers has been removed from the processing path (napi poll). A complete MAC reset procedure has been implemented for the ethtool -c option instead, to reliably update these registers while the controller is stopped. Signed-off-by: Claudiu Manoil <claudiu.manoil@freescale.com> Signed-off-by: David S. Miller <davem@davemloft.net> Change-Id: I279d163671e0f3fef73dd11c4aa8587e598fc152 Reviewed-on: http://git.am.freescale.net:8181/9151 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Madalin-Cristian Bucur <madalin.bucur@freescale.com> Tested-by: Madalin-Cristian Bucur <madalin.bucur@freescale.com>
2014-02-26gianfar: Fix device reset races (oops) for TxClaudiu Manoil
The device reset procedure, stop_gfar()/startup_gfar(), has concurrency issues. "Kernel access of bad area" oopses show up during Tx timeout device reset or other reset cases (like changing MTU) that happen while the interface still has traffic. The oopses happen in start_xmit and clean_tx_ring when accessing tx_queue-> tx_skbuff which is NULL. The race comes from de-allocating the tx_skbuff while transmission and napi processing are still active. Though the Tx queues get temoprarily stopped when Tx timeout occurs, they get re-enabled as a result of Tx congestion handling inside the napi context (see clean_tx_ring()). Not disabling the napi during reset is also a bug, because clean_tx_ring() will try to access tx_skbuff while it is being de-alloc'ed and re-alloc'ed. To fix this, stop_gfar() needs to disable napi processing after stopping the Tx queues. However, in order to prevent clean_tx_ring() to re-enable the Tx queue before the napi gets disabled, the device state DOWN has been introduced. It prevents the Tx congestion management from re-enabling the de-congested Tx queue while the device is brought down. An additional locking state, RESETTING, has been introduced to prevent simultaneous resets or to prevent configuring the device while it is resetting. The bogus 'rxlock's (for each Rx queue) have been removed since their purpose is not justified, as they don't prevent nor are suited to prevent device reset/reconfig races (such as this one). Signed-off-by: Claudiu Manoil <claudiu.manoil@freescale.com> Signed-off-by: David S. Miller <davem@davemloft.net> Change-Id: I08103dd29cf54ea20c198dea508a63b380f6c92f Reviewed-on: http://git.am.freescale.net:8181/9150 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Madalin-Cristian Bucur <madalin.bucur@freescale.com> Tested-by: Madalin-Cristian Bucur <madalin.bucur@freescale.com>
2014-02-26gianfar: Don't free/request irqs on device resetClaudiu Manoil
Resetting the device (stop_gfar()/startup_gfar()) should be fast and to the point, in order to timely recover from an error condition (like Tx timeout) or during device reconfig. The irq free/ request routines are just redundant here, and they should be part of the device close/ open routines instead. Signed-off-by: Claudiu Manoil <claudiu.manoil@freescale.com> Signed-off-by: David S. Miller <davem@davemloft.net> Change-Id: I3f22ec285591c720f3c9f09d03e68d2ffc37e399 Reviewed-on: http://git.am.freescale.net:8181/9149 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Madalin-Cristian Bucur <madalin.bucur@freescale.com> Tested-by: Madalin-Cristian Bucur <madalin.bucur@freescale.com>
2014-02-26gianfar: Fix on-the-fly vlan and mtu updatesClaudiu Manoil
The RCTRL and TCTRL registers should not be changed on-the-fly, while the controller is running, otherwise unexpected behaviour occurs. But that's exactly what gfar_vlan_mode() does, updating the VLAN acceleration bits inside RCTRL/TCTRL. The attempt to lock these operations doesn't help, but only adds to the confusion. There's also a dependency for Rx FCB insertion (activating /de-activating the TOE offload block on Rx) which might change the required rx buffer size. This makes matters worse as gfar_vlan_mode() ends up calling gfar_change_mtu(), though the MTU size remains the same. Note that there are other situations that may affect the required rx buffer size, like changing RXCSUM or rx hw timestamping, but errorneously the rx buffer size is not recomputed/ updated in the process. To fix this, do the vlan updates properly inside the MAC reset and reconfiguration procedure, which takes care of the rx buffer size dependecy and the rx TOE block (PRSDEP) activation/deactivation as well (in the correct order). As a consequence, MTU/ rx buff size updates are done now by the same MAC reset and reconfig procedure, so that out of context updates to MAXFRM, MRBLR, and MACCFG inside change_mtu() are no longer needed. The rx buffer size dependecy to Rx FCB is now handled for the other cases too (RXCSUM and rx hw timestamping). Signed-off-by: Claudiu Manoil <claudiu.manoil@freescale.com> Signed-off-by: David S. Miller <davem@davemloft.net> Change-Id: I3fb0e795e41465b201fb3888638d7d069ad16bb7 Reviewed-on: http://git.am.freescale.net:8181/9148 Reviewed-by: Madalin-Cristian Bucur <madalin.bucur@freescale.com> Tested-by: Madalin-Cristian Bucur <madalin.bucur@freescale.com>