Thread (3 messages) 3 messages, 3 authors, 2006-03-11

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
 }
 
 /*
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help