RE: [EXT] Re: [V2 net-next] net: mvpp2: Add reserved port private flag configuration

From: Stefan Chulski
Date: Mon Mar 22 2021 - 12:00:46 EST

> > 2. CM3 code has very small footprint requirement, we cannot
> > implement the complete Serdes and PHY infrastructure that kernel
> > provides as part of CM3 application. Therefore I would like to
> > continue relying on kernel configuration for that.
> How can that work? How does Linux know when CM3 has up'ed the
> interface?

CM3 won't use this interface till ethtool priv flag was set, it can be done by communication over CM3 SRAM memory.

> How does CM3 know the status of the link?

CM3 has access to MAC registers and can read port status bit.

> How does CM3 set its
> flow control depending on what auto-neg determines, etc?

Same as PPv2 Packet Processor RX and TX flow don't really care about auto-neg, flow control, etc.
CM3 can ignore it, all this stuff handled in MAC layer. CM3 just polling RX descriptor ring and using TX ring for transmit.

> > 3. In some cases we need to dynamically switch the port "user"
> > between CM3 and kernel. So I would like to preserve this
> > functionality.
> And how do you synchronize between Linux and CM3 so you know how is
> using it and who cannot use it?
> Andrew

I can add CM3 SRAM update into ethtool priv flag callback, so CM3 won't use port till it was reserved to CM3.