On 08/06/2015 09:59 AM, Sebastian Andrzej Siewior wrote: > On 08/06/2015 02:31 PM, Sebastian Andrzej Siewior wrote: > > Hi Peter, > >>> I'll look at/test this this weekend, ok? >> >> Sure. I'm currently re-spinning the patches so have everything in >> proper pieces. While at it I will take a look at x_char. > > So now that I actually look at it. If I read this right, we never send > the x_char if the TX-DMA never fails to do its job. That's what I saw too; almost all the dma drivers are broken wrt x_char. The amba-pl011 driver gets it right. > The comment above uart_send_xchar() says it is high priority. 'High' priority is meant relative to previously written data which has not yet been sent. > What do you suggest, wait > until the transfer completes, send the x_char _or_ pause the transfer > send that byte and then send the byte? 'Better' would be sending the x_char when the current dma transfer completes. However, it will probably have /some/ impact on what line rates software flow control can be used. Worst case @ 115Kbaud is 35ms delay in sending. 'Best' would be pausing the dma and sending the byte. However, I'm not even sure if this is possible on OMAP; the TRM is woefully under-documented in that regard. > In both cases we have to wait until for the FIFO-empty interrupt to > make sure we don't overrun that TX-FIFO. > > I *think* waiting until the transfer completes would be simpler but it > is not necessarily high priority. I agree; this is what we should do first because someone might want it for backports. Regards, Peter Hurley -- To unsubscribe from this list: send the line "unsubscribe linux-serial" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html