[PATCH] [ARM] serial/pxa: work around Errata #75

Uwe Kleine-König u.kleine-koenig at pengutronix.de
Sat Nov 7 06:33:03 EST 2009


Hello,

> >                up->mcr &= ~UART_MCR_AFE;
> >
> > -       serial_out(up, UART_LCR, cval | UART_LCR_DLAB);/* set DLAB */
> > +       serial_out(up, UART_LCR, cval | UART_LCR_DLAB); /* set DLAB */
> >        serial_out(up, UART_DLL, quot & 0xff);          /* LS of divisor */
> > +
> > +       /*
> > +        * work around Errata #75 according to Intel(R) PXA27x Processor Family
> > +        * Specification Update (Nov 2005)
> > +        */
> > +       dll = serial_in(up, UART_DLL);
> > +       WARN_ON(dll != (quot & 0xff));
> > +
> Would you mind to use a loop at here? In order to make sure register
> is updated as expected.
Even if the thing described in the Errata happens UART_DLL is updated.
It only speaks about the 2nd write.  So actually only

+	(void)serial_in(up, UART_DLL);

alone would help, too.

So no, I don't think a loop is better here.

Best regards
Uwe

-- 
Pengutronix e.K.                              | Uwe Kleine-König            |
Industrial Linux Solutions                    | http://www.pengutronix.de/  |



More information about the linux-arm-kernel mailing list