[PATCH v3] lib: utils/serial: Update Shakti UART based on latest implementation

Jessica Clarke jrtc27 at jrtc27.com
Fri Jul 8 10:41:52 PDT 2022


On 8 Jul 2022, at 12:52, Anup Patel <apatel at ventanamicro.com> wrote:
> 
> From: Prasanna T <ptprasanna at gmail.com>
> 
> The age old version of Shakti UART was upgraded long back, but we missed
> updating the driver in OpenSBI. The old version of UART is not supported
> anymore, hence removed the inline comment which is also outdated now.

This part of the description is referencing a comment that was
*introduced* by an earlier version of this patch; there is no comment
in the source being removed and so this part of the commit message is
inaccurate.

I’m also rather concerned about reusing an existing compatible string
for an incompatible device, it seems like even if you’re dropping
support for an old UART the new one should have its own compatible with
the version suffix bumped. They have versions in them for a reason.

Jess

> Signed-off-by: Prasanna T <ptprasanna at gmail.com>
> Signed-off-by: Anup Patel <apatel at ventanamicro.com>
> ---
> Changes since v2:
> - Updated patch subject and description
> - Minor fix in shakti_uart_getc()
> ---
> lib/utils/serial/shakti-uart.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/lib/utils/serial/shakti-uart.c b/lib/utils/serial/shakti-uart.c
> index 5f2fe75..3556935 100644
> --- a/lib/utils/serial/shakti-uart.c
> +++ b/lib/utils/serial/shakti-uart.c
> @@ -19,21 +19,21 @@
> #define REG_RX_THRES	0x20
> 
> #define UART_TX_FULL  0x2
> +#define UART_RX_NOT_EMPTY 0x4
> #define UART_RX_FULL  0x8
> 
> static volatile char *uart_base;
> 
> static void shakti_uart_putc(char ch)
> {
> -	while((readw(uart_base + REG_STATUS) & UART_TX_FULL))
> +	while ((readb(uart_base + REG_STATUS) & UART_TX_FULL))
> 		;
> 	writeb(ch, uart_base + REG_TX);
> }
> 
> static int shakti_uart_getc(void)
> {
> -	u16 status = readw(uart_base + REG_STATUS);
> -	if (status & UART_RX_FULL)
> +	if (readb(uart_base + REG_STATUS) & UART_RX_NOT_EMPTY)
> 		return readb(uart_base + REG_RX);
> 	return -1;
> }
> -- 
> 2.34.1
> 
> 
> -- 
> opensbi mailing list
> opensbi at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/opensbi




More information about the opensbi mailing list