[PATCH v4] event/dlb2: fix disable PASID
    Abdullah Sevincer 
    abdullah.sevincer at intel.com
       
    Fri Nov  3 18:14:36 CET 2023
    
    
  
In vfio-pci driver when PASID is enabled by default
DLB hardware puts DLB in SIOV mode. This breaks
DLB PF-PMD mode. For DLB PF-PMD mode to function properly
PASID needs to be disabled.
In this commit this issue is addressed and PASID is disabled
by writing a zero to PASID control register.
Fixes: 5433956d5185 ("event/dlb2: add eventdev probe")
Cc: stable at dpdk.org
Signed-off-by: Abdullah Sevincer <abdullah.sevincer at intel.com>
---
 drivers/event/dlb2/pf/dlb2_main.c | 10 ++++++++++
 1 file changed, 10 insertions(+)
diff --git a/drivers/event/dlb2/pf/dlb2_main.c b/drivers/event/dlb2/pf/dlb2_main.c
index aa03e4c311..63a18df71c 100644
--- a/drivers/event/dlb2/pf/dlb2_main.c
+++ b/drivers/event/dlb2/pf/dlb2_main.c
@@ -514,6 +514,16 @@ dlb2_pf_reset(struct dlb2_dev *dlb2_dev)
 		}
 	}
 
+	/* Disable PASID incase it is enabled by default, which
+	 * breaks the DLB if enabled.
+	 */
+	off = RTE_PCI_PASID_CAP_OFFSET + RTE_PCI_PASID_CTRL;
+	if (rte_pci_set_pasid(pdev, off, false)) {
+		DLB2_LOG_ERR("[%s()] failed to write the pcie config space at offset %d\n",
+				__func__, (int)off);
+		return -1;
+	}
+
 	return 0;
 }
 
-- 
2.25.1
    
    
More information about the dev
mailing list