patch "tty: serial: OMAP: ensure FIFO levels are set correctly in non-DMA" added to tty tree
Paul Walmsley
paul at pwsan.com
Sat Feb 4 12:22:27 EST 2012
On Sat, 4 Feb 2012, Russell King - ARM Linux wrote:
> On Sat, Feb 04, 2012 at 09:49:57AM -0700, Paul Walmsley wrote:
> > There is indeed an argument here. The decision of how to act in this
> > situation needs to be up to the user of the serial port.
> >
> > The default behavior needs to be what you state: to not lose characters.
> > And indeed that is what it is in v3.3: the UART will not enter idle when
> > the PM runtime autosuspend timeout is -1.
> >
> > But in cases where there is a protocol that can handle retries, the system
> > integrator may well prefer the large power savings available by letting
> > the chip enter device idle, and take the added delay in the retransmission
> > process.
>
> Rubbish. Let's say I hook an OMAP platform up to a GPS, and the system
> integrator has decided to set the idle timeout on all UARTs to .5 sec.
> The GPS transmits data every second. Yes, it effectively retries each
> second, but there's no way to receive its complete transmission _ever_.
No, that is not an example of a protocol with a retry. That is an example
of a protocol that has no provision for reliable data delivery. Sending a
new data string one second later is not a retry.
In such situations, the system integrator would just use the UART in the
default (lossless) mode. And if they don't, they'll have to deal with the
consequences that they chose. Those of us who ship battery-powered Linux
devices are indeed capable of making this choice.
One could argue that the PM runtime autosuspend timeout is not the
appropriate place to change this setting, and that it should be somewhere
else. That's fine. But that's a separate issue from removing the
functionality completely.
- Paul
More information about the linux-arm-kernel
mailing list