amba-pl011: simplify TX handling
A message that is not in the archive (sent off-list or not yet received): [email protected]
A message that is not in the archive (sent off-list or not yet received): [email protected]
A message that is not in the archive (sent off-list or not yet received): 20150317154248.1675cd4c@north
PATCH 1/1 amba-pl011: simplify TX handling
[resent with LAKML address fixed]
Hi Jakub,
Quoted 3 lines · Jakub Kici?ski
Quoted 2 lines · Dave P Martin
Quoted 1 line · Jakub Kicinski
From: Jakub Kicinski <[email protected]>
[ ... ]
Quoted 8 lines
Quoted 8 lines
My update still keeps the softirq stuff. I wanted to avoid adding status polling inside the interrupt handler's core loop, due to concerns about performance overhead: without the polling, the writes to DR are fire-and-forget, whereas polling FR each time involves a whole round-trip to the UART which may involve significant extra time cost and/or IRQ disable latency; however.
Quoted 8 lines
Quoted 5 lines
Your approach does mitigate some of the cost by only starting to poll after count chars have been transmitted, and will typically halve the number of IRQs taken -- which could lead to a net benefit. It would be good to see some benchmarks to understand how much difference it makes to performance.
I will *try* to come up with some figures but I don't have any high-speed UARTs so my tests run at 115k tops.
Have you tried this?
http://fw.hardijzer.nl/?p=138
This drives the RPi PL011 from a higher frequency clock, thus you can achieve much higher baud rates. Haven't tried this myself, but it looks reasonable and not too complicated. You need a matching speed at the other end, of course, AFAIK the FTDI USB chip can do this.
Cheers,
Andre.