Thread (41 messages) flat view 41 messages, 4 authors, 2021-10-10

Re: [net-next PATCH 09/13] net: dsa: qca8k: check rgmii also on port 6 if exchanged

From: Ansuel Smith <ansuelsmth@gmail.com>
Date: 2021-10-07 13:31:28
Also in: lkml, netdev

On Thu, Oct 07, 2021 at 02:24:08AM +0200, Andrew Lunn wrote:
On Thu, Oct 07, 2021 at 12:35:59AM +0200, Ansuel Smith wrote:
quoted
Port 0 can be exchanged with port6. Handle this special case by also
checking the port6 if present.
This is messy.

The DSA core has no idea the ports have been swapped, so the interface
names are going to be taken from DT unswaped. Now you appear to be
taking phy-mode from the other port in DT. That is inconsistent. All
the configuration for a port should come from the same place, nothing
gets swapped. Or everything needs to swap, which means you need to
change the DSA core.

    Andrew
The swap is internal. So from the dts side we still use port0 as port0,
it's just swapped internally in the switch.
The change here is required as this scan the rgmii delay and sets the
value to be set later in the phylink mac config.
We currently assume that only one cpu port is supported and that can be
sgmii or rgmii. This specific switch have 2 cpu port and we can have one
config with cpu port0 set to sgmii and cpu port6 set to rgmii-id.
This patch is to address this and to add the delay function to scan also
for the secondary cpu port. (again the real value will be set in the mac
config function)
Honestly i think we should just rework this and move the delay logic
directly in the mac_config function and scan there directly. What do you
think? That way we should be able to generalize this and drop the extra
if.

-- 
	Ansuel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help