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

Anup Patel anup at brainfault.org
Fri Jul 8 10:49:33 PDT 2022


On Fri, Jul 8, 2022 at 11:11 PM Jessica Clarke <jrtc27 at jrtc27.com> wrote:
>
> 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.

My understanding is that they (Shakti folks) never used the old version
of UART on any actual silicon. It seems they are already using the newer
UART everywhere and they just forgot to change the code here.

@Prasanna Thandabani Is the above understanding correct ?

Regards,
Anup

>
> 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