Commit 61f5657c authored by Vitaly Bordug's avatar Vitaly Bordug Committed by Paul Mackerras

[PATCH] ppc32 CPM_UART: Fixed break send on SCC

SCC uart sends a break sequence each time it is stopped with the
CPM_CR_STOP_TX command. That means that each time an application closes the
serial device, a break is transmitted. To fix this, graceful tx stop is
issued for SCC.
Signed-off-by: default avatarDavid Jander <david.jander@protonic.nl>
Signed-off-by: default avatarVitaly Bordug <vbordug@ru.mvista.com>
Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
parent 0ccde0a2
...@@ -457,7 +457,11 @@ static void cpm_uart_shutdown(struct uart_port *port) ...@@ -457,7 +457,11 @@ static void cpm_uart_shutdown(struct uart_port *port)
} }
/* Shut them really down and reinit buffer descriptors */ /* Shut them really down and reinit buffer descriptors */
cpm_line_cr_cmd(line, CPM_CR_STOP_TX); if (IS_SMC(pinfo))
cpm_line_cr_cmd(line, CPM_CR_STOP_TX);
else
cpm_line_cr_cmd(line, CPM_CR_GRA_STOP_TX);
cpm_uart_initbd(pinfo); cpm_uart_initbd(pinfo);
} }
} }
......
...@@ -35,6 +35,7 @@ ...@@ -35,6 +35,7 @@
#define CPM_CR_INIT_TX ((ushort)0x0002) #define CPM_CR_INIT_TX ((ushort)0x0002)
#define CPM_CR_HUNT_MODE ((ushort)0x0003) #define CPM_CR_HUNT_MODE ((ushort)0x0003)
#define CPM_CR_STOP_TX ((ushort)0x0004) #define CPM_CR_STOP_TX ((ushort)0x0004)
#define CPM_CR_GRA_STOP_TX ((ushort)0x0005)
#define CPM_CR_RESTART_TX ((ushort)0x0006) #define CPM_CR_RESTART_TX ((ushort)0x0006)
#define CPM_CR_CLOSE_RX_BD ((ushort)0x0007) #define CPM_CR_CLOSE_RX_BD ((ushort)0x0007)
#define CPM_CR_SET_GADDR ((ushort)0x0008) #define CPM_CR_SET_GADDR ((ushort)0x0008)
......
...@@ -69,7 +69,7 @@ ...@@ -69,7 +69,7 @@
#define CPM_CR_INIT_TX ((ushort)0x0002) #define CPM_CR_INIT_TX ((ushort)0x0002)
#define CPM_CR_HUNT_MODE ((ushort)0x0003) #define CPM_CR_HUNT_MODE ((ushort)0x0003)
#define CPM_CR_STOP_TX ((ushort)0x0004) #define CPM_CR_STOP_TX ((ushort)0x0004)
#define CPM_CR_GRA_STOP_TX ((ushort)0x0005) #define CPM_CR_GRA_STOP_TX ((ushort)0x0005)
#define CPM_CR_RESTART_TX ((ushort)0x0006) #define CPM_CR_RESTART_TX ((ushort)0x0006)
#define CPM_CR_SET_GADDR ((ushort)0x0008) #define CPM_CR_SET_GADDR ((ushort)0x0008)
#define CPM_CR_START_IDMA ((ushort)0x0009) #define CPM_CR_START_IDMA ((ushort)0x0009)
......
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