On 6/22/2017 4:42 PM, Allen Hubbe wrote:
From: Logan Gunthorpe
Any thoughts on changing the semantics of mw_get_align so it must be
called with the link up?

The intention of these is that these calls return information from the local 
port.  The calls themselves don't reach across the link to the peer, but the 
information returned from the local port needs to be communicated for setting 
up the translation end-to-end.

Ok, well if it's from the local port, then splitting up mw_get_range into peer_mw_get_addr and mw_get_align is confusing because one has the peer designation and the other doesn't. And all the clients apply the alignments to the remote bar so they'd technically need to transfer them across the link somehow.

I would like to understand why this hardware needs link up.  Are there 
registers on the local port that are only valid after link up?

We only need the link up if we are trying to find the alignment requirements (and max_size) of the peer's bar. In theory, switchtec could have different sizes of bars on both sides of the link and different alignment requirements. Though, in practice, this is probably unlikely.

Can you post snippets of how ntb_mw_get_align and ntb_peer_mw_get_addr might be 
implemented for the Switchtec?

Hmm, yes, but lets sort out my confusion on the semantics per above first.

Logan

Reply via email to