Add a test for RSS in the stmmac selftests.

Signed-off-by: Jose Abreu <joab...@synopsys.com>
---
Cc: Giuseppe Cavallaro <peppe.cavall...@st.com>
Cc: Alexandre Torgue <alexandre.tor...@st.com>
Cc: Jose Abreu <joab...@synopsys.com>
Cc: "David S. Miller" <da...@davemloft.net>
Cc: Maxime Coquelin <mcoquelin.st...@gmail.com>
Cc: net...@vger.kernel.org
Cc: linux-st...@st-md-mailman.stormreply.com
Cc: linux-arm-ker...@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
---
 .../net/ethernet/stmicro/stmmac/stmmac_selftests.c    | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c 
b/drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c
index a97b1ea76438..83b775a8cedc 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c
@@ -700,6 +700,21 @@ static int stmmac_test_flowctrl(struct stmmac_priv *priv)
        return ret;
 }
 
+static int stmmac_test_rss(struct stmmac_priv *priv)
+{
+       struct stmmac_packet_attrs attr = { };
+
+       if (!priv->dma_cap.rssen || !priv->rss.enable)
+               return -EOPNOTSUPP;
+
+       attr.dst = priv->dev->dev_addr;
+       attr.exp_hash = true;
+       attr.sport = 0x321;
+       attr.dport = 0x123;
+
+       return __stmmac_test_loopback(priv, &attr);
+}
+
 #define STMMAC_LOOPBACK_NONE   0
 #define STMMAC_LOOPBACK_MAC    1
 #define STMMAC_LOOPBACK_PHY    2
@@ -745,6 +760,10 @@ static const struct stmmac_test {
                .name = "Flow Control         ",
                .lb = STMMAC_LOOPBACK_PHY,
                .fn = stmmac_test_flowctrl,
+       }, {
+               .name = "RSS                  ",
+               .lb = STMMAC_LOOPBACK_PHY,
+               .fn = stmmac_test_rss,
        },
 };
 
-- 
2.7.4

Reply via email to