Commit f6e79231 authored by Michal Berger's avatar Michal Berger Committed by Tomasz Zawadzki
Browse files

scripts/qat_setup: Disable VF's driver autoprobe



This allows us to peacefully bind VFs to the target uio driver.
Also, move the qat_service before reload_intel_qat() to make sure
all drivers are in place (i.e. in case user unloaded all of them,
including intel_qat).

Change-Id: I314369480b832f52b6dfa4c7b7e811713f2149f1
Signed-off-by: default avatarMichal Berger <michal.berger@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/18527


Reviewed-by: default avatarArtur Paszkiewicz <artur.paszkiewicz@intel.com>
Reviewed-by: default avatarKrzysztof Karas <krzysztof.karas@intel.com>
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Reviewed-by: default avatarTomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: default avatarKonrad Sztyber <konrad.sztyber@intel.com>
parent 55152f06
Loading
Loading
Loading
Loading
+8 −5
Original line number Diff line number Diff line
@@ -60,6 +60,11 @@ reload_intel_qat() {
bad_driver=true
driver_to_bind=uio_pci_generic

# try starting the qat service. If this doesn't work, just treat it as a warning for now.
if ! service qat_service start; then
	echo "failed to start the qat service. Something may be wrong with your 01.org driver."
fi

reload_intel_qat

_qat_pci_bdfs=(
@@ -90,11 +95,6 @@ if $bad_driver; then
	exit 1
fi

# try starting the qat service. If this doesn't work, just treat it as a warning for now.
if ! service qat_service start; then
	echo "failed to start the qat service. Something may be wrong with your 01.org driver."
fi

expected_num_vfs=0 set_num_vfs=0
# configure virtual functions for the QAT cards.
for qat_bdf in "${qat_pci_bdfs[@]}"; do
@@ -102,6 +102,9 @@ for qat_bdf in "${qat_pci_bdfs[@]}"; do
		echo "(${qat_bdf##*/}) sriov_numvfs interface missing, is SR-IOV enabled?"
		continue
	fi
	# Make sure autoprobe is disabled for the VFs so we don't have to race with the
	# qat_*vf drivers while binding the devices.
	echo "0" > "/sys/bus/pci/drivers/$qat_bdf/sriov_drivers_autoprobe"
	num_vfs=$(< "/sys/bus/pci/drivers/$qat_bdf/sriov_totalvfs")
	echo "$num_vfs" > /sys/bus/pci/drivers/$qat_bdf/sriov_numvfs
	num_vfs_set=$(< "/sys/bus/pci/drivers/$qat_bdf/sriov_numvfs")