NTB: ntb_test: add parameter for doorbell bitmask
authorAllen Hubbe <Allen.Hubbe@dell.com>
Wed, 28 Dec 2016 00:12:28 +0000 (19:12 -0500)
committerJon Mason <jdmason@kudzu.us>
Thu, 6 Jul 2017 15:30:06 +0000 (11:30 -0400)
If the test attempts to clear doorbell bits that are invalid for the
hardware, then the test will fail.  Provide a parameter to specify the
doorbell bits to clear.  Set default doorbell bits that work for XEON.

Signed-off-by: Allen Hubbe <Allen.Hubbe@dell.com>
Acked-by: Logan Gunthorpe <logang@deltatee.com>
Signed-off-by: Jon Mason <jdmason@kudzu.us>
tools/testing/selftests/ntb/ntb_test.sh

index 1ee8ea350f65cea6afb916c3a18a2f8570ec8e21..1c12b5855e4f929c75706a4adf0d117931e29dec 100755 (executable)
@@ -18,6 +18,7 @@ LIST_DEVS=FALSE
 
 DEBUGFS=${DEBUGFS-/sys/kernel/debug}
 
+DB_BITMASK=0x7FFF
 PERF_RUN_ORDER=32
 MAX_MW_SIZE=0
 RUN_DMA_TESTS=
@@ -38,6 +39,7 @@ function show_help()
        echo "be highly recommended."
        echo
        echo "Options:"
+       echo "  -b BITMASK      doorbell clear bitmask for ntb_tool"
        echo "  -C              don't cleanup ntb modules on exit"
        echo "  -d              run dma tests"
        echo "  -h              show this help message"
@@ -52,8 +54,9 @@ function show_help()
 function parse_args()
 {
        OPTIND=0
-       while getopts "Cdhlm:r:p:w:" opt; do
+       while getopts "b:Cdhlm:r:p:w:" opt; do
                case "$opt" in
+               b)  DB_BITMASK=${OPTARG} ;;
                C)  DONT_CLEANUP=1 ;;
                d)  RUN_DMA_TESTS=1 ;;
                h)  show_help; exit 0 ;;
@@ -158,7 +161,7 @@ function doorbell_test()
 
        echo "Running db tests on: $(basename $LOC) / $(basename $REM)"
 
-       write_file "c 0xFFFFFFFF" "$REM/db"
+       write_file "c $DB_BITMASK" "$REM/db"
 
        for ((i=1; i <= 8; i++)); do
                let DB=$(read_file "$REM/db") || true