Эх сурвалжийг харах

usb: musb: omap2+: fix context api's

RxFifoSz, TxFifoSz, RxFifoAddr, TxFifoAddr
are all indexed registers.

So before doing a context save or restore, INDEX register
should be set, then only one gets to the right register offset.

Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
Signed-off-by: Anand Gadiyar <gadiyar@ti.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Vikram Pandita 14 жил өмнө
parent
commit
ea73755445

+ 2 - 0
drivers/usb/musb/musb_core.c

@@ -2158,6 +2158,7 @@ static void musb_save_context(struct musb *musb)
 		if (!epio)
 		if (!epio)
 			continue;
 			continue;
 
 
+		musb_writeb(musb_base, MUSB_INDEX, i);
 		musb->context.index_regs[i].txmaxp =
 		musb->context.index_regs[i].txmaxp =
 			musb_readw(epio, MUSB_TXMAXP);
 			musb_readw(epio, MUSB_TXMAXP);
 		musb->context.index_regs[i].txcsr =
 		musb->context.index_regs[i].txcsr =
@@ -2233,6 +2234,7 @@ static void musb_restore_context(struct musb *musb)
 		if (!epio)
 		if (!epio)
 			continue;
 			continue;
 
 
+		musb_writeb(musb_base, MUSB_INDEX, i);
 		musb_writew(epio, MUSB_TXMAXP,
 		musb_writew(epio, MUSB_TXMAXP,
 			musb->context.index_regs[i].txmaxp);
 			musb->context.index_regs[i].txmaxp);
 		musb_writew(epio, MUSB_TXCSR,
 		musb_writew(epio, MUSB_TXCSR,