acrn-kernel/arch/powerpc/platforms/powermac
Benjamin Gray 59c4b9a2ca powerpc/powermac: Use early_* IO variants in via_calibrate_decr()
[ Upstream commit 86582e6189 ]

On a powermac platform, via the call path:

  start_kernel()
    time_init()
      ppc_md.calibrate_decr() (pmac_calibrate_decr)
        via_calibrate_decr()

ioremap() and iounmap() are called. The unmap can enable interrupts
unexpectedly (cond_resched() in vunmap_pmd_range()), which causes a
warning later in the boot sequence in start_kernel().

Use the early_* variants of these IO functions to prevent this.

The issue is pre-existing, but is surfaced by commit 721255b982
("genirq: Use a maple tree for interrupt descriptor management").

Signed-off-by: Benjamin Gray <bgray@linux.ibm.com>
Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://msgid.link/20230706010816.72682-1-bgray@linux.ibm.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-09-13 09:42:24 +02:00
..
Kconfig powerpc/64s: Make hash MMU support configurable 2021-12-09 22:40:24 +11:00
Makefile kbuild: remove cc-option test of -fno-stack-protector 2020-07-07 11:13:10 +09:00
backlight.c powerpc: Remove asm/prom.h from all files that don't need it 2022-05-08 22:15:04 +10:00
bootx_init.c powerpc: Add missing headers 2022-05-08 22:15:40 +10:00
cache.S powerpc/mm: Switch obsolete dssall to .long 2021-12-23 22:35:13 +11:00
feature.c powerpc/powermac/feature: Add missing of_node_put() 2022-09-05 17:30:29 +10:00
low_i2c.c powerpc/powermac/low_i2c: Add missing of_node_put() in kw_i2c_probe() 2022-09-05 17:30:29 +10:00
nvram.c powerpc: Add missing headers 2022-05-08 22:15:40 +10:00
pci.c powerpc: Add missing headers 2022-05-08 22:15:40 +10:00
pfunc_base.c powerpc/powermac/pfunc_base: Add missing of_node_put() in macio_gpio_init_one() 2022-09-05 17:30:29 +10:00
pfunc_core.c powerpc: Add missing headers 2022-05-08 22:15:40 +10:00
pic.c powerpc/powermac: constify device_node in of_irq_parse_oldworld() 2022-05-22 15:59:54 +10:00
pmac.h powerpc/powermac: add missing g5_phy_disable_cpu1() declaration 2022-05-22 15:59:54 +10:00
setup.c powerpc/powermac: Remove empty function note_scsi_host() 2022-06-26 10:29:44 +10:00
sleep.S powerpc/powermac: Fix low_sleep_handler with CONFIG_VMAP_STACK 2020-12-08 21:41:03 +11:00
smp.c powerpc/powermac: Add missing of_node_put() in smp_core99_setup() 2022-09-05 17:30:24 +10:00
time.c powerpc/powermac: Use early_* IO variants in via_calibrate_decr() 2023-09-13 09:42:24 +02:00
udbg_adb.c powerpc: Add missing headers 2022-05-08 22:15:40 +10:00
udbg_scc.c powerpc/powermac/udbg_scc: Add missing of_node_put()s in udbg_scc_init() 2022-09-05 17:30:30 +10:00