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 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.