The current use of container_of is flawed and unnecessary. Obtain
the dpaa_napi_portal reference from the private percpu data instead.
Fixes: a1e031ffb422 ("dpaa_eth: add XDP_REDIRECT support")
Reported-by: Sascha Hauer
Signed-off-by: Camelia Groza
---
drivers/net/ethernet/free
The XDP frame's headroom might be large enough to accommodate the
xdpf backpointer as well as shifting the data to an aligned address.
Try this first before resorting to allocating a new buffer and copying
the data.
Suggested-by: Maciej Fijalkowski
Signed-off-by: Camelia Groza
Acked-by: M
These lessened restrictions can increase performance by widening the pool
of permitted data alignments and preventing unnecessary realignments.
Fixes: ae680bcbd06a ("dpaa_eth: implement the A050385 erratum workaround for
XDP")
Signed-off-by: Camelia Groza
Acked-by: Maciej Fijalkowski
-
might increase in time by
aligning the headroom to DPAA_FD_DATA_ALIGNMENT bytes, thus guaranteeing
the data's alignment.
Fixes: ae680bcbd06a ("dpaa_eth: implement the A050385 erratum workaround for
XDP")
Signed-off-by: Camelia Groza
---
Changes in v2:
- guarantee enough tailroom
digit decrease, and
to lower double digits in single flow scenarios.
Changes in v2:
- guarantee enough tailroom is available for the shared_info in 1/3
Camelia Groza (3):
dpaa_eth: reserve space for the xdp_frame under the A050385 erratum
dpaa_eth: reduce data alignment requirements for the A0
These lessened restrictions can increase performance by widening the pool
of permitted data alignments and preventing unnecessary realignments.
Fixes: ae680bcbd06a ("dpaa_eth: implement the A050385 erratum workaround for
XDP")
Signed-off-by: Camelia Groza
---
drivers/net/ethernet/freescale/
The XDP frame's headroom might be large enough to accommodate the
xdpf backpointer as well as shifting the data to an aligned address.
Try this first before resorting to allocating a new buffer and copying
the data.
Suggested-by: Maciej Fijalkowski
Signed-off-by: Camelia Groza
---
..
might increase in time by
aligning the headroom to DPAA_FD_DATA_ALIGNMENT bytes, thus guaranteeing
the data's alignment.
Fixes: ae680bcbd06a ("dpaa_eth: implement the A050385 erratum workaround for
XDP")
Signed-off-by: Camelia Groza
---
drivers/net/ethernet/freescale/
digit decrease, and
to lower double digits in single flow scenarios.
Camelia Groza (3):
dpaa_eth: reserve space for the xdp_frame under the A050385 erratum
dpaa_eth: reduce data alignment requirements for the A050385 erratum
dpaa_eth: try to move the data in place for the A050385 erratum
..
Signed-off-by: Camelia Groza
---
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c | 48 +-
drivers/net/ethernet/freescale/dpaa/dpaa_eth.h | 1 +
2 files changed, 48 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
b/drivers/net
Bucur
Signed-off-by: Camelia Groza
---
Changes in v4:
- call xdp_rxq_info_is_reg() before unregistering
- minor cleanups (remove unneeded variable, print error code)
- add more details in the commit message
- did not call qman_destroy_fq() in case of xdp_rxq_info_reg() failure
since it would lead
on up the stack.
Scatter/Gather frames are dropped when XDP is enabled.
Acked-by: Madalin Bucur
Signed-off-by: Camelia Groza
---
Changes in v2:
- warn only once if extracting the timestamp from a received frame fails
Changes in v3:
- drop received S/G frames when XDP is enabled
Changes
m for the xdpf backpointer.
Disable the metadata support since the information can be lost.
Acked-by: Madalin Bucur
Signed-off-by: Camelia Groza
---
Changes in v5:
- reduce the impact of the A050385 erratum workaround code on non-erratum
platforms
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
Implement the ndo_change_mtu callback to prevent users from setting an
MTU that would permit processing of S/G frames. The maximum MTU size
is dependent on the buffer size.
Reviewed-by: Maciej Fijalkowski
Acked-by: Madalin Bucur
Signed-off-by: Camelia Groza
---
drivers/net/ethernet/freescale
Explicitly point that the current workaround addresses skbs. This change is
in preparation for adding a workaround for XDP scenarios.
Acked-by: Madalin Bucur
Signed-off-by: Camelia Groza
---
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions
We maintain an skb backpointer in the software annotations area of Tx
frames. Introduce a structure for explicit handling.
Acked-by: Madalin Bucur
Signed-off-by: Camelia Groza
---
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c | 16 +---
drivers/net/ethernet/freescale/dpaa
50385 erratum workaround code on non-erratum
platforms in 7/7
Camelia Groza (7):
dpaa_eth: add struct for software backpointers
dpaa_eth: add basic XDP support
dpaa_eth: limit the possible MTU range when XDP is enabled
dpaa_eth: add XDP_TX support
dpaa_eth: add XDP_REDIRECT support
dpaa_eth: r
m for the xdpf backpointer.
Disable the metadata support since the information can be lost.
Acked-by: Madalin Bucur
Signed-off-by: Camelia Groza
---
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c | 82 +-
1 file changed, 79 insertions(+), 3 deletions(-)
diff --git a/driver
the buffer when it returns to the driver on the TX
confirmation path.
The frame queues are shared with the netstack.
This approach will be reused for XDP REDIRECT.
Acked-by: Madalin Bucur
Signed-off-by: Camelia Groza
---
Changes in v4:
- call xdp_rxq_info_is_reg() before unregistering
- minor
on up the stack.
Scatter/Gather frames are dropped when XDP is enabled.
Acked-by: Madalin Bucur
Signed-off-by: Camelia Groza
---
Changes in v2:
- warn only once if extracting the timestamp from a received frame fails
Changes in v3:
- drop received S/G frames when XDP is enabled
Changes
Implement the ndo_change_mtu callback to prevent users from setting an
MTU that would permit processing of S/G frames. The maximum MTU size
is dependent on the buffer size.
Acked-by: Madalin Bucur
Signed-off-by: Camelia Groza
---
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c | 40
After transmission, the frame is returned on confirmation queues for
cleanup. For this, store a backpointer to the xdp_frame in the private
reserved area at the start of the TX buffer.
No TX batching support is implemented at this time.
Acked-by: Madalin Bucur
Signed-off-by: Camelia Groza
Explicitly point that the current workaround addresses skbs. This change is
in preparation for adding a workaround for XDP scenarios.
Acked-by: Madalin Bucur
Signed-off-by: Camelia Groza
---
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions
We maintain an skb backpointer in the software annotations area of Tx
frames. Introduce a structure for explicit handling.
Acked-by: Madalin Bucur
Signed-off-by: Camelia Groza
---
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c | 16 +---
drivers/net/ethernet/freescale/dpaa
d not call qman_destroy_fq() in case of xdp_rxq_info_reg() failure
since it would lead to a double free of the fq resources in 4/7
Camelia Groza (7):
dpaa_eth: add struct for software backpointers
dpaa_eth: add basic XDP support
dpaa_eth: limit the possible MTU range when XDP is enabled
dpa
m for the xdpf backpointer.
Disable the metadata support since the information can be lost.
Acked-by: Madalin Bucur
Signed-off-by: Camelia Groza
---
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c | 82 +-
1 file changed, 79 insertions(+), 3 deletions(-)
diff --git a/driver
Explicitly point that the current workaround addresses skbs. This change is
in preparation for adding a workaround for XDP scenarios.
Acked-by: Madalin Bucur
Signed-off-by: Camelia Groza
---
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions
After transmission, the frame is returned on confirmation queues for
cleanup. For this, store a backpointer to the xdp_frame in the private
reserved area at the start of the TX buffer.
No TX batching support is implemented at this time.
Acked-by: Madalin Bucur
Signed-off-by: Camelia Groza
Bucur
Signed-off-by: Camelia Groza
---
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c | 129 -
drivers/net/ethernet/freescale/dpaa/dpaa_eth.h | 2 +
2 files changed, 126 insertions(+), 5 deletions(-)
diff --git a/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
b
Implement the ndo_change_mtu callback to prevent users from setting an
MTU that would permit processing of S/G frames. The maximum MTU size
is dependent on the buffer size.
Acked-by: Madalin Bucur
Signed-off-by: Camelia Groza
---
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c | 32
on up the stack.
Scatter/Gather frames are dropped when XDP is enabled.
Acked-by: Madalin Bucur
Signed-off-by: Camelia Groza
---
Changes in v2:
- warn only once if extracting the timestamp from a received frame fails
Changes in v3:
- drop received S/G frames when XDP is enabled
drivers/net/eth
We maintain an skb backpointer in the software annotations area of Tx
frames. Introduce a structure for explicit handling.
Acked-by: Madalin Bucur
Signed-off-by: Camelia Groza
---
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c | 16 +---
drivers/net/ethernet/freescale/dpaa
n the buffer for
clean-up on confirmation in a newly created structure for software
annotations.
Changes in v2:
- warn only once if extracting the timestamp from a received frame fails
in 2/7
Changes in v3:
- drop received S/G frames when XDP is enabled in 2/7
Camelia Groza (7):
dpaa_eth
n the buffer for
clean-up on confirmation in a newly created structure for software
annotations.
Changes in v2:
- warn only once if extracting the timestamp from a received frame fails
in 2/7
Camelia Groza (7):
dpaa_eth: add struct for software backpointers
dpaa_eth: add basic XDP su
on up the stack.
Signed-off-by: Camelia Groza
---
Changes in v2:
- warn only once if extracting the timestamp from a received frame fails
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c | 148 ++---
drivers/net/ethernet/freescale/dpaa/dpaa_eth.h | 2 +
2 files changed
After transmission, the frame is returned on confirmation queues for
cleanup. For this, store a backpointer to the xdp_frame in the private
reserved area at the start of the TX buffer.
No TX batching support is implemented at this time.
Signed-off-by: Camelia Groza
---
drivers/net/ethernet
Implement the ndo_change_mtu callback to prevent users from setting an
MTU that would permit processing of S/G frames. The maximum MTU size
is dependent on the buffer size.
Signed-off-by: Camelia Groza
---
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c | 32 --
1 file
: Camelia Groza
---
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c | 129 -
drivers/net/ethernet/freescale/dpaa/dpaa_eth.h | 2 +
2 files changed, 126 insertions(+), 5 deletions(-)
diff --git a/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
b/drivers/net/ethernet/freescale
m for the xdpf backpointer.
Disable the metadata support since the information can be lost.
Signed-off-by: Camelia Groza
---
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c | 82 +-
1 file changed, 79 insertions(+), 3 deletions(-)
diff --git a/drivers/net/ethernet/freescale
Explicitly point that the current workaround addresses skbs. This change is
in preparation for adding a workaround for XDP scenarios.
Signed-off-by: Camelia Groza
---
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers
We maintain an skb backpointer in the software annotations area of Tx
frames. Introduce a structure for explicit handling.
Signed-off-by: Camelia Groza
---
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c | 16 +---
drivers/net/ethernet/freescale/dpaa/dpaa_eth.h | 8
2 files
m for the xdpf backpointer.
Disable the metadata support since the information can be lost.
Signed-off-by: Camelia Groza
---
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c | 82 +-
1 file changed, 79 insertions(+), 3 deletions(-)
diff --git a/drivers/net/ethernet/freescale
After transmission, the frame is returned on confirmation queues for
cleanup. For this, store a backpointer to the xdp_frame in the private
reserved area at the start of the TX buffer.
No TX batching support is implemented at this time.
Signed-off-by: Camelia Groza
---
drivers/net/ethernet
: Camelia Groza
---
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c | 129 -
drivers/net/ethernet/freescale/dpaa/dpaa_eth.h | 2 +
2 files changed, 126 insertions(+), 5 deletions(-)
diff --git a/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
b/drivers/net/ethernet/freescale
Implement the ndo_change_mtu callback to prevent users from setting an
MTU that would permit processing of S/G frames. The maximum MTU size
is dependent on the buffer size.
Signed-off-by: Camelia Groza
---
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c | 32 --
1 file
We maintain an skb backpointer in the software annotations area of Tx
frames. Introduce a structure for explicit handling.
Signed-off-by: Camelia Groza
---
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c | 16 +---
drivers/net/ethernet/freescale/dpaa/dpaa_eth.h | 8
2 files
Explicitly point that the current workaround addresses skbs. This change is
in preparation for adding a workaround for XDP scenarios.
Signed-off-by: Camelia Groza
---
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers
on up the stack.
Signed-off-by: Camelia Groza
---
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c | 148 ++---
drivers/net/ethernet/freescale/dpaa/dpaa_eth.h | 2 +
2 files changed, 134 insertions(+), 16 deletions(-)
diff --git a/drivers/net/ethernet/freescale/dpaa/dpaa_eth
n the buffer for
clean-up on confirmation in a newly created structure for software
annotations.
Camelia Groza (7):
dpaa_eth: add struct for software backpointers
dpaa_eth: add basic XDP support
dpaa_eth: limit the possible MTU range when XDP is enabled
dpaa_eth: add XDP_TX support
dpa
maximum linear frame size is
increased by 128 bytes for non-erratum arm64 platforms.
Cleanup the hardware annotations header defines in the process.
Fixes: 3c68b8fffb48 ("dpaa_eth: FMan erratum A050385 workaround")
Signed-off-by: Camelia Groza
---
Changes in v3:
- refactor defines f
in 1/2
- add more details on the user impact in 1/2
- remove unnecessary inline identifier in 2/2
Changes in v2:
- make the returned value for TX ports explicit in 2/2
- simplify the buf_layout reference in 2/2
Camelia Groza (2):
dpaa_eth: update the buffer layout for non-A050385 erratum
a_eth: FMan erratum A050385 workaround")
Acked-by: Willem de Bruijn
Signed-off-by: Camelia Groza
---
Changes in v3:
- remove the unnecessary inline identifier
Changes in v2:
- make the returned value for TX ports explicit
- simplify the buf_layout reference
drivers/net/ethernet/freescale/dpaa/
a_eth: FMan erratum A050385 workaround")
Signed-off-by: Camelia Groza
---
Changes in v2:
- make the returned value for TX ports explicit
- simplify the buf_layout reference
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c | 14 +-
1 file changed, 9 insertions(+), 5 deletions(-)
di
ports explicit in 2/2
- simplify the buf_layout reference in 2/2
Camelia Groza (2):
dpaa_eth: update the buffer layout for non-A050385 erratum scenarios
dpaa_eth: fix the RX headroom size alignment
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c | 20 +---
1 file changed, 13
round")
Signed-off-by: Camelia Groza
---
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
b/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
index 06cc863..1aac0b6 100644
--- a/d
The patches are related to the software workaround for the A050385 erratum.
The first patch ensures optimal buffer usage for non-erratum scenarios. The
second patch fixes a currently inconsequential discrepancy between the
FMan and Ethernet drivers.
Camelia Groza (2):
dpaa_eth: update the
round")
Signed-off-by: Camelia Groza
---
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
b/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
index 06cc863..1aac0b6 100644
--- a/d
a_eth: FMan erratum A050385 workaround")
Signed-off-by: Camelia Groza
---
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c | 12
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
b/drivers/net/ethernet/freescale/dpaa/dpaa_e
The phy drivers for CS4340 and TN2020 are missing their
features attributes. Add them.
Fixes: 719655a14971 ("net: phy: Replace phy driver features u32 with link_mode
bitmap")
Reported-by: Scott Wood
Signed-off-by: Camelia Groza
---
This patch should be merged to 4.20 stable.
---
d
atures u32 with link_mode
bitmap")
Reported-by: Scott Wood
Signed-off-by: Camelia Groza
---
v2: Print the name of the driver that has missing features.
This patch should be merged to 4.20 stable.
---
drivers/net/phy/phy_device.c | 5 +
include/linux/phy.h | 4 ++--
2 files change
atures u32 with link_mode
bitmap")
Reported-by: Scott Wood
Signed-off-by: Camelia Groza
---
This patch should be merged to 4.20 stable.
---
drivers/net/phy/phy_device.c | 3 +++
include/linux/phy.h | 4 ++--
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/drivers/net/phy
Since phy driver features became a link_mode bitmap, phy drivers that
don't have a list of features configured will cause the kernel to crash
when probed.
Fixes: 719655a14971 ("net: phy: Replace phy driver features u32 with link_mode
bitmap")
Reported-by: Scott Wood
Signed-off-by
62 matches
Mail list logo