Hi, This patch series adds support for the Switchtec Crosslink feature. Crosslink is similar to B2B in that it allows two switches to be connected back to back.
Two switches can already be connected between two hosts, however with this setup, there would be no symmetry as one switch would handle NTB and the other would just need to be a single partition switch. Our customers are looking for a completely symmetric solution such that a host or switch can be easily replaced without needing to worry about which half was replaced. Crosslink solves this problem by having each of the switches configured with two partitions. This results in a special host-less partition in the middle of the connection which can be managed in such a way as to forward all the traffic and still provide all the same NTB functionality. In this way, both hosts and switches can be identical. Please see Patch 6 for a bit more detailed description of how Crosslink works. Thanks, Logan Kelvin Cao (1): ntb_hw_switchtec: Allow using Switchtec NTB in multi-partition setups Logan Gunthorpe (6): ntb_hw_switchtec: Keep track of the number of LUT windows used by the driver ntb_hw_switchtec: Create helper function to setup reserved LUT MWs ntb_hw_switchtec: Make switchtec_ntb_init_req_id_table() more general ntb_hw_switchtec: Expand PFF CSR registers ntb_hw_switchtec: Add initialization code for crosslink ntb_hw_switchtec: Crosslink doorbells and messages drivers/ntb/hw/mscc/ntb_hw_switchtec.c | 494 +++++++++++++++++++++++++++------ include/linux/ntb.h | 15 +- include/linux/switchtec.h | 23 +- 3 files changed, 435 insertions(+), 97 deletions(-) -- 2.11.0