summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTapani <tapani@vmail.me>2013-01-18 22:24:43 +0100
committerJohn Weber <rjohnweber@gmail.com>2013-07-28 23:45:23 -0500
commit194d4c94a821fced74bf563fb817a8eb73a948e1 (patch)
tree07ca94e8b220b24e94f9f791cdcff49963b17eac
parentc01ebb6ca08326a7d2309efc68329f4147c6d5e5 (diff)
Revert "ENGR00225875-2 i.MX6Q/Solo Sabreauto Bluetooth H4 fix uart rx timeouts."
This commit breaks Bluetooth UART connection on the WandBoard. This reverts commit e21b0b06f4b99a22f9cf5d63641c00a6d83d433a. (cherry picked from commit 7cdaeabf2df37efc5bc7d84319c58af8df6345a6)
-rw-r--r--drivers/tty/serial/imx.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/drivers/tty/serial/imx.c b/drivers/tty/serial/imx.c
index a512a7669d53..e610ec030ca1 100644
--- a/drivers/tty/serial/imx.c
+++ b/drivers/tty/serial/imx.c
@@ -818,11 +818,8 @@ static void imx_finish_dma(struct imx_port *sport)
* [2] the Aging timer expires(wait for 8 bytes long)
* [3] the Idle Condition Detect(enabled the UCR4_IDDMAEN).
*
- * [2] is trigger when a character was been sitting in the FIFO
- * meanwhile [3] can wait for 32 bytes long when the RX line is
- * on IDLE state and RxFIFO is empty.
- * Bluetooth H4 is very susceptible to Rx timeouts if data is not available
- * in a specific period of time so we use both.
+ * The [2] and [3] are similar, but [3] is better.
+ * [3] can wait for 32 bytes long, so we do not use [2].
*/
static void dma_rx_callback(void *data)
{
@@ -1063,8 +1060,8 @@ static int imx_startup(struct uart_port *port)
temp |= UCR1_RRDYEN | UCR1_RTSDEN | UCR1_UARTEN;
if (sport->enable_dma) {
temp |= UCR1_RDMAEN | UCR1_TDMAEN;
- /* ICD,await 4 idle frames also enable AGING Timer */
- temp |= UCR1_ICD_REG(0)|UCR1_ATDMAEN;
+ /* ICD, wait for more than 32 frames, but it still to short. */
+ temp |= UCR1_ICD_REG(3);
}
if (USE_IRDA(sport)) {