lkml.org 
[lkml]   [2009]   [Dec]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: linux-next: manual merge of the 52xx-and-virtex tree with the tree
    On Mon, Dec 14, 2009 at 4:31 PM, Stephen Rothwell <sfr@canb.auug.org.au> wrote:
    > Hi Grant,
    >
    > Today's linux-next merge of the 52xx-and-virtex tree got a conflict in
    > arch/powerpc/mm/fsl_booke_mmu.c between commit
    > 8b27f0b61db57f5555fc2d3fc95c3ea9fd1a9d6c ("powerpc/fsl-booke: Rework TLB
    > CAM code") from Linus' tree and commit
    > ae4cec4736969ec2196a6bbce4ab263ff7cb7eef ("powerpc: fix up for
    > mmu_mapin_ram api change") from the 52xx-and-virtex tree.
    >
    > I fixed it up (see below) and can carry the fix for a while.  Grant, you
    > can (of course) fix this by merging with Linus' tree.  (Or Linus, if you
    > merge Grant's tree, I think this fixup is correct).

    Yup, this looks like the correct fix to me. I came out to the same
    result when I merged. I've also build tested for booke.

    Linus, I've done a trial merge and pushed it out to the next-resolved
    branch on my tree (pull req below). You can either use my previous
    pull request and fix it up yourself or use this one:

    The following changes since commit 8bea8672edfca7ec5f661cafb218f1205863b343:
    Stephen Rothwell (1):
    mfd: compile fix for twl4030 renaming

    are available in the git repository at:

    git://git.secretlab.ca/git/linux-2.6 next-resolved

    Albert Herranz (22):
    powerpc: gamecube/wii: usbgecko bootwrapper console support
    powerpc: gamecube: device tree
    powerpc: gamecube: bootwrapper bits
    powerpc: gamecube/wii: introduce GAMECUBE_COMMON
    powerpc: gamecube/wii: declare as non-coherent platforms
    powerpc: gamecube/wii: do not include PCI support
    powerpc: gamecube/wii: udbg support for usbgecko
    powerpc: gamecube/wii: flipper interrupt controller support
    powerpc: gamecube: platform support
    powerpc: gamecube: default config
    powerpc: wii: device tree
    powerpc: wii: bootwrapper bits
    powerpc: broadway processor support
    powerpc: wii: hollywood interrupt controller support
    powerpc: wii: platform support
    powerpc: wii: default config
    powerpc: reserve fixmap entries for early debug
    powerpc: gamecube/wii: early debugging using usbgecko
    wii: bootwrapper: add fixup to calc useable mem2
    wii: use both mem1 and mem2 as ram
    powerpc: allow ioremap within reserved memory regions
    powerpc: wii: allow ioremap within the memory hole

    Grant Likely (1):
    powerpc: Merge Nintendo branch with Linus' tree to resolve merge conflicts

    Stephen Rothwell (1):
    powerpc: fix up for mmu_mapin_ram api change

    .../powerpc/dts-bindings/nintendo/gamecube.txt | 109 ++
    .../powerpc/dts-bindings/nintendo/wii.txt | 184 +++
    arch/powerpc/Kconfig | 2 +-
    arch/powerpc/Kconfig.debug | 8 +
    arch/powerpc/boot/Makefile | 7 +-
    arch/powerpc/boot/dts/gamecube.dts | 114 ++
    arch/powerpc/boot/dts/wii.dts | 218 +++
    arch/powerpc/boot/gamecube-head.S | 111 ++
    arch/powerpc/boot/gamecube.c | 35 +
    arch/powerpc/boot/ugecon.c | 147 ++
    arch/powerpc/boot/ugecon.h | 24 +
    arch/powerpc/boot/wii-head.S | 142 ++
    arch/powerpc/boot/wii.c | 158 +++
    arch/powerpc/boot/wrapper | 4 +
    arch/powerpc/configs/gamecube_defconfig | 1061 +++++++++++++++
    arch/powerpc/configs/wii_defconfig | 1406 ++++++++++++++++++++
    arch/powerpc/include/asm/fixmap.h | 3 +
    arch/powerpc/include/asm/udbg.h | 1 +
    arch/powerpc/kernel/cputable.c | 6 +-
    arch/powerpc/kernel/head_32.S | 25 +
    arch/powerpc/kernel/udbg.c | 2 +
    arch/powerpc/mm/40x_mmu.c | 2 +-
    arch/powerpc/mm/44x_mmu.c | 2 +-
    arch/powerpc/mm/fsl_booke_mmu.c | 2 +-
    arch/powerpc/mm/init_32.c | 9 +
    arch/powerpc/mm/mmu_decl.h | 17 +-
    arch/powerpc/mm/pgtable_32.c | 36 +-
    arch/powerpc/mm/ppc_mmu_32.c | 4 +-
    arch/powerpc/platforms/Kconfig.cputype | 2 +-
    arch/powerpc/platforms/embedded6xx/Kconfig | 33 +
    arch/powerpc/platforms/embedded6xx/Makefile | 4 +
    arch/powerpc/platforms/embedded6xx/flipper-pic.c | 263 ++++
    arch/powerpc/platforms/embedded6xx/flipper-pic.h | 25 +
    arch/powerpc/platforms/embedded6xx/gamecube.c | 118 ++
    arch/powerpc/platforms/embedded6xx/hlwd-pic.c | 241 ++++
    arch/powerpc/platforms/embedded6xx/hlwd-pic.h | 22 +
    arch/powerpc/platforms/embedded6xx/usbgecko_udbg.c | 328 +++++
    arch/powerpc/platforms/embedded6xx/usbgecko_udbg.h | 32 +
    arch/powerpc/platforms/embedded6xx/wii.c | 268 ++++
    include/linux/lmb.h | 1 +
    lib/lmb.c | 7 +-
    41 files changed, 5161 insertions(+), 22 deletions(-)
    create mode 100644 Documentation/powerpc/dts-bindings/nintendo/gamecube.txt
    create mode 100644 Documentation/powerpc/dts-bindings/nintendo/wii.txt
    create mode 100644 arch/powerpc/boot/dts/gamecube.dts
    create mode 100644 arch/powerpc/boot/dts/wii.dts
    create mode 100644 arch/powerpc/boot/gamecube-head.S
    create mode 100644 arch/powerpc/boot/gamecube.c
    create mode 100644 arch/powerpc/boot/ugecon.c
    create mode 100644 arch/powerpc/boot/ugecon.h
    create mode 100644 arch/powerpc/boot/wii-head.S
    create mode 100644 arch/powerpc/boot/wii.c
    create mode 100644 arch/powerpc/configs/gamecube_defconfig
    create mode 100644 arch/powerpc/configs/wii_defconfig
    create mode 100644 arch/powerpc/platforms/embedded6xx/flipper-pic.c
    create mode 100644 arch/powerpc/platforms/embedded6xx/flipper-pic.h
    create mode 100644 arch/powerpc/platforms/embedded6xx/gamecube.c
    create mode 100644 arch/powerpc/platforms/embedded6xx/hlwd-pic.c
    create mode 100644 arch/powerpc/platforms/embedded6xx/hlwd-pic.h
    create mode 100644 arch/powerpc/platforms/embedded6xx/usbgecko_udbg.c
    create mode 100644 arch/powerpc/platforms/embedded6xx/usbgecko_udbg.h
    create mode 100644 arch/powerpc/platforms/embedded6xx/wii.c


    > --
    > Cheers,
    > Stephen Rothwell                    sfr@canb.auug.org.au
    >
    > diff --cc arch/powerpc/mm/fsl_booke_mmu.c
    > index fcfcb6e,6da4b90..0000000
    > --- a/arch/powerpc/mm/fsl_booke_mmu.c
    > +++ b/arch/powerpc/mm/fsl_booke_mmu.c
    > @@@ -172,44 -148,27 +172,44 @@@ static void settlbcam(int index, unsign
    >        loadcam_entry(index);
    >  }
    >
    >  -void invalidate_tlbcam_entry(int index)
    >  -{
    >  -      TLBCAM[index].MAS0 = MAS0_TLBSEL(1) | MAS0_ESEL(index);
    >  -      TLBCAM[index].MAS1 = ~MAS1_VALID;
    >  -
    >  -      loadcam_entry(index);
    >  -}
    >  -
    >  -unsigned long __init mmu_mapin_ram(unsigned long top)
    >  +unsigned long map_mem_in_cams(unsigned long ram, int max_cam_idx)
    >  {
    >  +      int i;
    >        unsigned long virt = PAGE_OFFSET;
    >        phys_addr_t phys = memstart_addr;
    >  +      unsigned long amount_mapped = 0;
    >  +      unsigned long max_cam = (mfspr(SPRN_TLB1CFG) >> 16) & 0xf;
    >  +
    >  +      /* Convert (4^max) kB to (2^max) bytes */
    >  +      max_cam = max_cam * 2 + 10;
    >
    >  -      while (tlbcam_index < ARRAY_SIZE(cam) && cam[tlbcam_index]) {
    >  -              settlbcam(tlbcam_index, virt, phys, cam[tlbcam_index], PAGE_KERNEL_X, 0);
    >  -              virt += cam[tlbcam_index];
    >  -              phys += cam[tlbcam_index];
    >  -              tlbcam_index++;
    >  +      /* Calculate CAM values */
    >  +      for (i = 0; ram && i < max_cam_idx; i++) {
    >  +              unsigned int camsize = __ilog2(ram) & ~1U;
    >  +              unsigned int align = __ffs(virt | phys) & ~1U;
    >  +              unsigned long cam_sz;
    >  +
    >  +              if (camsize > align)
    >  +                      camsize = align;
    >  +              if (camsize > max_cam)
    >  +                      camsize = max_cam;
    >  +
    >  +              cam_sz = 1UL << camsize;
    >  +              settlbcam(i, virt, phys, cam_sz, PAGE_KERNEL_X, 0);
    >  +
    >  +              ram -= cam_sz;
    >  +              amount_mapped += cam_sz;
    >  +              virt += cam_sz;
    >  +              phys += cam_sz;
    >        }
    >  +      tlbcam_index = i;
    >  +
    >  +      return amount_mapped;
    >  +}
    >
    > - unsigned long __init mmu_mapin_ram(void)
    >  -      return virt - PAGE_OFFSET;
    > ++unsigned long __init mmu_mapin_ram(unsigned long top)
    >  +{
    >  +      return tlbcam_addrs[tlbcam_index - 1].limit - PAGE_OFFSET + 1;
    >  }
    >
    >  /*
    >



    --
    Grant Likely, B.Sc., P.Eng.
    Secret Lab Technologies Ltd.
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2009-12-15 19:41    [W:4.475 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site