VisionFive2 Linux kernel

StarFive Tech Linux Kernel for VisionFive (JH7110) boards (mirror)

More than 9999 Commits   33 Branches   55 Tags
author: Logan Gunthorpe <logang@deltatee.com> 2019-01-09 12:22:31 -0700 committer: Jon Mason <jdmason@kudzu.us> 2020-06-05 20:02:09 -0400 commit: b54369a248c2e033bfcf5d6917e08cf9d73d54a6 parent: a9c4211ac918ade1522aced6b5acfbe824722f7d
Commit Summary:
NTB: perf: Fix support for hardware that doesn't have port numbers
Diffstat:
1 file changed, 10 insertions, 0 deletions
diff --git a/drivers/ntb/test/ntb_perf.c b/drivers/ntb/test/ntb_perf.c
index ec87a28ae239..e38dc695d57f 100644
--- a/drivers/ntb/test/ntb_perf.c
+++ b/drivers/ntb/test/ntb_perf.c
@@ -1453,6 +1453,16 @@ static int perf_init_peers(struct perf_ctx *perf)
 	if (perf->gidx == -1)
 		perf->gidx = pidx;
 
+	/*
+	 * Hardware with only two ports may not have unique port
+	 * numbers. In this case, the gidxs should all be zero.
+	 */
+	if (perf->pcnt == 1 &&  ntb_port_number(perf->ntb) == 0 &&
+	    ntb_peer_port_number(perf->ntb, 0) == 0) {
+		perf->gidx = 0;
+		perf->peers[0].gidx = 0;
+	}
+
 	for (pidx = 0; pidx < perf->pcnt; pidx++) {
 		ret = perf_setup_peer_mw(&perf->peers[pidx]);
 		if (ret)