mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-09 05:39:54 -04:00
Merge "dma-mapping-fast: Remap contiguous pages only when needed"
This commit is contained in:
commit
bbdf78dca9
1 changed files with 10 additions and 5 deletions
|
|
@ -630,13 +630,18 @@ static void *__fast_smmu_alloc_contiguous(struct device *dev, size_t size,
|
|||
size, prot))
|
||||
goto release_iova;
|
||||
|
||||
coherent_addr = dma_common_contiguous_remap(page, size, remap_prot,
|
||||
if (!is_coherent || PageHighMem(page)) {
|
||||
coherent_addr = dma_common_contiguous_remap(page, size,
|
||||
remap_prot,
|
||||
__fast_smmu_alloc_contiguous);
|
||||
if (!coherent_addr)
|
||||
goto release_mapping;
|
||||
if (!coherent_addr)
|
||||
goto release_mapping;
|
||||
|
||||
if (!is_coherent)
|
||||
__dma_flush_area(page_to_virt(page), size);
|
||||
if (!is_coherent)
|
||||
__dma_flush_area(page_to_virt(page), size);
|
||||
} else {
|
||||
coherent_addr = page_address(page);
|
||||
}
|
||||
|
||||
*handle = iova;
|
||||
return coherent_addr;
|
||||
|
|
|
|||
Loading…
Reference in a new issue