netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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)"?



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