patch "tty: serial: OMAP: ensure FIFO levels are set correctly in non-DMA" added to tty tree

Russell King - ARM Linux linux at arm.linux.org.uk
Sat Feb 4 12:01:14 EST 2012


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

So, if this is allowed, OMAP is broken.  Plain and simple.

> As in many power management situations, the choice needs to be up to the 
> user of the serial port or the system administrator, with the default 
> mode being to not lose data.  We must not remove that choice from them, 
> otherwise they will just hack it in later.

And then they'll whinge that they get lost characters and abandon the
attempt.  Good, they learnt that the hardware is broken, and they
learnt why it's not implemented.



More information about the linux-arm-kernel mailing list