Hey, This is mostly a resend.
To reiterate the main points on the feedback: the switchtec driver, in the cross link mode, will not be able to implement the port number function callbacks and will have to always return 0. It's a physical impossibility due to the symmetry. Therefore, in order fix this feature (which worked when merged), the clients must be changed to support not knowing the port number in the way they worked previously (ie. a legacy mode where there will only be two ports and you know there will be two sets of doorbells, one for each peer). The majority of this patch set fixes these issues. The other point of controversy is the dma mask. I still strongly disagree with doing it in the driver as the code is clearly common to all and not at all driver specific. Moreover, I think as written, it is extra dangerous seeing all impleminting drivers are operating on the new struct device before it's initialized in ntb_register(). Patch 2 in this series also fixes that. Logan -- Changes since v1: - Rebased onto ntb-next (there was a minor conflict in a recent change to the intel driver) - Collected Dave's ack. -- Logan Gunthorpe (8): NTB: ntb_tool: reading the link file should not end in a NULL byte NTB: Setup the DMA mask globally for all drivers NTB: Fix the default port and peer numbers for legacy drivers NTB: ntb_pingpong: Choose doorbells based on port number NTB: perf: Don't require one more memory window than number of peers NTB: perf: Fix support for hardware that doesn't have port numbers NTB: perf: Fix race condition when run with ntb_test NTB: ntb_test: Fix bug when counting remote files drivers/ntb/hw/amd/ntb_hw_amd.c | 4 ---- drivers/ntb/hw/idt/ntb_hw_idt.c | 6 ------ drivers/ntb/hw/intel/ntb_hw_gen1.c | 4 ---- drivers/ntb/ntb.c | 22 ++++++++++++++-------- drivers/ntb/test/ntb_perf.c | 22 +++++++++++++++++++--- drivers/ntb/test/ntb_pingpong.c | 14 ++++++-------- drivers/ntb/test/ntb_tool.c | 3 +-- tools/testing/selftests/ntb/ntb_test.sh | 2 +- 8 files changed, 41 insertions(+), 36 deletions(-) -- 2.11.0

