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:
Guisen Yang
2020-06-18 16:53:53 +08:00
committed by nshrivas
부모 9fa7cd067f
커밋 4676e72c02
2개의 변경된 파일26개의 추가작업 그리고 9개의 파일을 삭제

파일 보기

@@ -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);
}