[PATCH] lib: utils: Fix shakti uart implementation
From: Anup Patel <hidden>
Date: 2021-01-07 04:57:17
quoted hunk ↗ jump to hunk
-----Original Message----- From: opensbi <redacted> On Behalf Of Vijai Kumar K Sent: 07 December 2020 22:24 To: opensbi at lists.infradead.org Cc: Vijai Kumar K <redacted> Subject: [PATCH] lib: utils: Fix shakti uart implementation Fix uart_putc implementation. Due to a bug in the IP, this went unnoticed. Use macros instead of magic numbers to make the code more readable. Signed-off-by: Vijai Kumar K <redacted> --- lib/utils/serial/shakti-uart.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)diff --git a/lib/utils/serial/shakti-uart.c b/lib/utils/serial/shakti-uart.c index493edcf..b2deb70 100644--- a/lib/utils/serial/shakti-uart.c +++ b/lib/utils/serial/shakti-uart.c@@ -18,18 +18,21 @@ #define REG_IQ_CYCLES 0x1C #define REG_RX_THRES 0x20 +#define UART_TX_FULL 0x2 +#define UART_RX_FULL 0x8 + static volatile void *uart_base; void shakti_uart_putc(char ch) { - while((readw(uart_base + REG_STATUS) & 0x2) == 0); + while((readw(uart_base + REG_STATUS) & UART_TX_FULL)); writeb(ch, uart_base + REG_TX); } int shakti_uart_getc(void) { u16 status = readw(uart_base + REG_STATUS); - if (status & 0x8) + if (status & UART_RX_FULL) return readb(uart_base + REG_RX); return -1; } --2.25.1 -- opensbi mailing list opensbi at lists.infradead.org http://lists.infradead.org/mailman/listinfo/opensbi
Reviewed-by: Anup Patel <redacted> I have taken care of style comment from Jessica at time of applying this patch. Applied this patch to riscv/opensbi repo. Thanks, Anup