Re: [PATCH net v2 2/7] net: dsa: mt7530: fix trapping frames with multiple CPU ports on MT7530

From: Arınç ÜNAL
Date: Tue Jun 13 2023 - 14:47:43 EST


On 13.06.2023 21:29, Russell King (Oracle) wrote:
On Tue, Jun 13, 2023 at 08:58:33PM +0300, Arınç ÜNAL wrote:
On 13.06.2023 20:39, Vladimir Oltean wrote:
On Tue, Jun 13, 2023 at 08:30:28PM +0300, Arınç ÜNAL wrote:
That fixes port 5 on certain variants of the MT7530 switch, as it was
already working on the other variants, which, in conclusion, fixes port 5 on
all MT7530 variants.

Ok. I didn't pay enough attention to the commit message.

And no, trapping works. Having only CPU port 5 defined on the devicetree
will cause the CPU_PORT bits to be set to port 5. There's only a problem
when multiple CPU ports are defined.

Got it. Then this is really not a problem, and the commit message frames
it incorrectly.

Actually this patch fixes the issue it describes. At the state of this
patch, when multiple CPU ports are defined, port 5 is the active CPU port,
CPU_PORT bits are set to port 6.

Maybe it's just me being dumb, but I keep finding things difficult to
understand, such as the above paragraph.

It sounds like you're saying that _before_ this patch, port 5 is the
active CPU port, but the CPU_PORT *FIELD* NOT BITS are set such that
port 6 is the active CPU port. Therefore, things are broken, and this
patch fixes it.

Yes, CPU_PORT field, and yes this patch fixes the issue by setting the field to 5 when multiple CPU ports are used. Because before this patch, the active CPU port is 5. The CPU_PORT field must match this.


Or are you saying that after this patch is applied, port 5 is the
active CPU port, but the CPU_PORT *FIELD* is set to port 6. If that's
true, then I've no idea what the hell is going on here because it
seems to be senseless.

No, when the "prefer port 6" patch is applied, the active CPU port will be port 6.

The CPU_PORT field will always be set to 6, regardless of "net: dsa: mt7530: fix trapping frames with multiple CPU ports on MT7530". Therefore, the "prefer port 6" patch makes "net: dsa: mt7530: fix trapping frames with multiple CPU ports on MT7530" redundant.

"net: dsa: mt7530: fix trapping frames with multiple CPU ports on MT7530" becomes important after the changing the DSA conduit support is introduced.


I think at this point I just give up trying to understand what the
hell these patches are trying to do - in my opinion, the commit
messages are worded attrociously and incomprehensively.

If that's how you feel, you can tune in to v5 where I will address the patch logs.

Arınç