serial: sh-sci: FIFO sizing helper consolidation.
authorPaul Mundt <lethal@linux-sh.org>
Tue, 14 Jun 2011 08:38:19 +0000 (17:38 +0900)
committerPaul Mundt <lethal@linux-sh.org>
Tue, 14 Jun 2011 08:38:19 +0000 (17:38 +0900)
commit72b294cf76dcd6d37891387049ddbe3c25043cb8
treee19eaab5e23bba04b1f0f9ef244764ae73656764
parent61a6976bf19a6cf5dfcf37c3536665b316f22d49
serial: sh-sci: FIFO sizing helper consolidation.

This consolidates all of the TX/RX fill/room nonsense in to a single set
of fairly heavyweight definitions. The implementation goes in descending
order of complexity, testing the register map for capabilities until we
run out of options and do it the legacy SCI way. Masks are derived
directly from the per-port FIFO size, meaning that platforms with FIFO
sizes not matching the standard port types will still need to manually
fix them up.

This also fixes up a number of issues such as tx_empty being completely
bogus for SCI and IrDA ports, some ports using masks smaller or greater
than their FIFO size, and so forth.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
drivers/tty/serial/sh-sci.c
drivers/tty/serial/sh-sci.h