* [PATCH 2/2] omap: serial: fix non-empty rx uart fifo abort
@ 2009-11-16 22:53 Vikram Pandita
2009-11-17 17:06 ` Tony Lindgren
0 siblings, 1 reply; 3+ messages in thread
From: Vikram Pandita @ 2009-11-16 22:53 UTC (permalink / raw)
To: linux-omap; +Cc: Vikram Pandita
Empty uart rx fifo read can cause omap to abort
OMAP silicon affected: OMAP3630, OMAP4430
OMAP silicon not-affected: omap1/2/3
So pass flag UPF_NO_EMPTY_FIFO_READ in plat_serial8250_port, so that 8250
driver does not abort on empty rx fifo read
Tested on zoom3(3630) board
Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
---
arch/arm/mach-omap2/serial.c | 9 ++++++++-
1 files changed, 8 insertions(+), 1 deletions(-)
diff --git a/arch/arm/mach-omap2/serial.c b/arch/arm/mach-omap2/serial.c
index 2e17b57..669652b 100644
--- a/arch/arm/mach-omap2/serial.c
+++ b/arch/arm/mach-omap2/serial.c
@@ -624,8 +624,15 @@ void __init omap_serial_early_init(void)
uart->p = p;
list_add_tail(&uart->node, &uart_list);
- if (cpu_is_omap44xx())
+ if (cpu_is_omap44xx()) {
p->irq += 32;
+ /* Do not read empty UART fifo on omap4 */
+ p->flags |= UPF_NO_EMPTY_FIFO_READ;
+ }
+
+ /* Do not read empty UART fifo on omap3630 */
+ if (cpu_is_omap3630())
+ p->flags |= UPF_NO_EMPTY_FIFO_READ;
omap_uart_enable_clocks(uart);
}
--
1.6.5.1.69.g36942
^ permalink raw reply related [flat|nested] 3+ messages in thread* Re: [PATCH 2/2] omap: serial: fix non-empty rx uart fifo abort
2009-11-16 22:53 [PATCH 2/2] omap: serial: fix non-empty rx uart fifo abort Vikram Pandita
@ 2009-11-17 17:06 ` Tony Lindgren
0 siblings, 0 replies; 3+ messages in thread
From: Tony Lindgren @ 2009-11-17 17:06 UTC (permalink / raw)
To: Vikram Pandita; +Cc: linux-omap
* Vikram Pandita <vikram.pandita@ti.com> [091116 15:00]:
> Empty uart rx fifo read can cause omap to abort
> OMAP silicon affected: OMAP3630, OMAP4430
> OMAP silicon not-affected: omap1/2/3
>
> So pass flag UPF_NO_EMPTY_FIFO_READ in plat_serial8250_port, so that 8250
> driver does not abort on empty rx fifo read
>
> Tested on zoom3(3630) board
This too as it depends on the 1/2 patch.
Tony
> Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
> ---
> arch/arm/mach-omap2/serial.c | 9 ++++++++-
> 1 files changed, 8 insertions(+), 1 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/serial.c b/arch/arm/mach-omap2/serial.c
> index 2e17b57..669652b 100644
> --- a/arch/arm/mach-omap2/serial.c
> +++ b/arch/arm/mach-omap2/serial.c
> @@ -624,8 +624,15 @@ void __init omap_serial_early_init(void)
> uart->p = p;
> list_add_tail(&uart->node, &uart_list);
>
> - if (cpu_is_omap44xx())
> + if (cpu_is_omap44xx()) {
> p->irq += 32;
> + /* Do not read empty UART fifo on omap4 */
> + p->flags |= UPF_NO_EMPTY_FIFO_READ;
> + }
> +
> + /* Do not read empty UART fifo on omap3630 */
> + if (cpu_is_omap3630())
> + p->flags |= UPF_NO_EMPTY_FIFO_READ;
>
> omap_uart_enable_clocks(uart);
> }
> --
> 1.6.5.1.69.g36942
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH 2/2] omap: serial: fix non-empty rx uart fifo abort
@ 2009-11-17 21:17 Vikram Pandita
0 siblings, 0 replies; 3+ messages in thread
From: Vikram Pandita @ 2009-11-17 21:17 UTC (permalink / raw)
To: linux-serial, akpm; +Cc: alan, linux-omap, Vikram Pandita
OMAP3630 and OMAP4430 UART IP blocks have a restriction wrt RX FIFO.
Empty RX fifo read causes an abort. OMAP1/2/3 do not have this restriction.
so pass the flag UPF_NO_EMPTY_FIFO_READ in plat_serial8250_port, so that 8250
driver does not abort on empty rx fifo read
tested on zoom3(3630) board
Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
---
arch/arm/mach-omap2/serial.c | 9 ++++++++-
1 files changed, 8 insertions(+), 1 deletions(-)
diff --git a/arch/arm/mach-omap2/serial.c b/arch/arm/mach-omap2/serial.c
index 2e17b57..669652b 100644
--- a/arch/arm/mach-omap2/serial.c
+++ b/arch/arm/mach-omap2/serial.c
@@ -624,8 +624,15 @@ void __init omap_serial_early_init(void)
uart->p = p;
list_add_tail(&uart->node, &uart_list);
- if (cpu_is_omap44xx())
+ if (cpu_is_omap44xx()) {
p->irq += 32;
+ /* Do not read empty UART fifo on omap4 */
+ p->flags |= UPF_NO_EMPTY_FIFO_READ;
+ }
+
+ /* Do not read empty UART fifo on omap3630 */
+ if (cpu_is_omap3630())
+ p->flags |= UPF_NO_EMPTY_FIFO_READ;
omap_uart_enable_clocks(uart);
}
--
1.6.5.1.69.g36942
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2009-11-17 21:17 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-11-16 22:53 [PATCH 2/2] omap: serial: fix non-empty rx uart fifo abort Vikram Pandita
2009-11-17 17:06 ` Tony Lindgren
-- strict thread matches above, loose matches on Subject: below --
2009-11-17 21:17 Vikram Pandita
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox