diff mbox series

[v3,10/10] tools: update test_hmm script to support SP config

Message ID 20220110223201.31024-11-alex.sierra@amd.com (mailing list archive)
State New, archived
Headers show
Series Add MEMORY_DEVICE_COHERENT for coherent device memory mapping | expand

Commit Message

Sierra Guiza, Alejandro (Alex) Jan. 10, 2022, 10:32 p.m. UTC
Add two more parameters to set spm_addr_dev0 & spm_addr_dev1
addresses. These two parameters configure the start SP
addresses for each device in test_hmm driver.
Consequently, this configures zone device type as coherent.

Signed-off-by: Alex Sierra <alex.sierra@amd.com>
---
v2:
Add more mknods for device coherent type. These are represented under
/dev/hmm_mirror2 and /dev/hmm_mirror3, only in case they have created
at probing the hmm-test driver.
---
 tools/testing/selftests/vm/test_hmm.sh | 24 +++++++++++++++++++++---
 1 file changed, 21 insertions(+), 3 deletions(-)

Comments

Alistair Popple Jan. 20, 2022, 6:17 a.m. UTC | #1
Looks good,

Reviewed-by: Alistair Popple <apopple@nvidia.com>

On Tuesday, 11 January 2022 9:32:01 AM AEDT Alex Sierra wrote:
> Add two more parameters to set spm_addr_dev0 & spm_addr_dev1
> addresses. These two parameters configure the start SP
> addresses for each device in test_hmm driver.
> Consequently, this configures zone device type as coherent.
> 
> Signed-off-by: Alex Sierra <alex.sierra@amd.com>
> ---
> v2:
> Add more mknods for device coherent type. These are represented under
> /dev/hmm_mirror2 and /dev/hmm_mirror3, only in case they have created
> at probing the hmm-test driver.
> ---
>  tools/testing/selftests/vm/test_hmm.sh | 24 +++++++++++++++++++++---
>  1 file changed, 21 insertions(+), 3 deletions(-)
> 
> diff --git a/tools/testing/selftests/vm/test_hmm.sh b/tools/testing/selftests/vm/test_hmm.sh
> index 0647b525a625..539c9371e592 100755
> --- a/tools/testing/selftests/vm/test_hmm.sh
> +++ b/tools/testing/selftests/vm/test_hmm.sh
> @@ -40,11 +40,26 @@ check_test_requirements()
>  
>  load_driver()
>  {
> -	modprobe $DRIVER > /dev/null 2>&1
> +	if [ $# -eq 0 ]; then
> +		modprobe $DRIVER > /dev/null 2>&1
> +	else
> +		if [ $# -eq 2 ]; then
> +			modprobe $DRIVER spm_addr_dev0=$1 spm_addr_dev1=$2
> +				> /dev/null 2>&1
> +		else
> +			echo "Missing module parameters. Make sure pass"\
> +			"spm_addr_dev0 and spm_addr_dev1"
> +			usage
> +		fi
> +	fi
>  	if [ $? == 0 ]; then
>  		major=$(awk "\$2==\"HMM_DMIRROR\" {print \$1}" /proc/devices)
>  		mknod /dev/hmm_dmirror0 c $major 0
>  		mknod /dev/hmm_dmirror1 c $major 1
> +		if [ $# -eq 2 ]; then
> +			mknod /dev/hmm_dmirror2 c $major 2
> +			mknod /dev/hmm_dmirror3 c $major 3
> +		fi
>  	fi
>  }
>  
> @@ -58,7 +73,7 @@ run_smoke()
>  {
>  	echo "Running smoke test. Note, this test provides basic coverage."
>  
> -	load_driver
> +	load_driver $1 $2
>  	$(dirname "${BASH_SOURCE[0]}")/hmm-tests
>  	unload_driver
>  }
> @@ -75,6 +90,9 @@ usage()
>  	echo "# Smoke testing"
>  	echo "./${TEST_NAME}.sh smoke"
>  	echo
> +	echo "# Smoke testing with SPM enabled"
> +	echo "./${TEST_NAME}.sh smoke <spm_addr_dev0> <spm_addr_dev1>"
> +	echo
>  	exit 0
>  }
>  
> @@ -84,7 +102,7 @@ function run_test()
>  		usage
>  	else
>  		if [ "$1" = "smoke" ]; then
> -			run_smoke
> +			run_smoke $2 $3
>  		else
>  			usage
>  		fi
>
diff mbox series

Patch

diff --git a/tools/testing/selftests/vm/test_hmm.sh b/tools/testing/selftests/vm/test_hmm.sh
index 0647b525a625..539c9371e592 100755
--- a/tools/testing/selftests/vm/test_hmm.sh
+++ b/tools/testing/selftests/vm/test_hmm.sh
@@ -40,11 +40,26 @@  check_test_requirements()
 
 load_driver()
 {
-	modprobe $DRIVER > /dev/null 2>&1
+	if [ $# -eq 0 ]; then
+		modprobe $DRIVER > /dev/null 2>&1
+	else
+		if [ $# -eq 2 ]; then
+			modprobe $DRIVER spm_addr_dev0=$1 spm_addr_dev1=$2
+				> /dev/null 2>&1
+		else
+			echo "Missing module parameters. Make sure pass"\
+			"spm_addr_dev0 and spm_addr_dev1"
+			usage
+		fi
+	fi
 	if [ $? == 0 ]; then
 		major=$(awk "\$2==\"HMM_DMIRROR\" {print \$1}" /proc/devices)
 		mknod /dev/hmm_dmirror0 c $major 0
 		mknod /dev/hmm_dmirror1 c $major 1
+		if [ $# -eq 2 ]; then
+			mknod /dev/hmm_dmirror2 c $major 2
+			mknod /dev/hmm_dmirror3 c $major 3
+		fi
 	fi
 }
 
@@ -58,7 +73,7 @@  run_smoke()
 {
 	echo "Running smoke test. Note, this test provides basic coverage."
 
-	load_driver
+	load_driver $1 $2
 	$(dirname "${BASH_SOURCE[0]}")/hmm-tests
 	unload_driver
 }
@@ -75,6 +90,9 @@  usage()
 	echo "# Smoke testing"
 	echo "./${TEST_NAME}.sh smoke"
 	echo
+	echo "# Smoke testing with SPM enabled"
+	echo "./${TEST_NAME}.sh smoke <spm_addr_dev0> <spm_addr_dev1>"
+	echo
 	exit 0
 }
 
@@ -84,7 +102,7 @@  function run_test()
 		usage
 	else
 		if [ "$1" = "smoke" ]; then
-			run_smoke
+			run_smoke $2 $3
 		else
 			usage
 		fi