Subject: Re: [PATCH V5 net-next 4/4] net: hns3: add support to query scc version by devlink info

From: Simon Horman <[email-masked]>
Date: Mon, 11 Mar 2024 09:19:04 +0000

On Sat, Mar 09, 2024 at 06:00:44PM +0800, Jijie Shao wrote:
> From: Hao Chen <[email-masked]>
> 
> Add support to query scc version by devlink info for device V3.
> 
> Signed-off-by: Hao Chen <[email-masked]>
> Signed-off-by: Jijie Shao <[email-masked]>
> ---
>  drivers/net/ethernet/hisilicon/hns3/hnae3.h   |  9 ++++
>  .../hns3/hns3_common/hclge_comm_cmd.h         |  8 ++++
>  .../hisilicon/hns3/hns3pf/hclge_devlink.c     | 44 +++++++++++++++++--
>  .../hisilicon/hns3/hns3pf/hclge_devlink.h     |  2 +
>  .../hisilicon/hns3/hns3pf/hclge_main.c        | 18 ++++++++
>  .../hisilicon/hns3/hns3pf/hclge_main.h        |  1 +
>  6 files changed, 79 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/net/ethernet/hisilicon/hns3/hnae3.h b/drivers/net/ethernet/hisilicon/hns3/hnae3.h
> index e9266c65b331..7c2c8bea4c06 100644
> --- a/drivers/net/ethernet/hisilicon/hns3/hnae3.h
> +++ b/drivers/net/ethernet/hisilicon/hns3/hnae3.h
> @@ -366,6 +366,15 @@ struct hnae3_vector_info {
>  #define HNAE3_FW_VERSION_BYTE0_SHIFT	0
>  #define HNAE3_FW_VERSION_BYTE0_MASK	GENMASK(7, 0)
>  
> +#define HNAE3_SCC_VERSION_BYTE3_SHIFT	24
> +#define HNAE3_SCC_VERSION_BYTE3_MASK	GENMASK(31, 24)
> +#define HNAE3_SCC_VERSION_BYTE2_SHIFT	16
> +#define HNAE3_SCC_VERSION_BYTE2_MASK	GENMASK(23, 16)
> +#define HNAE3_SCC_VERSION_BYTE1_SHIFT	8
> +#define HNAE3_SCC_VERSION_BYTE1_MASK	GENMASK(15, 8)
> +#define HNAE3_SCC_VERSION_BYTE0_SHIFT	0
> +#define HNAE3_SCC_VERSION_BYTE0_MASK	GENMASK(7, 0)

Not strictly related to this patch, but FWIIW, I suspect that
hnae3_set_field() and hnae3_get_field() could be reworked to use / replaced
by use of FIELD_PREP and FIELD_GET.  In which case I suspect that the
*_SHIFT #defines would no longer be needed.

> +
>  struct hnae3_ring_chain_node {
>  	struct hnae3_ring_chain_node *next;
>  	u32 tqp_index;

...