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
This commit is contained in:

committed by
snandini

parent
7359f9236d
commit
7cda609ffb
@@ -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;
|
soc->reo_dest_ring[IPA_REO_DEST_RING_IDX].hal_srng;
|
||||||
uint32_t tx_comp_doorbell_dmaaddr;
|
uint32_t tx_comp_doorbell_dmaaddr;
|
||||||
uint32_t rx_ready_doorbell_dmaaddr;
|
uint32_t rx_ready_doorbell_dmaaddr;
|
||||||
|
int ret = 0;
|
||||||
|
|
||||||
if (!pdev) {
|
if (!pdev) {
|
||||||
dp_err("Invalid instance");
|
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);
|
ioremap(ipa_res->tx_comp_doorbell_paddr, 4);
|
||||||
|
|
||||||
if (qdf_mem_smmu_s1_enabled(soc->osdev)) {
|
if (qdf_mem_smmu_s1_enabled(soc->osdev)) {
|
||||||
pld_smmu_map(soc->osdev->dev, ipa_res->tx_comp_doorbell_paddr,
|
ret = pld_smmu_map(soc->osdev->dev,
|
||||||
&tx_comp_doorbell_dmaaddr, sizeof(uint32_t));
|
ipa_res->tx_comp_doorbell_paddr,
|
||||||
|
&tx_comp_doorbell_dmaaddr,
|
||||||
|
sizeof(uint32_t));
|
||||||
ipa_res->tx_comp_doorbell_paddr = tx_comp_doorbell_dmaaddr;
|
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,
|
ret = pld_smmu_map(soc->osdev->dev,
|
||||||
&rx_ready_doorbell_dmaaddr, sizeof(uint32_t));
|
ipa_res->rx_ready_doorbell_paddr,
|
||||||
|
&rx_ready_doorbell_dmaaddr,
|
||||||
|
sizeof(uint32_t));
|
||||||
ipa_res->rx_ready_doorbell_paddr = rx_ready_doorbell_dmaaddr;
|
ipa_res->rx_ready_doorbell_paddr = rx_ready_doorbell_dmaaddr;
|
||||||
|
qdf_assert_always(!ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
DP_IPA_SET_TX_DB_PADDR(soc, ipa_res);
|
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,
|
ret = pld_smmu_unmap(soc->osdev->dev,
|
||||||
ipa_res->rx_ready_doorbell_paddr,
|
ipa_res->rx_ready_doorbell_paddr,
|
||||||
sizeof(uint32_t));
|
sizeof(uint32_t));
|
||||||
if (ret)
|
qdf_assert_always(!ret);
|
||||||
dp_err_rl("IPA RX DB smmu unmap failed");
|
|
||||||
|
|
||||||
ret = pld_smmu_unmap(soc->osdev->dev,
|
ret = pld_smmu_unmap(soc->osdev->dev,
|
||||||
ipa_res->tx_comp_doorbell_paddr,
|
ipa_res->tx_comp_doorbell_paddr,
|
||||||
sizeof(uint32_t));
|
sizeof(uint32_t));
|
||||||
if (ret)
|
qdf_assert_always(!ret);
|
||||||
dp_err_rl("IPA TX DB smmu unmap failed");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
exit:
|
exit:
|
||||||
|
Reference in New Issue
Block a user