[PATCH 26/28] ARM: mmu: Simplify the use of dma_flush_range()
Lucas Stach
l.stach at pengutronix.de
Wed May 9 01:48:37 PDT 2018
Am Dienstag, den 08.05.2018, 14:29 -0700 schrieb Andrey Smirnov:
> Simplify the use of dma_flush_range() by changing its signature to
> accept pointer to start of the data and data size. This change allows
> us to avoid a whole bunch of repetitive arithmetic currently done by
> all of the callers.
>
> Signed-off-by: Andrey Smirnov <andrew.smirnov at gmail.com>
One nit below, otherwise
Reviewed-by: Lucas Stach <l.stach at pengutronix.de>
> ---
> arch/arm/cpu/mmu.c | 16 ++++++++--------
> 1 file changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/arch/arm/cpu/mmu.c b/arch/arm/cpu/mmu.c
> index b14a869af..fc7102700 100644
> --- a/arch/arm/cpu/mmu.c
> +++ b/arch/arm/cpu/mmu.c
> @@ -142,8 +142,11 @@ static u32 *find_pte(unsigned long adr)
> > return &table[(adr >> PAGE_SHIFT) & 0xff];
> }
>
> -static void dma_flush_range(unsigned long start, unsigned long end)
> +static void dma_flush_range(void *ptr, size_t size)
> {
> > + unsigned long start = (unsigned long)ptr;
> + unsigned long end = start + size;
Personal taste, but I don't like those extra spaces. They tend to not
line up as well after a few future code changes.
> +
> > __dma_flush_range(start, end);
> > if (outer_cache.flush_range)
> > outer_cache.flush_range(start, end);
> @@ -170,9 +173,7 @@ static int __remap_range(void *_start, size_t size, u32 pte_flags)
> > p[i] |= pte_flags | PTE_TYPE_SMALL;
> > }
>
> > - dma_flush_range((unsigned long)p,
> > - (unsigned long)p + numentries * sizeof(u32));
> -
> > + dma_flush_range(p, numentries * sizeof(u32));
> > tlb_invalidate();
>
> > return 0;
> @@ -203,7 +204,7 @@ void *map_io_sections(unsigned long phys, void *_start, size_t size)
> > for (sec = start; sec < start + size; sec += PGDIR_SIZE, phys += PGDIR_SIZE)
> > ttb[pgd_index(sec)] = phys | PMD_SECT_DEF_UNCACHED;
>
> > - dma_flush_range((unsigned long)ttb, (unsigned long)ttb + 0x4000);
> > + dma_flush_range(ttb, 0x4000);
> > tlb_invalidate();
> > return _start;
> }
> @@ -249,9 +250,8 @@ static int arm_mmu_remap_sdram(struct memory_bank *bank)
> > pte += PTRS_PER_PTE;
> > }
>
> > - dma_flush_range((unsigned long)ttb, (unsigned long)ttb + 0x4000);
> > - dma_flush_range((unsigned long)ptes,
> > - (unsigned long)ptes + num_ptes * sizeof(u32));
> > + dma_flush_range(ttb, 0x4000);
> > + dma_flush_range(ptes, num_ptes * sizeof(u32));
>
> > tlb_invalidate();
>
More information about the barebox
mailing list