fix crypto device init functions 75/39375/7
authorxinfeng zhao <xinfengx.zhao@intel.com>
Tue, 15 Aug 2023 06:17:04 +0000 (06:17 +0000)
committerPeter Mikus <peter.mikus@protonmail.ch>
Wed, 8 Nov 2023 08:32:25 +0000 (08:32 +0000)
Change-Id: I96616f6895c9a0c9fb7dc876b2e8b83eff379f16
Signed-off-by: xinfeng zhao <xinfengx.zhao@intel.com>
resources/libraries/python/QATUtil.py

index 09f6692..2afea8e 100644 (file)
@@ -16,6 +16,7 @@
 from resources.libraries.python.DUTSetup import DUTSetup
 from resources.libraries.python.topology import NodeType, Topology
 from resources.libraries.python.VPPUtil import VPPUtil
+from resources.libraries.python.ssh import exec_cmd_no_error
 
 
 class QATUtil:
@@ -58,6 +59,21 @@ class QATUtil:
         # Bind to kernel driver.
         DUTSetup.pci_driver_bind(node, device["pci_address"], device["driver"])
 
+        cmd = f"adf_ctl status | grep {device['pci_address']} | "
+        cmd += "awk '{print $1}'"
+        stdout, _ = exec_cmd_no_error(
+            node, cmd, sudo=True, message="Failed to check crypto device!"
+        )
+        if stdout.strip():
+            qat_dev = stdout.split("_")[-1]
+            conf_file = f"/etc/{device['driver']}_{qat_dev.strip()}.conf"
+            exec_cmd_no_error(
+                node, f"adf_ctl --config {conf_file} {stdout.strip()} restart",
+                sudo=True, message="Failed to restart crypto device!"
+            )
+        else:
+            raise ValueError("Crypto device error")
+
         # Initialize QAT VFs.
         if int(device["numvfs"]) > 0:
             DUTSetup.set_sriov_numvfs(