From: Vinicius Costa Gomes <vinicius.gomes@intel.com>
To: Daiwei Li <daiweili@google.com>
Cc: Daiwei Li <daiweili@google.com>,
sasha.neftin@intel.com, netdev@vger.kernel.org,
richardcochran@gmail.com, kurt@linutronix.de,
linux-kernel@vger.kernel.org, przemyslaw.kitszel@intel.com,
edumazet@google.com, daiweili@gmail.com,
intel-wired-lan@lists.osuosl.org, kuba@kernel.org,
anthony.l.nguyen@intel.com, pabeni@redhat.com,
davem@davemloft.net
Subject: Re: [Intel-wired-lan] [PATCH iwl-net v2] igb: Fix not clearing TimeSync interrupts for 82580
Date: Tue, 13 Aug 2024 15:26:07 -0700 [thread overview]
Message-ID: <871q2svz40.fsf@intel.com> (raw)
In-Reply-To: <20240813033508.781022-1-daiweili@google.com>
Daiwei Li <daiweili@google.com> writes:
> 82580 NICs have a hardware bug that makes it
> necessary to write into the TSICR (TimeSync Interrupt Cause) register
> to clear it:
> https://lore.kernel.org/all/CDCB8BE0.1EC2C%25matthew.vick@intel.com/
>
> Add a conditional so only for 82580 we write into the TSICR register,
> so we don't risk losing events for other models.
Please add some information in the commit message about how to reproduce
the issue, as Paul suggested.
>
> This (partially) reverts commit ee14cc9ea19b ("igb: Fix missing time sync events").
>
> Fixes: ee14cc9ea19b ("igb: Fix missing time sync events")
> Closes: https://lore.kernel.org/intel-wired-lan/CAN0jFd1kO0MMtOh8N2Ztxn6f7vvDKp2h507sMryobkBKe=xk=w@mail.gmail.com/
> Tested-by: Daiwei Li <daiweili@google.com>
> Signed-off-by: Daiwei Li <daiweili@google.com>
> ---
>
> @Vinicius Gomes, this is my first time submitting a Linux kernel patch,
> so apologies if I missed any part of the procedure (e.g. this is
> currently on top of 6.7.12, the kernel I am running; should I be
> rebasing on inline?). Also, is there any way to annotate the patch
> to give you credit for the original change?
Your submission format looks fine. Just a couple details:
- No need for setting in-reply-to (or something like it);
- For this particular patch, you got lucky and it applies cleanly
against current tip, but for future submissions, for intel-wired-lan
and patches intended for the stable tree, please rebase against:
https://git.kernel.org/pub/scm/linux/kernel/git/tnguy/net-queue.git/
For credits, you can add something like:
Suggested-by: Vinicius Costa Gomes <vinicius.gomes@intel.com>
>
> drivers/net/ethernet/intel/igb/igb_main.c | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c
> index ada42ba63549..1210ddc5d81e 100644
> --- a/drivers/net/ethernet/intel/igb/igb_main.c
> +++ b/drivers/net/ethernet/intel/igb/igb_main.c
> @@ -6986,6 +6986,16 @@ static void igb_tsync_interrupt(struct igb_adapter *adapter)
> struct e1000_hw *hw = &adapter->hw;
> u32 tsicr = rd32(E1000_TSICR);
> struct ptp_clock_event event;
> + const u32 mask = (TSINTR_SYS_WRAP | E1000_TSICR_TXTS |
> + TSINTR_TT0 | TSINTR_TT1 |
> + TSINTR_AUTT0 | TSINTR_AUTT1);
> +
Please move the declaration of 'mask' up, to follow the convention, the
"reverse christmas tree" rule. Or separate the attribution from the
declaration.
> + if (hw->mac.type == e1000_82580) {
> + /* 82580 has a hardware bug that requires a explicit
And as pointed by Paul, "*an* explicit".
> + * write to clear the TimeSync interrupt cause.
> + */
> + wr32(E1000_TSICR, tsicr & mask);
> + }
>
> if (tsicr & TSINTR_SYS_WRAP) {
> event.type = PTP_CLOCK_PPS;
> --
> 2.46.0.76.ge559c4bf1a-goog
>
--
Vinicius
WARNING: multiple messages have this Message-ID (diff)
From: Vinicius Costa Gomes <vinicius.gomes@intel.com>
To: Daiwei Li <daiweili@google.com>
Cc: anthony.l.nguyen@intel.com, daiweili@gmail.com,
davem@davemloft.net, edumazet@google.com,
intel-wired-lan@lists.osuosl.org, kuba@kernel.org,
kurt@linutronix.de, linux-kernel@vger.kernel.org,
netdev@vger.kernel.org, pabeni@redhat.com,
przemyslaw.kitszel@intel.com, richardcochran@gmail.com,
sasha.neftin@intel.com, Daiwei Li <daiweili@google.com>
Subject: Re: [PATCH iwl-net v2] igb: Fix not clearing TimeSync interrupts for 82580
Date: Tue, 13 Aug 2024 15:26:07 -0700 [thread overview]
Message-ID: <871q2svz40.fsf@intel.com> (raw)
In-Reply-To: <20240813033508.781022-1-daiweili@google.com>
Daiwei Li <daiweili@google.com> writes:
> 82580 NICs have a hardware bug that makes it
> necessary to write into the TSICR (TimeSync Interrupt Cause) register
> to clear it:
> https://lore.kernel.org/all/CDCB8BE0.1EC2C%25matthew.vick@intel.com/
>
> Add a conditional so only for 82580 we write into the TSICR register,
> so we don't risk losing events for other models.
Please add some information in the commit message about how to reproduce
the issue, as Paul suggested.
>
> This (partially) reverts commit ee14cc9ea19b ("igb: Fix missing time sync events").
>
> Fixes: ee14cc9ea19b ("igb: Fix missing time sync events")
> Closes: https://lore.kernel.org/intel-wired-lan/CAN0jFd1kO0MMtOh8N2Ztxn6f7vvDKp2h507sMryobkBKe=xk=w@mail.gmail.com/
> Tested-by: Daiwei Li <daiweili@google.com>
> Signed-off-by: Daiwei Li <daiweili@google.com>
> ---
>
> @Vinicius Gomes, this is my first time submitting a Linux kernel patch,
> so apologies if I missed any part of the procedure (e.g. this is
> currently on top of 6.7.12, the kernel I am running; should I be
> rebasing on inline?). Also, is there any way to annotate the patch
> to give you credit for the original change?
Your submission format looks fine. Just a couple details:
- No need for setting in-reply-to (or something like it);
- For this particular patch, you got lucky and it applies cleanly
against current tip, but for future submissions, for intel-wired-lan
and patches intended for the stable tree, please rebase against:
https://git.kernel.org/pub/scm/linux/kernel/git/tnguy/net-queue.git/
For credits, you can add something like:
Suggested-by: Vinicius Costa Gomes <vinicius.gomes@intel.com>
>
> drivers/net/ethernet/intel/igb/igb_main.c | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c
> index ada42ba63549..1210ddc5d81e 100644
> --- a/drivers/net/ethernet/intel/igb/igb_main.c
> +++ b/drivers/net/ethernet/intel/igb/igb_main.c
> @@ -6986,6 +6986,16 @@ static void igb_tsync_interrupt(struct igb_adapter *adapter)
> struct e1000_hw *hw = &adapter->hw;
> u32 tsicr = rd32(E1000_TSICR);
> struct ptp_clock_event event;
> + const u32 mask = (TSINTR_SYS_WRAP | E1000_TSICR_TXTS |
> + TSINTR_TT0 | TSINTR_TT1 |
> + TSINTR_AUTT0 | TSINTR_AUTT1);
> +
Please move the declaration of 'mask' up, to follow the convention, the
"reverse christmas tree" rule. Or separate the attribution from the
declaration.
> + if (hw->mac.type == e1000_82580) {
> + /* 82580 has a hardware bug that requires a explicit
And as pointed by Paul, "*an* explicit".
> + * write to clear the TimeSync interrupt cause.
> + */
> + wr32(E1000_TSICR, tsicr & mask);
> + }
>
> if (tsicr & TSINTR_SYS_WRAP) {
> event.type = PTP_CLOCK_PPS;
> --
> 2.46.0.76.ge559c4bf1a-goog
>
--
Vinicius
next prev parent reply other threads:[~2024-08-13 22:26 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-10 0:23 [Intel-wired-lan] [PATCH iwl-net v1] igb: Fix not clearing TimeSync interrupts for 82580 Vinicius Costa Gomes
2024-08-10 0:23 ` Vinicius Costa Gomes
2024-08-10 4:21 ` [Intel-wired-lan] " Paul Menzel
2024-08-10 4:21 ` Paul Menzel
2024-08-10 5:04 ` Richard Cochran
2024-08-10 5:04 ` Richard Cochran
2024-08-10 15:55 ` [Intel-wired-lan] " Daiwei Li
2024-08-10 15:55 ` Daiwei Li
2024-08-12 17:59 ` [Intel-wired-lan] " Vinicius Costa Gomes
2024-08-12 17:59 ` Vinicius Costa Gomes
2024-08-13 3:35 ` [Intel-wired-lan] [PATCH iwl-net v2] " Daiwei Li
2024-08-13 3:35 ` Daiwei Li
2024-08-13 22:26 ` Vinicius Costa Gomes [this message]
2024-08-13 22:26 ` Vinicius Costa Gomes
2024-08-14 4:58 ` [Intel-wired-lan] " Daiwei Li
2024-08-14 4:58 ` Daiwei Li
2024-08-13 4:12 ` [Intel-wired-lan] [PATCH iwl-net v1] " Ratheesh Kannoth
2024-08-13 4:12 ` Ratheesh Kannoth
2024-08-13 15:02 ` [Intel-wired-lan] " Jakub Kicinski
2024-08-13 15:02 ` Jakub Kicinski
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=871q2svz40.fsf@intel.com \
--to=vinicius.gomes@intel.com \
--cc=anthony.l.nguyen@intel.com \
--cc=daiweili@gmail.com \
--cc=daiweili@google.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=intel-wired-lan@lists.osuosl.org \
--cc=kuba@kernel.org \
--cc=kurt@linutronix.de \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=przemyslaw.kitszel@intel.com \
--cc=richardcochran@gmail.com \
--cc=sasha.neftin@intel.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.