qcacmn: Do smmu unmap for IPA TX and RX doorbell registers

During driver initialization, IPA TX and RX doorbell registers
are provided to wlan as physical addresses. With SMMU S1 enabled,
they're mapped to IOVA of wlan domain.

On driver deinit path, do smmu unmap for the two IOVA addresses.

Change-Id: I85ef1c3e99bef504abf09eebf9ace760b68f35f1
CRs-Fixed: 2768303
This commit is contained in:
Jia Ding
2020-09-02 19:42:50 +08:00
committed by snandini
orang tua c4cd90a9c4
melakukan 9f0246370d
4 mengubah file dengan 46 tambahan dan 10 penghapusan

Melihat File

@@ -427,14 +427,15 @@ cdp_ipa_setup(ol_txrx_soc_handle soc, uint8_t pdev_id, void *ipa_i2w_cb,
/**
* cdp_ipa_cleanup() - Disconnect IPA pipes
* @soc: data path soc handle
* @pdev_id: handle to the device instance number
* @tx_pipe_handle: Tx pipe handle
* @rx_pipe_handle: Rx pipe handle
*
* Return: QDF_STATUS
*/
static inline QDF_STATUS
cdp_ipa_cleanup(ol_txrx_soc_handle soc, uint32_t tx_pipe_handle,
uint32_t rx_pipe_handle)
cdp_ipa_cleanup(ol_txrx_soc_handle soc, uint8_t pdev_id,
uint32_t tx_pipe_handle, uint32_t rx_pipe_handle)
{
if (!soc || !soc->ops || !soc->ops->ipa_ops) {
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
@@ -443,7 +444,8 @@ cdp_ipa_cleanup(ol_txrx_soc_handle soc, uint32_t tx_pipe_handle,
}
if (soc->ops->ipa_ops->ipa_cleanup)
return soc->ops->ipa_ops->ipa_cleanup(tx_pipe_handle,
return soc->ops->ipa_ops->ipa_cleanup(soc, pdev_id,
tx_pipe_handle,
rx_pipe_handle);
return QDF_STATUS_SUCCESS;