From: Martin Schiller <ms@dev.tdt.de>
To: Vladimir Oltean <olteanv@gmail.com>
Cc: martin.blumenstingl@googlemail.com, hauke@hauke-m.de,
andrew@lunn.ch, f.fainelli@gmail.com, davem@davemloft.net,
edumazet@google.com, kuba@kernel.org, pabeni@redhat.com,
robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org,
netdev@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH net-next 12/13] net: dsa: lantiq_gswip: Add and use a GSWIP_TABLE_MAC_BRIDGE_FID macro
Date: Fri, 07 Jun 2024 16:27:04 +0200 [thread overview]
Message-ID: <ae0811c79a126e9f034beccf37e61991@dev.tdt.de> (raw)
In-Reply-To: <20240607113652.6ryt5gg72he2madn@skbuf>
On 2024-06-07 13:36, Vladimir Oltean wrote:
> On Thu, Jun 06, 2024 at 10:52:33AM +0200, Martin Schiller wrote:
>> From: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
>>
>> Only bits [5:0] in mac_bridge.key[3] are reserved for the FID. Add a
>> macro so this becomes obvious when reading the driver code.
>>
>> Signed-off-by: Martin Blumenstingl
>> <martin.blumenstingl@googlemail.com>
>> ---
>> drivers/net/dsa/lantiq_gswip.c | 3 ++-
>> 1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/net/dsa/lantiq_gswip.c
>> b/drivers/net/dsa/lantiq_gswip.c
>> index f2faee112e33..4bb894e75b81 100644
>> --- a/drivers/net/dsa/lantiq_gswip.c
>> +++ b/drivers/net/dsa/lantiq_gswip.c
>> @@ -238,6 +238,7 @@
>> #define GSWIP_TABLE_MAC_BRIDGE 0x0b
>> #define GSWIP_TABLE_MAC_BRIDGE_STATIC BIT(0) /* Static not, aging
>> entry */
>> #define GSWIP_TABLE_MAC_BRIDGE_PORT GENMASK(7, 4) /* Port on learned
>> entries */
>> +#define GSWIP_TABLE_MAC_BRIDGE_FID GENMASK(5, 0) /* Filtering
>> identifier */
>>
>> #define XRX200_GPHY_FW_ALIGN (16 * 1024)
>>
>> @@ -1385,7 +1386,7 @@ static int gswip_port_fdb(struct dsa_switch *ds,
>> int port,
>> mac_bridge.key[0] = addr[5] | (addr[4] << 8);
>> mac_bridge.key[1] = addr[3] | (addr[2] << 8);
>> mac_bridge.key[2] = addr[1] | (addr[0] << 8);
>> - mac_bridge.key[3] = fid;
>> + mac_bridge.key[3] = FIELD_PREP(GSWIP_TABLE_MAC_BRIDGE_FID, fid);
>> mac_bridge.val[0] = add ? BIT(port) : 0; /* port map */
>> mac_bridge.val[1] = GSWIP_TABLE_MAC_BRIDGE_STATIC;
>> mac_bridge.valid = add;
>> --
>> 2.39.2
>
> On second thought, I disagree with the naming scheme of the
> GSWIP_TABLE_MAC_BRIDGE_* macros. It is completely non obvious that they
> are non-overlapping, because they have the same name prefix, but:
> _STATIC applies to gswip_pce_table_entry :: val[1]
> _PORT applies to gswip_pce_table_entry :: val[0]
> _FID applies to gswip_pce_table_entry :: key[3]
>
> I think it's all too easy to use the wrong macro on the wrong register
> field.
> If the macros incorporated names like VAL1, KEY3 etc, it would be much
> more obvious. Could you please do that?
OK, so I'll change the macro names to
GSWIP_TABLE_MAC_BRIDGE_KEY3_FID
GSWIP_TABLE_MAC_BRIDGE_VAL0_PORT
GSWIP_TABLE_MAC_BRIDGE_VAL1_STATIC
Also the comment of GSWIP_TABLE_MAC_BRIDGE_VAL1_STATIC should be changed
to
/* Static, not aging entry */
While looking again at this diff above, I noticed that val[0] is set
incorrectly. Shouldn't it be either "port << 4" or (after the previous
patch)
"FIELD_PREP(GSWIP_TABLE_MAC_BRIDGE_PORT, port);" instead of "BIT(port)"?
next prev parent reply other threads:[~2024-06-07 14:27 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-06 8:52 [PATCH net-next 00/13] net: dsa: lantiq_gswip: code improvements Martin Schiller
2024-06-06 8:52 ` [PATCH net-next 01/13] dt-bindings: net: dsa: lantiq_gswip: Add missing phy-mode and fixed-link Martin Schiller
2024-06-07 10:59 ` Vladimir Oltean
2024-06-10 8:55 ` Krzysztof Kozlowski
2024-06-10 9:07 ` Martin Schiller
2024-06-10 22:05 ` Rob Herring
2024-06-11 11:12 ` Martin Schiller
2024-06-06 8:52 ` [PATCH net-next 02/13] net: dsa: lantiq_gswip: Only allow phy-mode = "internal" on the CPU port Martin Schiller
2024-06-07 11:03 ` Vladimir Oltean
2024-06-07 12:01 ` Martin Schiller
2024-06-07 12:04 ` Vladimir Oltean
2024-06-06 8:52 ` [PATCH net-next 03/13] net: dsa: lantiq_gswip: Use dev_err_probe where appropriate Martin Schiller
2024-06-07 11:07 ` Vladimir Oltean
2024-06-07 12:09 ` Martin Schiller
2024-06-06 8:52 ` [PATCH net-next 04/13] net: dsa: lantiq_gswip: Don't manually call gswip_port_enable() Martin Schiller
2024-06-07 11:11 ` Vladimir Oltean
2024-06-07 12:12 ` Martin Schiller
2024-06-06 8:52 ` [PATCH net-next 05/13] net: dsa: lantiq_gswip: do also enable or disable cpu port Martin Schiller
2024-06-07 11:18 ` Vladimir Oltean
2024-06-07 12:14 ` Martin Schiller
2024-06-06 8:52 ` [PATCH net-next 06/13] net: dsa: lantiq_gswip: Use dsa_is_cpu_port() in gswip_port_change_mtu() Martin Schiller
2024-06-07 11:21 ` Vladimir Oltean
2024-06-06 8:52 ` [PATCH net-next 07/13] net: dsa: lantiq_gswip: Change literal 6 to ETH_ALEN Martin Schiller
2024-06-07 11:22 ` Vladimir Oltean
2024-06-06 8:52 ` [PATCH net-next 08/13] net: dsa: lantiq_gswip: Consistently use macros for the mac bridge table Martin Schiller
2024-06-07 11:23 ` Vladimir Oltean
2024-06-06 8:52 ` [PATCH net-next 09/13] net: dsa: lantiq_gswip: Forbid gswip_add_single_port_br on the CPU port Martin Schiller
2024-06-07 11:26 ` Vladimir Oltean
2024-06-07 13:31 ` Martin Schiller
2024-06-07 13:49 ` Vladimir Oltean
2024-06-06 8:52 ` [PATCH net-next 10/13] net: dsa: lantiq_gswip: Fix error message in gswip_add_single_port_br() Martin Schiller
2024-06-07 11:27 ` Vladimir Oltean
2024-06-07 13:34 ` Martin Schiller
2024-06-07 13:50 ` Vladimir Oltean
2024-06-07 13:53 ` Martin Schiller
2024-06-06 8:52 ` [PATCH net-next 11/13] net: dsa: lantiq_gswip: Fix comments in gswip_port_vlan_filtering() Martin Schiller
2024-06-07 11:44 ` Vladimir Oltean
2024-06-07 13:43 ` Martin Schiller
2024-06-06 8:52 ` [PATCH net-next 12/13] net: dsa: lantiq_gswip: Add and use a GSWIP_TABLE_MAC_BRIDGE_FID macro Martin Schiller
2024-06-07 11:36 ` Vladimir Oltean
2024-06-07 14:27 ` Martin Schiller [this message]
2024-06-10 6:04 ` Martin Schiller
2024-06-06 8:52 ` [PATCH net-next 13/13] net: dsa: lantiq_gswip: Improve error message in gswip_port_fdb() Martin Schiller
2024-06-07 11:41 ` Vladimir Oltean
2024-06-07 13:51 ` Martin Schiller
2024-06-07 13:53 ` Vladimir Oltean
2024-06-06 19:35 ` [PATCH net-next 00/13] net: dsa: lantiq_gswip: code improvements Hauke Mehrtens
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=ae0811c79a126e9f034beccf37e61991@dev.tdt.de \
--to=ms@dev.tdt.de \
--cc=andrew@lunn.ch \
--cc=conor+dt@kernel.org \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=edumazet@google.com \
--cc=f.fainelli@gmail.com \
--cc=hauke@hauke-m.de \
--cc=krzk+dt@kernel.org \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=martin.blumenstingl@googlemail.com \
--cc=netdev@vger.kernel.org \
--cc=olteanv@gmail.com \
--cc=pabeni@redhat.com \
--cc=robh@kernel.org \
/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).