* [PATCH net 1/4] net: stmmac: selftests: Make it work in Synopsys AXS101 boards
2020-01-14 16:09 [PATCH net 0/4] net: stmmac: Fix selftests in Synopsys AXS101 board Jose Abreu
@ 2020-01-14 16:09 ` Jose Abreu
2020-01-14 16:09 ` [PATCH net 2/4] net: stmmac: selftests: Mark as fail when received VLAN ID != expected Jose Abreu
` (3 subsequent siblings)
4 siblings, 0 replies; 8+ messages in thread
From: Jose Abreu @ 2020-01-14 16:09 UTC (permalink / raw)
To: netdev
Cc: Jose Abreu, Joao Pinto, Alexandre Torgue, Vineet Gupta,
Alexey Brodkin, linux-kernel, linux-stm32, Maxime Coquelin,
Giuseppe Cavallaro, linux-snps-arc, David S. Miller,
linux-arm-kernel
Synopsys AXS101 boards do not support unaligned memory loads or stores.
Change the selftests mechanism to explicity:
- Not add extra alignment in TX SKB
- Use the unaligned version of ether_addr_equal()
Fixes: 091810dbded9 ("net: stmmac: Introduce selftests support")
Signed-off-by: Jose Abreu <Jose.Abreu@synopsys.com>
---
Cc: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Cc: Alexandre Torgue <alexandre.torgue@st.com>
Cc: Jose Abreu <joabreu@synopsys.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com>
Cc: netdev@vger.kernel.org
Cc: linux-stm32@st-md-mailman.stormreply.com
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Cc: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Vineet Gupta <vgupta@synopsys.com>
Cc: linux-snps-arc@lists.infradead.org
---
.../net/ethernet/stmicro/stmmac/stmmac_selftests.c | 20 +++++++++++---------
1 file changed, 11 insertions(+), 9 deletions(-)
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c
index 36a4c43a799a..6516d65e84b8 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c
@@ -80,7 +80,7 @@ static struct sk_buff *stmmac_test_get_udp_skb(struct stmmac_priv *priv,
if (attr->max_size && (attr->max_size > size))
size = attr->max_size;
- skb = netdev_alloc_skb_ip_align(priv->dev, size);
+ skb = netdev_alloc_skb(priv->dev, size);
if (!skb)
return NULL;
@@ -244,6 +244,8 @@ static int stmmac_test_loopback_validate(struct sk_buff *skb,
struct net_device *orig_ndev)
{
struct stmmac_test_priv *tpriv = pt->af_packet_priv;
+ unsigned char *src = tpriv->packet->src;
+ unsigned char *dst = tpriv->packet->dst;
struct stmmachdr *shdr;
struct ethhdr *ehdr;
struct udphdr *uhdr;
@@ -260,15 +262,15 @@ static int stmmac_test_loopback_validate(struct sk_buff *skb,
goto out;
ehdr = (struct ethhdr *)skb_mac_header(skb);
- if (tpriv->packet->dst) {
- if (!ether_addr_equal(ehdr->h_dest, tpriv->packet->dst))
+ if (dst) {
+ if (!ether_addr_equal_unaligned(ehdr->h_dest, dst))
goto out;
}
if (tpriv->packet->sarc) {
- if (!ether_addr_equal(ehdr->h_source, ehdr->h_dest))
+ if (!ether_addr_equal_unaligned(ehdr->h_source, ehdr->h_dest))
goto out;
- } else if (tpriv->packet->src) {
- if (!ether_addr_equal(ehdr->h_source, tpriv->packet->src))
+ } else if (src) {
+ if (!ether_addr_equal_unaligned(ehdr->h_source, src))
goto out;
}
@@ -714,7 +716,7 @@ static int stmmac_test_flowctrl_validate(struct sk_buff *skb,
struct ethhdr *ehdr;
ehdr = (struct ethhdr *)skb_mac_header(skb);
- if (!ether_addr_equal(ehdr->h_source, orig_ndev->dev_addr))
+ if (!ether_addr_equal_unaligned(ehdr->h_source, orig_ndev->dev_addr))
goto out;
if (ehdr->h_proto != htons(ETH_P_PAUSE))
goto out;
@@ -856,7 +858,7 @@ static int stmmac_test_vlan_validate(struct sk_buff *skb,
}
ehdr = (struct ethhdr *)skb_mac_header(skb);
- if (!ether_addr_equal(ehdr->h_dest, tpriv->packet->dst))
+ if (!ether_addr_equal_unaligned(ehdr->h_dest, tpriv->packet->dst))
goto out;
ihdr = ip_hdr(skb);
@@ -1586,7 +1588,7 @@ static int stmmac_test_arp_validate(struct sk_buff *skb,
struct arphdr *ahdr;
ehdr = (struct ethhdr *)skb_mac_header(skb);
- if (!ether_addr_equal(ehdr->h_dest, tpriv->packet->src))
+ if (!ether_addr_equal_unaligned(ehdr->h_dest, tpriv->packet->src))
goto out;
ahdr = arp_hdr(skb);
--
2.7.4
_______________________________________________
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH net 2/4] net: stmmac: selftests: Mark as fail when received VLAN ID != expected
2020-01-14 16:09 [PATCH net 0/4] net: stmmac: Fix selftests in Synopsys AXS101 board Jose Abreu
2020-01-14 16:09 ` [PATCH net 1/4] net: stmmac: selftests: Make it work in Synopsys AXS101 boards Jose Abreu
@ 2020-01-14 16:09 ` Jose Abreu
2020-01-14 16:09 ` [PATCH net 3/4] net: stmmac: selftests: Guard VLAN Perfect test against non supported HW Jose Abreu
` (2 subsequent siblings)
4 siblings, 0 replies; 8+ messages in thread
From: Jose Abreu @ 2020-01-14 16:09 UTC (permalink / raw)
To: netdev
Cc: Jose Abreu, Joao Pinto, Alexandre Torgue, Vineet Gupta,
Alexey Brodkin, linux-kernel, linux-stm32, Maxime Coquelin,
Giuseppe Cavallaro, linux-snps-arc, David S. Miller,
linux-arm-kernel
When the VLAN ID does not match the expected one it means filter failed
in HW. Fix it.
Fixes: 94e18382003c ("net: stmmac: selftests: Add selftest for VLAN TX Offload")
Signed-off-by: Jose Abreu <Jose.Abreu@synopsys.com>
---
Cc: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Cc: Alexandre Torgue <alexandre.torgue@st.com>
Cc: Jose Abreu <joabreu@synopsys.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com>
Cc: netdev@vger.kernel.org
Cc: linux-stm32@st-md-mailman.stormreply.com
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Cc: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Vineet Gupta <vgupta@synopsys.com>
Cc: linux-snps-arc@lists.infradead.org
---
drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c
index 6516d65e84b8..7edee3c87ac9 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c
@@ -853,8 +853,12 @@ static int stmmac_test_vlan_validate(struct sk_buff *skb,
if (tpriv->vlan_id) {
if (skb->vlan_proto != htons(proto))
goto out;
- if (skb->vlan_tci != tpriv->vlan_id)
+ if (skb->vlan_tci != tpriv->vlan_id) {
+ /* Means filter did not work. */
+ tpriv->ok = false;
+ complete(&tpriv->comp);
goto out;
+ }
}
ehdr = (struct ethhdr *)skb_mac_header(skb);
--
2.7.4
_______________________________________________
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH net 3/4] net: stmmac: selftests: Guard VLAN Perfect test against non supported HW
2020-01-14 16:09 [PATCH net 0/4] net: stmmac: Fix selftests in Synopsys AXS101 board Jose Abreu
2020-01-14 16:09 ` [PATCH net 1/4] net: stmmac: selftests: Make it work in Synopsys AXS101 boards Jose Abreu
2020-01-14 16:09 ` [PATCH net 2/4] net: stmmac: selftests: Mark as fail when received VLAN ID != expected Jose Abreu
@ 2020-01-14 16:09 ` Jose Abreu
2020-01-14 16:09 ` [PATCH net 4/4] ARC: [plat-axs10x]: Add missing multicast filter number to GMAC node Jose Abreu
2020-01-15 22:11 ` [PATCH net 0/4] net: stmmac: Fix selftests in Synopsys AXS101 board David Miller
4 siblings, 0 replies; 8+ messages in thread
From: Jose Abreu @ 2020-01-14 16:09 UTC (permalink / raw)
To: netdev
Cc: Jose Abreu, Joao Pinto, Alexandre Torgue, Vineet Gupta,
Alexey Brodkin, linux-kernel, linux-stm32, Maxime Coquelin,
Giuseppe Cavallaro, linux-snps-arc, David S. Miller,
linux-arm-kernel
When HW does not support perfect filtering the feature will not be
enabled in the net_device. Add a check for this to prevent failures.
Fixes: 1b2250a04c1f ("net: stmmac: selftests: Add tests for VLAN Perfect Filtering")
Signed-off-by: Jose Abreu <Jose.Abreu@synopsys.com>
---
Cc: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Cc: Alexandre Torgue <alexandre.torgue@st.com>
Cc: Jose Abreu <joabreu@synopsys.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com>
Cc: netdev@vger.kernel.org
Cc: linux-stm32@st-md-mailman.stormreply.com
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Cc: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Vineet Gupta <vgupta@synopsys.com>
Cc: linux-snps-arc@lists.infradead.org
---
drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c
index 7edee3c87ac9..450d7dac3ea6 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c
@@ -971,6 +971,9 @@ static int stmmac_test_vlanfilt_perfect(struct stmmac_priv *priv)
{
int ret, prev_cap = priv->dma_cap.vlhash;
+ if (!(priv->dev->features & NETIF_F_HW_VLAN_CTAG_FILTER))
+ return -EOPNOTSUPP;
+
priv->dma_cap.vlhash = 0;
ret = __stmmac_test_vlanfilt(priv);
priv->dma_cap.vlhash = prev_cap;
@@ -1063,6 +1066,9 @@ static int stmmac_test_dvlanfilt_perfect(struct stmmac_priv *priv)
{
int ret, prev_cap = priv->dma_cap.vlhash;
+ if (!(priv->dev->features & NETIF_F_HW_VLAN_STAG_FILTER))
+ return -EOPNOTSUPP;
+
priv->dma_cap.vlhash = 0;
ret = __stmmac_test_dvlanfilt(priv);
priv->dma_cap.vlhash = prev_cap;
--
2.7.4
_______________________________________________
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH net 4/4] ARC: [plat-axs10x]: Add missing multicast filter number to GMAC node
2020-01-14 16:09 [PATCH net 0/4] net: stmmac: Fix selftests in Synopsys AXS101 board Jose Abreu
` (2 preceding siblings ...)
2020-01-14 16:09 ` [PATCH net 3/4] net: stmmac: selftests: Guard VLAN Perfect test against non supported HW Jose Abreu
@ 2020-01-14 16:09 ` Jose Abreu
2020-01-14 16:14 ` Alexey Brodkin
2020-01-14 17:04 ` Vineet Gupta
2020-01-15 22:11 ` [PATCH net 0/4] net: stmmac: Fix selftests in Synopsys AXS101 board David Miller
4 siblings, 2 replies; 8+ messages in thread
From: Jose Abreu @ 2020-01-14 16:09 UTC (permalink / raw)
To: netdev
Cc: Jose Abreu, Mark Rutland, Joao Pinto, devicetree, Vineet Gupta,
Alexey Brodkin, linux-kernel, Rob Herring, linux-snps-arc
Add a missing property to GMAC node so that multicast filtering works
correctly.
Fixes: 556cc1c5f528 ("ARC: [axs101] Add support for AXS101 SDP (software development platform)")
Signed-off-by: Jose Abreu <Jose.Abreu@synopsys.com>
---
Cc: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Vineet Gupta <vgupta@synopsys.com>
Cc: devicetree@vger.kernel.org
Cc: linux-snps-arc@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
---
arch/arc/boot/dts/axs10x_mb.dtsi | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arc/boot/dts/axs10x_mb.dtsi b/arch/arc/boot/dts/axs10x_mb.dtsi
index f9a5c9ddcae7..1d109b06e7d8 100644
--- a/arch/arc/boot/dts/axs10x_mb.dtsi
+++ b/arch/arc/boot/dts/axs10x_mb.dtsi
@@ -78,6 +78,7 @@
interrupt-names = "macirq";
phy-mode = "rgmii";
snps,pbl = < 32 >;
+ snps,multicast-filter-bins = <256>;
clocks = <&apbclk>;
clock-names = "stmmaceth";
max-speed = <100>;
--
2.7.4
_______________________________________________
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc
^ permalink raw reply related [flat|nested] 8+ messages in thread
* RE: [PATCH net 4/4] ARC: [plat-axs10x]: Add missing multicast filter number to GMAC node
2020-01-14 16:09 ` [PATCH net 4/4] ARC: [plat-axs10x]: Add missing multicast filter number to GMAC node Jose Abreu
@ 2020-01-14 16:14 ` Alexey Brodkin
2020-01-14 17:04 ` Vineet Gupta
1 sibling, 0 replies; 8+ messages in thread
From: Alexey Brodkin @ 2020-01-14 16:14 UTC (permalink / raw)
To: Jose Abreu
Cc: Jose Abreu, Mark Rutland, Joao Pinto, devicetree, netdev,
Vineet Gupta, linux-kernel, Rob Herring, linux-snps-arc
Hi Jose,
> -----Original Message-----
> From: Jose Abreu <Jose.Abreu@synopsys.com>
> Sent: Tuesday, January 14, 2020 7:09 PM
> To: netdev@vger.kernel.org
> Cc: Joao Pinto <jpinto@synopsys.com>; Jose Abreu <joabreu@synopsys.com>; Alexey Brodkin
> <abrodkin@synopsys.com>; Rob Herring <robh+dt@kernel.org>; Mark Rutland <mark.rutland@arm.com>; Vineet
> Gupta <vgupta@synopsys.com>; devicetree@vger.kernel.org; linux-snps-arc@lists.infradead.org; linux-
> kernel@vger.kernel.org
> Subject: [PATCH net 4/4] ARC: [plat-axs10x]: Add missing multicast filter number to GMAC node
>
> Add a missing property to GMAC node so that multicast filtering works
> correctly.
>
> Fixes: 556cc1c5f528 ("ARC: [axs101] Add support for AXS101 SDP (software development platform)")
> Signed-off-by: Jose Abreu <Jose.Abreu@synopsys.com>
Acked-by: Alexey Brodkin <abrodkin@synopsys.com>
_______________________________________________
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH net 4/4] ARC: [plat-axs10x]: Add missing multicast filter number to GMAC node
2020-01-14 16:09 ` [PATCH net 4/4] ARC: [plat-axs10x]: Add missing multicast filter number to GMAC node Jose Abreu
2020-01-14 16:14 ` Alexey Brodkin
@ 2020-01-14 17:04 ` Vineet Gupta
1 sibling, 0 replies; 8+ messages in thread
From: Vineet Gupta @ 2020-01-14 17:04 UTC (permalink / raw)
To: Jose Abreu, netdev
Cc: Mark Rutland, devicetree, Joao Pinto, Alexey Brodkin,
linux-kernel, Rob Herring, linux-snps-arc
On 1/14/20 8:09 AM, Jose Abreu wrote:
> Add a missing property to GMAC node so that multicast filtering works
> correctly.
>
> Fixes: 556cc1c5f528 ("ARC: [axs101] Add support for AXS101 SDP (software development platform)")
> Signed-off-by: Jose Abreu <Jose.Abreu@synopsys.com>
Added to for-curr.
Thx,
-Vineet
_______________________________________________
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH net 0/4] net: stmmac: Fix selftests in Synopsys AXS101 board
2020-01-14 16:09 [PATCH net 0/4] net: stmmac: Fix selftests in Synopsys AXS101 board Jose Abreu
` (3 preceding siblings ...)
2020-01-14 16:09 ` [PATCH net 4/4] ARC: [plat-axs10x]: Add missing multicast filter number to GMAC node Jose Abreu
@ 2020-01-15 22:11 ` David Miller
4 siblings, 0 replies; 8+ messages in thread
From: David Miller @ 2020-01-15 22:11 UTC (permalink / raw)
To: Jose.Abreu
Cc: Joao.Pinto, alexandre.torgue, netdev, Vineet.Gupta1,
Alexey.Brodkin, linux-kernel, mcoquelin.stm32, peppe.cavallaro,
linux-snps-arc, linux-stm32, linux-arm-kernel
From: Jose Abreu <Jose.Abreu@synopsys.com>
Date: Tue, 14 Jan 2020 17:09:20 +0100
> Set of fixes for sefltests so that they work in Synopsys AXS101 board.
...
Applied patches 1-3, it looks like patch 4 went into another tree.
_______________________________________________
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc
^ permalink raw reply [flat|nested] 8+ messages in thread