There are devices, like IDT PCIe-switches, which have more than just two ports. Particularly one device can have up to eight ports with NTB-function activated. In order to support such devices, NTB kernel API should be altered since currently it's optimized to work with two-ports devices only.
Changelog v2: - Move comments from cover letter to individual patches - Combine patches to make code buildable - Alter patchset to support Intel SKX driver - Make sure all the API uses the same midx/widx/pidx/sidx arguments notation - Move new MW API usage description into Documention - Alter Spad/Msg API checking valid function to make spad and msg interfaces optional - Alter comments in ntb.h - Split: add NTB_SPEED_GEN4 and ntb.h comments into separate patches - Put copyrights into some of the existing patches - Get rid of TOPO updates Signed-off-by: Serge Semin <fancer.lan...@gmail.com> Serge Semin (9): NTB: Make link-state API being declared first NTB: Add indexed ports NTB API NTB: Alter link-state API to support multi-port devices NTB: Alter MW API to support multi-ports devices NTB: Alter Scratchpads API to support multi-ports devices NTB: Add Messaging NTB API NTB: Add new Memory Windows API documentation NTB: Add PCIe Gen4 link speed NTB: Add ntb.h comments Documentation/ntb.txt | 99 +++++- drivers/ntb/hw/amd/ntb_hw_amd.c | 291 ++++++++++------ drivers/ntb/hw/amd/ntb_hw_amd.h | 11 + drivers/ntb/hw/intel/ntb_hw_intel.c | 296 +++++++++++------ drivers/ntb/hw/intel/ntb_hw_intel.h | 11 + drivers/ntb/ntb.c | 15 + drivers/ntb/ntb_transport.c | 44 ++- drivers/ntb/test/ntb_perf.c | 27 +- drivers/ntb/test/ntb_pingpong.c | 14 +- drivers/ntb/test/ntb_tool.c | 93 ++++-- include/linux/ntb.h | 639 ++++++++++++++++++++++++++++++------ 11 files changed, 1173 insertions(+), 367 deletions(-) -- 2.6.6