Re: [PATCH] serial: 8250_dw: Prefer SRBR in bogus RX timeout workaround if available
From: Ilpo Järvinen
Date: Mon Jun 29 2026 - 11:21:34 EST
On Mon, 29 Jun 2026, Andy Shevchenko wrote:
> On Mon, Jun 29, 2026 at 03:55:10PM +0800, Yicong Yang wrote:
> > The DW uart could get into the cases where a bogus RX timeout
> > interrupt is asserted but no available data. This could be
> > workaround by doing a bogus read.
> >
> > Currently the driver's using the standard RBR (receive buffer
> > register) for this bogus read. However the reading of RBR
> > in this case is allowed to raise a hardware error if vendor
> > choose to implement in this way (our platform). It's also
> > allowed to do the bogus read using SRBR (shadow RBR) for
> > workaround which won't raise the hardware error. So change
> > to use the SRBR to workaround the issue if it's available.
>
> ...
>
> > /* Offsets for the DesignWare specific registers */
> > +#define DW_UART_SRBR_0 0x0c /* Shadow Receive Buffer Register */
>
> Is this a name per DesignWare databook for UART? I mean that _0 part.
They have 16 consecutive registers for it. There isn't underscore in the
databook but n is apparently part of the name.
--
i.