mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-11 07:03:09 -04:00
qcacmn: Change nbuf unmap API when free rx nbuf
The DMA Map/Unmap was restricted to buffer size in rx process. But the Unmap API was not changed when free nbuf in rx desc, apply the new unmap API. Change-Id: Id10d746776aa9e41ef3425e166ba0207851358d6 CRs-Fixed: 2716690
This commit is contained in:
parent
9fa7cd067f
commit
4676e72c02
2 changed files with 26 additions and 9 deletions
|
|
@ -174,8 +174,12 @@ static QDF_STATUS __dp_rx_desc_nbuf_free(struct dp_soc *soc,
|
|||
if (!rx_desc->unmapped) {
|
||||
dp_ipa_handle_rx_buf_smmu_mapping(soc, nbuf,
|
||||
false);
|
||||
qdf_nbuf_unmap_single(soc->osdev, nbuf,
|
||||
QDF_DMA_BIDIRECTIONAL);
|
||||
qdf_nbuf_unmap_nbytes_single(
|
||||
soc->osdev,
|
||||
rx_desc->nbuf,
|
||||
QDF_DMA_BIDIRECTIONAL,
|
||||
rx_desc_pool->buf_size);
|
||||
rx_desc->unmapped = 1;
|
||||
}
|
||||
qdf_nbuf_free(nbuf);
|
||||
}
|
||||
|
|
@ -324,9 +328,11 @@ void dp_rx_desc_nbuf_and_pool_free(struct dp_soc *soc, uint32_t pool_id,
|
|||
if (!(rx_desc_pool->array[i].rx_desc.unmapped)) {
|
||||
dp_ipa_handle_rx_buf_smmu_mapping(soc, nbuf,
|
||||
false);
|
||||
|
||||
qdf_nbuf_unmap_single(soc->osdev, nbuf,
|
||||
QDF_DMA_FROM_DEVICE);
|
||||
qdf_nbuf_unmap_nbytes_single(
|
||||
soc->osdev, nbuf,
|
||||
QDF_DMA_FROM_DEVICE,
|
||||
rx_desc_pool->buf_size);
|
||||
rx_desc_pool->array[i].rx_desc.unmapped = 1;
|
||||
}
|
||||
qdf_nbuf_free(nbuf);
|
||||
}
|
||||
|
|
@ -351,8 +357,11 @@ void dp_rx_desc_nbuf_free(struct dp_soc *soc,
|
|||
dp_ipa_handle_rx_buf_smmu_mapping(soc, nbuf,
|
||||
false);
|
||||
|
||||
qdf_nbuf_unmap_single(soc->osdev, nbuf,
|
||||
QDF_DMA_FROM_DEVICE);
|
||||
qdf_nbuf_unmap_nbytes_single(
|
||||
soc->osdev, nbuf,
|
||||
QDF_DMA_FROM_DEVICE,
|
||||
rx_desc_pool->buf_size);
|
||||
rx_desc_pool->array[i].rx_desc.unmapped = 1;
|
||||
}
|
||||
qdf_nbuf_free(nbuf);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -234,6 +234,7 @@ dp_rx_mon_mpdu_pop(struct dp_soc *soc, uint32_t mac_id,
|
|||
for (i = 0; i < num_msdus; i++) {
|
||||
uint32_t l2_hdr_offset;
|
||||
struct dp_rx_desc *rx_desc = NULL;
|
||||
struct rx_desc_pool *rx_desc_pool;
|
||||
|
||||
rx_desc = dp_rx_get_mon_desc(soc,
|
||||
msdu_list.sw_cookie[i]);
|
||||
|
|
@ -260,8 +261,15 @@ dp_rx_mon_mpdu_pop(struct dp_soc *soc, uint32_t mac_id,
|
|||
}
|
||||
|
||||
if (rx_desc->unmapped == 0) {
|
||||
qdf_nbuf_unmap_single(soc->osdev, msdu,
|
||||
QDF_DMA_FROM_DEVICE);
|
||||
rx_desc_pool = dp_rx_get_mon_desc_pool(
|
||||
soc,
|
||||
mac_id,
|
||||
dp_pdev->pdev_id);
|
||||
qdf_nbuf_unmap_nbytes_single(
|
||||
soc->osdev,
|
||||
rx_desc->nbuf,
|
||||
QDF_DMA_FROM_DEVICE,
|
||||
rx_desc_pool->buf_size);
|
||||
rx_desc->unmapped = 1;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue