[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v2 1/8] xen/arm: Add NXP LINFlexD UART Driver
Hi Julien, On 01/10/2024 12:20, Julien Grall wrote: > Hi Andrei, > > On 30/09/2024 12:47, Andrei Cherechesu (OSS) wrote: >> +static void __init linflex_uart_init_preirq(struct serial_port *port) >> +{ >> + struct linflex_uart *uart = port->uart; >> + uint32_t ibr, fbr, divisr, dividr, ctrl; >> + >> + /* Disable RX/TX before init mode */ >> + ctrl = linflex_uart_readl(uart, UARTCR); >> + ctrl &= ~(UARTCR_RXEN | UARTCR_TXEN); >> + linflex_uart_writel(uart, UARTCR, ctrl); >> + >> + /* >> + * Smoothen the transition from early_printk by waiting >> + * for all pending characters to transmit >> + */ > > Just to note that early_printk() will still be used by secondary CPUs when > booting which happens after init_preirq() is called. Will this be a problem > for you? > No, there's no problem with that. At the end of init_preirq() the UART can still be used via early_printk(). I know the secondary cores have a mechanism to print some messages themselves when being brought up, otherwise their initialization fails. But they're being enabled correctly in our case: (XEN) Bringing up CPU1 - CPU 0000000000000001 booting - - Current EL 0000000000000008 - - Initialize CPU - - Turning on paging - - Paging turned on - - Ready - (XEN) GICv3: CPU1: Found redistributor in region 0 @00000a004003e000 (XEN) CPU1: Guest atomics will try 13 times before pausing the domain (XEN) CPU 1 booted. (XEN) Bringing up CPU2 - CPU 0000000000000002 booting - - Current EL 0000000000000008 - - Initialize CPU - - Turning on paging - - Paging turned on - - Ready - (XEN) GICv3: CPU2: Found redistributor in region 0 @00000a004005e000 (XEN) CPU2: Guest atomics will try 13 times before pausing the domain (XEN) CPU 2 booted. (XEN) Bringing up CPU3 ... > I haven't compared the code against the specification. But the logic LGTM > from a Xen PoV. So: > > Acked-by: Julien Grall <jgrall@xxxxxxxxxx> > > Cheers, > Thank you for the review! Regards, Andrei Cherechesu
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |