[RFC PATCH 18/18] powerpc/powermac: Move PHB discovery

Christophe Leroy christophe.leroy at csgroup.eu
Sun Sep 27 17:25:44 AEST 2020



Le 24/09/2020 à 08:38, Oliver O'Halloran a écrit :
> Signed-off-by: Oliver O'Halloran <oohall at gmail.com>

Tested-by: Christophe Leroy <christophe.leroy at csgroup.eu>

This series is a really good step forward to the elimination of
early support for ioremap(), thanks.

Tested with pmac32_defconfig on QEMU MAC99.

Before the series we have 9000 kbytes mapped as early ioremap

ioremap() called early from pmac_feature_init+0xc8/0xac8. Use early_ioremap() instead
ioremap() called early from probe_one_macio+0x170/0x2a8. Use early_ioremap() instead
ioremap() called early from udbg_scc_init+0x1d8/0x494. Use early_ioremap() instead
ioremap() called early from find_via_cuda+0xa8/0x3f8. Use early_ioremap() instead
ioremap() called early from pmac_pci_init+0x214/0x778. Use early_ioremap() instead
ioremap() called early from pmac_pci_init+0x228/0x778. Use early_ioremap() instead
ioremap() called early from pci_process_bridge_OF_ranges+0x158/0x2d0. Use early_ioremap() instead
ioremap() called early from pmac_setup_arch+0x110/0x298. Use early_ioremap() instead
ioremap() called early from pmac_nvram_init+0x144/0x534. Use early_ioremap() instead
   * 0xfeb36000..0xff400000  : early ioremap
   * 0xf1000000..0xfeb36000  : vmalloc & ioremap

After the series we have 800 kbytes mapped as early ioremap

ioremap() called early from pmac_feature_init+0xc8/0xac8. Use early_ioremap() instead
ioremap() called early from probe_one_macio+0x170/0x2a8. Use early_ioremap() instead
ioremap() called early from udbg_scc_init+0x1d8/0x494. Use early_ioremap() instead
ioremap() called early from find_via_cuda+0xa8/0x3f8. Use early_ioremap() instead
ioremap() called early from pmac_setup_arch+0x10c/0x294. Use early_ioremap() instead
ioremap() called early from pmac_nvram_init+0x144/0x534. Use early_ioremap() instead
   * 0xff338000..0xff400000  : early ioremap
   * 0xf1000000..0xff338000  : vmalloc & ioremap

Christophe


> ---
> compile tested with pmac32_defconfig and g5_defconfig
> ---
>   arch/powerpc/platforms/powermac/setup.c | 4 +---
>   1 file changed, 1 insertion(+), 3 deletions(-)
> 
> diff --git a/arch/powerpc/platforms/powermac/setup.c b/arch/powerpc/platforms/powermac/setup.c
> index f002b0fa69b8..0f8669139a21 100644
> --- a/arch/powerpc/platforms/powermac/setup.c
> +++ b/arch/powerpc/platforms/powermac/setup.c
> @@ -298,9 +298,6 @@ static void __init pmac_setup_arch(void)
>   		of_node_put(ic);
>   	}
>   
> -	/* Lookup PCI hosts */
> -	pmac_pci_init();
> -
>   #ifdef CONFIG_PPC32
>   	ohare_init();
>   	l2cr_init();
> @@ -600,6 +597,7 @@ define_machine(powermac) {
>   	.name			= "PowerMac",
>   	.probe			= pmac_probe,
>   	.setup_arch		= pmac_setup_arch,
> +	.discover_phbs		= pmac_pci_init,
>   	.show_cpuinfo		= pmac_show_cpuinfo,
>   	.init_IRQ		= pmac_pic_init,
>   	.get_irq		= NULL,	/* changed later */
> 


More information about the Linuxppc-dev mailing list