| From efafa3809db75d58e5d8ee96956e7415bda90472 Mon Sep 17 00:00:00 2001 |
| From: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> |
| Date: Sat, 6 Sep 2014 03:34:32 +0400 |
| Subject: i2c: rcar: fix RCAR_IRQ_ACK_{RECV|SEND} |
| |
| Bits 8-31 of all registers reflect the value of bits 0-7 on reads and should be |
| 0 on writes, according to the manuals. RCAR_IRQ_ACK_{RECV|SEND} macros have all |
| 1's in bits 8-31, thus going against the manuals, so fix them. |
| |
| Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> |
| Cc: stable@vger.kernel.org |
| Signed-off-by: Wolfram Sang <wsa@the-dreams.de> |
| (cherry picked from commit 938916fbb8e8cb67eacb784f4eda17e2950c16c5) |
| Signed-off-by: Simon Horman <horms+renesas@verge.net.au> |
| --- |
| drivers/i2c/busses/i2c-rcar.c | 4 ++-- |
| 1 file changed, 2 insertions(+), 2 deletions(-) |
| |
| --- a/drivers/i2c/busses/i2c-rcar.c |
| +++ b/drivers/i2c/busses/i2c-rcar.c |
| @@ -76,8 +76,8 @@ |
| #define RCAR_IRQ_RECV (MNR | MAL | MST | MAT | MDR) |
| #define RCAR_IRQ_STOP (MST) |
| |
| -#define RCAR_IRQ_ACK_SEND (~(MAT | MDE)) |
| -#define RCAR_IRQ_ACK_RECV (~(MAT | MDR)) |
| +#define RCAR_IRQ_ACK_SEND (~(MAT | MDE) & 0xFF) |
| +#define RCAR_IRQ_ACK_RECV (~(MAT | MDR) & 0xFF) |
| |
| #define ID_LAST_MSG (1 << 0) |
| #define ID_IOERROR (1 << 1) |