lkml.org 
[lkml]   [2019]   [Feb]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v5 02/16] powerpc/mm/32: add base address to mmu_mapin_ram()
    Date
    At the time being, mmu_mapin_ram() always maps RAM from the beginning.
    But some platforms like the WII have to map a second block of RAM.

    This patch adds to mmu_mapin_ram() the base address of the block.
    At the moment, only base address 0 is supported.

    Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
    ---
    arch/powerpc/mm/40x_mmu.c | 2 +-
    arch/powerpc/mm/44x_mmu.c | 2 +-
    arch/powerpc/mm/8xx_mmu.c | 2 +-
    arch/powerpc/mm/fsl_booke_mmu.c | 2 +-
    arch/powerpc/mm/mmu_decl.h | 2 +-
    arch/powerpc/mm/pgtable_32.c | 6 +++---
    arch/powerpc/mm/ppc_mmu_32.c | 2 +-
    7 files changed, 9 insertions(+), 9 deletions(-)

    diff --git a/arch/powerpc/mm/40x_mmu.c b/arch/powerpc/mm/40x_mmu.c
    index 61ac468c87c6..b9cf6f8764b0 100644
    --- a/arch/powerpc/mm/40x_mmu.c
    +++ b/arch/powerpc/mm/40x_mmu.c
    @@ -93,7 +93,7 @@ void __init MMU_init_hw(void)
    #define LARGE_PAGE_SIZE_16M (1<<24)
    #define LARGE_PAGE_SIZE_4M (1<<22)

    -unsigned long __init mmu_mapin_ram(unsigned long top)
    +unsigned long __init mmu_mapin_ram(unsigned long base, unsigned long top)
    {
    unsigned long v, s, mapped;
    phys_addr_t p;
    diff --git a/arch/powerpc/mm/44x_mmu.c b/arch/powerpc/mm/44x_mmu.c
    index ea2b9af08a48..aad127acdbaa 100644
    --- a/arch/powerpc/mm/44x_mmu.c
    +++ b/arch/powerpc/mm/44x_mmu.c
    @@ -170,7 +170,7 @@ void __init MMU_init_hw(void)
    flush_instruction_cache();
    }

    -unsigned long __init mmu_mapin_ram(unsigned long top)
    +unsigned long __init mmu_mapin_ram(unsigned long base, unsigned long top)
    {
    unsigned long addr;
    unsigned long memstart = memstart_addr & ~(PPC_PIN_SIZE - 1);
    diff --git a/arch/powerpc/mm/8xx_mmu.c b/arch/powerpc/mm/8xx_mmu.c
    index e2c32bdb6023..46bc26ef71e9 100644
    --- a/arch/powerpc/mm/8xx_mmu.c
    +++ b/arch/powerpc/mm/8xx_mmu.c
    @@ -99,7 +99,7 @@ static void __init mmu_patch_cmp_limit(s32 *site, unsigned long mapped)
    modify_instruction_site(site, 0xffff, (unsigned long)__va(mapped) >> 16);
    }

    -unsigned long __init mmu_mapin_ram(unsigned long top)
    +unsigned long __init mmu_mapin_ram(unsigned long base, unsigned long top)
    {
    unsigned long mapped;

    diff --git a/arch/powerpc/mm/fsl_booke_mmu.c b/arch/powerpc/mm/fsl_booke_mmu.c
    index 080d49b26c3a..210cbc1faf63 100644
    --- a/arch/powerpc/mm/fsl_booke_mmu.c
    +++ b/arch/powerpc/mm/fsl_booke_mmu.c
    @@ -221,7 +221,7 @@ unsigned long map_mem_in_cams(unsigned long ram, int max_cam_idx, bool dryrun)
    #error "LOWMEM_CAM_NUM must be less than NUM_TLBCAMS"
    #endif

    -unsigned long __init mmu_mapin_ram(unsigned long top)
    +unsigned long __init mmu_mapin_ram(unsigned long base, unsigned long top)
    {
    return tlbcam_addrs[tlbcam_index - 1].limit - PAGE_OFFSET + 1;
    }
    diff --git a/arch/powerpc/mm/mmu_decl.h b/arch/powerpc/mm/mmu_decl.h
    index c4a717da65eb..61730023dde3 100644
    --- a/arch/powerpc/mm/mmu_decl.h
    +++ b/arch/powerpc/mm/mmu_decl.h
    @@ -130,7 +130,7 @@ extern void wii_memory_fixups(void);
    */
    #ifdef CONFIG_PPC32
    extern void MMU_init_hw(void);
    -extern unsigned long mmu_mapin_ram(unsigned long top);
    +unsigned long mmu_mapin_ram(unsigned long base, unsigned long top);
    #endif

    #ifdef CONFIG_PPC_FSL_BOOK3E
    diff --git a/arch/powerpc/mm/pgtable_32.c b/arch/powerpc/mm/pgtable_32.c
    index ded71126ce4c..b4858818523f 100644
    --- a/arch/powerpc/mm/pgtable_32.c
    +++ b/arch/powerpc/mm/pgtable_32.c
    @@ -258,15 +258,15 @@ void __init mapin_ram(void)

    #ifndef CONFIG_WII
    top = total_lowmem;
    - s = mmu_mapin_ram(top);
    + s = mmu_mapin_ram(0, top);
    __mapin_ram_chunk(s, top);
    #else
    if (!wii_hole_size) {
    - s = mmu_mapin_ram(total_lowmem);
    + s = mmu_mapin_ram(0, total_lowmem);
    __mapin_ram_chunk(s, total_lowmem);
    } else {
    top = wii_hole_start;
    - s = mmu_mapin_ram(top);
    + s = mmu_mapin_ram(0, top);
    __mapin_ram_chunk(s, top);

    top = memblock_end_of_DRAM();
    diff --git a/arch/powerpc/mm/ppc_mmu_32.c b/arch/powerpc/mm/ppc_mmu_32.c
    index 3f4193201ee7..b260ced065b4 100644
    --- a/arch/powerpc/mm/ppc_mmu_32.c
    +++ b/arch/powerpc/mm/ppc_mmu_32.c
    @@ -73,7 +73,7 @@ unsigned long p_block_mapped(phys_addr_t pa)
    return 0;
    }

    -unsigned long __init mmu_mapin_ram(unsigned long top)
    +unsigned long __init mmu_mapin_ram(unsigned long base, unsigned long top)
    {
    unsigned long tot, bl, done;
    unsigned long max_size = (256<<20);
    --
    2.13.3
    \
     
     \ /
      Last update: 2019-02-21 20:11    [W:2.063 / U:0.092 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site