Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5a56d59e authored by Vineet Gupta's avatar Vineet Gupta Committed by Greg Kroah-Hartman
Browse files

serial/arc: Remove the workaround for legacy ISS

parent 12d15e6f
Loading
Loading
Loading
Loading
+0 −14
Original line number Original line Diff line number Diff line
@@ -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];