Commit 64b2a237 authored by Varun Wadekar's avatar Varun Wadekar Committed by Manish Pandey
Browse files

Tegra: spe: do not flush console in console_putc



SPE no longer requires the flush bit to be set to start transmitting
characters over the physical uart. Therefore, the flush bit is no
longer required when calling console_core_putc. However, flushing the
console still requires the flush bit.

This patch removes the flush bit from the mailbox messages in
console_core_putc to improve ACK latency.

Original change by: Mustafa Bilgen <mbilgen@nvidia.com>

Change-Id: I5b7d1f3ea69ea2ce308566dbaae222b04e4c373d
Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
parent fbcd053c
...@@ -11,8 +11,7 @@ ...@@ -11,8 +11,7 @@
#define CONSOLE_FLUSH_DATA_TO_PORT (1 << 26) #define CONSOLE_FLUSH_DATA_TO_PORT (1 << 26)
#define CONSOLE_RING_DOORBELL (1 << 31) #define CONSOLE_RING_DOORBELL (1 << 31)
#define CONSOLE_IS_BUSY (1 << 31) #define CONSOLE_IS_BUSY (1 << 31)
#define CONSOLE_TIMEOUT 0xC000 /* approx. 50 ms */ #define CONSOLE_TIMEOUT 0xC000 /* 50 ms */
#define CONSOLE_WRITE (CONSOLE_RING_DOORBELL | CONSOLE_FLUSH_DATA_TO_PORT)
/* /*
* This file contains a driver implementation to make use of the * This file contains a driver implementation to make use of the
...@@ -101,7 +100,7 @@ func console_spe_core_putc ...@@ -101,7 +100,7 @@ func console_spe_core_putc
/* spe is ready */ /* spe is ready */
mov w2, #0xD /* '\r' */ mov w2, #0xD /* '\r' */
and w2, w2, #0xFF and w2, w2, #0xFF
mov w3, #(CONSOLE_WRITE | (1 << CONSOLE_NUM_BYTES_SHIFT)) mov w3, #(CONSOLE_RING_DOORBELL | (1 << CONSOLE_NUM_BYTES_SHIFT))
orr w2, w2, w3 orr w2, w2, w3
str w2, [x1] str w2, [x1]
...@@ -111,7 +110,7 @@ not_eol: ...@@ -111,7 +110,7 @@ not_eol:
/* spe is ready */ /* spe is ready */
mov w2, w0 mov w2, w0
and w2, w2, #0xFF and w2, w2, #0xFF
mov w3, #(CONSOLE_WRITE | (1 << CONSOLE_NUM_BYTES_SHIFT)) mov w3, #(CONSOLE_RING_DOORBELL | (1 << CONSOLE_NUM_BYTES_SHIFT))
orr w2, w2, w3 orr w2, w2, w3
str w2, [x1] str w2, [x1]
...@@ -164,7 +163,7 @@ func console_spe_core_flush ...@@ -164,7 +163,7 @@ func console_spe_core_flush
cbz x0, flush_error cbz x0, flush_error
/* flush console */ /* flush console */
mov w1, #CONSOLE_WRITE mov w1, #(CONSOLE_RING_DOORBELL | CONSOLE_FLUSH_DATA_TO_PORT)
str w1, [x0] str w1, [x0]
mov w0, #0 mov w0, #0
ret ret
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment