Commit 97942c28 authored by Robin Murphy's avatar Robin Murphy Committed by Will Deacon
Browse files

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: default avatarCatalin Marinas <catalin.marinas@arm.com>
Reviewed-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
Signed-off-by: default avatarRobin Murphy <robin.murphy@arm.com>
Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
parent b511a659
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -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;