diff --git a/centos_pkg_dirs b/centos_pkg_dirs index 914d8d7..272e6a7 100644 --- a/centos_pkg_dirs +++ b/centos_pkg_dirs @@ -14,5 +14,4 @@ tpmdd integrity drbd drbd-tools -qat17 mariadb diff --git a/centos_pkg_dirs_rt b/centos_pkg_dirs_rt index ebc9ac4..64fb224 100644 --- a/centos_pkg_dirs_rt +++ b/centos_pkg_dirs_rt @@ -1,4 +1,3 @@ -qat17 drbd tpmdd integrity diff --git a/qat17/PKG-INFO b/qat17/PKG-INFO deleted file mode 100644 index bc5b2fa..0000000 --- a/qat17/PKG-INFO +++ /dev/null @@ -1,13 +0,0 @@ -Metadata-Version: 1.1 -Name: qat17 -Version: 1.0 -Summary: Intel(r) QuickAssist Technology API -Home-page: https://01.org/packet-processing/intel%C2%AE-quickassist-technology-drivers-and-patches -Author: -Author-email: -License: GPLv2 - -Description: Intel(r) QuickAssist Technology API - - -Platform: UNKNOWN diff --git a/qat17/centos/build_srpm.data b/qat17/centos/build_srpm.data deleted file mode 100644 index 33c3c5a..0000000 --- a/qat17/centos/build_srpm.data +++ /dev/null @@ -1,6 +0,0 @@ -COPY_LIST=" \ - $PKG_BASE/files/* \ - $STX_BASE/downloads/qat1.7.upstream.l.1.0.3-42.tar.gz \ -" -TIS_PATCH_VER=4 -BUILD_IS_SLOW=3 diff --git a/qat17/centos/qat17.spec b/qat17/centos/qat17.spec deleted file mode 100644 index a96458f..0000000 --- a/qat17/centos/qat17.spec +++ /dev/null @@ -1,134 +0,0 @@ -%if "%{?_tis_build_type}" == "rt" -%define bt_ext -rt -%else -%undefine bt_ext -%endif - -Summary: Intel(r) QuickAssist Technology API -%define pkgname qat17 -Name: %{pkgname}%{?bt_ext} -Version: 1.0.3 -%define upstream_release 42 -Release: %{upstream_release}%{?_tis_dist}.%{tis_patch_ver} -License: GPLv2 -Group: base -Packager: Wind River -URL: https://01.org/packet-processing/intel%C2%AE-quickassist-technology-drivers-and-patches - -BuildRequires: kernel%{?bt_ext}-devel -BuildRequires: zlib-devel -BuildRequires: openssl-devel -BuildRequires: pciutils -BuildRequires: libudev-devel -BuildRequires: boost-devel -BuildRequires: perl -BuildRequires: openssl - -%define icp_tools accelcomp -%define kernel_version %(rpm -q kernel%{?bt_ext}-devel | sed 's/kernel%{?bt_ext}-devel-//') -%define staging_kernel_dir /usr/src/kernels/%{kernel_version}/ -%define qat_unpack_dir %{_builddir}/%{name}-%{version} -%define qat_src_dir %{qat_unpack_dir} - -Source: qat1.7.upstream.l.%{version}-%{upstream_release}.tar.gz -Source1: qat -# Use our own service script rather than massively patching theirs -Source2: qat_service - -Patch1: 0001-Install-config-file-for-each-VF.patch -Patch2: Get-and-report-the-return-code-on-firmware-load-fail.patch - -%description -Intel(r) QuickAssist Technology API - -%prep -rm -rf %{qat_unpack_dir} -mkdir -p %{qat_unpack_dir} -cd %{qat_unpack_dir} - -gzip -dc %{_sourcedir}/qat1.7.upstream.l.%{version}-%{upstream_release}.tar.gz | tar -xvvf - -if [ $? -ne 0 ]; then - exit $? -fi - -%patch1 -p1 -%patch2 -p1 - -%build - -ICP_ROOT=%{qat_src_dir} -KERNEL_SOURCE_ROOT=%{staging_kernel_dir} -mkdir -p %{qat_src_dir}/build -ICP_BUILD_OUTPUT=%{qat_src_dir}/build -export ICP_ROOT KERNEL_SOURCE_ROOT ICP_BUILD_OUTPUT - -cd %{qat_src_dir} -%configure - -make -C %{qat_src_dir}/ - -# intel test sample -make -C %{qat_src_dir}/ sample-all - -%install - -%{__install} -d %{buildroot}%{_sysconfdir}/default -%{__install} -m 750 %SOURCE1 %{buildroot}%{_sysconfdir}/default - -%{__install} -d %{buildroot}%{_sysconfdir}/modprobe.d - -%{__install} -d %{buildroot}%{_sysconfdir}/qat/conf_files -%{__install} -m 640 %{qat_src_dir}/build/*.conf %{buildroot}%{_sysconfdir}/qat/conf_files -%{__install} -m 640 %{qat_src_dir}/build/*.vm %{buildroot}%{_sysconfdir}/qat/conf_files - -%{__install} -d %{buildroot}%{_sbindir} -%{__install} -m 750 %{qat_src_dir}/build/adf_ctl %{buildroot}%{_sbindir} - -%{__install} -d %{buildroot}%{_sysconfdir}/init.d -%{__install} -m 750 %SOURCE2 %{buildroot}%{_sysconfdir}/init.d/qat_service - -%{__install} -d %{buildroot}%{_libdir} -%{__install} -m 750 %{qat_src_dir}/build/*.so %{buildroot}%{_libdir} - -%{__install} -d %{buildroot}/lib/modules/%{kernel_version}/kernel/drivers/crypto/qat/ -%{__install} -m 750 %{qat_src_dir}/build/*qat*.ko %{buildroot}/lib/modules/%{kernel_version}/kernel/drivers/crypto/qat/ -%{__install} -m 750 %{qat_src_dir}/build/usdm_drv.ko %{buildroot}/lib/modules/%{kernel_version}/kernel/drivers/crypto/qat - -# intel test sample -%{__install} -d %{buildroot}/usr/lib/firmware -%{__install} -m 750 %{qat_src_dir}/build/cpa_sample_code %{buildroot}%{_sbindir}/cpa_sample_code -%{__install} -m 640 %{qat_src_dir}/quickassist/lookaside/access_layer/src/sample_code/performance/compression/calgary %{buildroot}/usr/lib/firmware -%{__install} -m 640 %{qat_src_dir}/quickassist/lookaside/access_layer/src/sample_code/performance/compression/calgary32 %{buildroot}/usr/lib/firmware -%{__install} -m 640 %{qat_src_dir}/quickassist/lookaside/access_layer/src/sample_code/performance/compression/canterbury %{buildroot}/usr/lib/firmware - -# device firmware -# install to the updates directory so this firmware will get grabbed ahead of -# anything supplied by the linux-firmware package -%{__install} -d %{buildroot}/usr/lib/firmware/updates -%{__install} -m 640 %{qat_src_dir}/build/*.bin %{buildroot}/usr/lib/firmware/updates - -# Strip the modules(s). -find %{buildroot} -type f -name \*.ko -exec %{__strip} --strip-debug \{\} \; - -# Always Sign the modules(s). -# If the module signing keys are not defined, define them here. -%{!?privkey: %define privkey /usr/src/kernels/%{kernel_version}/signing_key.priv} -%{!?pubkey: %define pubkey /usr/src/kernels/%{kernel_version}/signing_key.x509} -for module in $(find %{buildroot} -type f -name \*.ko); -do %{__perl} /usr/src/kernels/%{kernel_version}/scripts/sign-file \ - sha256 %{privkey} %{pubkey} $module; -done - -%clean -%{__rm} -rf %{buildroot} - -%files -"%{_sbindir}/*" -"%{_sysconfdir}/default/qat" -"%{_sysconfdir}/init.d/qat_service" -"/lib/modules/%{kernel_version}/kernel/drivers/crypto/qat/*.ko" -"%{_libdir}/*.so" -"/usr/lib/firmware/*" -"/usr/lib/firmware/updates/*" -"%{_sysconfdir}/qat/*" -"%{_sysconfdir}/qat/conf_files/*" diff --git a/qat17/files/0001-Install-config-file-for-each-VF.patch b/qat17/files/0001-Install-config-file-for-each-VF.patch deleted file mode 100644 index 2ae8686..0000000 --- a/qat17/files/0001-Install-config-file-for-each-VF.patch +++ /dev/null @@ -1,118 +0,0 @@ -From ab216edc24f2fb9d8c28662f069b027c6479d277 Mon Sep 17 00:00:00 2001 -From: eric zhang -Date: Fri, 17 Nov 2017 15:41:35 -0500 -Subject: [PATCH 1/1] Install config file for each VF - -Signed-off-by: eric zhang ---- - quickassist/build_system/build_files/qat_service | 60 +++++++++++++++++++++--- - 1 file changed, 54 insertions(+), 6 deletions(-) - -diff --git a/quickassist/build_system/build_files/qat_service b/quickassist/build_system/build_files/qat_service -index 168413b..8e2b838 100755 ---- a/quickassist/build_system/build_files/qat_service -+++ b/quickassist/build_system/build_files/qat_service -@@ -65,6 +65,12 @@ C3XX_DEVICE_PCI_ID_VM="19e3" - D15XX_DEVICE_PCI_ID="6f54" - D15XX_DEVICE_PCI_ID_VM="6f55" - -+QAT_DH895XCC_NUM_VFS=32 -+QAT_DHC62X_NUM_VFS=16 -+QAT_DHD15XX_NUM_VFS=16 -+QAT_DHC3XXX_NUM_VFS=16 -+ -+ - usage() { - echo - echo -------------------------------------------------------- -@@ -84,7 +90,7 @@ echo -------------------------------------------------------- - exit 1 - } - --ADF_CTL=/usr/sbin/adf_ctl -+ADF_CTL=/usr/bin/adf_ctl - - # store the total number of each type of device - numDh895xDevicesPF=$(lspci -n | egrep -c "$INTEL_VENDORID:$DH895_DEVICE_PCI_ID") -@@ -193,15 +199,57 @@ case $1 in - - if [ $DO_ENABLE_SRIOV == 1 ]; then - echo enable sriov -+ -+ if [ $numDh895xDevicesPF != 0 ];then -+ for (( dev=0; dev<$numDh895xDevicesPF; dev++ )) -+ do -+ for (( vf_dev = 0; vf_dev < $QAT_DH895XCC_NUM_VFS; vf_dev++ )) -+ do -+ vf_dev_num=$(($dev * $numDh895xDevicesPF + $vf_dev)) -+ cp /etc/qat/dh895xccvf_dev0.conf.vm /etc/dh895xccvf_dev$vf_dev_num.conf -+ done -+ done -+ fi -+ if [ $numC62xDevicesPF != 0 ];then -+ for (( dev=0; dev<$numC62xDevicesPF; dev++ )) -+ do -+ for (( vf_dev = 0; vf_dev<$QAT_DHC62X_NUM_VFS; vf_dev++ )) -+ do -+ vf_dev_num=$(($dev * $numC62xDevicesPF + $vf_dev)) -+ cp /etc/qat/c6xxvf_dev0.conf.vm /etc/c6xxvf_dev$vf_dev_num.conf -+ done -+ done -+ fi -+ if [ $numC3xxDevicesPF != 0 ];then -+ for (( dev=0; dev<$numC3xxDevicesPF; dev++ )) -+ do -+ for (( vf_dev = 0; vf_dev<$QAT_DHC3XXX_NUM_VFS; vf_dev++ )) -+ do -+ vf_dev_num=$(($dev * $numC3xxDevicesPF + $vf_dev)) -+ cp /etc/qat/c3xxvf_dev0.conf.vm /etc/c3xxvf_dev$vf_dev_num.conf -+ done -+ done -+ fi -+ if [ $numD15xxDevicesPF != 0 ];then -+ for (( dev=0; dev<$numD15xxDevicesPF; dev++ )) -+ do -+ for (( vf_dev = 0; vf_dev<$QAT_DHD15XX_NUM_VFS; vf_dev++ )) -+ do -+ vf_dev_num=$(($dev * $numD15xxDevicesPF + $vf_dev)) -+ cp /etc/qat/D15xxvf_dev0.conf.vm /etc/D15xxvf_dev$vf_dev_num.conf -+ done -+ done -+ fi -+ - enable_sriov $2 - fi - - # Show device status -- /usr/sbin/adf_ctl $2 status -+ /usr/bin/adf_ctl $2 status - ;; - - Shutdown|shutdown) -- /usr/sbin/adf_ctl down -+ /usr/bin/adf_ctl down - modprobe -q -r usdm_drv - modprobe -q -r qat_dh895xccvf - modprobe -q -r qat_c62xvf -@@ -215,15 +263,15 @@ case $1 in - ;; - - Stop|stop) -- /usr/sbin/adf_ctl $2 down -+ /usr/bin/adf_ctl $2 down - ;; - - Restart|restart) -- /usr/sbin/adf_ctl $2 down && /usr/sbin/adf_ctl $2 up -+ /usr/bin/adf_ctl $2 down && /usr/bin/adf_ctl $2 up - ;; - - Status|status) -- /usr/sbin/adf_ctl status -+ /usr/bin/adf_ctl status - if [ "$?" -ne 0 ] - then - echo "No devices found. Please start the driver using:" --- -1.8.3.1 - diff --git a/qat17/files/Get-and-report-the-return-code-on-firmware-load-fail.patch b/qat17/files/Get-and-report-the-return-code-on-firmware-load-fail.patch deleted file mode 100644 index 0fa7bb2..0000000 --- a/qat17/files/Get-and-report-the-return-code-on-firmware-load-fail.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 996bdb87cbaab4d8f498ec7897c38bc9d19e29e7 Mon Sep 17 00:00:00 2001 -Message-Id: <996bdb87cbaab4d8f498ec7897c38bc9d19e29e7.1511969785.git.Jim.Somerville@windriver.com> -From: Jim Somerville -Date: Wed, 29 Nov 2017 10:36:12 -0500 -Subject: [PATCH 1/1] Get and report the return code on firmware load failure - -Signed-off-by: Jim Somerville ---- - .../qat/drivers/crypto/qat/qat_common/adf_accel_engine.c | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - -diff --git a/quickassist/qat/drivers/crypto/qat/qat_common/adf_accel_engine.c b/quickassist/qat/drivers/crypto/qat/qat_common/adf_accel_engine.c -index 6d96fd6..522cbf0 100644 ---- a/quickassist/qat/drivers/crypto/qat/qat_common/adf_accel_engine.c -+++ b/quickassist/qat/drivers/crypto/qat/qat_common/adf_accel_engine.c -@@ -57,6 +57,7 @@ int adf_ae_fw_load(struct adf_accel_dev *accel_dev) - struct adf_hw_device_data *hw_device = accel_dev->hw_device; - void *uof_addr, *mmp_addr; - u32 uof_size, mmp_size; -+ int rc; - #ifdef QAT_UIO - struct adf_accel_pci *pci_info = &accel_dev->accel_pci_dev; - unsigned long storage_enabled = 0; -@@ -72,10 +73,11 @@ int adf_ae_fw_load(struct adf_accel_dev *accel_dev) - if (!hw_device->fw_name) - return 0; - -- if (request_firmware(&loader_data->mmp_fw, hw_device->fw_mmp_name, -- &accel_dev->accel_pci_dev.pci_dev->dev)) { -- dev_err(&GET_DEV(accel_dev), "Failed to load MMP firmware %s\n", -- hw_device->fw_mmp_name); -+ rc = request_firmware(&loader_data->mmp_fw, hw_device->fw_mmp_name, -+ &accel_dev->accel_pci_dev.pci_dev->dev); -+ if (rc) { -+ dev_err(&GET_DEV(accel_dev), "Failed to load MMP firmware %s rc=%d\n", -+ hw_device->fw_mmp_name, rc); - return -EFAULT; - } - if (request_firmware(&loader_data->uof_fw, hw_device->fw_name, --- -1.8.3.1 - diff --git a/qat17/files/qat b/qat17/files/qat deleted file mode 100644 index e2447c0..0000000 --- a/qat17/files/qat +++ /dev/null @@ -1 +0,0 @@ -SRIOV_ENABLE=1 diff --git a/qat17/files/qat_service b/qat17/files/qat_service deleted file mode 100755 index 49a1c03..0000000 --- a/qat17/files/qat_service +++ /dev/null @@ -1,320 +0,0 @@ -#!/bin/bash -################################################################# -# -# BSD LICENSE -# -# Copyright(c) 2007-2016 Intel Corporation. All rights reserved. -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# * Neither the name of Intel Corporation nor the names of its -# contributors may be used to endorse or promote products derived -# from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# -# version: QAT1.7.Upstream.L.1.0.3-42 -# -################################################################# -# -### BEGIN INIT INFO -# Provides: QAT -# Required-Start: $ALL -# Required-Stop: -# Default-Start: 2 3 5 -# Default-Stop: 0 1 4 6 -# Description: Intel QAT service -### END INIT INFO -# -# qat_service Start/Stop the Intel QAT. -# -# chkconfig: 345 99 99 -# description: modprobe the QAT modules, which loads dependant \ -# modules, before calling the user space \ -# utility to pass configuration parameters - -usage() { -echo -echo -------------------------------------------------------- -echo USAGE: -echo -------------------------------------------------------- -echo "# $0 start||stop||status||restart||shutdown" -echo -------------------------------------------------------- -echo " Note: If there is more devices in the system" -echo " you can start, stop or restart separate device by " -echo " passing the dev to be restarted or stopped as a" -echo " parameter for instance: " -echo " $0 stop qat_dev" -echo " where N is device number." -echo " To see all devices in the system use:" -echo " $0 status" -echo -------------------------------------------------------- -exit 1 -} - -inventory_the_devices() { - # dynamically inventory the devices by looking at the pci bus - # store the total number of each type of device seen - numDh895xDevicesPF=$(lspci -n | egrep -c "${INTEL_VENDORID}:${DH895_DEVICE_PCI_ID}") - numDh895xDevicesVF=$(lspci -n | egrep -c "${INTEL_VENDORID}:${DH895_DEVICE_PCI_ID_VM}") - numC62xDevicesPF=$(lspci -n | egrep -c "${INTEL_VENDORID}:${C62X_DEVICE_PCI_ID}") - numC62xDevicesVF=$(lspci -n | egrep -c "${INTEL_VENDORID}:${C62X_DEVICE_PCI_ID_VM}") - numC3xxDevicesPF=$(lspci -n | egrep -c "${INTEL_VENDORID}:${C3XX_DEVICE_PCI_ID}") - numC3xxDevicesVF=$(lspci -n | egrep -c "${INTEL_VENDORID}:${C3XX_DEVICE_PCI_ID_VM}") - numD15xxDevicesPF=$(lspci -n | egrep -c "${INTEL_VENDORID}:${D15XX_DEVICE_PCI_ID}") - numD15xxDevicesVF=$(lspci -n | egrep -c "${INTEL_VENDORID}:${D15XX_DEVICE_PCI_ID_VM}") -} - -enable_sriov() { - PF_LIST=`${ADF_CTL} $1 status | grep -e "^ *qat_dev" | grep -v "vf," | awk '{print $1}'` - - for PF_DEV in ${PF_LIST} - do - # Extract the BSF to build the path to /sys/bus/.../sriov)_numvfs - BSF=`${ADF_CTL} ${PF_DEV} status | tail -1 | awk '{print $8}' | awk 'BEGIN{FS=","}{print $1}'` - B=`echo ${BSF} | awk 'BEGIN{FS=":"}{print $1}'` - SF=`echo ${BSF} | awk 'BEGIN{FS=":"}{print $2}'` - S=`echo ${SF} | awk 'BEGIN{FS="."}{print $1}'` - F=`echo ${SF} | awk 'BEGIN{FS="."}{print $2}'` - SYSFS_DIR=/sys/bus/pci/devices/0000:${B}:${S}.${F} - - if [ ! -e ${SYSFS_DIR}/sriov_numvfs ]; then - echo "Cannot enable SRIOV for ${PF_DEV}. No sriov_numvs file" - exit 1 - fi - - NUMVFS=`cat ${SYSFS_DIR}/sriov_numvfs` - if [ ${NUMVFS} != 0 ]; then - echo "SRIOV is already enabled for ${PF_DEV}" - exit 1 - fi - - cat ${SYSFS_DIR}/sriov_totalvfs > ${SYSFS_DIR}/sriov_numvfs - if [ $? != 0 ]; then - echo "Could not enable SRIOV for ${PF_DEV}" - exit 1; - fi - - # Get a list of all the VFs for this PF and bring then down - VF_LIST=`${ADF_CTL} status | grep "bsf: ${B}" | grep "vf," | awk '{print $1}'` - for VF_DEV in ${VF_LIST} - do - ${ADF_CTL} ${VF_DEV} down - done - done - - ${ADF_CTL} up -} - -load_the_required_modules() { - # Using the collected inventory, install the modules. No harm done if already installed. - if [ ${numDh895xDevicesPF} != 0 ]; then - modprobe qat_dh895xcc - fi - if [ ${numC62xDevicesPF} != 0 ]; then - modprobe qat_c62x - fi - if [ ${numC3xxDevicesPF} != 0 ]; then - modprobe qat_c3xxx - fi - if [ ${numD15xxDevicesPF} != 0 ]; then - modprobe qat_d15xx - fi - if [ `lsmod | grep "usdm_drv" | wc -l` == "0" ]; then - modprobe usdm_drv - fi - # Loading VF drivers as necessary - # The VF devices only appear after SRIOV is enabled on the PF, - # therefore we can't use lspci to determine that the VF driver should be loaded. - # Instead, if we want SRIOV, and we have a specific PF device, then load the driver. - if [ ${SRIOV_ENABLE} == 1 ]; then - if [ ${numDh895xDevicesPF} != 0 -o ${numDh895xDevicesVF} != 0 ]; then - modprobe qat_dh895xccvf - fi - if [ ${numC62xDevicesPF} != 0 -o ${numC62xDevicesVF} != 0 ]; then - modprobe qat_c62xvf - fi - if [ ${numC3xxDevicesPF} != 0 -o ${numC3xxDevicesVF} != 0 ]; then - modprobe qat_c3xxxvf - fi - if [ ${numD15xxDevicesPF} != 0 -o ${numD15xxDevicesVF} != 0 ]; then - modprobe qat_d15xxvf - fi - fi -} - -copy_in_config_files() { - local num_devices=${1} - local device_file_prefix=${2} - local source_file_suffix="${3}" - - if [ ${num_devices} != 0 ]; then - for (( dev=0; dev<${num_devices}; dev++ )) - do - if [ -e /etc/qat/conf_files/${device_file_prefix}_dev${dev}.conf${source_file_suffix} ]; then - cp /etc/qat/conf_files/${device_file_prefix}_dev${dev}.conf${source_file_suffix} /etc/${device_file_prefix}_dev${dev}.conf - else - echo "QAT: ${device_file_prefix}: using dev0 device config for device ${dev}, settings may be suboptimal" - cp /etc/qat/conf_files/${device_file_prefix}_dev0.conf${source_file_suffix} /etc/${device_file_prefix}_dev${dev}.conf - fi - done - fi -} - -establish_the_device_PF_config_files() { - copy_in_config_files ${numDh895xDevicesPF} 'dh895xcc' '' - copy_in_config_files ${numC62xDevicesPF} 'c6xx' '' - copy_in_config_files ${numC3xxDevicesPF} 'c3xxx' '' - copy_in_config_files ${numD15xxDevicesPF} 'd15xx' '' -} - -establish_the_device_VF_config_files() { - copy_in_config_files $(( ${numDh895xDevicesPF} * ${QAT_DH895XCC_NUM_VFS} )) 'dh895xccvf' '.vm' - copy_in_config_files $(( ${numC62xDevicesPF} * ${QAT_DHC62X_NUM_VFS} )) 'c6xxvf' '.vm' - copy_in_config_files $(( ${numC3xxDevicesPF} * ${QAT_DHC3XXX_NUM_VFS} )) 'c3xxxvf' '.vm' - copy_in_config_files $(( ${numD15xxDevicesPF} * ${QAT_DHD15XX_NUM_VFS} )) 'd15xxvf' '.vm' -} - -establish_the_guest_VF_config_files() { - copy_in_config_files ${numDh895xDevicesVF} 'dh895xccvf' '.vm' - copy_in_config_files ${numC62xDevicesVF} 'c6xxvf' '.vm' - copy_in_config_files ${numC3xxDevicesVF} 'c3xxxvf' '.vm' - copy_in_config_files ${numD15xxDevicesVF} 'd15xxvf' '.vm' -} - -############### Mainline Begins ################ - -# Set the SRIOV_ENABLE variable by sourcing the qat file -test -f /etc/default/qat && . /etc/default/qat - -INTEL_VENDORID="8086" -DH895_DEVICE_PCI_ID="0435" -DH895_DEVICE_PCI_ID_VM="0443" -C62X_DEVICE_PCI_ID="37c8" -C62X_DEVICE_PCI_ID_VM="37c9" -C3XX_DEVICE_PCI_ID="19e2" -C3XX_DEVICE_PCI_ID_VM="19e3" -D15XX_DEVICE_PCI_ID="6f54" -D15XX_DEVICE_PCI_ID_VM="6f55" - -QAT_DH895XCC_NUM_VFS=32 -QAT_DHC62X_NUM_VFS=16 -QAT_DHD15XX_NUM_VFS=16 -QAT_DHC3XXX_NUM_VFS=16 - -ADF_CTL=/usr/sbin/adf_ctl - -inventory_the_devices - -case $1 in - Start|start) - - load_the_required_modules - - # Make sure the devices are off - ${ADF_CTL} $2 down - - establish_the_device_PF_config_files - - ${ADF_CTL} $2 status | grep -e "^ *qat_dev" | grep -v vf > /dev/null - if [ $? == 0 ]; then - PHYS_FUNCTIONS=1 - else - PHYS_FUNCTIONS=0 - fi - ${ADF_CTL} $2 status | grep -e "^ *qat_dev" | grep vf > /dev/null - if [ $? == 0 ]; then - VIRT_FUNCTIONS=1 - else - VIRT_FUNCTIONS=0 - fi - # Check if sriov should be enabled. - if [ ${SRIOV_ENABLE} == 1 ]; then - if [ ${PHYS_FUNCTIONS} == 1 ]; then - # We have physical functions - DO_ENABLE_SRIOV=1 - else - # No physical functions - DO_ENABLE_SRIOV=0 - fi - else - DO_ENABLE_SRIOV=0 - fi - - if [ ${DO_ENABLE_SRIOV} == 1 ]; then - echo "enabling sriov" - - establish_the_device_VF_config_files - - enable_sriov $2 - else - if [ ${PHYS_FUNCTIONS} == 0 ]; then - if [ ${VIRT_FUNCTIONS} == 1 ]; then - establish_the_guest_VF_config_files - fi - fi - fi - - # Turn the devices on - ${ADF_CTL} $2 up - - # Show device status - ${ADF_CTL} $2 status - ;; - - Shutdown|shutdown) - ${ADF_CTL} down - modprobe -q -r usdm_drv - modprobe -q -r qat_dh895xccvf - modprobe -q -r qat_c62xvf - modprobe -q -r qat_c3xxxvf - modprobe -q -r qat_dh895xcc - modprobe -q -r qat_c62x - modprobe -q -r qat_c3xxx - modprobe -q -r qat_d15xx - modprobe -q -r qat_d15xxvf - modprobe -q -r intel_qat - ;; - - Stop|stop) - ${ADF_CTL} $2 down - ;; - - Restart|restart) - ${ADF_CTL} $2 down && ${ADF_CTL} $2 up - ;; - - Status|status) - ${ADF_CTL} status - if [ "$?" -ne 0 ] - then - echo "No devices found. Please start the driver using:" - echo "$0 start" - fi - ;; - - *) - usage - ;; - -esac -exit 0