[PATCH net-next v2 1/2] net: stmmac: Introduce a helper to check RSS support

Lorenzo Bianconi lorenzo.bianconi at oss.qualcomm.com
Tue Sep 29 00:10:49 PDT 2026


> The RSS feature is only available in stmmac if the hardware reports it
> through the DMA caps and if the platform glue sets rss_en.
> 
> Introduce a helper that checks both.
> 
> For now, no platform sets rss_en, but there's interest in the topic so
> leave the door open instead of dropping the feature altogether.
> 
> No functional changes intended.
> 
> Suggested-by: Nicolai Buchwitz <nb at tipi-net.de>
> Signed-off-by: Maxime Chevallier <maxime.chevallier at bootlin.com>

Acked-by: Lorenzo Bianconi <lorenzo.bianconi at oss.qualcomm.com>

> ---
>  drivers/net/ethernet/stmicro/stmmac/stmmac.h      | 5 +++++
>  drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 4 ++--
>  2 files changed, 7 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac.h b/drivers/net/ethernet/stmicro/stmmac/stmmac.h
> index 7582fca63741..e2873d46e049 100644
> --- a/drivers/net/ethernet/stmicro/stmmac/stmmac.h
> +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac.h
> @@ -433,6 +433,11 @@ struct timespec64 stmmac_calc_tas_basetime(ktime_t old_base_time,
>  					   ktime_t current_time,
>  					   u64 cycle_time);
>  
> +static inline bool stmmac_rss_is_supported(const struct stmmac_priv *priv)
> +{
> +	return priv->dma_cap.rssen && priv->plat->rss_en;
> +}
> +
>  #if IS_ENABLED(CONFIG_STMMAC_SELFTESTS)
>  void stmmac_selftest_run(struct net_device *dev,
>  			 struct ethtool_test *etest, u64 *buf);
> diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> index 4dee3542df3b..08feb18d62ba 100644
> --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> @@ -3538,7 +3538,7 @@ static void stmmac_mac_config_rx_queues_routing(struct stmmac_priv *priv)
>  
>  static void stmmac_mac_config_rss(struct stmmac_priv *priv)
>  {
> -	if (!priv->dma_cap.rssen || !priv->plat->rss_en) {
> +	if (!stmmac_rss_is_supported(priv)) {
>  		priv->rss.enable = false;
>  		return;
>  	}
> @@ -8037,7 +8037,7 @@ static int __stmmac_dvr_probe(struct device *device,
>  	for (i = 0; i < ARRAY_SIZE(priv->rss.table); i++)
>  		priv->rss.table[i] = ethtool_rxfh_indir_default(i, rxq);
>  
> -	if (priv->dma_cap.rssen && priv->plat->rss_en)
> +	if (stmmac_rss_is_supported(priv))
>  		ndev->features |= NETIF_F_RXHASH;
>  
>  	ndev->vlan_features |= ndev->features;
> -- 
> 2.55.0
> 
> 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20260929/5e4d6f31/attachment.sig>


More information about the linux-arm-kernel mailing list