[PATCH] amba-pl011: support hardware flow control

Rabin VINCENT rabin.vincent at stericsson.com
Wed Feb 10 08:45:21 EST 2010


On Wed, Feb 10, 2010 at 02:16:37AM +0100, Jamie Lokier wrote:
> Russell King - ARM Linux wrote:
> > This means that when the kernel's buffers fill up, the kernel calls
> > down to the serial core layer to throttle the input.  This then
> > calls into the set_mctrl function to de-assert RTS.  However, because
> > the hardware ignores the requested software state, the RTS signal
> > is not de-asserted, and the remote end continues sending data.
> > 
> > So, enabling hardware auto-RTS is bad news - you will lose data if
> > the application stops reading data.
> 
[..]
> The ideal combination may be a bit of both:
> 
>     1. When kernel deasserts RTS, do that and disable hardware-RTS
>        so it really is deasserted.
> 
>     2. When kernel asserts RTS with mctrl, enable hardware-RTS
>        so what's output depends on the receive FIFO state.

I've implemented this in the updated patch below.



More information about the linux-arm-kernel mailing list