[PATCH] powerpc/microwatt: Remove unused early debug code

Joel Stanley joel at jms.id.au
Mon Sep 26 16:17:38 AEST 2022


On Mon, 19 Sept 2022 at 05:28, Michael Ellerman <mpe at ellerman.id.au> wrote:
>
> The original microwatt submission[1] included some early debug code for
> using the Microwatt "potato" UART.

The potato is indeed dead.

>
> The series that was eventually merged switched to using a standard UART,
> and so doesn't need any special early debug handling. But some of the
> original code was merged accidentally under the non-existent
> CONFIG_PPC_EARLY_DEBUG_MICROWATT.

The kconfig never got added, so you're right. Using the "legacy serial
console" must be how we get early console on microwatt? I can't quite
work it out.

May or may not be related to https://github.com/linuxppc/issues/issues/413

>
> Drop the unused code.
>
> 1: https://lore.kernel.org/linuxppc-dev/20200509050340.GD1464954@thinks.paulus.ozlabs.org/
>
> Fixes: 48b545b8018d ("powerpc/microwatt: Use standard 16550 UART for console")
> Reported-by: Lukas Bulwahn <lukas.bulwahn at gmail.com>
> Signed-off-by: Michael Ellerman <mpe at ellerman.id.au>
> ---
>  arch/powerpc/kernel/udbg_16550.c | 39 --------------------------------
>  1 file changed, 39 deletions(-)
>
> diff --git a/arch/powerpc/kernel/udbg_16550.c b/arch/powerpc/kernel/udbg_16550.c
> index d3942de254c6..ddfbc74bf85f 100644
> --- a/arch/powerpc/kernel/udbg_16550.c
> +++ b/arch/powerpc/kernel/udbg_16550.c
> @@ -296,42 +296,3 @@ void __init udbg_init_40x_realmode(void)
>  }
>
>  #endif /* CONFIG_PPC_EARLY_DEBUG_40x */
> -
> -#ifdef CONFIG_PPC_EARLY_DEBUG_MICROWATT
> -
> -#define UDBG_UART_MW_ADDR      ((void __iomem *)0xc0002000)
> -
> -static u8 udbg_uart_in_isa300_rm(unsigned int reg)
> -{
> -       uint64_t msr = mfmsr();
> -       uint8_t  c;
> -
> -       mtmsr(msr & ~(MSR_EE|MSR_DR));
> -       isync();
> -       eieio();
> -       c = __raw_rm_readb(UDBG_UART_MW_ADDR + (reg << 2));
> -       mtmsr(msr);
> -       isync();
> -       return c;
> -}
> -
> -static void udbg_uart_out_isa300_rm(unsigned int reg, u8 val)
> -{
> -       uint64_t msr = mfmsr();
> -
> -       mtmsr(msr & ~(MSR_EE|MSR_DR));
> -       isync();
> -       eieio();
> -       __raw_rm_writeb(val, UDBG_UART_MW_ADDR + (reg << 2));
> -       mtmsr(msr);
> -       isync();
> -}
> -
> -void __init udbg_init_debug_microwatt(void)
> -{
> -       udbg_uart_in = udbg_uart_in_isa300_rm;
> -       udbg_uart_out = udbg_uart_out_isa300_rm;
> -       udbg_use_uart();
> -}
> -
> -#endif /* CONFIG_PPC_EARLY_DEBUG_MICROWATT */
> --
> 2.37.2
>


More information about the Linuxppc-dev mailing list