Skip to contentSkip to conversation

amba-pl011: simplify TX handling

PATCH New Andre Przywara 1 participant 1 message Mar 17, 2015 3 messages not in the archive TTY layer and serial drivers

lore
Share & tools
lore

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

#3 lore raw

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.