forked from Minki/linux
arm64: dma-mapping: Simplify pgprot handling
Since __get_dma_pgprot() does The Right Thing(TM) in the non-coherent case, and the non-cacheable alias for DMA buffers is private to the kernel anyway, we can simplify things slightly and make the code more readable by just using PAGE_KERNEL as the base pgprot. Suggested-by: Catalin Marinas <catalin.marinas@arm.com> Reviewed-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Robin Murphy <robin.murphy@arm.com> Signed-off-by: Will Deacon <will.deacon@arm.com>
This commit is contained in:
parent
b511a65928
commit
97942c2862
@ -144,6 +144,7 @@ static void *__dma_alloc(struct device *dev, size_t size,
|
||||
struct page *page;
|
||||
void *ptr, *coherent_ptr;
|
||||
bool coherent = is_device_dma_coherent(dev);
|
||||
pgprot_t prot = __get_dma_pgprot(attrs, PAGE_KERNEL, false);
|
||||
|
||||
size = PAGE_ALIGN(size);
|
||||
|
||||
@ -171,9 +172,7 @@ static void *__dma_alloc(struct device *dev, size_t size,
|
||||
/* create a coherent mapping */
|
||||
page = virt_to_page(ptr);
|
||||
coherent_ptr = dma_common_contiguous_remap(page, size, VM_USERMAP,
|
||||
__get_dma_pgprot(attrs,
|
||||
__pgprot(PROT_NORMAL_NC), false),
|
||||
NULL);
|
||||
prot, NULL);
|
||||
if (!coherent_ptr)
|
||||
goto no_map;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user