Commit ab1fe188 authored by Pali Rohár's avatar Pali Rohár
Browse files

marvell: uart: a3720: Fix comments in console_a3700_core_init() function



The delay loop executes 3 instructions. These 3 instructions are executed
in 2 processor ticks and 30000 iterations on a 600 MHz CPU should yield
approximately 100 us. This means we are waiting 2 ms, not 20 ms, for TX
FIFO to be empty.
Signed-off-by: default avatarPali Rohár <pali@kernel.org>
Change-Id: I2cccad405bcc73cd6d1062adc0205c405c16c15f
parent 66306814
...@@ -60,10 +60,10 @@ func console_a3700_core_init ...@@ -60,10 +60,10 @@ func console_a3700_core_init
str w3, [x0, #UART_POSSR_REG] str w3, [x0, #UART_POSSR_REG]
/* /*
* Wait for the TX (THR and TSR) to be empty. If wait for 20ms, the TX FIFO is * Wait for the TX (THR and TSR) to be empty. If wait for 2ms, the TX FIFO is
* still not empty, TX FIFO will reset by all means. * still not empty, TX FIFO will reset by all means.
*/ */
mov w1, #20 /* max time out 20ms */ mov w1, #20 /* max time out 20 * 100 us */
2: 2:
/* Check whether TX (THR and TSR) is empty */ /* Check whether TX (THR and TSR) is empty */
ldr w3, [x0, #UART_STATUS_REG] ldr w3, [x0, #UART_STATUS_REG]
...@@ -72,13 +72,13 @@ func console_a3700_core_init ...@@ -72,13 +72,13 @@ func console_a3700_core_init
b.ne 4f b.ne 4f
/* Delay */ /* Delay */
mov w2, #30000 mov w2, #30000 /* 30000 cycles of below 3 instructions on 600 MHz CPU ~~ 100 us */
3: 3:
sub w2, w2, #1 sub w2, w2, #1
cmp w2, #0 cmp w2, #0
b.ne 3b b.ne 3b
/* Check whether 10ms is waited */ /* Check whether wait timeout expired */
sub w1, w1, #1 sub w1, w1, #1
cmp w1, #0 cmp w1, #0
b.ne 2b b.ne 2b
......
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