* [PATCH] arm64: dma-mapping: Simplify pgprot handling
@ 2015-07-31 17:28 Robin Murphy
2015-08-03 12:00 ` Catalin Marinas
0 siblings, 1 reply; 2+ messages in thread
From: Robin Murphy @ 2015-07-31 17:28 UTC (permalink / raw)
To: linux-arm-kernel
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>
Signed-off-by: Robin Murphy <robin.murphy@arm.com>
---
arch/arm64/mm/dma-mapping.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/arch/arm64/mm/dma-mapping.c b/arch/arm64/mm/dma-mapping.c
index e5d74cd..0bcc4bc 100644
--- a/arch/arm64/mm/dma-mapping.c
+++ b/arch/arm64/mm/dma-mapping.c
@@ -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;
--
1.9.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* [PATCH] arm64: dma-mapping: Simplify pgprot handling
2015-07-31 17:28 [PATCH] arm64: dma-mapping: Simplify pgprot handling Robin Murphy
@ 2015-08-03 12:00 ` Catalin Marinas
0 siblings, 0 replies; 2+ messages in thread
From: Catalin Marinas @ 2015-08-03 12:00 UTC (permalink / raw)
To: linux-arm-kernel
On Fri, Jul 31, 2015 at 06:28:34PM +0100, Robin Murphy wrote:
> 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>
> Signed-off-by: Robin Murphy <robin.murphy@arm.com>
> ---
> arch/arm64/mm/dma-mapping.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/arch/arm64/mm/dma-mapping.c b/arch/arm64/mm/dma-mapping.c
> index e5d74cd..0bcc4bc 100644
> --- a/arch/arm64/mm/dma-mapping.c
> +++ b/arch/arm64/mm/dma-mapping.c
> @@ -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;
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2015-08-03 12:00 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-07-31 17:28 [PATCH] arm64: dma-mapping: Simplify pgprot handling Robin Murphy
2015-08-03 12:00 ` Catalin Marinas
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).