synclink_gt: improve TIOCOUTQ accuracy
commit403214d0ad9b2b9e46c89a5b4b513c910c89068d
authorPaul Fulghum <paulkf@microgate.com>
Tue, 22 Jul 2008 10:21:55 +0000 (22 11:21 +0100)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 22 Jul 2008 20:03:29 +0000 (22 13:03 -0700)
tree5d7725b1254f4106a8688497094cb1bd34b75921
parente5590717afd5fb6f494323206a1a35ea25610c2d
synclink_gt: improve TIOCOUTQ accuracy

Improve the accuracy of TIOCOUTQ value as implemented in chars_in_buffer()
method by walking and counting tx DMA buffers, reading controller tx FIFO
level and accounting for controller tx shift register.  The greatly
improves application control of transmit latency at lower data rates.

Signed-off-by: Paul Fulghum <paulkf@microgate.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/char/synclink_gt.c