#
569375fb |
| 26-Nov-2018 |
Ioana Ciocoi Radulescu <ruxandra.radulescu@nxp.com> |
dpaa2-eth: Move function
We'll use function free_bufs() on the XDP path as well, so move it higher in order to avoid a forward declaration.
Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.co
dpaa2-eth: Move function
We'll use function free_bufs() on the XDP path as well, so move it higher in order to avoid a forward declaration.
Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
7b1eea1a |
| 26-Nov-2018 |
Ioana Ciocoi Radulescu <ruxandra.radulescu@nxp.com> |
dpaa2-eth: Allow XDP header adjustments
Reserve XDP_PACKET_HEADROOM bytes in Rx buffers to allow XDP programs to increase frame header size.
Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.c
dpaa2-eth: Allow XDP header adjustments
Reserve XDP_PACKET_HEADROOM bytes in Rx buffers to allow XDP programs to increase frame header size.
Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
7e273a8e |
| 26-Nov-2018 |
Ioana Ciocoi Radulescu <ruxandra.radulescu@nxp.com> |
dpaa2-eth: Add basic XDP support
We keep one XDP program reference per channel. The only actions supported for now are XDP_DROP and XDP_PASS.
Until now we didn't enforce a maximum size for Rx frame
dpaa2-eth: Add basic XDP support
We keep one XDP program reference per channel. The only actions supported for now are XDP_DROP and XDP_PASS.
Until now we didn't enforce a maximum size for Rx frames based on MTU value. Change that, since for XDP mode we must ensure no scatter-gather frames can be received.
Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com> Acked-by: Camelia Groza <camelia.groza@nxp.com> Reviewed-by: David Ahern <dsahern@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
569dac6a |
| 14-Nov-2018 |
Ioana Ciocoi Radulescu <ruxandra.radulescu@nxp.com> |
dpaa2-eth: bql support
Add support for byte queue limit.
On NAPI poll, we save the total number of Tx confirmed frames/bytes and register them with bql at the end of the poll function.
Signed-off-
dpaa2-eth: bql support
Add support for byte queue limit.
On NAPI poll, we save the total number of Tx confirmed frames/bytes and register them with bql at the end of the poll function.
Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
dbcdf728 |
| 14-Nov-2018 |
Ioana Ciocoi Radulescu <ruxandra.radulescu@nxp.com> |
dpaa2-eth: Update callback signature
Change the frame consume callback signature: * the entire FQ structure is passed to the callback instead of just the queue index * the NAPI structure can be easi
dpaa2-eth: Update callback signature
Change the frame consume callback signature: * the entire FQ structure is passed to the callback instead of just the queue index * the NAPI structure can be easily obtained from the channel it is associated to, so we don't need to pass it explicitly
Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
b0e4f37b |
| 14-Nov-2018 |
Ioana Ciocoi Radulescu <ruxandra.radulescu@nxp.com> |
dpaa2-eth: Don't use multiple queues per channel
The DPNI object on which we build a network interface has a certain number of {Rx, Tx, Tx confirmation} frame queues as resources. The default hardwa
dpaa2-eth: Don't use multiple queues per channel
The DPNI object on which we build a network interface has a certain number of {Rx, Tx, Tx confirmation} frame queues as resources. The default hardware setup offers one queue of each type, as well as one DPCON channel, for each core available in the system.
There are however cases where the number of queues is greater than the number of cores or channels. Until now, we configured and used all the frame queues associated with a DPNI, even if it meant assigning multiple queues of one type to the same channel.
Update the driver to only use a number of queues equal to the number of channels, ensuring each channel will contain exactly one Rx and one Tx confirmation queue.
>From the user viewpoint, this change is completely transparent. Performance wise there is no impact in most scenarios. In case the number of queues is larger than and not a multiple of the number of channels, Rx hash distribution offers now better load balancing between cores, which can have a positive impact on overall system performance.
Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
d7f5a9d8 |
| 09-Nov-2018 |
Ioana Ciornei <ioana.ciornei@nxp.com> |
dpaa2-eth: defer probe on object allocate
The fsl_mc_object_allocate function can fail because not all allocatable objects are probed by the fsl_mc_allocator at the call time. Defer the dpaa2-eth pr
dpaa2-eth: defer probe on object allocate
The fsl_mc_object_allocate function can fail because not all allocatable objects are probed by the fsl_mc_allocator at the call time. Defer the dpaa2-eth probe when this happens.
Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
b948c8c6 |
| 12-Oct-2018 |
Ioana Radulescu <ruxandra.radulescu@nxp.com> |
dpaa2-eth: remove unused FD field
According to the hardware ArchDef, the PTV1 field in FD[CTRL] is ignored by WRIOP, so setting it for Tx FDs is pointless.
Remove all references to it from the code
dpaa2-eth: remove unused FD field
According to the hardware ArchDef, the PTV1 field in FD[CTRL] is ignored by WRIOP, so setting it for Tx FDs is pointless.
Remove all references to it from the code.
Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com> Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
b00c898c |
| 12-Oct-2018 |
Ioana Ciornei <ioana.ciornei@nxp.com> |
dpaa2-eth: mark unused parameter in dpaa2_eth_tx_conf
The ch parameter is never used in the dpaa2_eth_tx_conf function but since its prototype must match the type defined in the consume field of str
dpaa2-eth: mark unused parameter in dpaa2_eth_tx_conf
The ch parameter is never used in the dpaa2_eth_tx_conf function but since its prototype must match the type defined in the consume field of struct dpaa2_eth_fq, just mark it as __always_unused.
Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
fdb6ca9e |
| 12-Oct-2018 |
Ioana Ciornei <ioana.ciornei@nxp.com> |
dpaa2-eth: remove unused priv parameter
The priv parameter is never used in the build_linear_skb and drain_channel function. Remove it from the function definitions.
Signed-off-by: Ioana Ciornei <i
dpaa2-eth: remove unused priv parameter
The priv parameter is never used in the build_linear_skb and drain_channel function. Remove it from the function definitions.
Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
85b7a342 |
| 12-Oct-2018 |
Ioana Ciornei <ioana.ciornei@nxp.com> |
dpaa2-eth: fix uninitialized variable warnings
All 3 cases of possible uninitialized variables are false positives since they are used only as output parameters. Nonetheless, fix the warnings.
Sign
dpaa2-eth: fix uninitialized variable warnings
All 3 cases of possible uninitialized variables are false positives since they are used only as output parameters. Nonetheless, fix the warnings.
Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
3233c151 |
| 12-Oct-2018 |
Ioana Ciornei <ioana.ciornei@nxp.com> |
dpaa2-eth: make dpaa2_eth_set_dist_key static
The dpaa2_eth_set_dist_key function is only used in a single file. Make it static.
Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com> Signed-off-by:
dpaa2-eth: make dpaa2_eth_set_dist_key static
The dpaa2_eth_set_dist_key function is only used in a single file. Make it static.
Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
68049a5f |
| 08-Oct-2018 |
Ioana Ciocoi Radulescu <ruxandra.radulescu@nxp.com> |
dpaa2-eth: Don't account Tx confirmation frames on NAPI poll
Until now, both Rx and Tx confirmation frames handled during NAPI poll were counted toward the NAPI budget. However, Tx confirmations are
dpaa2-eth: Don't account Tx confirmation frames on NAPI poll
Until now, both Rx and Tx confirmation frames handled during NAPI poll were counted toward the NAPI budget. However, Tx confirmations are lighter to process than Rx frames, which can skew the amount of work actually done inside one NAPI cycle.
Update the code to only count Rx frames toward the NAPI budget and set a separate threshold on how many Tx conf frames can be processed in one poll cycle.
The NAPI poll routine stops when either the budget is consumed by Rx frames or when Tx confirmation frames reach this threshold.
Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
afb90dbb |
| 01-Oct-2018 |
Ioana Radulescu <ruxandra.radulescu@nxp.com> |
dpaa2-eth: Add ethtool support for flow classification
Add support for inserting and deleting Rx flow classification rules through ethtool.
We support classification based on some header fields for
dpaa2-eth: Add ethtool support for flow classification
Add support for inserting and deleting Rx flow classification rules through ethtool.
We support classification based on some header fields for flow-types ether, ip4, tcp4, udp4 and sctp4.
Rx queues are core affine, so the action argument effectively selects on which cpu the matching frame will be processed. Discarding the frame is also supported.
Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
4aaaf9b9 |
| 01-Oct-2018 |
Ioana Radulescu <ruxandra.radulescu@nxp.com> |
dpaa2-eth: Configure Rx flow classification key
For firmware versions that support it, configure an Rx flow classification key at probe time.
Hardware expects all rules in the classification table
dpaa2-eth: Configure Rx flow classification key
For firmware versions that support it, configure an Rx flow classification key at probe time.
Hardware expects all rules in the classification table to share the same key. So we setup a key containing all supported fields at driver init and when a user adds classification rules through ethtool, we will just mask out the unused header fields.
Since the key composition process is the same for flow classification and hashing, reuse existing code where possible.
Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
f76c483a |
| 01-Oct-2018 |
Ioana Radulescu <ruxandra.radulescu@nxp.com> |
dpaa2-eth: Rename structure
Since the array of supported header fields will be used for Rx flow classification as well, rename it from "hash_fields" to the more inclusive "dist_fields".
Signed-off-
dpaa2-eth: Rename structure
Since the array of supported header fields will be used for Rx flow classification as well, rename it from "hash_fields" to the more inclusive "dist_fields".
Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
df85aeb9 |
| 01-Oct-2018 |
Ioana Radulescu <ruxandra.radulescu@nxp.com> |
dpaa2-eth: Use new API for Rx flow hashing
The Management Complex (MC) firmware initially allowed the configuration of a single key to be used both for Rx flow hashing and flow classification. This
dpaa2-eth: Use new API for Rx flow hashing
The Management Complex (MC) firmware initially allowed the configuration of a single key to be used both for Rx flow hashing and flow classification. This prevented us from supporting Rx flow classification through ethtool.
Starting with version 10.7.0, the Management Complex(MC) offers a new set of APIs for separate configuration of Rx hashing and classification keys.
Update the Rx flow hashing support to use the new API, if available.
Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
edad8d26 |
| 24-Sep-2018 |
Ioana Ciocoi Radulescu <ruxandra.radulescu@nxp.com> |
dpaa2-eth: Make Rx flow hash key configurable
Until now, the Rx flow hash key was a 5-tuple (IP src, IP dst, IP nextproto, L4 src port, L4 dst port) fixed value that we configured at probe.
Add sup
dpaa2-eth: Make Rx flow hash key configurable
Until now, the Rx flow hash key was a 5-tuple (IP src, IP dst, IP nextproto, L4 src port, L4 dst port) fixed value that we configured at probe.
Add support for configuring this hash key at runtime. We support all standard header fields configurable through ethtool, but cannot differentiate between flow types, so the same hash key is applied regardless of protocol.
We also don't support the discard option.
Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
34ff6846 |
| 29-Aug-2018 |
Ioana Radulescu <ruxandra.radulescu@nxp.com> |
dpaa2-eth: Move DPAA2 Ethernet driver from staging to drivers/net
The DPAA2 Ethernet driver supports Freescale/NXP SoCs with DPAA2 (DataPath Acceleration Architecture v2). The driver manages network
dpaa2-eth: Move DPAA2 Ethernet driver from staging to drivers/net
The DPAA2 Ethernet driver supports Freescale/NXP SoCs with DPAA2 (DataPath Acceleration Architecture v2). The driver manages network objects discovered on the fsl-mc bus.
Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|