From 7cda609ffbe6a6938e941199c868caace6abe455 Mon Sep 17 00:00:00 2001 From: Vevek Venkatesan Date: Thu, 4 Mar 2021 18:17:29 +0530 Subject: [PATCH] qcacmn: assert if SMMU-S1 map/unmap of IPA doorbell addr failed If the SMMU-S1 mapping/unmapping of IPA doorbell addresses failed, do assert. Change-Id: I41faba7002be37c442d306199876c2204120fe31 CRs-Fixed: 2892321 --- dp/wifi3.0/dp_ipa.c | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/dp/wifi3.0/dp_ipa.c b/dp/wifi3.0/dp_ipa.c index bc2c5c10e9..577093b180 100644 --- a/dp/wifi3.0/dp_ipa.c +++ b/dp/wifi3.0/dp_ipa.c @@ -784,6 +784,7 @@ QDF_STATUS dp_ipa_set_doorbell_paddr(struct cdp_soc_t *soc_hdl, uint8_t pdev_id) soc->reo_dest_ring[IPA_REO_DEST_RING_IDX].hal_srng; uint32_t tx_comp_doorbell_dmaaddr; uint32_t rx_ready_doorbell_dmaaddr; + int ret = 0; if (!pdev) { dp_err("Invalid instance"); @@ -802,13 +803,19 @@ QDF_STATUS dp_ipa_set_doorbell_paddr(struct cdp_soc_t *soc_hdl, uint8_t pdev_id) ioremap(ipa_res->tx_comp_doorbell_paddr, 4); if (qdf_mem_smmu_s1_enabled(soc->osdev)) { - pld_smmu_map(soc->osdev->dev, ipa_res->tx_comp_doorbell_paddr, - &tx_comp_doorbell_dmaaddr, sizeof(uint32_t)); + ret = pld_smmu_map(soc->osdev->dev, + ipa_res->tx_comp_doorbell_paddr, + &tx_comp_doorbell_dmaaddr, + sizeof(uint32_t)); ipa_res->tx_comp_doorbell_paddr = tx_comp_doorbell_dmaaddr; + qdf_assert_always(!ret); - pld_smmu_map(soc->osdev->dev, ipa_res->rx_ready_doorbell_paddr, - &rx_ready_doorbell_dmaaddr, sizeof(uint32_t)); + ret = pld_smmu_map(soc->osdev->dev, + ipa_res->rx_ready_doorbell_paddr, + &rx_ready_doorbell_dmaaddr, + sizeof(uint32_t)); ipa_res->rx_ready_doorbell_paddr = rx_ready_doorbell_dmaaddr; + qdf_assert_always(!ret); } DP_IPA_SET_TX_DB_PADDR(soc, ipa_res); @@ -1733,14 +1740,12 @@ QDF_STATUS dp_ipa_cleanup(struct cdp_soc_t *soc_hdl, uint8_t pdev_id, ret = pld_smmu_unmap(soc->osdev->dev, ipa_res->rx_ready_doorbell_paddr, sizeof(uint32_t)); - if (ret) - dp_err_rl("IPA RX DB smmu unmap failed"); + qdf_assert_always(!ret); ret = pld_smmu_unmap(soc->osdev->dev, ipa_res->tx_comp_doorbell_paddr, sizeof(uint32_t)); - if (ret) - dp_err_rl("IPA TX DB smmu unmap failed"); + qdf_assert_always(!ret); } exit: