From: Mark A. Greer <[EMAIL PROTECTED]> Make the prpmc2800 bootwrapper code use the new interface to mv64x60_config_pci_windows(). With that change, some minor code rearrangement is possible to make things neater.
Signed-off-by: Mark A. Greer <[EMAIL PROTECTED]> --- arch/powerpc/boot/prpmc2800.c | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/arch/powerpc/boot/prpmc2800.c b/arch/powerpc/boot/prpmc2800.c index 9614e1d..d72400d 100644 --- a/arch/powerpc/boot/prpmc2800.c +++ b/arch/powerpc/boot/prpmc2800.c @@ -315,7 +315,7 @@ static struct prpmc2800_board_info *prpmc2800_get_bip(void) return bip; } -static void prpmc2800_bridge_setup(u32 mem_size) +static void prpmc2800_bridge_setup(void) { u32 i, v[12], enables, acc_bits; u32 pci_base_hi, pci_base_lo, size, buf[2]; @@ -340,8 +340,7 @@ static void prpmc2800_bridge_setup(u32 mem_size) | MV64x60_PCI_ACC_CNTL_RDSIZE_256_BYTES; mv64x60_config_ctlr_windows(bridge_base, bridge_pbase, is_coherent); - mv64x60_config_pci_windows(bridge_base, bridge_pbase, 0, 0, mem_size, - acc_bits); + mv64x60_config_pci_windows(bridge_base, bridge_pbase, 0, 0, acc_bits); /* Get the cpu -> pci i/o & mem mappings from the device tree */ devp = finddevice("/mv64x60/[EMAIL PROTECTED]"); @@ -397,20 +396,19 @@ static void prpmc2800_bridge_setup(u32 mem_size) static void prpmc2800_fixups(void) { - u32 v[2], l, mem_size; + u32 v[2], l; int rc; void *devp; char model[BOARD_MODEL_MAX]; struct prpmc2800_board_info *bip; - bip = prpmc2800_get_bip(); /* Get board info based on VPD */ - - mem_size = (bip) ? bip->mem_size : mv64x60_get_mem_size(bridge_base); - prpmc2800_bridge_setup(mem_size); /* Do necessary bridge setup */ + prpmc2800_bridge_setup(); /* Do necessary bridge setup */ - /* If the VPD doesn't match what we know about, just use the + /* + * If the VPD doesn't match what we know about, just use the * defaults already in the device tree. */ + bip = prpmc2800_get_bip(); /* Get board info based on VPD */ if (!bip) return; @@ -439,8 +437,8 @@ static void prpmc2800_fixups(void) devp = finddevice("/memory"); if (devp == NULL) fatal("Error: Missing /memory device tree node\n\r"); - v[0] = 0; - v[1] = bip->mem_size; + v[0] = 0; /* Take min of DT's mem size and what mem ctlr is setup for */ + v[1] = min(mv64x60_get_mem_size(bridge_base), bip->mem_size); setprop(devp, "reg", v, sizeof(v)); /* Update /mv64x60/model, if this is a mv64362 */ _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev