Subject: Re: [PATCH net-next] enic: Replace hardcoded values for vnic descriptor by defines

From: Simon Horman <[email-masked]>
Date: Wed, 24 Apr 2024 19:09:03 +0100

+ Christian, Satish, Dave, Eric, Jakub & Paolo

On Mon, Apr 22, 2024 at 08:53:05PM -0700, Satish Kharat wrote:
> Replace the hardcoded values used in the calculations for
> vnic descriptors and rings with defines. Minor code cleanup.
> 
> Signed-off-by: Satish Kharat <[email-masked]>

Hi Satish,

it is probably not necessary to repost because of this,
but please use get_maintainers.pl my.patch to seed
the CC list when posting Networking patches.

That notwithstanding, this patch looks good to me.

Reviewed-by: Simon Horman <[email-masked]>

> ---
>  drivers/net/ethernet/cisco/enic/vnic_dev.c | 20 ++++++++------------
>  drivers/net/ethernet/cisco/enic/vnic_dev.h |  5 +++++
>  2 files changed, 13 insertions(+), 12 deletions(-)
> 
> diff --git a/drivers/net/ethernet/cisco/enic/vnic_dev.c b/drivers/net/ethernet/cisco/enic/vnic_dev.c
> index 12a83fa1302d..9f6089e81608 100644
> --- a/drivers/net/ethernet/cisco/enic/vnic_dev.c
> +++ b/drivers/net/ethernet/cisco/enic/vnic_dev.c
> @@ -146,23 +146,19 @@ EXPORT_SYMBOL(vnic_dev_get_res);
>  static unsigned int vnic_dev_desc_ring_size(struct vnic_dev_ring *ring,
>  	unsigned int desc_count, unsigned int desc_size)
>  {
> -	/* The base address of the desc rings must be 512 byte aligned.
> -	 * Descriptor count is aligned to groups of 32 descriptors.  A
> -	 * count of 0 means the maximum 4096 descriptors.  Descriptor
> -	 * size is aligned to 16 bytes.
> -	 */
> -
> -	unsigned int count_align = 32;
> -	unsigned int desc_align = 16;
>  
> -	ring->base_align = 512;
> +	/* Descriptor ring base address alignment in bytes*/
> +	ring->base_align = VNIC_DESC_BASE_ALIGN;
>  
> +	/* A count of 0 means the maximum descriptors */
>  	if (desc_count == 0)
> -		desc_count = 4096;
> +		desc_count = VNIC_DESC_MAX_COUNT;
>  
> -	ring->desc_count = ALIGN(desc_count, count_align);
> +	/* Descriptor count aligned in groups of VNIC_DESC_COUNT_ALIGN descriptors */
> +	ring->desc_count = ALIGN(desc_count, VNIC_DESC_COUNT_ALIGN);
>  
> -	ring->desc_size = ALIGN(desc_size, desc_align);
> +	/* Descriptor size alignment in bytes */
> +	ring->desc_size = ALIGN(desc_size, VNIC_DESC_SIZE_ALIGN);
>  
>  	ring->size = ring->desc_count * ring->desc_size;
>  	ring->size_unaligned = ring->size + ring->base_align;
> diff --git a/drivers/net/ethernet/cisco/enic/vnic_dev.h b/drivers/net/ethernet/cisco/enic/vnic_dev.h
> index 6273794b923b..7fdd8c661c99 100644
> --- a/drivers/net/ethernet/cisco/enic/vnic_dev.h
> +++ b/drivers/net/ethernet/cisco/enic/vnic_dev.h
> @@ -31,6 +31,11 @@ static inline void writeq(u64 val, void __iomem *reg)
>  #undef pr_fmt
>  #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
>  
> +#define VNIC_DESC_SIZE_ALIGN	16
> +#define VNIC_DESC_COUNT_ALIGN	32
> +#define VNIC_DESC_BASE_ALIGN	512
> +#define VNIC_DESC_MAX_COUNT	4096
> +
>  enum vnic_dev_intr_mode {
>  	VNIC_DEV_INTR_MODE_UNKNOWN,
>  	VNIC_DEV_INTR_MODE_INTX,
> -- 
> 2.44.0
> 
>