def main_test_fun(test_param_dict): logging.info("Cadence PCIe Application level stress test") plib = pci() seg = test_param_dict["segrp"] bus = test_param_dict["busrp"] dev = test_param_dict["devrp"] fun = test_param_dict["funrp"] rp_dev = plib.get_device(int(seg), int(bus), int(dev), int(fun)) seg = test_param_dict["segep"] bus = test_param_dict["busep"] dev = test_param_dict["devep"] fun = test_param_dict["funep"] ep_dev = plib.get_device(int(seg), int(bus), int(dev), int(fun)) rp_cap = find_pcie_cap(plib, rp_dev, PCI_CAP_ID_EXP) ep_cap = find_pcie_cap(plib, ep_dev, PCI_CAP_ID_EXP) rp_pm_cap = find_pcie_cap(plib, rp_dev, PCI_CAP_ID_PM) ep_pm_cap = find_pcie_cap(plib, ep_dev, PCI_CAP_ID_PM) vendor_id, device_id = pci_read_vendor_device_id(plib, rp_dev) logging.info("RP: %x- %x" % (vendor_id, device_id)) vendor_id, device_id = pci_read_vendor_device_id(plib, ep_dev) logging.info("EP: %x- %x" % (vendor_id, device_id)) #print(test_param_dict["pcipm_test"]) if (test_param_dict["aer_chk"] == True or test_param_dict["all_test"] == True): logging.info("AER Check Enabled") t = pciaerinit(plib, rp_dev, ep_dev) t.start() if (test_param_dict["pcipm_test"] == True or test_param_dict["all_test"] == True): logging.info("#PCI PM Test Begins#") print("#PCI PM Test Begins#") pci_pm_test(plib, rp_dev, ep_dev, rp_cap, ep_cap, rp_pm_cap, ep_pm_cap, test_param_dict) if (test_param_dict["aspm_test"] == True or test_param_dict["all_test"] == True): logging.info("#ASPM Test Begins#") print("#ASPM Test Begins#") pci_aspm_test(plib, rp_dev, ep_dev, rp_cap, ep_cap, test_param_dict) if (test_param_dict["link_equ_test"] == True or test_param_dict["all_test"] == True): logging.info("#Link Equ Test Begins#") print("#Link Equ Test Begins#") pci_link_equ_test(plib, rp_dev, ep_dev, rp_cap, ep_cap, test_param_dict) if (test_param_dict["link_ret_test"] == True or test_param_dict["all_test"] == True): logging.info("#Link Retrain Test Begins#") print("#Link Retrain Test Begins#") pci_link_ret_test(plib, rp_dev, ep_dev, rp_cap, ep_cap, test_param_dict) if (test_param_dict["link_disable_test"] == True or test_param_dict["all_test"] == True): logging.info("#Link Disable Test Begins#") print("#Link Disable Test Begins#") pci_link_disable_test(plib, rp_dev, ep_dev, rp_cap, ep_cap, test_param_dict) t.do_run = False t.join()
def initpci(): plib = pci() rp_dev = plib.get_device(0, 0, 1, 1) ep_dev = plib.get_device(0, 2, 0, 0) find_and_store_pci_cap_offset(plib, rp_dev) find_and_store_pci_cap_offset(plib, ep_dev) find_and_store_pci_ext_cap_offset(plib, rp_dev) find_and_store_pci_ext_cap_offset(plib, ep_dev) return plib, rp_dev, ep_dev
def pcilinkretrain(): plib = pci() rp_dev = plib.get_device(0, 0, 2, 0) ep_dev = plib.get_device(0, 3, 0, 0) rp_cap = find_pcie_cap(plib, rp_dev, PCI_CAP_ID_EXP) ep_cap = find_pcie_cap(plib, ep_dev, PCI_CAP_ID_EXP) vendor_id, device_id = pci_read_vendor_device_id(plib, rp_dev) logging.info("RP: %x- %x" % (vendor_id, device_id)) pci_link_ret_test(plib, rp_dev, ep_dev, rp_cap, ep_cap, test_param_dict)