Message ID | 20230911220920.1817033-6-Frank.Li@nxp.com (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Manivannan Sadhasivam |
Headers | show |
Series | Add RC-to-EP doorbell with platform MSI controller | expand |
On Mon, Sep 11, 2023 at 06:09:20PM -0400, Frank Li wrote: > Add doorbell test support. > > Signed-off-by: Frank Li <Frank.Li@nxp.com> > --- > tools/pci/pcitest.c | 16 +++++++++++++++- > 1 file changed, 15 insertions(+), 1 deletion(-) > > diff --git a/tools/pci/pcitest.c b/tools/pci/pcitest.c > index 441b542346354..215d0aa8a09fe 100644 > --- a/tools/pci/pcitest.c > +++ b/tools/pci/pcitest.c > @@ -36,6 +36,7 @@ struct pci_test { > bool copy; > unsigned long size; > bool use_dma; > + bool doorbell; > }; > > static int run_test(struct pci_test *test) > @@ -149,6 +150,15 @@ static int run_test(struct pci_test *test) > fprintf(stdout, "%s\n", result[ret]); > } > > + if (test->doorbell) { > + ret = ioctl(fd, PCITEST_DOORBELL, 0); > + fprintf(stdout, "Push doorbell\t\t"); "Ringing doorbell on the EP". - Mani > + if (ret < 0) > + fprintf(stdout, "TEST FAILED\n"); > + else > + fprintf(stdout, "%s\n", result[ret]); > + } > + > fflush(stdout); > close(fd); > return (ret < 0) ? ret : 1 - ret; /* return 0 if test succeeded */ > @@ -174,7 +184,7 @@ int main(int argc, char **argv) > /* set default endpoint device */ > test->device = "/dev/pci-endpoint-test.0"; > > - while ((c = getopt(argc, argv, "D:b:m:x:i:deIlhrwcs:")) != EOF) > + while ((c = getopt(argc, argv, "D:b:m:x:i:BdeIlhrwcs:")) != EOF) > switch (c) { > case 'D': > test->device = optarg; > @@ -224,6 +234,9 @@ int main(int argc, char **argv) > case 'd': > test->use_dma = true; > continue; > + case 'B': > + test->doorbell = true; > + continue; > case 'h': > default: > usage: > @@ -243,6 +256,7 @@ int main(int argc, char **argv) > "\t-w Write buffer test\n" > "\t-c Copy buffer test\n" > "\t-s <size> Size of buffer {default: 100KB}\n" > + "\t-B Doorbell test\n" > "\t-h Print this help message\n", > argv[0]); > return -EINVAL; > -- > 2.34.1 >
diff --git a/tools/pci/pcitest.c b/tools/pci/pcitest.c index 441b542346354..215d0aa8a09fe 100644 --- a/tools/pci/pcitest.c +++ b/tools/pci/pcitest.c @@ -36,6 +36,7 @@ struct pci_test { bool copy; unsigned long size; bool use_dma; + bool doorbell; }; static int run_test(struct pci_test *test) @@ -149,6 +150,15 @@ static int run_test(struct pci_test *test) fprintf(stdout, "%s\n", result[ret]); } + if (test->doorbell) { + ret = ioctl(fd, PCITEST_DOORBELL, 0); + fprintf(stdout, "Push doorbell\t\t"); + if (ret < 0) + fprintf(stdout, "TEST FAILED\n"); + else + fprintf(stdout, "%s\n", result[ret]); + } + fflush(stdout); close(fd); return (ret < 0) ? ret : 1 - ret; /* return 0 if test succeeded */ @@ -174,7 +184,7 @@ int main(int argc, char **argv) /* set default endpoint device */ test->device = "/dev/pci-endpoint-test.0"; - while ((c = getopt(argc, argv, "D:b:m:x:i:deIlhrwcs:")) != EOF) + while ((c = getopt(argc, argv, "D:b:m:x:i:BdeIlhrwcs:")) != EOF) switch (c) { case 'D': test->device = optarg; @@ -224,6 +234,9 @@ int main(int argc, char **argv) case 'd': test->use_dma = true; continue; + case 'B': + test->doorbell = true; + continue; case 'h': default: usage: @@ -243,6 +256,7 @@ int main(int argc, char **argv) "\t-w Write buffer test\n" "\t-c Copy buffer test\n" "\t-s <size> Size of buffer {default: 100KB}\n" + "\t-B Doorbell test\n" "\t-h Print this help message\n", argv[0]); return -EINVAL;
Add doorbell test support. Signed-off-by: Frank Li <Frank.Li@nxp.com> --- tools/pci/pcitest.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-)