netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jakub Kicinski <kuba@kernel.org>
To: Vadim Fedorenko <vadfed@meta.com>
Cc: Vadim Fedorenko <vadim.fedorenko@linux.dev>,
	Michael Chan <michael.chan@broadcom.com>,
	Pavan Chebbi <pavan.chebbi@broadcom.com>,
	Andrew Lunn <andrew+netdev@lunn.ch>,
	Paolo Abeni <pabeni@redhat.com>,
	"David S. Miller" <davem@davemloft.net>, <netdev@vger.kernel.org>,
	"Richard Cochran" <richardcochran@gmail.com>
Subject: Re: [PATCH net-next v4 1/2] bnxt_en: cache only 24 bits of hw counter
Date: Sun, 3 Nov 2024 11:22:34 -0800	[thread overview]
Message-ID: <20241103112234.1b057a75@kernel.org> (raw)
In-Reply-To: <20241029205453.2290688-1-vadfed@meta.com>

On Tue, 29 Oct 2024 13:54:52 -0700 Vadim Fedorenko wrote:
> diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.c
> index fa514be87650..820c7e83e586 100644
> --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.c
> +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.c
> @@ -106,7 +106,7 @@ static void bnxt_ptp_get_current_time(struct bnxt *bp)
>  	if (!ptp)
>  		return;
>  	spin_lock_irqsave(&ptp->ptp_lock, flags);
> -	WRITE_ONCE(ptp->old_time, ptp->current_time);
> +	WRITE_ONCE(ptp->old_time, (u32)(ptp->current_time >> BNXT_HI_TIMER_SHIFT));

the casts to u32 seem unnecessary since write to u32 will truncate
the value, anyway, and they make the lines go over 80 columns

>  	bnxt_refclk_read(bp, NULL, &ptp->current_time);
>  	spin_unlock_irqrestore(&ptp->ptp_lock, flags);
>  }
> @@ -174,7 +174,7 @@ void bnxt_ptp_update_current_time(struct bnxt *bp)
>  	struct bnxt_ptp_cfg *ptp = bp->ptp_cfg;
>  
>  	bnxt_refclk_read(ptp->bp, NULL, &ptp->current_time);
> -	WRITE_ONCE(ptp->old_time, ptp->current_time);
> +	WRITE_ONCE(ptp->old_time, (u32)(ptp->current_time >> BNXT_HI_TIMER_SHIFT));
>  }
>  
>  static int bnxt_ptp_adjphc(struct bnxt_ptp_cfg *ptp, s64 delta)
> @@ -813,7 +813,7 @@ int bnxt_get_rx_ts_p5(struct bnxt *bp, u64 *ts, u32 pkt_ts)
>  	if (!ptp)
>  		return -ENODEV;
>  
> -	BNXT_READ_TIME64(ptp, time, ptp->old_time);
> +	time = (u64)(READ_ONCE(ptp->old_time) << BNXT_HI_TIMER_SHIFT);

And this cast looks misplaced, I presume you want the shift to operate
on 64b. The way this is written the shift will be truncated to 32b,
and then we will promote, with top 32b being all 0.
-- 
pw-bot: cr

  parent reply	other threads:[~2024-11-03 19:22 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-29 20:54 [PATCH net-next v4 1/2] bnxt_en: cache only 24 bits of hw counter Vadim Fedorenko
2024-10-29 20:54 ` [PATCH net-next v4 2/2] bnxt_en: replace PTP spinlock with seqlock Vadim Fedorenko
2024-10-30 16:54   ` Michael Chan
2024-10-30 16:53 ` [PATCH net-next v4 1/2] bnxt_en: cache only 24 bits of hw counter Michael Chan
2024-11-03 19:22 ` Jakub Kicinski [this message]
2024-11-03 21:17   ` Vadim Fedorenko

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=20241103112234.1b057a75@kernel.org \
    --to=kuba@kernel.org \
    --cc=andrew+netdev@lunn.ch \
    --cc=davem@davemloft.net \
    --cc=michael.chan@broadcom.com \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=pavan.chebbi@broadcom.com \
    --cc=richardcochran@gmail.com \
    --cc=vadfed@meta.com \
    --cc=vadim.fedorenko@linux.dev \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).