serial/arc: Remove the workaround for legacy ISS
Signed-off-by: Vineet Gupta <vgupta@synopsys.com> Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
12d15e6f63
commit
5a56d59e85
|
@ -102,7 +102,6 @@
|
||||||
struct arc_uart_port {
|
struct arc_uart_port {
|
||||||
struct uart_port port;
|
struct uart_port port;
|
||||||
unsigned long baud;
|
unsigned long baud;
|
||||||
int is_emulated; /* H/w vs. Instruction Set Simulator */
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#define to_arc_port(uport) container_of(uport, struct arc_uart_port, port)
|
#define to_arc_port(uport) container_of(uport, struct arc_uart_port, port)
|
||||||
|
@ -380,17 +379,6 @@ arc_serial_set_termios(struct uart_port *port, struct ktermios *new,
|
||||||
uartl = hw_val & 0xFF;
|
uartl = hw_val & 0xFF;
|
||||||
uarth = (hw_val >> 8) & 0xFF;
|
uarth = (hw_val >> 8) & 0xFF;
|
||||||
|
|
||||||
/*
|
|
||||||
* UART ISS(Instruction Set simulator) emulation has a subtle bug:
|
|
||||||
* A existing value of Baudh = 0 is used as a indication to startup
|
|
||||||
* it's internal state machine.
|
|
||||||
* Thus if baudh is set to 0, 2 times, it chokes.
|
|
||||||
* This happens with BAUD=115200 and the formaula above
|
|
||||||
* Until that is fixed, when running on ISS, we will set baudh to !0
|
|
||||||
*/
|
|
||||||
if (uart->is_emulated)
|
|
||||||
uarth = 1;
|
|
||||||
|
|
||||||
spin_lock_irqsave(&port->lock, flags);
|
spin_lock_irqsave(&port->lock, flags);
|
||||||
|
|
||||||
UART_ALL_IRQ_DISABLE(port);
|
UART_ALL_IRQ_DISABLE(port);
|
||||||
|
@ -512,8 +500,6 @@ arc_uart_init_one(struct platform_device *pdev, int dev_id)
|
||||||
if (!plat_data)
|
if (!plat_data)
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
|
|
||||||
uart->is_emulated = !!plat_data[0]; /* workaround ISS bug */
|
|
||||||
|
|
||||||
if (is_early_platform_device(pdev)) {
|
if (is_early_platform_device(pdev)) {
|
||||||
port->uartclk = plat_data[1];
|
port->uartclk = plat_data[1];
|
||||||
uart->baud = plat_data[2];
|
uart->baud = plat_data[2];
|
||||||
|
|
Loading…
Reference in New Issue