From: Paolo Abeni <pabeni@redhat.com>
To: michael.dege@renesas.com
Cc: paul@pbarker.dev, niklas.soderlund@ragnatech.se, kuba@kernel.org,
yoshihiro.shimoda.uh@renesas.com, netdev@vger.kernel.org,
linux-kernel@vger.kernel.org, edumazet@google.com,
pabeni@redhat.com, linux-renesas-soc@vger.kernel.org,
andrew+netdev@lunn.ch, davem@davemloft.net
Subject: Re: [net-next,v3,06/13] net: renesas: rswitch: add forwarding rules for gwca
Date: Thu, 2 Apr 2026 14:59:32 +0200 [thread overview]
Message-ID: <20260402125933.234477-1-pabeni@redhat.com> (raw)
In-Reply-To: <20260331-rswitch_add_vlans-v3-6-c37f41b1c556@renesas.com>
This is an AI-generated review of your patch. The human sending this
email has considered the AI review valid, or at least plausible.
For local reproduction steps see https://netdev-ai.bots.linux.dev/ai-local.html
---
net: renesas: rswitch: add forwarding rules for gwca
Add rules to forward packets from the Ethernet ports to the CPU port (GWCA)
using L2 forwarding instead of port forwarding.
> diff --git a/drivers/net/ethernet/renesas/rswitch_l2.c b/drivers/net/ethernet/renesas/rswitch_l2.c
> index 709524c8a5c4..cabf1f92ad0c 100644
> --- a/drivers/net/ethernet/renesas/rswitch_l2.c
> +++ b/drivers/net/ethernet/renesas/rswitch_l2.c
> @@ -93,10 +93,32 @@ static void rswitch_update_l2_hw_forwarding(struct rswitch_private *priv)
> }
> }
>
> +static void rswitch_update_l2_hw_forwarding_gwca(struct rswitch_private *priv)
> +{
> + struct rswitch_device *rdev;
> + u32 fwpc0_set, fwpc0_clr, fwpc2_set, fwpc2_clr;
> +
> + fwpc0_clr = FWPC0_MACSSA | FWPC0_MACDSA | FWPC0_MACRUDA;
> + fwpc0_set = fwpc0_clr;
> + fwpc2_clr = FIELD_PREP(FWPC2_LTWFW, BIT(AGENT_INDEX_GWCA));
> + fwpc2_set = fwpc2_clr;
> +
> + (priv->offload_brdev) ? (fwpc0_clr = 0, fwpc2_set = 0)
> + : (fwpc0_set = 0, fwpc2_set = 0);
> ^^^^^^^^^^^
Does the false branch have a copy-paste error? Looking at the ternary
operator:
The TRUE branch (when offload_brdev is set) assigns:
fwpc0_clr = 0
fwpc2_set = 0
The FALSE branch (when offload_brdev is NULL) assigns:
fwpc0_set = 0
fwpc2_set = 0 <- assigns to fwpc2_set
Both branches assign to fwpc2_set, leaving fwpc2_clr unchanged with the
initialized value FIELD_PREP(FWPC2_LTWFW, BIT(AGENT_INDEX_GWCA)).
This appears to break the logic for non-offloaded mode. The FALSE branch
passes fwpc2_clr with the GWCA bit set to rswitch_modify(), which clears
the GWCA bit from the FWPC2 registers. Is this the intended behavior when
bridge offload is disabled?
The symmetric pattern in the TRUE branch suggests the FALSE branch should
be (fwpc0_set = 0, fwpc2_clr = 0) instead.
> +
> + rswitch_modify(priv->addr, FWPC0(AGENT_INDEX_GWCA), fwpc0_clr, fwpc0_set);
> +
> + rswitch_for_all_ports(priv, rdev) {
> + rswitch_modify(priv->addr, FWPC2(rdev->etha->index),
> + fwpc2_clr, fwpc2_set);
> + }
> +}
> +
> void rswitch_update_l2_offload(struct rswitch_private *priv)
> {
> rswitch_update_l2_hw_learning(priv);
> rswitch_update_l2_hw_forwarding(priv);
> + rswitch_update_l2_hw_forwarding_gwca(priv);
> }
[ ... ]
next prev parent reply other threads:[~2026-04-02 12:59 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-31 10:03 [net-next PATCH v3 00/13] net: renesas: rswitch: R-Car S4 add VLAN aware switching Michael Dege
2026-03-31 10:03 ` [PATCH net-next v3 01/13] net: renesas: rswitch: improve port change mode functions Michael Dege
2026-04-02 12:59 ` [net-next,v3,01/13] " Paolo Abeni
2026-03-31 10:03 ` [PATCH net-next v3 02/13] net: renesas: rswitch: use device instead of net_device Michael Dege
2026-03-31 10:03 ` [PATCH net-next v3 03/13] net: renesas: rswitch: fix FWPC2 register access macros Michael Dege
2026-03-31 10:03 ` [PATCH net-next v3 04/13] net: renesas: rswitch: add register definitions for vlan support Michael Dege
2026-04-02 12:59 ` [net-next,v3,04/13] " Paolo Abeni
2026-04-02 13:02 ` [PATCH net-next v3 04/13] " Paolo Abeni
2026-03-31 10:03 ` [PATCH net-next v3 05/13] net: renesas: rswitch: add exception path for packets with unknown dst MAC Michael Dege
2026-04-02 12:59 ` [net-next,v3,05/13] " Paolo Abeni
2026-03-31 10:04 ` [PATCH net-next v3 06/13] net: renesas: rswitch: add forwarding rules for gwca Michael Dege
2026-04-02 12:59 ` Paolo Abeni [this message]
2026-03-31 10:04 ` [PATCH net-next v3 07/13] net: renesas: rswitch: make helper functions available to whole driver Michael Dege
2026-03-31 10:04 ` [PATCH net-next v3 08/13] net: renesas: rswitch: add basic vlan init to rswitch_fwd_init Michael Dege
2026-03-31 10:04 ` [PATCH net-next v3 09/13] net: renesas: rswitch: update port HW init Michael Dege
2026-03-31 10:04 ` [PATCH net-next v3 10/13] net: renesas: rswitch: clean up is_rdev rswitch_device checking Michael Dege
2026-03-31 10:04 ` [PATCH net-next v3 11/13] net: renesas: rswitch: add passing of rswitch_private into notifiers Michael Dege
2026-03-31 10:04 ` [PATCH net-next v3 12/13] net: renesas: rswitch: add handler for FDB notification Michael Dege
2026-04-02 12:59 ` [net-next,v3,12/13] " Paolo Abeni
2026-04-02 13:06 ` [PATCH net-next v3 12/13] " Paolo Abeni
2026-03-31 10:04 ` [PATCH net-next v3 13/13] net: renesas: rswitch: add vlan aware switching Michael Dege
2026-04-02 12:59 ` [net-next,v3,13/13] " Paolo Abeni
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=20260402125933.234477-1-pabeni@redhat.com \
--to=pabeni@redhat.com \
--cc=andrew+netdev@lunn.ch \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-renesas-soc@vger.kernel.org \
--cc=michael.dege@renesas.com \
--cc=netdev@vger.kernel.org \
--cc=niklas.soderlund@ragnatech.se \
--cc=paul@pbarker.dev \
--cc=yoshihiro.shimoda.uh@renesas.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