aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--resources/libraries/python/DUTSetup.py15
-rw-r--r--resources/libraries/robot/shared/interfaces.robot4
2 files changed, 17 insertions, 2 deletions
diff --git a/resources/libraries/python/DUTSetup.py b/resources/libraries/python/DUTSetup.py
index bc8af372df..8c240d9735 100644
--- a/resources/libraries/python/DUTSetup.py
+++ b/resources/libraries/python/DUTSetup.py
@@ -381,6 +381,21 @@ class DUTSetup:
DUTSetup.pci_driver_unbind(node, pci_addr)
@staticmethod
+ def bind_pci_devices_to_specific_driver(node, driver, *pci_addrs):
+ """Bind PCI devices to input driver on node. Unbind from previous.
+
+ :param node: DUT node.
+ :param driver: Driver to bind to.
+ :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)
+ DUTSetup.pci_driver_bind(node, pci_addr, driver)
+
+ @staticmethod
def pci_driver_bind(node, pci_addr, driver):
"""Bind PCI device to driver on node.
diff --git a/resources/libraries/robot/shared/interfaces.robot b/resources/libraries/robot/shared/interfaces.robot
index 393811578e..929ff16196 100644
--- a/resources/libraries/robot/shared/interfaces.robot
+++ b/resources/libraries/robot/shared/interfaces.robot
@@ -146,8 +146,8 @@
| | Run Keyword If | ${nic_vfs}
| | ... | ${dut}.Add OCTEON Dev | @{${dut}_prevf_pci}
| | Run Keyword If | not ${nic_vfs}
-| | ... | Unbind PCI Devices From Other Driver | ${nodes['${dut}']} | vfio-pci |
-| | ... | ... | @{${dut}_pf_pci}
+| | ... | Bind PCI Devices To Specific Driver | ${nodes['${dut}']} | vfio-pci
+| | ... | @{${dut}_pf_pci}
| | Run Keyword If | not ${nic_vfs}
| | ... | ${dut}.Add OCTEON Dev | @{${dut}_pf_pci}