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 uart_port port;
|
||||
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)
|
||||
|
@ -380,17 +379,6 @@ arc_serial_set_termios(struct uart_port *port, struct ktermios *new,
|
|||
uartl = hw_val & 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);
|
||||
|
||||
UART_ALL_IRQ_DISABLE(port);
|
||||
|
@ -512,8 +500,6 @@ arc_uart_init_one(struct platform_device *pdev, int dev_id)
|
|||
if (!plat_data)
|
||||
return -ENODEV;
|
||||
|
||||
uart->is_emulated = !!plat_data[0]; /* workaround ISS bug */
|
||||
|
||||
if (is_early_platform_device(pdev)) {
|
||||
port->uartclk = plat_data[1];
|
||||
uart->baud = plat_data[2];
|
||||
|
|
Loading…
Reference in New Issue