All of lore.kernel.org
 help / color / mirror / Atom feed
From: Simon Horman <horms@kernel.org>
To: Naveen Mamindlapalli <naveenm@marvell.com>
Cc: davem@davemloft.net, kuba@kernel.org, edumazet@google.com,
	pabeni@redhat.com, netdev@vger.kernel.org,
	linux-kernel@vger.kernel.org, sgoutham@marvell.com,
	Nithin Dabilpuram <ndabilpuram@marvell.com>
Subject: Re: [net PATCH] octeontx2-af: CN10KB: Fix FIFO length calculation for RPM2
Date: Fri, 5 Jan 2024 21:44:57 +0000	[thread overview]
Message-ID: <20240105214457.GD31813@kernel.org> (raw)
In-Reply-To: <20240105065423.714-1-naveenm@marvell.com>

On Fri, Jan 05, 2024 at 12:24:23PM +0530, Naveen Mamindlapalli wrote:
> From: Nithin Dabilpuram <ndabilpuram@marvell.com>
> 
> RPM0 and RPM1 on the CN10KB SoC have 8 LMACs each, whereas RPM2
> has only 4 LMACs. Similarly, the RPM0 and RPM1 have 256KB FIFO,
> whereas RPM2 has 128KB FIFO. This patch fixes an issue with
> improper TX credit programming for the RPM2 link.
> 
> Signed-off-by: Nithin Dabilpuram <ndabilpuram@marvell.com>
> Signed-off-by: Naveen Mamindlapalli <naveenm@marvell.com>

If this is a fix for a user-visible bug then it should
have a Fixes tag. Else it should be targeted at net-next.

Also, as a potential follow-up, it looks like this
file (driver?) could benefit from use of GETMASK/FIELD_GET/FIELD_PREP.
But, IMHO, there is no need to do that for this change
which is in a style consistent with the rest of the file.

> ---
>  drivers/net/ethernet/marvell/octeontx2/af/rpm.c | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/ethernet/marvell/octeontx2/af/rpm.c b/drivers/net/ethernet/marvell/octeontx2/af/rpm.c
> index 4728ba34b0e3..76218f1cb459 100644
> --- a/drivers/net/ethernet/marvell/octeontx2/af/rpm.c
> +++ b/drivers/net/ethernet/marvell/octeontx2/af/rpm.c
> @@ -506,6 +506,7 @@ u32 rpm2_get_lmac_fifo_len(void *rpmd, int lmac_id)
>  	rpm_t *rpm = rpmd;
>  	u8 num_lmacs;
>  	u32 fifo_len;
> +	u16 max_lmac;
>  
>  	lmac_info = rpm_read(rpm, 0, RPM2_CMRX_RX_LMACS);
>  	/* LMACs are divided into two groups and each group
> @@ -513,7 +514,11 @@ u32 rpm2_get_lmac_fifo_len(void *rpmd, int lmac_id)
>  	 * Group0 lmac_id range {0..3}
>  	 * Group1 lmac_id range {4..7}
>  	 */
> -	fifo_len = rpm->mac_ops->fifo_len / 2;
> +	max_lmac = (rpm_read(rpm, 0, CGX_CONST) >> 24) & 0xFF;
> +	if (max_lmac > 4)
> +		fifo_len = rpm->mac_ops->fifo_len / 2;
> +	else
> +		fifo_len = rpm->mac_ops->fifo_len;
>  
>  	if (lmac_id < 4) {
>  		num_lmacs = hweight8(lmac_info & 0xF);
> -- 
> 2.39.0.198.ga38d39a4c5
> 

  reply	other threads:[~2024-01-05 21:45 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-05  6:54 [net PATCH] octeontx2-af: CN10KB: Fix FIFO length calculation for RPM2 Naveen Mamindlapalli
2024-01-05 21:44 ` Simon Horman [this message]
2024-01-08  7:30   ` Naveen Mamindlapalli

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240105214457.GD31813@kernel.org \
    --to=horms@kernel.org \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=naveenm@marvell.com \
    --cc=ndabilpuram@marvell.com \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=sgoutham@marvell.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.