Age | Commit message (Collapse) | Author |
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
BMAN and QMAN are merged, and both the DPAA Ethernet and FMAN
drivers require the QMAN/BMAN support to build. We therefore
note that dependency in the Kconfigs.
Change-Id: I7eda3375ca0e9e760cd7650be08c9b41acaac9af
Signed-off-by: Andy Fleming <afleming@freescale.com>
Reviewed-on: http://git.am.freescale.net:8181/1112
Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
|
|
They are no longer supported in the latest kernel.
Change-Id: I08b7a5bbe8738d22330d4a175e941627ce1b5172
Signed-off-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com>
(cherry picked from commit 7191ab1792435bc581f17f1d4259b9c51c4fda9)
Reviewed-on: http://git.am.freescale.net:8181/1062
Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
|
|
Unused macro, left behind by a large refactorization patch.
Change-Id: Id76102ee3bbf7993a79094055c0ccea7eb833997
Signed-off-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com>
Reviewed-on: http://git.am.freescale.net:8181/1061
Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
|
|
Egress skbuffs can have up to (at least) 18 frags, a value which FMan
does not support. So far we hadn't hit such a test case and we
overlooked the problem. But netperf with TCP_SENDFILE and a - rather
artificial, yet legal - "-m 18" option generates fragmented traffic with
more than 16 fragments, causing problems on the egress (Tx, Tx Confirm)
leg. We must therefore linearize outgoing skbuffs which are more
fragmented than we can handle.
Code rearrangements attempt to compensate the slight performance impact
of the newly-added conditionals.
So far, TCP tests with the "-m" flag are the only known case
of heavy fragmentation given our supported MTU range (<=9578), so this
patch is unlikely to cause performance issues in our benchmarks.
Change-Id: I28ef9f037f7f183c5bd74a466a516b96cb45ed60
Signed-off-by: Ioana Radulescu <ruxandra.radulescu@freescale.com>
Signed-off-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com>
(cherry picked from commit eeb6f4ca9037752e834c3eb0f6b0521c13dcfa89)
Reviewed-on: http://git.am.freescale.net:8181/1060
Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
|
|
Replace dpaa_eth_*() and cpu_**() macros with standard printing calls.
Signed-off-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com>
(cherry picked from commit 1dc1a7386b52b0249d6a5396e547119f1a83151f)
Conflicts:
drivers/net/ethernet/freescale/dpa/dpa-ethtool.c
Change-Id: I5fc6cd3532c2fd39e72ac0531a85fdef028bb967
Reviewed-on: http://git.am.freescale.net:8181/1059
Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
|
|
Reduce the code size and number of jumps generated for
dpa_bp_add_8_pages(), which is one of the hottest functions on the Rx
data path.
Remove dependency on per_cpu_ptr of dpaaa_eth_refill_bpools(), by
splitting it into a "this_cpu_ptr" hot function and a "per_cpu_ptr"
cold function wrapper.
Change-Id: If1bf9a29e9c43bf2345a36488f15846b1481a095
Signed-off-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com>
(cherry picked from commit 345457577cf48216ffe6e883c7792f5496734b41)
Reviewed-on: http://git.am.freescale.net:8181/1058
Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
|
|
Factor out percpu_priv->stats to simplify the code a bit.
So far, this change only affects the private data paths (i.e. not
shared or MAC-less).
Change-Id: I63996b807d27bf68cd155a1eb7015289bc6e202b
Signed-off-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com>
(cherry picked from commit a8b17bcc074f5e39b6ebfc2ca857a2e541e760ec)
Reviewed-on: http://git.am.freescale.net:8181/1057
Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
|
|
In many contexts, per_cpu_ptr() was used with smp_processor_id(), which
made it a good candidate for replacement with this_cpu_ptr(). Of those,
some more contexts were non-migratable, further making them candidates
for replacement with __this_cpu_ptr().
Change-Id: I0a4702f3d5ddc8de3980de6ee39c044b33fd5722
Signed-off-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com>
(cherry picked from commit 69a055f4a10e85cf6a207e2ee407f95bfd321a53)
Reviewed-on: http://git.am.freescale.net:8181/1056
Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
|
|
FQ taildrop threshold is set by each partition on its RX frame queues
which are the TX queues of the other partition.
It is safe to rely on one partition to set the FQ taildrop threshold
on behalf of the other partition because the ERN notifications will
be delivered to the portal enqueueing the frames.
Change-Id: I6a3ab6511a7e2bbe293cc68ddae4d17e075cf4fa
Signed-off-by: Cristian Sovaiala <cristian.sovaiala@freescale.com>
(cherry picked from commit 1c20f0e8cb943f31eb2ad8c626a4c9fd9c8421b6)
Reviewed-on: http://git.am.freescale.net:8181/1055
Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
|
|
MAC-less devices initialize their own RX frame queues, assuming that
the TX queues will be initialized by the other partition.
We cannot rely on the second partition to place the TX queues of
the first partition into congestion groups because the congestion
interrupt will then be received by the second partition instead
of the partition enqueueing the frames (in this case the first
partition).
Supporting congestion on MAC-less devices would involve too much
code and device tree changes so we simply use taildrop mechanism
for now.
Change-Id: I91f9f65a1197f0bacf6193e2515681f6ee0e43c1
Signed-off-by: Cristian Sovaiala <cristian.sovaiala@freescale.com>
(cherry picked from commit 541a17db5a2a0d17d9548eae67492ed6c2d0b736)
Reviewed-on: http://git.am.freescale.net:8181/1054
Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
|
|
Due to recycling mechanism on FmanV3, there were many "TX
Packet never arrived" messages printed in the console issued
because the Qman DQRR polling was not dequeueing the frames from
the recycling queues.
We added support for recycling inside the dpa unit test.
Also, we are counting the "TX Packet never arrived" as failed tests.
Change-Id: I6e83d221217c1c801c0c5cf9138f45d35a8e6029
Signed-off-by: Cristian Sovaiala <cristian.sovaiala@freescale.com>
(cherry picked from commit 9a2967d86589858a10df19d4a9b127802b4daca7)
Reviewed-on: http://git.am.freescale.net:8181/1053
Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
|
|
Up until now, each Tx Confirmation FQ would stay in the dedicated
channel of the CPU "owning" its peer Tx FQ. Although that boosts L2
statistics, in the end the Rx endpoint has to spend more time in Rx
softirqs, thereby starving the userspace application listening on a UDP
socket. So in our non-preemptible, default kernel configuration, more
was in fact less, because the L4 throughput ("the goodput") was lower.
By moving the Tx Confirmation FQs into the default pool channel, we get
slightly lower L2 performance, but better L4 figures. This is especially
the case for "power-deprived" configurations, such as 4-core setups with
small-sized UDP traffic.
Change-Id: I9b927ad35aa4570cca9827f1eb92b59f744173fb
Signed-off-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com>
(cherry picked from commit 7b732de9d8c2bb847a190d36886e6cfec0a8cfe6)
Reviewed-on: http://git.am.freescale.net:8181/1052
Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
|
|
On FMANv3 the decision to either confirm a frame or have the Tx frame
buffers freed by FMan can only be made on a per-FQ basis (as opposed
to FMANv2, where this could be decided for each frame).
In order to accomodate this, create for each ordinary Tx queue a
"shadow" Tx recycle queue where only frames that need to be recycled
will be enqueued; frames for which we expect confirmation will still
be sent on the ordinary Tx queues.
Code is compiled in only for FMan v3 platforms, and only if "Optimized
for forwarding" option has been chosen in Kconfig.
Change-Id: I26297f91d409a6bf5f79d63f900a15a104bb8a48
Signed-off-by: Ioana Radulescu <ruxandra.radulescu@freescale.com>
(cherry picked from commit 436244af5b0a3e31daeb31a232060f9ad61ec404)
Reviewed-on: http://git.am.freescale.net:8181/1051
Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
|
|
cpu_printk() is called, directly or indirectly, from many contexts, not
all of them preempt-safe. For instance, invoking ethtool on a
non-initialized interface while running PREEMPT_RT with
CONFIG_DEBUG_PREEMPT results in an oops.
Temporarily using raw_smp_processor_id() to address this. In the long
run, will get rid of the custom printing macros altogether.
Change-Id: I6a9db7d19cd84ab5b9613b7abde87e85fe0b73bc
Signed-off-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com>
Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com>
(cherry picked from commit dfae81ab1bb804cc335971592242244262bc7b2e)
Reviewed-on: http://git.am.freescale.net:8181/1050
Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
|
|
The existence of a ndo_select_queue() callback overrides the XPS
selection logic on the egress path. Provide a Kconfig choice of
disabling this callback, to allow the standard XPS selection logic and
user-controlled FQ-to-CPU mapping.
In addition, if XPS is chosen, use the queue from
skb->queue_mapping for transmission.
Signed-off-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com>
(cherry picked from commit a6320761e50dab577d9668ac0c09bde67aa36585)
Conflicts:
drivers/net/ethernet/freescale/dpa/dpaa_eth.c
Change-Id: Ib0e5919a957975cd9a33d1886b27789ff5abd71f
Reviewed-on: http://git.am.freescale.net:8181/1049
Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
|
|
Trying to dump the MAC registers for MACless interfaces resulted
in a segmentation fault. Just print a message for the user instead
of accessing non-existent regs.
Change-Id: I425390fbdf6aa67fa96568a8861576b8706123e7
Signed-off-by: Ioana Radulescu <ruxandra.radulescu@freescale.com>
(cherry picked from commit 86023a9fb24fc56c0e5b9fa76b9ef2ce57f0e013)
Reviewed-on: http://git.am.freescale.net:8181/1048
Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
|
|
There is already the percpu_priv_s->stats->rx_packets field, no need for
the extra ingress_calls.
Change-Id: If19f4363f710fb4a41369cf9214f5dede7c2c205
Signed-off-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com>
(cherry picked from commit 74a790a00f71f34e1a4425c4a5a843ba57d2103f)
Reviewed-on: http://git.am.freescale.net:8181/1047
Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
|
|
Remove a field needlessly accessed on the egress fastpath.
Change-Id: I7fecdacbd46e41eca5285e8fa55cce5a109eb5b9
Signed-off-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com>
(cherry picked from commit 910edee35b1fc5eaf934b820f0fa3b3a5a06d64b)
Reviewed-on: http://git.am.freescale.net:8181/1046
Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
|
|
The documentation of the net_device->last_rx field advises against the
driver setting it, unless there is an explicit reason to do so.
Change-Id: Ic8cd480eeae2cbf42d6ddb09e99bcf2912cad84c
Signed-off-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com>
(cherry picked from commit 327cdbc91f173c3866a1ef5c83daab852d630c9c)
Reviewed-on: http://git.am.freescale.net:8181/1045
Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
|