]> rtime.felk.cvut.cz Git - zynq/linux.git/commitdiff
tty: xuartps: Don't write IRQ disable register to enable interrupts
authorSoren Brinkmann <soren.brinkmann@xilinx.com>
Wed, 14 May 2014 21:43:01 +0000 (14:43 -0700)
committerMichal Simek <michal.simek@xilinx.com>
Thu, 15 May 2014 06:27:57 +0000 (08:27 +0200)
A comment states, that, according to the data sheet, to enable
interrupts the disable register should be written, but the enable
register could be left untouched. And it suspsects a HW bug requiring
to write both.
Reviewing the data sheet, these statements seem wrong. Just as one would
expect. Writing to the enable/disable register enables/disables
interrupts.
Hence the misleading comment and needless write to the disable register
are removed from the enable sequence.

Signed-off-by: Soren Brinkmann <soren.brinkmann@xilinx.com>
Tested-by: Michal Simek <michal.simek@xilinx.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit b494a5fae452fc43519872565892fa873f6ea4fb)
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
drivers/tty/serial/xilinx_uartps.c

index a037c38833c87f0a373874236d487223a22c9d49..bc6e03388906df1ba420904ae6b0fc8a410eb66b 100644 (file)
@@ -1085,11 +1085,7 @@ static void xuartps_console_write(struct console *co, const char *s,
 
        xuartps_writel(ctrl, XUARTPS_CR_OFFSET);
 
-       /* restore interrupt state, it seems like there may be a h/w bug
-        * in that the interrupt enable register should not need to be
-        * written based on the data sheet
-        */
-       xuartps_writel(~imr, XUARTPS_IDR_OFFSET);
+       /* restore interrupt state */
        xuartps_writel(imr, XUARTPS_IER_OFFSET);
 
        if (locked)