summaryrefslogtreecommitdiff
path: root/drivers/net
AgeCommit message (Collapse)Author
2013-08-30Merge branch 'b4860rev2' into sdk-kernel-3.8J. German Rivera
2013-08-28fmd: fix muram size for b4860rev2Mandy Lavi
Signed-off-by: Mandy Lavi <mandy.lavi@freescale.com> Change-Id: Id1be0b2511e5c36fd785f8ee72f4189305c7ac71 Reviewed-on: http://git.am.freescale.net:8181/4105 Reviewed-by: Bucur Madalin-Cristian-B32716 <madalin.bucur@freescale.com> Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Rivera Jose-B46482 <German.Rivera@freescale.com>
2014-04-27dpaa_eth/mac: Sync with the unique MDIO bus name for "fixed-link" PHY(s)Shruti Kanetkar
'9e6c643 phy/fixed: use an unique MDIO bus name' changed the name of the fixed PHY bus to "fixed-0". This update has been already done for the non-dpaa SoC(s) in 'e5c7d1f of/mdio: fix fixed link bus name' Signed-off-by: Shruti Kanetkar <Shruti@Freescale.com> Change-Id: Ie2ead771bc74a2b62c26eca6b5618bdebbe1eb61 Reviewed-on: http://git.am.freescale.net:8181/4129 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Hamciuc Bogdan-BHAMCIU1 <bogdan.hamciuc@freescale.com> Reviewed-by: Rivera Jose-B46482 <German.Rivera@freescale.com>
2013-08-27Merge branch 'sdk-v1.4.x' into sdk-kernel-3.8J. German Rivera
2013-08-27Merge branch 'b4860rev2' into sdk-v1.4.xJ. German Rivera
2013-08-12fmd: remove unused macrosMandy Lavi
Signed-off-by: Mandy Lavi <mandy.lavi@freescale.com> Change-Id: If2fda57aaf42719d0a3aae2256d513856583913b Reviewed-on: http://git.am.freescale.net:8181/3427 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-08-12fmd: handle erratum A006981Mandy Lavi
Changes open dma allocation to workaround erratum A006981 Also verify that it applies only to B4-rev1 while rev2 should have this erratum fixed Signed-off-by: Mandy Lavi <mandy.lavi@freescale.com> Change-Id: Icc0552269da9ad80763e8ad1394d6ad67ee143a8 Reviewed-on: http://git.am.freescale.net:8181/3428 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-08-12fmd: better support debug in preemptible kernelMandy Lavi
Prevent sleeping function to be called from invalid context Signed-off-by: Mandy Lavi <mandy.lavi@freescale.com> Change-Id: I1fa7619489248c823d55a96b00cc4b7bd75bbf6d Reviewed-on: http://git.am.freescale.net:8181/3430 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-08-08fmd: add ioctl support to both xxTableGetMissStatistics functionsMandy Lavi
FM_PCD_MatchTableGetMissStatistics and FM_PCD_HashTableGetMissStatistics Signed-off-by: Mandy Lavi <mandy.lavi@freescale.com> Change-Id: I56a02300f4603245344effc898ff9fdd137d8e4c Reviewed-on: http://git.am.freescale.net:8181/3905 Reviewed-by: Schmitt Richard-B43082 <B43082@freescale.com> Tested-by: Schmitt Richard-B43082 <B43082@freescale.com>
2013-08-08fmd: add T4/B4 definition FM_NO_GUARANTEED_RESET_VALUESMandy Lavi
Apparently reset values of B4/T4 in fmd are not completely reliable. will use this definition to force fman init values. Signed-off-by: Mandy Lavi <mandy.lavi@freescale.com> Change-Id: Id0b16cf7faf8c53ab9741bcd370e27e91a9ab2a0 Reviewed-on: http://git.am.freescale.net:8181/3904 Reviewed-by: Chereji Marian-Cornel-R27762 <marian.chereji@freescale.com> Tested-by: Schmitt Richard-B43082 <B43082@freescale.com> Reviewed-by: Schmitt Richard-B43082 <B43082@freescale.com>
2013-08-08fmd: support retrieval of more statistics countersMandy Lavi
- miss entry in a CC Node - miss entry in the hash table Signed-off-by: Mandy Lavi <mandy.lavi@freescale.com> Change-Id: Iacbebff6f8f7ef1fa9c97b24d1072515f5098860 Reviewed-on: http://git.am.freescale.net:8181/3828 Reviewed-by: Lavi Mandy-R52568 <Mandy.Lavi@freescale.com> Reviewed-by: Chereji Marian-Cornel-R27762 <marian.chereji@freescale.com> Reviewed-by: Schmitt Richard-B43082 <B43082@freescale.com> Tested-by: Schmitt Richard-B43082 <B43082@freescale.com>
2013-08-07gianfar: Add ethtool -A support for pause frameClaudiu Manoil
Allow Rx/Tx pause frame configuration via ethtool. The gfar devices feature link autonegotioation by default. The device is being configured with the new pause frame settings during link autonegotiation (see adjust_link()). Signed-off-by: Claudiu Manoil <claudiu.manoil@freescale.com> Change-Id: Icd0b4155ad10e6f9174ffe17c8bf5bec748f9142 Reviewed-on: http://git.am.freescale.net:8181/3651 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-08-07gianfar: Fix pause frame handling for half duplex linksClaudiu Manoil
MACCFG1 register bits to enable PAUSE frame handling are set by the driver unconditionally. Per 802.3 standard, PAUSE frame handling is a full duplex feature, and neither meaningful nor correct in half duplex. Signed-off-by: Claudiu Manoil <claudiu.manoil@freescale.com> Change-Id: I3066169b9e96f1c29391ac7636a26ca4152129c3 Reviewed-on: http://git.am.freescale.net:8181/3650 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-07-31Merge remote-tracking branch 'fsl_devel/sdk-kernel-3.8' into sdk1.5Andy Fleming
2013-07-31dpaa_eth: replace pointer to default bpoolMadalin Bucur
Replace pointer to default bpool by bpid. Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com> Change-Id: I10248ab7f01807c4e0b13f59c32ef9c4314b9635 Reviewed-on: http://git.am.freescale.net:8181/3661 Reviewed-by: Hamciuc Bogdan-BHAMCIU1 <bogdan.hamciuc@freescale.com> 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-07-31dpaa_eth: reuse dpa_bp_alloc() for private interfacesMadalin Bucur
Make use of the common dpa_bp_alloc() function in the private interface code. Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com> Change-Id: I1645bd36c37b807aa9c2da462579bd2907df7c8e Reviewed-on: http://git.am.freescale.net:8181/3660 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-07-31dpaa_eth: private bpool seeding code refactoringMadalin Bucur
Moved globals used only by non-sg code to the apropriate file, renamed seeding functions. Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com> Change-Id: If9a4945be3e7a1d6ce3c752ba3c2f581651b5dec Reviewed-on: http://git.am.freescale.net:8181/3659 Reviewed-by: Hamciuc Bogdan-BHAMCIU1 <bogdan.hamciuc@freescale.com> 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-07-31dpaa_eth: minor change in dpaa_eth_napi_schedule()Madalin Bucur
Moved counter increment in inline function. Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com> Change-Id: Iee1981c67f0b3daed65276cd3a3addf74c91e264 Reviewed-on: http://git.am.freescale.net:8181/3658 Reviewed-by: Hamciuc Bogdan-BHAMCIU1 <bogdan.hamciuc@freescale.com> 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-07-31dpaa_eth: add drain and seed callbacks for dpa_bpMadalin Bucur
Add callbacks for seeding and draining the bpools. Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com> Change-Id: Ib6e2e0c6d6b8ea9187c0d90b5ab4af4c54f344a4 Reviewed-on: http://git.am.freescale.net:8181/3657 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-07-31dpaa_eth: Move bpool seeding back to probe for SG driverIoana Radulescu
Only the non-SG ("optimized for forwarding") flavour of the driver needs to have the buffer pool seeding done after all interfaces are probed, as in this case the buffer size may vary between interfaces. For the termination optimized flavour, we have a fixed buffer size on Rx, so there's no need to wait for the pool seeding. Signed-off-by: Ioana Radulescu <ruxandra.radulescu@freescale.com> Change-Id: I101ffa38e9f83f90a432620898a2a24ede6c0895 Reviewed-on: http://git.am.freescale.net:8181/3656 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-07-31dpaa_eth: Remove dpa_bp_count from percpu_priv structureIoana Radulescu
Instead just rely on the percpu field in dpa_bp structure. The performance lost due to the extra indirection is compensated by the smaller size of the percpu_priv structure. This way we begin to eliminate the assumption that private interfaces only have one default buffer pool, which may not remain true for long. Signed-off-by: Ioana Radulescu <ruxandra.radulescu@freescale.com> Change-Id: I0b2c199c3f8883fa7d5fa1a06d2940f8170fc959 Reviewed-on: http://git.am.freescale.net:8181/3655 Reviewed-by: Bucur Madalin-Cristian-B32716 <madalin.bucur@freescale.com> 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-07-31dpaa_eth: Fix size of DMA mappingsIoana Radulescu
Use the correct buffer size for DMA mappings on Tx path, otherwise we risk mapping too little if we have an MTU larger than the size of the default buffer pool. Signed-off-by: Ioana Radulescu <ruxandra.radulescu@freescale.com> Change-Id: Id197e3284a884fd417c62e13af8cb9688a2f1b8f Reviewed-on: http://git.am.freescale.net:8181/3654 Reviewed-by: Bucur Madalin-Cristian-B32716 <madalin.bucur@freescale.com> 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-07-30dpaa_eth: remove unused bpool depletion callbackMadalin Bucur
The stub bpool depletion callback is not used, removed. Change-Id: Ibf465d4c04bc867a7cda8a92c7cf07b3ae682de0 Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com> Change-Id: Ie864646adbe77817b59fc9cf8223677a4048be2a Reviewed-on: http://git.am.freescale.net:8181/3600 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Sovaiala Cristian-Constantin-B39531 <Cristian.Sovaiala@freescale.com> Reviewed-by: Radulescu Ruxandra Ioana-B05472 <ruxandra.radulescu@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-07-30dpaa_eth: remove references to shared in the codeMadalin Bucur
There were several portions of code that were run conditionally based on the dpa_priv_s member variable shared. Removed the checks and the variable. Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com> Change-Id: I80d29ca50cc0fa328e149ba43c1c5bcf0157d6c2 Reviewed-on: http://git.am.freescale.net:8181/3561 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Radulescu Ruxandra Ioana-B05472 <ruxandra.radulescu@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-07-30dpaa_eth: bpool probing code separationMadalin Bucur
First changes in the series that will separate bpool initialization for private and other drivers. Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com> Change-Id: I96ff087f37c0dd7117d9aabc3cf3554bf2c35684 Reviewed-on: http://git.am.freescale.net:8181/3560 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Radulescu Ruxandra Ioana-B05472 <ruxandra.radulescu@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-07-30fmd: Update range for FSL_FM_RX_EXTRA_HEADROOMIoana Radulescu
We need to reserve some space in the Rx skb buffer for NET_IP_ALIGN, otherwise on forwarding the stack may reallocate the skb header. The most easily available place to do this is the Rx extra headroom, so enforce the minimum non-zero possible value as lower end of the configuration range. While here, enforce (and comment on) the restriction to only set values which are a multiple of 16 bytes, which was missed in the previous version of the help text. Signed-off-by: Ioana Radulescu <ruxandra.radulescu@freescale.com> Change-Id: I9403a36f11cc1c7b9460126fb5ab97237f9bd105 Reviewed-on: http://git.am.freescale.net:8181/3482 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> 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: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-07-30dpaa_eth: Fix freeing of bpool buffersIoana Radulescu
Make sure buffers get freed correctly even if they are part of compound pages. Signed-off-by: Ioana Radulescu <ruxandra.radulescu@freescale.com> Change-Id: I36aaa1d13b526fa34c7c6ac7d3a1d787091b50f2 Reviewed-on: http://git.am.freescale.net:8181/3481 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> 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: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-07-30dpaa_eth: Fix computation of FD headroomIoana Radulescu
The Rx/Tx headrooms are aligned to a configurable value; if that value is zero however, FMD will interpret it as a "don't care" and use its own internal default, which is currently 64. If the user configures a zero headroom alignment, use our own default, otherwise we risk getting out of sync with the actual hardware configuration. Also, don't assume the Rx headroom is always equal to the Tx headroom plus the Kconfigurable Rx extra headroom, since alignment may change this. Signed-off-by: Ioana Radulescu <ruxandra.radulescu@freescale.com> Change-Id: Iaf12deb55f4330edb46c6d358114f8f757b64f08 Reviewed-on: http://git.am.freescale.net:8181/3479 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> 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: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-07-30dpaa_eth: Recycle the buffers of linear skbsIoana Radulescu
Add recycling support to the "optimized for termination" flavour of the driver. For now, only the recycling of buffers pertaining to linear skbs is supported. The rules for recycling are similar to those used in the forwarding code; unlike that codebase however, only the page fragment is recycled, not the entire skb structure. Signed-off-by: Ioana Radulescu <ruxandra.radulescu@freescale.com> Change-Id: I6d3014e90119436d121f20d93a58a7d3054c13fa Reviewed-on: http://git.am.freescale.net:8181/3478 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> 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: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-07-30dpaa_eth: Rename dpa_bp_add_8_pages()Bogdan Hamciuc
After we no longer allocate full page-size buffers, the main allocation function needs a rename. Ditto for some internal variable and one comment. Signed-off-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com> Change-Id: Id3e6888ad6554b696f3b59d39e26562588713d0b Reviewed-on: http://git.am.freescale.net:8181/3477 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> 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>
2013-07-30dpaa_eth: Half-page buffer managementBogdan Hamciuc
QMan automatically uses the FD to determine the frame size for congestion management purposes. But since we only allocated full-size pages, traffic consisting of small frames would pose a significant pressure on system memory, because the difference between the frame size and the buffer (page) size couldn't be accounted for. Consequently, the CGRs we set up for egress traffic would not detect congestion; in some cases, this quickly depletes system memory. Add half-page buffer support, for better memory accounting. Even if we now have to manually enforce buffer alignments which up until now were implicit, and even though the size overheads due to cacheline alignments are still non-negligible, the overall buffer accounting is significantly improved now. OOM situations, in particular, should be harder to produce. Signed-off-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com> Change-Id: I861ec2752124f92e58d278732ccd359703776032 Reviewed-on: http://git.am.freescale.net:8181/3476 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Radulescu Ruxandra Ioana-B05472 <ruxandra.radulescu@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-07-30dpaa_eth: Simplify computation of skb headroomBogdan Hamciuc
Make it clear that on Rx the needed headroom is precisely fd.offset. Signed-off-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com> Change-Id: I62bf538c1dcb7a8f4a4feadc403e8bddd0707ef7 Reviewed-on: http://git.am.freescale.net:8181/3475 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-07-22fmd: better support debug in preemptible kernelMandy Lavi
Prevent sleeping function to be called from invalid context Signed-off-by: Mandy Lavi <mandy.lavi@freescale.com> Change-Id: I1fa7619489248c823d55a96b00cc4b7bd75bbf6d Reviewed-on: http://git.am.freescale.net:8181/3430 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-07-22fmd: handle erratum A006981Mandy Lavi
Changes open dma allocation to workaround erratum A006981 Also verify that it applies only to B4-rev1 while rev2 should have this erratum fixed Signed-off-by: Mandy Lavi <mandy.lavi@freescale.com> Change-Id: Icc0552269da9ad80763e8ad1394d6ad67ee143a8 Reviewed-on: http://git.am.freescale.net:8181/3428 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-07-22fmd: remove unused macrosMandy Lavi
Signed-off-by: Mandy Lavi <mandy.lavi@freescale.com> Change-Id: If2fda57aaf42719d0a3aae2256d513856583913b Reviewed-on: http://git.am.freescale.net:8181/3427 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-07-22gianfar: Fix illegal access when skb recycling disabledClaudiu Manoil
When the skb recycling feature is disabled via module param (gfar_skb_recycling_en), rec->local is being accessed while not initialized. Signed-off-by: Claudiu Manoil <claudiu.manoil@freescale.com> Change-Id: I0f9d355302e694860cc3d46c296409126887b4a9 Reviewed-on: http://git.am.freescale.net:8181/3369 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-07-22dpaa_eth: Handle buffer pool depletionIoana Radulescu
If the system gets into an out-of-memory state, we are unable to refill the default buffer pool with new buffers. While this lasts, just release any incoming frame back to the pool without further processing. Signed-off-by: Ioana Radulescu <ruxandra.radulescu@freescale.com> Signed-off-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com> Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com> Change-Id: Ia7cd0979adfa2d5c6f5be88017ed2bd0bfd202f8 Reviewed-on: http://git.am.freescale.net:8181/3335 Reviewed-by: Radulescu Ruxandra Ioana-B05472 <ruxandra.radulescu@freescale.com> Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Sovaiala Cristian-Constantin-B39531 <Cristian.Sovaiala@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-07-22dpaa_eth: Fix pool counters on error pathBogdan Hamciuc
When system memory is depleted, the Rx buffers are put back into their pool. Bad accounting on that error path made it so the software software counters remained behind the hardware counters, eventually allowing for negative totals. Fix this and keep the software pool counters in sync with the hardware counters. Signed-off-by: Ioana Radulescu <ruxandra.radulescu@freescale.com> Signed-off-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com> Change-Id: I1d1de60df0bc4fcec2dc1a4aadd9b2ffbc0ba89e Reviewed-on: http://git.am.freescale.net:8181/3334 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-07-22dpaa_eth: Switch compile-time default optimizationBogdan Hamciuc
Move back to the "optimize for IPFWD" compile-time choice. This effectively reverts commit id 692f5140. Signed-off-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com> Change-Id: I4235488c48141cfeebf2b7c108ed81ef73ab4afb Reviewed-on: http://git.am.freescale.net:8181/3333 Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-07-22fmd,dpaa_eth: Selectively reenable FMan allocation algorithmBogdan Hamciuc
On P3/P4/P5 platforms, as well as on P1023, FMan's default resource allocation values are not enough to enable jumbo frame forwarding in the absence of SG support. Enable the (previously deselected) FMan dynamic resource allocation algorithm on those platforms, if the legacy DPAA-Ethernet driver (missing SG support) is used. Signed-off-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com> Change-Id: Iec8224c331b95903d57291312791ac6bf0b7fa8a Reviewed-on: http://git.am.freescale.net:8181/3332 Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-07-22dpaa_eth: Fix endless loop in case of memory depletionBogdan Hamciuc
Check the return value from the buffer-allocating function, in order to prevent looping forever if memory depletes. Signed-off-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com> Change-Id: If817c367a39a47322dc3e55d6d133d500b324b3b Reviewed-on: http://git.am.freescale.net:8181/3331 Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-07-22dpaa_eth: Set a fixed upper limit for recycleable buffer sizeIoana Radulescu
Until now we considered a buffer recycleable if its size didn't exceed the buffer pool size by more than a certain amount. Recent changes in the stack however allow the allocation of skb buffers much larger than the requested size, which impacts our ability to recycle forwarded frames, especially when jumbo frame support is enabled. Make the recycling size upper limit a fixed and sufficiently large value, regardless of the default size of the buffer pool, in order to simplify recycling logic and guard against unfavourable cases. Signed-off-by: Ioana Radulescu <ruxandra.radulescu@freescale.com> Change-Id: I2fd9b6a057a4e54445233730805d5dc9c8188e5a Reviewed-on: http://git.am.freescale.net:8181/3330 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-07-22dpaa_eth: Fix computation of cache paddingIoana Radulescu
When computing the padding between the beginning of a FD buffer and the head of the skb associated to it, we wrongly assume that this padding is always lower than PAGE_SIZE. In ip forward scenarios with jumbo frames support enabled and Rx extra headroom not zero, the above assumption is proven incorrect. Properly compute the padding size in order to avoid skb corruption. Signed-off-by: Ioana Radulescu <ruxandra.radulescu@freescale.com> Change-Id: I219dfc11d81639a94fc10cbf70d5fbbe365d3b07 Reviewed-on: http://git.am.freescale.net:8181/3329 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-07-18fmd: COMPAT array size increased in order to be able to map more ccnode idsMandy Lavi
Signed-off-by: Mandy Lavi <mandy.lavi@freescale.com> ENGR00270413 Change-Id: I9ca855698d1eaa93b7cb131d811f4c9dd6c72088 Reviewed-on: http://git.am.freescale.net:8181/3297 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-07-18fmd: fix wrapper error when adding range statistics countersMandy Lavi
Signed-off-by: Mandy Lavi <mandy.lavi@freescale.com> ENGR00269928 Change-Id: I7fa7fec2f1eef4b8233ed0d0069e30557adb4bda Reviewed-on: http://git.am.freescale.net:8181/3296 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-07-18fmd: fix ambiguity with naming of ports in sysfsMandy Lavi
Signed-off-by: Mandy Lavi <mandy.lavi@freescale.com> ENGR00258538 Change-Id: If05f2a070c35c9884782d879566b04f40accfab8 Reviewed-on: http://git.am.freescale.net:8181/3295 Reviewed-by: Chereji Marian-Cornel-R27762 <marian.chereji@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-07-18fmd: exposed muram free size through sysfsMandy Lavi
Signed-off-by: Mandy Lavi <mandy.lavi@freescale.com> Change-Id: I69b5d2f92045daa71fd8dd6765596397fe736ef5 Reviewed-on: http://git.am.freescale.net:8181/3292 Reviewed-by: Bucur Madalin-Cristian-B32716 <madalin.bucur@freescale.com> 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-07-15dpaa_eth: Fix unit testsMarian Rotariu
The unit tests will use the default pool as the buffer pool. Because at bootup the pool is empty, buffer seeding and draining must be provided around the tests. Signed-off-by: Marian Rotariu <marian.rotariu@freescale.com> Change-Id: I3cba65a13599e031dbfe14542699e7e74ac19c1c Reviewed-on: http://git.am.freescale.net:8181/3206 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-07-15dpaa_eth: move common code to a separate fileMadalin Bucur
Created dpaa_eth_common.c to hold all common code. Moved legacy non-SG related code to its own file. Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com> Change-Id: I5a79559714f515e6889655a1cc7256a556043c45 Reviewed-on: http://git.am.freescale.net:8181/3096 Reviewed-by: Rotariu Marian Cristian-B44860 <marian.rotariu@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-07-15dpaa_eth: remove module loading order dependencyMadalin Bucur
The dpa_rx_extra_headroom and dpa_max_frm are set by each module init functions so there is no chance they are used before being initialized. Also use the dpa_rx_extra_headroom for SG driver. Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com> Change-Id: If521e1f41e4857b5d03963aaa9fb2fa898a2183c Reviewed-on: http://git.am.freescale.net:8181/3095 Reviewed-by: Sovaiala Cristian-Constantin-B39531 <Cristian.Sovaiala@freescale.com> 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>