From: sashiko-bot@kernel.org
To: "Wei Fang" <wei.fang@nxp.com>
Cc: Frank.Li@kernel.org, imx@lists.linux.dev
Subject: Re: [PATCH net-next 15/15] net: enetc: generate MR interrupt mask based on the number of enabled VFs
Date: Tue, 12 May 2026 23:48:05 +0000 [thread overview]
Message-ID: <20260512234806.55585C2BCB0@smtp.kernel.org> (raw)
In-Reply-To: <20260511080805.2052495-16-wei.fang@nxp.com>
Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [Medium] The `PSIIER_MR_MASK` macro passes an invalid range to `GENMASK_U32` when `num_vfs` is 0, violating the API contract.
- [Low] The patch leaves behind `ENETC_PSIMSGRR_MR_MASK` as dead code.
--
commit f4d94f53cb9779f541f15301b0d99d09fa09287a
Author: Wei Fang <wei.fang@nxp.com>
net: enetc: generate MR interrupt mask based on the number of enabled VFs
This commit replaces the fixed ENETC_PSIIER_MR_MASK constant with a
dynamically calculated macro to support ENETC v4 hardware, which can
have varying numbers of VFs. It uses GENMASK_U32 to generate the mask
based on the pf->num_vfs value.
> diff --git a/drivers/net/ethernet/freescale/enetc/enetc_hw.h b/drivers/net/ethernet/freescale/enetc/enetc_hw.h
> index 94f53762cea82..77dd7913d1999 100644
> --- a/drivers/net/ethernet/freescale/enetc/enetc_hw.h
> +++ b/drivers/net/ethernet/freescale/enetc/enetc_hw.h
> @@ -94,7 +94,8 @@ static inline u32 enetc_vsi_set_msize(u32 size)
> #define ENETC_SICAPR1 0x904
>
> #define ENETC_PSIIER 0xa00
> -#define ENETC_PSIIER_MR_MASK GENMASK(2, 1)
> +#define PSIIER_MR_MASK(num_vf) GENMASK_U32((num_vf), 1)
The commit message mentions this should correctly handle devices with 0 VFs.
If num_vf is 0, this expands to GENMASK_U32(0, 1). Does this violate the
GENMASK requirement that the high bit must be greater than or equal to the
low bit?
Could this macro be updated to explicitly handle the zero case, perhaps by
using a conditional, to avoid triggering warnings from static analyzers?
> +
> #define ENETC_PSIIDR 0xa08
> #define ENETC_SITXIDR 0xa18
> #define ENETC_SIRXIDR 0xa28
[ ... ]
> diff --git a/drivers/net/ethernet/freescale/enetc/enetc_msg.c b/drivers/net/ethernet/freescale/enetc/enetc_msg.c
> index 73e32c9b65a89..e9963ea154b04 100644
> --- a/drivers/net/ethernet/freescale/enetc/enetc_msg.c
> +++ b/drivers/net/ethernet/freescale/enetc/enetc_msg.c
> @@ -162,15 +162,16 @@ static void enetc_msg_handle_rxmsg(struct enetc_pf *pf, int vf_id,
> static void enetc_msg_task(struct work_struct *work)
> {
> struct enetc_pf *pf = container_of(work, struct enetc_pf, msg_task);
> + u32 mr_mask = PSIIER_MR_MASK(pf->num_vfs);
> struct enetc_hw *hw = &pf->si->hw;
> - unsigned long mr_mask;
> + u32 mr_status;
> int i;
>
> for (;;) {
> - mr_mask = enetc_rd(hw, ENETC_PSIMSGRR) & ENETC_PSIMSGRR_MR_MASK;
> - if (!mr_mask) {
Since ENETC_PSIMSGRR_MR_MASK is no longer used here, is it now dead code?
Should the definition of ENETC_PSIMSGRR_MR_MASK in enetc_hw.h be removed in
this patch to avoid leaving behind unused macros?
> + mr_status = enetc_rd(hw, ENETC_PSIMSGRR) & mr_mask;
> + if (!mr_status) {
> /* re-arm MR interrupts, w1c the IDR reg */
> - enetc_wr(hw, ENETC_PSIIDR, ENETC_PSIIER_MR_MASK);
> + enetc_wr(hw, ENETC_PSIIDR, mr_mask);
> enetc_msg_set_mr_int(pf, true);
> return;
> }
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260511080805.2052495-1-wei.fang@nxp.com?part=15
prev parent reply other threads:[~2026-05-12 23:48 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-11 8:07 [PATCH net-next 00/15] net: enetc: Prepare for ENETC v4 VF support Wei Fang
2026-05-11 8:07 ` [PATCH net-next 01/15] net: enetc: switch VF primary MAC setter to PF ops for commonization Wei Fang
2026-05-11 15:41 ` Vladimir Oltean
2026-05-12 1:54 ` Wei Fang
2026-05-11 8:07 ` [PATCH net-next 02/15] net: enetc: move VF message handlers to enetc_msg.c Wei Fang
2026-05-11 8:07 ` [PATCH net-next 03/15] net: enetc: avoid VF->PF mailbox timeout during SR-IOV teardown Wei Fang
2026-05-11 8:07 ` [PATCH net-next 04/15] net: enetc: relocate SR-IOV configuration helper for common PF support Wei Fang
2026-05-11 8:07 ` [PATCH net-next 05/15] net: enetc: integrate enetc_msg.c into enetc-pf-common driver Wei Fang
2026-05-11 8:07 ` [PATCH net-next 06/15] net: enetc: use read_poll_timeout() for VF mailbox polling Wei Fang
2026-05-11 8:07 ` [PATCH net-next 07/15] net: enetc: convert mailbox messages to new formats Wei Fang
2026-05-11 8:07 ` [PATCH net-next 08/15] net: enetc: add VF-PF messaging support for IP minor revision query Wei Fang
2026-05-11 8:07 ` [PATCH net-next 09/15] net: enetc: align v1 CBDR API with v4 for VF driver sharing Wei Fang
2026-05-11 8:08 ` [PATCH net-next 10/15] net: enetc: add CBDR setup/teardown hooks to enetc_si_ops for VF support Wei Fang
2026-05-11 8:08 ` [PATCH net-next 11/15] net: enetc: add generic helper to initialize SR-IOV resources Wei Fang
2026-05-11 8:08 ` [PATCH net-next 12/15] net: enetc: use MADDR_TYPE for MAC filter array size Wei Fang
2026-05-11 8:08 ` [PATCH net-next 13/15] net: enetc: dynamically allocate rxmsg based on VF count Wei Fang
2026-05-12 23:59 ` sashiko-bot
2026-05-11 8:08 ` [PATCH net-next 14/15] net: enetc: refactor MR interrupt enable/disable helpers Wei Fang
2026-05-12 23:34 ` sashiko-bot
2026-05-13 10:20 ` Wei Fang
2026-05-11 8:08 ` [PATCH net-next 15/15] net: enetc: generate MR interrupt mask based on the number of enabled VFs Wei Fang
2026-05-12 23:48 ` sashiko-bot [this message]
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=20260512234806.55585C2BCB0@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=Frank.Li@kernel.org \
--cc=imx@lists.linux.dev \
--cc=sashiko-reviews@lists.linux.dev \
--cc=wei.fang@nxp.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox