Fix dpaa bus returning IOVA as PA when there is no device attached to
the bus.

Fixes: 1ee9569576f6 ("config: enable dpaaX drivers for generic ARMv8")
Fixes: d5a4e3a00c4a ("bus/dpaa: set IOVA mode as physical")

Signed-off-by: Pavan Nikhilesh <pbhagavat...@caviumnetworks.com>
---

 Currently Octeontx platform is broken due to this, please merge this asap.

 drivers/bus/dpaa/dpaa_bus.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/bus/dpaa/dpaa_bus.c b/drivers/bus/dpaa/dpaa_bus.c
index 41ee640e2..579870297 100644
--- a/drivers/bus/dpaa/dpaa_bus.c
+++ b/drivers/bus/dpaa/dpaa_bus.c
@@ -501,6 +501,10 @@ rte_dpaa_find_device(const struct rte_device *start, 
rte_dev_cmp_t cmp,
 static enum rte_iova_mode
 rte_dpaa_get_iommu_class(void)
 {
+       if ((access(DPAA_DEV_PATH1, F_OK) != 0) &&
+           (access(DPAA_DEV_PATH2, F_OK) != 0)) {
+               return RTE_IOVA_DC;
+       }
        return RTE_IOVA_PA;
 }

--
2.16.0

Reply via email to