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

Stefan.

Reply via email to