serial/arc: Remove the workaround for legacy ISS
authorVineet Gupta <Vineet.Gupta1@synopsys.com>
Tue, 24 Jun 2014 08:25:08 +0000 (13:55 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 10 Jul 2014 22:43:27 +0000 (15:43 -0700)
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/arc_uart.c

index b58544de4e8620b9525b2ffcb977034f37faa89b..ea954c3be18bfa6a40911af1592c12131596d22d 100644 (file)
 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];