Re: SCCx UART status on 8xx
From: Marcelo Tosatti <hidden>
Date: 2006-03-11 19:22:33
Aris, Can you please prepare a detailed description of what the patch is doing and why? Thanks On Mon, Feb 20, 2006 at 11:18:35AM -0300, Aristeu Sergio Rozanski Filho wrote:
quoted hunk ↗ jump to hunk
Index: stable/drivers/serial/cpm_uart/cpm_uart_cpm1.c ===================================================================--- stable.orig/drivers/serial/cpm_uart/cpm_uart_cpm1.c 2006-02-17 17:11:37.000000000 -0200 +++ stable/drivers/serial/cpm_uart/cpm_uart_cpm1.c 2006-02-17 17:15:57.000000000 -0200@@ -139,24 +139,31 @@ void scc1_lineif(struct uart_cpm_port *pinfo) { /* XXX SCC1: insert port configuration here */ + cpmp->cp_sicr &= 0xFFFFFFC0; pinfo->brg = 1; } void scc2_lineif(struct uart_cpm_port *pinfo) { /* XXX SCC2: insert port configuration here */ + cpmp->cp_sicr &= 0xFFFFC0FF; + cpmp->cp_sicr |= 0x00000900; pinfo->brg = 2; } void scc3_lineif(struct uart_cpm_port *pinfo) { /* XXX SCC3: insert port configuration here */ + cpmp->cp_sicr &= 0xFFC0FFFF; + cpmp->cp_sicr |= 0x00140000; pinfo->brg = 3; } void scc4_lineif(struct uart_cpm_port *pinfo) { /* XXX SCC4: insert port configuration here */ + cpmp->cp_sicr &= 0xC0FFFFFF; + cpmp->cp_sicr |= 0x1BFFFFFF; pinfo->brg = 4; }
quoted hunk ↗ jump to hunk
Index: stable/drivers/serial/cpm_uart/cpm_uart_core.c ===================================================================--- stable.orig/drivers/serial/cpm_uart/cpm_uart_core.c 2005-12-07 15:30:42.000000000 -0200 +++ stable/drivers/serial/cpm_uart/cpm_uart_core.c 2005-12-08 12:39:11.000000000 -0200@@ -467,6 +467,7 @@ /* free interrupt handler */ free_irq(port->irq, port); +#if 0 /* If the port is not the console, disable Rx and Tx. */ if (!(pinfo->flags & FLAG_CONSOLE)) { /* Wait for all the BDs marked sent */@@ -492,6 +493,7 @@ /* Shut them really down */ cpm_line_cr_cmd(line, CPM_CR_STOP_TX); } +#endif } static void cpm_uart_set_termios(struct uart_port *port,@@ -896,7 +898,7 @@ pinfo->sccp->scc_gsmrl &= ~(SCC_GSMRL_ENR | SCC_GSMRL_ENT); } - ret = cpm_uart_allocbuf(pinfo, 0); + ret = cpm_uart_allocbuf(pinfo, 1); if (ret) return ret;@@ -912,10 +914,12 @@ static void cpm_uart_release_port(struct uart_port *port) { +#if 0 struct uart_cpm_port *pinfo = (struct uart_cpm_port *)port; if (!(pinfo->flags & FLAG_CONSOLE)) cpm_uart_freebuf(pinfo); +#endif } /*