summaryrefslogtreecommitdiff
path: root/drivers/net/ethernet/freescale
AgeCommit message (Collapse)Author
2013-04-29fmd21 integrationMandy Lavi
Signed-off-by: Mandy Lavi <mandy.lavi@freescale.com> Prev fmd integration was fmd19 Diffs from fmd19 to fmd21: Added kgHashShift to t_FmPcdHashTableParams Added nonConsistentSp to t_FmPcdManipReassemIpStats sp - 2 layers separation - for future flib integration rtc - 2 layers separation - for future flib integration PFC enhancement (B4 Rev2 FMAN) API addition (for B4 rev 2): FM_PORT_SetPfcPrioritiesMappingToQmanWQ File fsl_fman.h renamed to lnxwrp_fsl_fman.h The name fsl_fman.h has been applied to other fman internal header file In dpaa_eth: Due to renaming of fsl_fman.h to lnxwrp_fsl_fman.h The relevant include lines in some of the files had to change accordingly Change-Id: I8f25c758963a44a75ca8676aad45f7f96767b0b5 Reviewed-on: http://git.am.freescale.net:8181/2069 Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-04-26fmd: fix the build error for P1023 FmanChunhe Lan
Remove the define of FM_CAPWAP_SUPPORT from P1023/dpaa_integration_ext.h. Or building p1023rds with Fman support will fail with the error message: In file included from drivers/net/ethernet/freescale/fman/src/ wrapper/lnxwrp_ioctls_fm.c:70:0: include/uapi/linux/fmd/Peripherals/fm_pcd_ioctls.h:119:2: error: ................ ................ make[7]: *** [drivers/net/ethernet/freescale/fman/src/wrapper/ lnxwrp_ioctls_fm.o] Error 1 make[6]: *** [drivers/net/ethernet/freescale/fman/src/wrapper] Error 2 make[5]: *** [drivers/net/ethernet/freescale/fman/src] Error 2 make[4]: *** [drivers/net/ethernet/freescale/fman] Error 2 make[3]: *** [drivers/net/ethernet/freescale] Error 2 make[2]: *** [drivers/net/ethernet] Error 2 make[1]: *** [drivers/net] Error 2 make: *** [drivers] Error 2 Signed-off-by: Chunhe Lan <Chunhe.Lan@freescale.com> Change-Id: I38009e5227de84cf47526c024c65ae645b364891 Reviewed-on: http://git.am.freescale.net:8181/2136 Reviewed-by: Zang Tiefei-R61911 <tie-fei.zang@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-04-25gianfar: Remove TSTAT_TXF* redefinitionClaudiu Manoil
Should be merged with the following commit: d385252 - "gianfar: Optimization for routed packets by exchanging rx/tx buffers" Signed-off-by: Claudiu Manoil <claudiu.manoil@freescale.com> Change-Id: If508e4062bce893b0b8dc1830cac38a078d967dd Reviewed-on: http://git.am.freescale.net:8181/2079 Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-04-24gianfar: asf: adding gfar_fast_xmit fundtion for ASF pkt proccessingRajan Gupta
gfar_fast_xmit added for optimizated tx processing for ASF minimum mode. Change-Id: I35c2a21b60bb5ceafab2c1f630ea9863c85ec026 Signed-off-by: Rajan Gupta <rajan.gupta@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/2061 Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-04-24gianfar: asf: Adding selective cleanup of skb fields for ASF processed pktsRajan Gupta
ASF uses only few skb fields, this patch adds a asf specific skb-reclaim function to reset only ASF used SKB fields. Change-Id: Ia96d887fc2e28fd28402fb412f77ce786da8c8a6 Signed-off-by: Rajan Gupta <rajan.gupta@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/2060 Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-04-24gianfar: Optimization for routed packets by exchanging rx/tx buffersRajan Gupta
Patch enhances the Gianfar driver performance for the packets that are received by the driver and transmitted by the driver in the same context. Performance is enhanced by exchanging the buffer between the Tx and Rx rings, rather than allocating buffer from kernel or taking it from recycle queue. Patch keeps the TX interupt masked by default and skb cleanup is done in the xmit function just before skb is recybled back to the RX ring. TX interupt is unmasked only when H/W transmit queue is full, in TX interupt handler stopped tx queues are started again when the H/W has cleaned the TX buffer rings. As TX interups are disabled by default, RFC1588 timestamping is not done and 1588 ptp protocol doesnot works with this optimization. Patch gives best performance with DEFAULT_RX_RING_SIZE 32, DEFAULT_TX_RING_SIZE 32, and GFAR_DEV_WEIGHT 32. Patch improves the forwarding performance of offload implementation like ASF by around 50% and linux forwarding performance by 20%. Change-Id: Ie28858fc9b9ea0434c1242843abd7479a31a0de3 Signed-off-by: Rajan Gupta <rajan.gupta@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/1619 Reviewed-by: Manoil Claudiu-B08782 <claudiu.manoil@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-04-24dpaa_eth: make use of alloc_percpu()Madalin Bucur
Simplify code using alloc_percpu() instead of __alloc_percpu(). Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com> Change-Id: I8d8f003e7506bdea4113b1ec69aaa54b230b62ea Reviewed-on: http://git.am.freescale.net:8181/1739 Reviewed-by: Sovaiala Cristian-Constantin-B39531 <Cristian.Sovaiala@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-04-24dpaa_eth: use FSL_DPAA_ETH prefix for all config optionsMadalin Bucur
Use consistent naming for Kconfig options in DPAA Ethernet driver. Also updated default configs. Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com> Change-Id: I5603919a9d0649741a9494caed3826605b131903 Reviewed-on: http://git.am.freescale.net:8181/1720 Reviewed-by: Sovaiala Cristian-Constantin-B39531 <Cristian.Sovaiala@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-04-24dpaa_eth: extract debugfs code to its own fileMadalin Bucur
Code cleanup, move debugfs code outside dpaa_eth.c. Also fixed some checkpatch.pl reports in the existing code. Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com> Change-Id: Ia70e55d367ffd5743f44cee5ce93c83bb3f7594d Reviewed-on: http://git.am.freescale.net:8181/1719 Reviewed-by: Sovaiala Cristian-Constantin-B39531 <Cristian.Sovaiala@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-04-24gianfar: Optimize Tx NAPI poll using TSTAT indicationClaudiu Manoil
Use TSTAT TXF h/w indication to identify the active Tx queues. Simplify the polling routine to make it faster. No need to poll the Tx rings in a loop due to Tx interrupt coalescing plus the fact that Tx polling does not consume NAPI budget, as Tx ring cleanup is run to completion. This contributes to a faster/ more responsive cleanup of Tx rings reducing the possibility of Tx congestion (Tx timeout triggering). Signed-off-by: Claudiu Manoil <claudiu.manoil@freescale.com> Change-Id: I09b87ef36aa8f51a9814d1fa701364a5e68411ff Reviewed-on: http://git.am.freescale.net:8181/1745 Reviewed-by: Xie Jianhua-B29408 <jianhua.xie@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-04-23net: Fix skb_recycle functionIoana Radulescu
skb_recycle memsets to zero a large part of the sk_buff structure, including the head_frag field. This is an information that needs to be kept even after the skb is recycled, otherwise a subseqent kfree on the recycled skb may fail. Signed-off-by: Ioana Radulescu <ruxandra.radulescu@freescale.com> Change-Id: Ieca806d86ff1e1f30712cc7caf9b72f152081e4f Reviewed-on: http://git.am.freescale.net:8181/1744 Reviewed-by: Hamciuc Bogdan-BHAMCIU1 <bogdan.hamciuc@freescale.com> Reviewed-by: Bucur Madalin-Cristian-B32716 <madalin.bucur@freescale.com> Reviewed-by: Sovaiala Cristian-Constantin-B39531 <Cristian.Sovaiala@freescale.com> Reviewed-by: Manoil Claudiu-B08782 <claudiu.manoil@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-04-22fmd: removed unused definitionMandy Lavi
Signed-off-by: Mandy Lavi <mandy.lavi@freescale.com> Change-Id: I15fc4457cf4f34813d98ef2a7938c8400b4cbc37 Reviewed-on: http://git.am.freescale.net:8181/1640 Reviewed-by: Lavi Mandy-R52568 <Mandy.Lavi@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-04-19dpaa_eth: Move bpool refill thresholds to KconfigBogdan Hamciuc
There have been requests to change the thresholds which control the buffer pool replenishment on the private path of DPAA-Ethernet. While we normally discourage this (since these values have been fine-tuned after numerous tests) we nevertheless expose these knobs into the driver's Kconfig. They now default to the original hardcoded values. Signed-off-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com> Change-Id: Ia6634932e16e4fb771317a04110704a5c3bb5e44 Reviewed-on: http://git.am.freescale.net:8181/1629 Reviewed-by: Sovaiala Cristian-Constantin-B39531 <Cristian.Sovaiala@freescale.com> Reviewed-by: Radulescu Ruxandra Ioana-B05472 <ruxandra.radulescu@freescale.com> Reviewed-by: Bucur Madalin-Cristian-B32716 <madalin.bucur@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-04-19Exports DPAA symbols required in ASFSunil Kumar Kori
Following symbols are exported: dpa_fd_release: Symbol is required to release the FD if any error case occurred in ASF. Change-Id: I122b6cd5da32ab825268a7c080da79865945fe75 Signed-off-by: Sunil Kumar Kori <Sunil.Kori@freescale.com> CR:ENGR00243312 Reviewed-on: http://git.am.freescale.net:8181/1296 Reviewed-by: Sovaiala Cristian-Constantin-B39531 <Cristian.Sovaiala@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-04-19fmd: bypass erratum dTSEC-A003 to allow pause frames disableCristian Sovaiala
Bypass Erratum dTSEC-A003 to allow pauseTime=0 to be set in registry therefore allowing to disable the Pause Frames on TX side. dTSEC-A003: Back-to-back pause requests may cause 1588 TX timestamps out of sync Signed-off-by: Cristian Bercaru <cristian.bercaru@freescale.com> Signed-off-by: Cristian Sovaiala <cristian.sovaiala@freescale.com> Change-Id: Ibbc28d2f345c92da8682e8c59dca2e5a37f9be9a Reviewed-on: http://git.am.freescale.net:8181/1631 Reviewed-by: Radulescu Ruxandra Ioana-B05472 <ruxandra.radulescu@freescale.com> Reviewed-by: Sovaiala Cristian-Constantin-B39531 <Cristian.Sovaiala@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-04-19powerpc/dpaa_eth: add missing ethtool_op_get_linkShengzhou Liu
The get_link is requred by some applications(e.g. ixxat 1588 stack). Signed-off-by: Shengzhou Liu <Shengzhou.Liu@freescale.com> Change-Id: I59376bff897710dba6e34aa624f60b4f1b473f86 Reviewed-on: http://git.am.freescale.net:8181/1601 Reviewed-by: Radulescu Ruxandra Ioana-B05472 <ruxandra.radulescu@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-04-19dpaa_eth: add ethtool PAUSE frame supportCristian Bercaru
Change-Id: I52222f0bf60bb073bb3b77bf935a31e84b4939c0 Reviewed-on: http://git.am.freescale.net:8181/1545 Reviewed-by: Bucur Madalin-Cristian-B32716 <madalin.bucur@freescale.com> Reviewed-by: Sovaiala Cristian-Constantin-B39531 <Cristian.Sovaiala@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-04-19gianfar: remove the redundant backup/recover operationXie Xiaobo
Because introduce TXPAL space into skb_buffer, the timestamp will be placed into TXPAL, So the old backup/recover operation was redundant. Signed-off-by: Xie Xiaobo <X.Xie@freescale.com> Change-Id: Ie10571bf26fd73ca3cdca346c1783579d80f4faf Reviewed-on: http://git.am.freescale.net:8181/1599 Reviewed-by: Manoil Claudiu-B08782 <claudiu.manoil@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-04-19gianfar: Fix the incorrect handle of PTP circle bufferXie Xiaobo
When didn't find the timestamp for a ptp message, the current driver will empty the whole timestamp buffer. It will discard some timestamps that are still in effect. Apply this patch, It only discard these overdue timestamp. Signed-off-by: Xie Xiaobo <X.Xie@freescale.com> Change-Id: Ifce09e4148de02a7afad25bbfce3e2fb8faa2a98 Reviewed-on: http://git.am.freescale.net:8181/1530 Reviewed-by: Manoil Claudiu-B08782 <claudiu.manoil@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-04-18fmd: Remove debug output for AdjustLinkAndy Fleming
This debug output was printing out a ton of messages on a perfectly functional system. Change-Id: I2377701d407b1b2f373997f58bc44c85f80182f1 Signed-off-by: Andy Fleming <afleming@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/1562 Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-04-18FMAN: Adding Wrapper API to use Rate Limiting FeatureSachin Saxena
- The API enables other module to Set / Delete Rate Limiting Feature on a given FMAN port. Change-Id: I28f0bdfb9ca2b1c97df6dfcb2456bc3730cfd7d2 Signed-off-by: Sachin Saxena <sachin.saxena@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/1377 Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-04-18dpaa_eth: Add initial support for trace eventsIoana Radulescu
Create a basic framework and an example for using trace events in the DPAA ethernet driver. New trace events can be added in the dpaa_eth_trace.h file and called from relevant places in the driver code. Signed-off-by: Ioana Radulescu <ruxandra.radulescu@freescale.com> Change-Id: I7235ddc0f9fb69bbb8eaf506510e72bf2f63fb7d Reviewed-on: http://git.am.freescale.net:8181/1540 Reviewed-by: Hamciuc Bogdan-BHAMCIU1 <bogdan.hamciuc@freescale.com> Reviewed-by: Sovaiala Cristian-Constantin-B39531 <Cristian.Sovaiala@freescale.com> Reviewed-by: Bucur Madalin-Cristian-B32716 <madalin.bucur@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-04-18dpaa_eth: Add NETPOLL supportBogdan Hamciuc
Add NETPOLL support to the dpaa-ethernet driver. This is particularly useful in tandem with the Netconsole module, when we'd want to drop tons of logs (e.g. Ftrace logs) and the serial console is just too slow for that. Signed-off-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com> Change-Id: Ic20b62603c58910d86d17afdd9a85e4b049526f1 Reviewed-on: http://git.am.freescale.net:8181/1538 Reviewed-by: Sovaiala Cristian-Constantin-B39531 <Cristian.Sovaiala@freescale.com> Reviewed-by: Bucur Madalin-Cristian-B32716 <madalin.bucur@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-04-18dpaa_eth: allow MAC change while interface runningMarian Rotariu
Added private flag to net device to let user change the physical address even if the interface is up Signed-off-by: Marian Rotariu <marian.rotariu@freescale.com> Change-Id: I2b07a9e8ac86dae097e69882c4ea372a07899137 Reviewed-on: http://git.am.freescale.net:8181/1537 Reviewed-by: Hamciuc Bogdan-BHAMCIU1 <bogdan.hamciuc@freescale.com> Reviewed-by: Sovaiala Cristian-Constantin-B39531 <Cristian.Sovaiala@freescale.com> Reviewed-by: Bucur Madalin-Cristian-B32716 <madalin.bucur@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-04-18dpaa_eth: make use of skb_frag_dma_map()Madalin Bucur
Use convenience function to map fragment page. Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com> Change-Id: If99e0692bddcd50661fb78be089d8f89c720cbca Reviewed-on: http://git.am.freescale.net:8181/1536 Reviewed-by: Hamciuc Bogdan-BHAMCIU1 <bogdan.hamciuc@freescale.com> Reviewed-by: Sovaiala Cristian-Constantin-B39531 <Cristian.Sovaiala@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-04-18dpaa-eth: Alloc NR_CPUS TX frame queuesCristian Sovaiala
No matter the number of TX frame queues specified in the device tree we allocate one frame queue for each CPU. For a number of frame queues smaller than the number of CPUs, certain queues will be allocated to more than one CPU. For a larger number of frame queues than available CPUs, a number of NR_CPUS frame queues will be used only. Signed-off-by: Cristian Sovaiala <cristian.sovaiala@freescale.com> Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com> Change-Id: Ie00aae47d03ffed7d3e0b5e449557ab4c01e3288 Reviewed-on: http://git.am.freescale.net:8181/1535 Reviewed-by: Hamciuc Bogdan-BHAMCIU1 <bogdan.hamciuc@freescale.com> Reviewed-by: Sovaiala Cristian-Constantin-B39531 <Cristian.Sovaiala@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-04-18gianfar: add support for wake-on-packetchenhui zhao
On certain chip like MPC8536 and P1022, system can be waked up from sleep by user-defined packet and Magic Patcket.(The eTSEC cannot supports both types of wake-up event simultaneously.) This patch implements wake-up on user-defined patcket including ARP request packet and unicast patcket to this station. When entering suspend state, the gianfar driver sets receive queue filer table to filter all of packets except ARP request packet and unicast patcket to this station. The driver temporarily uses the last receive queue to receive the user defined packet. In suspend state, the receive part of eTSEC keeps working. When receiving a user defined packet, it generates an interrupt to wake up the system. The rule of the filer table is as below. if (arp request to local ip address) accept it to the last queue elif (unicast packet to local mac address) accept it to the last queue else reject it endif Note: The local ip/mac address is the ethernet primary IP/MAC address of the station. Do not support multiple IP/MAC addresses. Here is an example of enabling and testing wake up on user defined packet. ifconfig eth0 10.193.20.169 ethtool -s eth0 wol a echo standby > /sys/power/state or echo mem > /sys/power/state Ping from PC host to wake up the station: ping 10.193.20.169 Change-Id: Ib3a29047bb55c770fe8cacae3299a5e5f3420c89 Signed-off-by: Dave Liu <daveliu@freescale.com> Signed-off-by: Jin Qing <b24347@freescale.com> Signed-off-by: Li Yang <leoli@freescale.com> Signed-off-by: Zhao Chenhui <chenhui.zhao@freescale.com> Acked-by: Andy Fleming <afleming@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/1517 Reviewed-by: Manoil Claudiu-B08782 <claudiu.manoil@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-04-18dpaa_eth: Add support for hardware timestampingMadalin Bucur
Add Linux conforming support for hardware timestamping. Minor fixes and comments about the FSL_DPA_1588 code. Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com> Change-Id: I6f9cd77cbe157219cb77e87bb8cfd72bee037261 Reviewed-on: http://git.am.freescale.net:8181/1469 Reviewed-by: Radulescu Ruxandra Ioana-B05472 <ruxandra.radulescu@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-04-18dpaa_eth: Add support for new buffer layout parametersIoana Radulescu
The new chosen node mechanism allows a user to configure some extra per port parameters related to buffer layout. Add support in the ethernet driver to account for these new parameters and the changes in FMD wrapper API. Signed-off-by: Ioana Radulescu <ruxandra.radulescu@freescale.com> Change-Id: I54ef34be7b2ce1b644245816cbf234c8c6d8dcab Reviewed-on: http://git.am.freescale.net:8181/1468 Reviewed-by: Bucur Madalin-Cristian-B32716 <madalin.bucur@freescale.com> Reviewed-by: Sovaiala Cristian-Constantin-B39531 <Cristian.Sovaiala@freescale.com> Reviewed-by: Bercaru Cristian-B43982 <cristian.bercaru@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-04-18dpaa_eth: Allow separate buffer layouts per rx/tx portIoana Radulescu
Until now all ports expected the same (hardcoded) buffer layout, where buffer layout means: private data size, presence of parse results, hash results, timestamp. Buffer layout also influences the size of the buffers for private ports. Create a framework for configuring the buffer layout on a per rx/tx port basis. There is no change in functionality at the moment (the same values for buffer layout are kept). Signed-off-by: Ioana Radulescu <ruxandra.radulescu@freescale.com> Change-Id: I3792b095330575d199f4cbe071de718ae6d45ab1 Reviewed-on: http://git.am.freescale.net:8181/1467 Reviewed-by: Bucur Madalin-Cristian-B32716 <madalin.bucur@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-04-18dpaa_eth: Delay buffer pool seeding for private portsIoana Radulescu
Until now, all private ports had to be configured to use the same buffer size, as they all share a common buffer pool. Create the framework for working with different buffer sizes on the private ports; a single, common buffer pool is still used by all private ports. The pool is seeded with buffers large enough to accomodate frames for all private ports. In order to be able to compute the largest needed buffer size, the buffer pool seeding is delayed until the first private interface is raised. Temporarily disable the boot-time ethernet unit test, which requires the use of the common buffer pool. Signed-off-by: Ioana Radulescu <ruxandra.radulescu@freescale.com> Change-Id: I22d40d136e35320b7b4af76e18e53faff7460cbf Reviewed-on: http://git.am.freescale.net:8181/1466 Reviewed-by: Bucur Madalin-Cristian-B32716 <madalin.bucur@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-04-18Patch contains hook to offload FD to ASF instead of skb.Sunil Kumar Kori
Earlier in DPA, hook was given to offload skb to asf. This patch provides a hook to offload a FD to ASF instead of skb. Change-Id: I855dd48c127479ae60d3371d1956ba533d8e4407 Signed-off-by: Sunil Kumar Kori <Sunil.Kori@freescale.com> CR:ENGR00243312 Reviewed-on: http://git.am.freescale.net:8181/1294 Reviewed-by: Hamciuc Bogdan-BHAMCIU1 <bogdan.hamciuc@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-04-17Merge tag 'v3.8.8'Scott Wood
This is the 3.8.8 stable release Conflicts: include/linux/preempt.h
2013-04-16dpaa_eth: init two more parameters for the ports.Haiying Wang
We can not leave those parameters un-initialized, otherwise, kernel boot up may pick random values for those two parameters then crash at: " fsl_dpa: dpaa_eth.c:4217:dpa_load() fsl_dpa: FSL DPAA Ethernet driver () cpu0: ! MAJOR FM-SP Error [CPU00, drivers/net/ethernet/freescale/fman/ Peripherals/FM/SP/fm_sp.c:403 FmSpCheckBufMargins]: Invalid Value; " Signed-off-by: Haiying Wang <Haiying.Wang@freescale.com> Change-Id: I86aabcaf7a895b020456e3a01aff19425b03a17d Reviewed-on: http://git.am.freescale.net:8181/1404 Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-04-16dpaa_eth: 64 instead of 32 bit NIC countersBogdan Hamciuc
Change the data type of several fields used in network interface statistics. 'dpa_get_stats64' replaces 'dpa_get_stats' and 'u64' replaces 'u32'. Use a new function for calculating statistics. 'dpa_get_stats64' replaces 'dpa_get_stats'. Signed-off-by: Cristian Bercaru <cristian.bercaru@freescale.com> Change-Id: I580a531315067b73692ec2a21e0f78552c8da381 Reviewed-on: http://git.am.freescale.net:8181/1401 Reviewed-by: Radulescu Ruxandra Ioana-B05472 <ruxandra.radulescu@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-04-16dpaa_eth: Switch compile default to "termination"Bogdan Hamciuc
Switch the default compile option from "optimize for ipfwd" to "optimize for termination". Signed-off-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com> Change-Id: I37b9b867b2f9787eb4a56a8005e198a2fb6430cc Reviewed-on: http://git.am.freescale.net:8181/1400 Reviewed-by: Radulescu Ruxandra Ioana-B05472 <ruxandra.radulescu@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-04-16dpaa_eth: Add support for the new netdev features frameworkIoana Radulescu
Kernel 3.8 brings a new way of organizing the netdev features (feature sets include hardware features, currently enabled features, vlan features and wanted features). Some ethtool ops also replaced by a set of new ndo's. Update the DPAA Ethernet driver to account for these changes. Signed-off-by: Ioana Radulescu <ruxandra.radulescu@freescale.com> Change-Id: I073920040f9c92665773cac5fb30d305320699be Reviewed-on: http://git.am.freescale.net:8181/1399 Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-04-16dpaa: Eliminate unused variableBogdan Hamciuc
commit be7eb995 dpaa_eth: Update PR processing routine on Rx path leaves an unitialized variable which triggers a compiler warning. Eliminating the unnecessary declaration. To avoid resubmitting the whole set of patches after that one, I'm adding this fix. *** Please squash this with "commit be7eb995 *** dpaa_eth: Update PR processing routine on Rx path" *** Change-Id: Id9d99a2b9ec53d87560d5367a22c1f1c67aa5b39 Signed-off-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/1289 Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-04-16dpaa_eth: Remove obsolete compile-time warningsBogdan Hamciuc
Eliminate a couple of #warning directives that are no longer useful. Change-Id: Ifafe15f50a7eaa031f0b0a87a8655ccf1ee4b1e7 Signed-off-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/1283 Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-04-16dpaa_eth: Add NETIF_F_LLTX to standard capability setBogdan Hamciuc
The "lockless tx" capability, although flagged as deprecated, was deemed closer to upstreamability than our previous NETIF_F_HW_QDISC (meanwhile moved under ASF config). This has shown no performance impact whatsoever, at least in termination/netperf tests. Change-Id: I0294f0f105e56cc00cb957c23a3a6c6d3acc8d6f Signed-off-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/1282 Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-04-16dpaa_eth: Remove NETIF_F_HW_QDISC from standard capability setBogdan Hamciuc
Due to opposition from the kernel netdevs, unstaging the Hw Qdisc as a standard capability and moving it to ASF instead. Change-Id: I79592b273eac12650d6dab1662a5901725a9c5a9 Signed-off-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/1281 Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-04-16dpaa_eth: MTU checking is not necessary for IP Reassembled framesCristian Sovaiala
Do not limit IP Reassembled frames to MTU size. Change-Id: I8ec3ca5e23165d7ee6397935dff26c7a18903fef Signed-off-by: Cristian Sovaiala <cristian.sovaiala@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/1280 Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-04-16dpaa_eth: Update PR processing routine on Rx pathIoana Radulescu
Make several changes to the logic of the parse results processing function on the Rx path. Currently all frames with a parser header error are received on the error frame queue, so the processing of PR on the default rx path doesn't need to check for header errors. Remove both the checks and a counter that was supposed to count frames with an invalid L4 header. Change-Id: Ibe7eb9957e1a0c78abf8445f758067340b48cd86 Signed-off-by: Ioana Radulescu <ruxandra.radulescu@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/1279 Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-04-16gianfar: Enable changing mac addr when if upClaudiu Manoil
Use device flag IFF_LIVE_ADDR_CHANGE to signal that the device supports changing the hardware address when the device is running. This allows eth_mac_addr() to change the mac address also when the network device's interface is open. This capability is required by certain applications, like bonding mode 6 (Adaptive Load Balancing). Signed-off-by: Claudiu Manoil <claudiu.manoil@freescale.com> Change-Id: I12e5ceb3dbfe0b5a5e3e2602dc0b46815ca7b927 Reviewed-on: http://git.am.freescale.net:8181/1238 Reviewed-by: Xie Jianhua-B29408 <jianhua.xie@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-04-16powerpc/dpaa_1588: add sysfs support for ptp 1588Shengzhou Liu
The dpaa 1588 can be disabled/enabled via sysfs in runtime. By default, the dpaa 1588 is disabled, that means no 1588 action activated during the processing of ethernet frames. To enable 1588: echo 1 > /sys/devices/<DIR>/fmx-gby/ptp_1588 To disable 1588: echo 0 > /sys/devices/<DIR>/fmx-gby/ptp_1588 Signed-off-by: Shengzhou Liu <Shengzhou.Liu@freescale.com> Change-Id: I9f21f47c1f5eeb7b5f05e43e2ec6fe41fa3e697f Reviewed-on: http://git.am.freescale.net:8181/1150 Reviewed-by: Hamciuc Bogdan-BHAMCIU1 <bogdan.hamciuc@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-04-16powerpc/dpaa_1588: optimization for 1588 performanceShengzhou Liu
In case of overloading the slaves, the performace will get worse since there are more and more outdated timestamps accumulated in Tx buffer, so we introduce a way to remove those older timestamps between the current matched one and the tail if they are more than TS_ACCUMULATION_THRESHOLD. In addition, we update the buffer size to 256 which is enough according to stress tests. Signed-off-by: Shengzhou Liu <Shengzhou.Liu@freescale.com> Change-Id: I761dcabf71f27d47627ca835daf28562bfa37319 Reviewed-on: http://git.am.freescale.net:8181/1146 Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-04-15gfar: asf: Exporting gfar_new_skb()Rajan Gupta
Exporting gfar_new_skb() for allocating new SKBs required for transmitting fragmented packets in offload engine like ASF. Change-Id: Ic7b3ad625c3132e5ed4d77d67d67f434c1ddaf05 Signed-off-by: Rajan Gupta <rajan.gupta@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/1337 Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-04-15gianfar: Add hooks for offloading packets to ASFSachin Saxena
Change-Id: I3f7ba9fd42e0aa320bc59ecd5062d0e46f77c21c Signed-off-by: Rajan Gupta <rajan.gupta@freescale.com> Signed-off-by: Sachin Saxena <sachin.saxena@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/1336 Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-04-15gianfar: Optimize Tx/Rx ring cleanup with Tx/Rx NAPIClaudiu Manoil
Add a separate NAPI poll routine for Tx cleanup to be triggerred independently by the Tx confirmation interrupts only. Existing poll function is modified to handle only the Rx path processing. The Tx poll routine does not need a budget, since Tx processing doesn't consume NAPI budget, and hence it is registered with minimum NAPI weight. This way the Tx poll routine won't compete for budget with the Rx poll routine. The Rx poll routine is registered with the maximum NAPI weight, just as before. The gfar_configure_coalescing function is simply split in two so that the coalescing timers can be updated separately between the Rx and Tx paths. The schedule cleanup ISR part has been changed to handle the Rx and Tx interrupts independently (since we have separate interrupt lines for Rx and Tx). NAPI scheduling does not require locking since we have different NAPI instances between the Rx and Tx confirmation paths now. This generaly improves the driver's response, most notably when forwading multiple opposite flows. Signed-off-by: Claudiu Manoil <claudiu.manoil@freescale.com> Change-Id: I21fee0f7853f46dead0d02ff39cce60c20e624db Reviewed-on: http://git.am.freescale.net:8181/1165 Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-04-15gianfar: Refactor gfargrp referencesClaudiu Manoil
Cleanup this code for future updates. grp = &priv->gfargrp[i] Signed-off-by: Claudiu Manoil <claudiu.manoil@freescale.com> Change-Id: I54782f1d32214bd69b54f79518d94e05fe1879ac Reviewed-on: http://git.am.freescale.net:8181/1164 Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>