[PATCH net-next 8/8] net: hns3: convert to use .get_rx_ring_count

Breno Leitao posted 8 patches 1 month ago
[PATCH net-next 8/8] net: hns3: convert to use .get_rx_ring_count
Posted by Breno Leitao 1 month ago
Use the newly introduced .get_rx_ring_count ethtool ops callback instead
of handling ETHTOOL_GRXRINGS directly in .get_rxnfc().

Signed-off-by: Breno Leitao <leitao@debian.org>
---
 drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c b/drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c
index a5eefa28454c..6d746a9fb687 100644
--- a/drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c
@@ -988,6 +988,13 @@ static int hns3_get_rxfh_fields(struct net_device *netdev,
 	return -EOPNOTSUPP;
 }
 
+static u32 hns3_get_rx_ring_count(struct net_device *netdev)
+{
+	struct hnae3_handle *h = hns3_get_handle(netdev);
+
+	return h->kinfo.num_tqps;
+}
+
 static int hns3_get_rxnfc(struct net_device *netdev,
 			  struct ethtool_rxnfc *cmd,
 			  u32 *rule_locs)
@@ -995,9 +1002,6 @@ static int hns3_get_rxnfc(struct net_device *netdev,
 	struct hnae3_handle *h = hns3_get_handle(netdev);
 
 	switch (cmd->cmd) {
-	case ETHTOOL_GRXRINGS:
-		cmd->data = h->kinfo.num_tqps;
-		return 0;
 	case ETHTOOL_GRXCLSRLCNT:
 		if (h->ae_algo->ops->get_fd_rule_cnt)
 			return h->ae_algo->ops->get_fd_rule_cnt(h, cmd);
@@ -2148,6 +2152,7 @@ static const struct ethtool_ops hns3vf_ethtool_ops = {
 	.get_sset_count = hns3_get_sset_count,
 	.get_rxnfc = hns3_get_rxnfc,
 	.set_rxnfc = hns3_set_rxnfc,
+	.get_rx_ring_count = hns3_get_rx_ring_count,
 	.get_rxfh_key_size = hns3_get_rss_key_size,
 	.get_rxfh_indir_size = hns3_get_rss_indir_size,
 	.get_rxfh = hns3_get_rss,
@@ -2187,6 +2192,7 @@ static const struct ethtool_ops hns3_ethtool_ops = {
 	.get_sset_count = hns3_get_sset_count,
 	.get_rxnfc = hns3_get_rxnfc,
 	.set_rxnfc = hns3_set_rxnfc,
+	.get_rx_ring_count = hns3_get_rx_ring_count,
 	.get_rxfh_key_size = hns3_get_rss_key_size,
 	.get_rxfh_indir_size = hns3_get_rss_indir_size,
 	.get_rxfh = hns3_get_rss,

-- 
2.47.3
Re: [PATCH net-next 8/8] net: hns3: convert to use .get_rx_ring_count
Posted by Jijie Shao 4 weeks ago
on 2026/1/10 1:40, Breno Leitao wrote:
> Use the newly introduced .get_rx_ring_count ethtool ops callback instead
> of handling ETHTOOL_GRXRINGS directly in .get_rxnfc().
>
> Signed-off-by: Breno Leitao <leitao@debian.org>

Thanks,

Reviewed-by: Jijie Shao <shaojijie@huawei.com>

> ---
>   drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c | 12 +++++++++---
>   1 file changed, 9 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c b/drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c
> index a5eefa28454c..6d746a9fb687 100644
> --- a/drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c
> +++ b/drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c
> @@ -988,6 +988,13 @@ static int hns3_get_rxfh_fields(struct net_device *netdev,
>   	return -EOPNOTSUPP;
>   }
>   
> +static u32 hns3_get_rx_ring_count(struct net_device *netdev)
> +{
> +	struct hnae3_handle *h = hns3_get_handle(netdev);
> +
> +	return h->kinfo.num_tqps;
> +}
> +
>   static int hns3_get_rxnfc(struct net_device *netdev,
>   			  struct ethtool_rxnfc *cmd,
>   			  u32 *rule_locs)
> @@ -995,9 +1002,6 @@ static int hns3_get_rxnfc(struct net_device *netdev,
>   	struct hnae3_handle *h = hns3_get_handle(netdev);
>   
>   	switch (cmd->cmd) {
> -	case ETHTOOL_GRXRINGS:
> -		cmd->data = h->kinfo.num_tqps;
> -		return 0;
>   	case ETHTOOL_GRXCLSRLCNT:
>   		if (h->ae_algo->ops->get_fd_rule_cnt)
>   			return h->ae_algo->ops->get_fd_rule_cnt(h, cmd);
> @@ -2148,6 +2152,7 @@ static const struct ethtool_ops hns3vf_ethtool_ops = {
>   	.get_sset_count = hns3_get_sset_count,
>   	.get_rxnfc = hns3_get_rxnfc,
>   	.set_rxnfc = hns3_set_rxnfc,
> +	.get_rx_ring_count = hns3_get_rx_ring_count,
>   	.get_rxfh_key_size = hns3_get_rss_key_size,
>   	.get_rxfh_indir_size = hns3_get_rss_indir_size,
>   	.get_rxfh = hns3_get_rss,
> @@ -2187,6 +2192,7 @@ static const struct ethtool_ops hns3_ethtool_ops = {
>   	.get_sset_count = hns3_get_sset_count,
>   	.get_rxnfc = hns3_get_rxnfc,
>   	.set_rxnfc = hns3_set_rxnfc,
> +	.get_rx_ring_count = hns3_get_rx_ring_count,
>   	.get_rxfh_key_size = hns3_get_rss_key_size,
>   	.get_rxfh_indir_size = hns3_get_rss_indir_size,
>   	.get_rxfh = hns3_get_rss,
>