Messages in this thread | | | Subject | Re: [PATCH] tty: Don't force RISCV SBI console as preferred console | From | Atish Patra <> | Date | Mon, 29 Apr 2019 12:50:42 -0700 |
| |
On 4/25/19 11:21 PM, Anup Patel wrote: > On Fri, Apr 26, 2019 at 10:11 AM Atish Patra <atish.patra@wdc.com> wrote: >> >> On 4/25/19 6:35 AM, Anup Patel wrote: >>> The Linux kernel will auto-disables all boot consoles whenever it >>> gets a preferred real console. >>> >>> Currently on RISC-V systems, if we have a real console which is not >>> RISCV SBI console then boot consoles (such as earlycon=sbi) are not >>> auto-disabled when a real console (ttyS0 or ttySIF0) is available. >>> This results in duplicate prints at boot-time after kernel starts >>> using real console (i.e. ttyS0 or ttySIF0) if "earlycon=" kernel >>> parameter was passed by bootloader. >>> >>> The reason for above issue is that RISCV SBI console always adds >>> itself as preferred console which is causing other real consoles >>> to be not used as preferred console. >>> >> >> Do we even need HVC_SBI console to be enabled by default? Disabling >> CONFIG_HVC_RISCV_SBI seems to be fine while running in QEMU. > > Actually, HVC_SBI console is useful on boards (such as SiFive Unleashed) > lacking upstream serial driver. It allows us to boot upstream kernel to prompt > on such boards with just timer driver (and probably irqchip driver). > > Also, we should be able to use same kernel image on QEMU and SiFive > Unleashed board so disabling CONFIG_HVC_RISCV_SBI for QEMU is > a temporary solution. > >> >> If we don't need it, I suggest we should remove the config option from >> defconfig in addition to this patch. > > Like mentioned above, HVC_SBI is useful for newer SOCs and boards > where serial driver is not yet up-streamed. >
Ok. Lets keep it then.
> Regards, > Anup > >> >> Regards, >> Atish >>> Ideally "console=" kernel parameter passed by bootloaders should >>> be the one selecting a preferred real console. >>> >>> This patch fixes above issue by not forcing RISCV SBI console as >>> preferred console. >>> >>> Fixes: afa6b1ccfad5 ("tty: New RISC-V SBI console driver") >>> Cc: stable@vger.kernel.org >>> Signed-off-by: Anup Patel <anup.patel@wdc.com> >>> --- >>> drivers/tty/hvc/hvc_riscv_sbi.c | 1 - >>> 1 file changed, 1 deletion(-) >>> >>> diff --git a/drivers/tty/hvc/hvc_riscv_sbi.c b/drivers/tty/hvc/hvc_riscv_sbi.c >>> index 75155bde2b88..31f53fa77e4a 100644 >>> --- a/drivers/tty/hvc/hvc_riscv_sbi.c >>> +++ b/drivers/tty/hvc/hvc_riscv_sbi.c >>> @@ -53,7 +53,6 @@ device_initcall(hvc_sbi_init); >>> static int __init hvc_sbi_console_init(void) >>> { >>> hvc_instantiate(0, 0, &hvc_sbi_ops); >>> - add_preferred_console("hvc", 0, NULL); >>> >>> return 0; >>> } >>> >> >
Reviewed-by: Atish Patra <atish.patra@wdc.com>
Regards, Atish
| |