X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=resources%2Flibraries%2Fpython%2FDUTSetup.py;h=6e3530277a1ff4e9296deef388f529e3d800e5bd;hb=7df86999bfaee9e5a0fa0c8ee6f5bc897343de9a;hp=16acfba7adbc7de8bc14bea4a4ddf4267e907438;hpb=6b86c6fa1315f5c12c55bdd289b4e2af7d710c39;p=csit.git diff --git a/resources/libraries/python/DUTSetup.py b/resources/libraries/python/DUTSetup.py index 16acfba7ad..6e3530277a 100644 --- a/resources/libraries/python/DUTSetup.py +++ b/resources/libraries/python/DUTSetup.py @@ -1,4 +1,4 @@ -# Copyright (c) 2021 Cisco and/or its affiliates. +# Copyright (c) 2022 Cisco and/or its affiliates. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at: @@ -266,7 +266,7 @@ class DUTSetup: initialize or remove VFs on QAT. :param node: DUT node. - :crypto_type: Crypto device type - HW_DH895xcc or HW_C3xxx. + :crypto_type: Crypto device type - HW_DH895xcc, HW_C3xxx or HW_C4xxx. :param numvfs: Number of VFs to initialize, 0 - disable the VFs. :param force_init: If True then try to initialize to specific value. :type node: dict @@ -294,7 +294,7 @@ class DUTSetup: """Init Crypto QAT device virtual functions on DUT. :param node: DUT node. - :crypto_type: Crypto device type - HW_DH895xcc or HW_C3xxx. + :crypto_type: Crypto device type - HW_DH895xcc, HW_C3xxx or HW_C4xxx. :param numvfs: Number of VFs to initialize, 0 - disable the VFs. :type node: dict :type crypto_type: string @@ -308,6 +308,9 @@ class DUTSetup: elif crypto_type == u"HW_C3xxx": kernel_mod = u"qat_c3xxx" kernel_drv = u"c3xxx" + elif crypto_type == u"HW_C4xxx": + kernel_mod = u"qat_c4xxx" + kernel_drv = u"c4xxx" else: raise RuntimeError( f"Unsupported crypto device type on {node[u'host']}" @@ -444,16 +447,21 @@ class DUTSetup: ) @staticmethod - def pci_driver_unbind_list(node, *pci_addrs): - """Unbind PCI devices from current driver on node. + def unbind_pci_devices_from_other_driver(node, driver, *pci_addrs): + """Unbind PCI devices from driver other than input driver on node. :param node: DUT node. + :param driver: Driver to not unbind from. If None or empty string, + will attempt to unbind from the current driver. :param pci_addrs: PCI device addresses. :type node: dict + :type driver: str :type pci_addrs: list """ for pci_addr in pci_addrs: - DUTSetup.pci_driver_unbind(node, pci_addr) + if not driver or \ + DUTSetup.get_pci_dev_driver(node, pci_addr) != driver: + DUTSetup.pci_driver_unbind(node, pci_addr) @staticmethod def pci_driver_bind(node, pci_addr, driver):