summaryrefslogtreecommitdiffstats
path: root/drivers/usb/musb/musb_core.h
diff options
context:
space:
mode:
authorSebastian Andrzej Siewior2012-10-30 19:52:25 +0100
committerFelipe Balbi2012-10-31 14:22:03 +0100
commitaf5ec14d40e0da1de17fcca2b41c76fae5c2cb9d (patch)
tree0bdfddd642e2455e34ece3a5551038a470db61f1 /drivers/usb/musb/musb_core.h
parentusb: musb: avoid FADDR read access (diff)
downloadkernel-qcow2-linux-af5ec14d40e0da1de17fcca2b41c76fae5c2cb9d.tar.gz
kernel-qcow2-linux-af5ec14d40e0da1de17fcca2b41c76fae5c2cb9d.tar.xz
kernel-qcow2-linux-af5ec14d40e0da1de17fcca2b41c76fae5c2cb9d.zip
usb: musb: Perform only write access on MUSB_INTRRXE
This is part of the workaround for AM35x advisory Advisory 1.1.20. The advisory says that the IPSS bridge can't handle 8 & 16 bit read access. An 16bit read access to MUSB_INTRRXE results in an 32bit read access which also reads INTRUSB and therefore may lose interrupts. This patch uses a shadow register of MUSB_INTRRXE so we only perform write access to it. Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers/usb/musb/musb_core.h')
-rw-r--r--drivers/usb/musb/musb_core.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/usb/musb/musb_core.h b/drivers/usb/musb/musb_core.h
index c158aacd6de8..60b92cbdc7f7 100644
--- a/drivers/usb/musb/musb_core.h
+++ b/drivers/usb/musb/musb_core.h
@@ -288,7 +288,7 @@ struct musb_csr_regs {
struct musb_context_registers {
u8 power;
- u16 intrtxe, intrrxe;
+ u16 intrtxe;
u8 intrusbe;
u16 frame;
u8 index, testmode;
@@ -313,6 +313,7 @@ struct musb {
struct work_struct irq_work;
u16 hwvers;
+ u16 intrrxe;
/* this hub status bit is reserved by USB 2.0 and not seen by usbcore */
#define MUSB_PORT_STAT_RESUME (1 << 31)