mail archive of the barebox mailing list
 help / color / mirror / Atom feed
* [PATCH] ARM: mmu: Use PAGE_ALIGN in dma_free_coherent
@ 2013-04-26 13:52 Jan Weitzel
  2013-04-26 22:13 ` Sascha Hauer
  0 siblings, 1 reply; 2+ messages in thread
From: Jan Weitzel @ 2013-04-26 13:52 UTC (permalink / raw)
  To: barebox

We PAGE_ALIGN the size in dma_alloc_coherent so do it also when free the memory.
Use PAGE_SIZE instead of magic numbers.

Signed-off-by: Jan Weitzel <j.weitzel@phytec.de>
---
 arch/arm/cpu/mmu.c |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/arch/arm/cpu/mmu.c b/arch/arm/cpu/mmu.c
index 34fe5c3..e3ea3b6 100644
--- a/arch/arm/cpu/mmu.c
+++ b/arch/arm/cpu/mmu.c
@@ -189,7 +189,7 @@ static int arm_mmu_remap_sdram(struct memory_bank *bank)
 			ptes, ttb_start, ttb_end);
 
 	for (i = 0; i < num_ptes; i++) {
-		ptes[i] = (phys + i * 4096) | PTE_TYPE_SMALL |
+		ptes[i] = (phys + i * PAGE_SIZE) | PTE_TYPE_SMALL |
 			pte_flags_cached;
 	}
 
@@ -300,7 +300,7 @@ static int mmu_init(void)
 	asm volatile ("mcr  p15,0,%0,c3,c0,0" : : "r"(i) /*:*/);
 
 	/* create a flat mapping using 1MiB sections */
-	create_sections(0, 0, 4096, PMD_SECT_AP_WRITE | PMD_SECT_AP_READ |
+	create_sections(0, 0, PAGE_SIZE, PMD_SECT_AP_WRITE | PMD_SECT_AP_READ |
 			PMD_TYPE_SECT);
 
 	vectors_init();
@@ -332,7 +332,7 @@ void *dma_alloc_coherent(size_t size)
 	void *ret;
 
 	size = PAGE_ALIGN(size);
-	ret = xmemalign(4096, size);
+	ret = xmemalign(PAGE_SIZE, size);
 
 	dma_inv_range((unsigned long)ret, (unsigned long)ret + size);
 
@@ -353,6 +353,7 @@ void *phys_to_virt(unsigned long phys)
 
 void dma_free_coherent(void *mem, size_t size)
 {
+	size = PAGE_ALIGN(size);
 	remap_range(mem, size, pte_flags_cached);
 
 	free(mem);
-- 
1.7.0.4


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] ARM: mmu: Use PAGE_ALIGN in dma_free_coherent
  2013-04-26 13:52 [PATCH] ARM: mmu: Use PAGE_ALIGN in dma_free_coherent Jan Weitzel
@ 2013-04-26 22:13 ` Sascha Hauer
  0 siblings, 0 replies; 2+ messages in thread
From: Sascha Hauer @ 2013-04-26 22:13 UTC (permalink / raw)
  To: Jan Weitzel; +Cc: barebox

On Fri, Apr 26, 2013 at 03:52:18PM +0200, Jan Weitzel wrote:
> We PAGE_ALIGN the size in dma_alloc_coherent so do it also when free the memory.
> Use PAGE_SIZE instead of magic numbers.
> 
> Signed-off-by: Jan Weitzel <j.weitzel@phytec.de>

Applied, thanks

Sascha

> ---
>  arch/arm/cpu/mmu.c |    7 ++++---
>  1 files changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/arch/arm/cpu/mmu.c b/arch/arm/cpu/mmu.c
> index 34fe5c3..e3ea3b6 100644
> --- a/arch/arm/cpu/mmu.c
> +++ b/arch/arm/cpu/mmu.c
> @@ -189,7 +189,7 @@ static int arm_mmu_remap_sdram(struct memory_bank *bank)
>  			ptes, ttb_start, ttb_end);
>  
>  	for (i = 0; i < num_ptes; i++) {
> -		ptes[i] = (phys + i * 4096) | PTE_TYPE_SMALL |
> +		ptes[i] = (phys + i * PAGE_SIZE) | PTE_TYPE_SMALL |
>  			pte_flags_cached;
>  	}
>  
> @@ -300,7 +300,7 @@ static int mmu_init(void)
>  	asm volatile ("mcr  p15,0,%0,c3,c0,0" : : "r"(i) /*:*/);
>  
>  	/* create a flat mapping using 1MiB sections */
> -	create_sections(0, 0, 4096, PMD_SECT_AP_WRITE | PMD_SECT_AP_READ |
> +	create_sections(0, 0, PAGE_SIZE, PMD_SECT_AP_WRITE | PMD_SECT_AP_READ |
>  			PMD_TYPE_SECT);
>  
>  	vectors_init();
> @@ -332,7 +332,7 @@ void *dma_alloc_coherent(size_t size)
>  	void *ret;
>  
>  	size = PAGE_ALIGN(size);
> -	ret = xmemalign(4096, size);
> +	ret = xmemalign(PAGE_SIZE, size);
>  
>  	dma_inv_range((unsigned long)ret, (unsigned long)ret + size);
>  
> @@ -353,6 +353,7 @@ void *phys_to_virt(unsigned long phys)
>  
>  void dma_free_coherent(void *mem, size_t size)
>  {
> +	size = PAGE_ALIGN(size);
>  	remap_range(mem, size, pte_flags_cached);
>  
>  	free(mem);
> -- 
> 1.7.0.4
> 
> 
> _______________________________________________
> barebox mailing list
> barebox@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox
> 

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2013-04-26 22:13 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-04-26 13:52 [PATCH] ARM: mmu: Use PAGE_ALIGN in dma_free_coherent Jan Weitzel
2013-04-26 22:13 ` Sascha Hauer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox