Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 213597
b: refs/heads/master
c: ae9b2ad
h: refs/heads/master
i:
  213595: 01904cf
v: v3
  • Loading branch information
Bob Liu authored and Greg Kroah-Hartman committed Oct 22, 2010
1 parent 87ed94e commit f5bb125
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 25 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 496dda704bca1208e08773ba39b29a69536f5381
refs/heads/master: ae9b2ad2eea729b907ef5dd5e25d1ff8443d03fc
46 changes: 22 additions & 24 deletions trunk/drivers/usb/musb/musb_core.c
Original file line number Diff line number Diff line change
Expand Up @@ -2266,6 +2266,7 @@ void musb_save_context(struct musb *musb)
{
int i;
void __iomem *musb_base = musb->mregs;
void __iomem *epio;

if (is_host_enabled(musb)) {
musb_context.frame = musb_readw(musb_base, MUSB_FRAME);
Expand All @@ -2279,16 +2280,16 @@ void musb_save_context(struct musb *musb)
musb_context.index = musb_readb(musb_base, MUSB_INDEX);
musb_context.devctl = musb_readb(musb_base, MUSB_DEVCTL);

for (i = 0; i < MUSB_C_NUM_EPS; ++i) {
musb_writeb(musb_base, MUSB_INDEX, i);
for (i = 0; i < musb->config->num_eps; ++i) {
epio = musb->endpoints[i].regs;
musb_context.index_regs[i].txmaxp =
musb_readw(musb_base, 0x10 + MUSB_TXMAXP);
musb_readw(epio, MUSB_TXMAXP);
musb_context.index_regs[i].txcsr =
musb_readw(musb_base, 0x10 + MUSB_TXCSR);
musb_readw(epio, MUSB_TXCSR);
musb_context.index_regs[i].rxmaxp =
musb_readw(musb_base, 0x10 + MUSB_RXMAXP);
musb_readw(epio, MUSB_RXMAXP);
musb_context.index_regs[i].rxcsr =
musb_readw(musb_base, 0x10 + MUSB_RXCSR);
musb_readw(epio, MUSB_RXCSR);

if (musb->dyn_fifo) {
musb_context.index_regs[i].txfifoadd =
Expand All @@ -2302,13 +2303,13 @@ void musb_save_context(struct musb *musb)
}
if (is_host_enabled(musb)) {
musb_context.index_regs[i].txtype =
musb_readb(musb_base, 0x10 + MUSB_TXTYPE);
musb_readb(epio, MUSB_TXTYPE);
musb_context.index_regs[i].txinterval =
musb_readb(musb_base, 0x10 + MUSB_TXINTERVAL);
musb_readb(epio, MUSB_TXINTERVAL);
musb_context.index_regs[i].rxtype =
musb_readb(musb_base, 0x10 + MUSB_RXTYPE);
musb_readb(epio, MUSB_RXTYPE);
musb_context.index_regs[i].rxinterval =
musb_readb(musb_base, 0x10 + MUSB_RXINTERVAL);
musb_readb(epio, MUSB_RXINTERVAL);

musb_context.index_regs[i].txfunaddr =
musb_read_txfunaddr(musb_base, i);
Expand All @@ -2326,8 +2327,6 @@ void musb_save_context(struct musb *musb)
}
}

musb_writeb(musb_base, MUSB_INDEX, musb_context.index);

musb_platform_save_context(musb, &musb_context);
}

Expand All @@ -2336,6 +2335,7 @@ void musb_restore_context(struct musb *musb)
int i;
void __iomem *musb_base = musb->mregs;
void __iomem *ep_target_regs;
void __iomem *epio;

musb_platform_restore_context(musb, &musb_context);

Expand All @@ -2350,15 +2350,15 @@ void musb_restore_context(struct musb *musb)
musb_writeb(musb_base, MUSB_INTRUSBE, musb_context.intrusbe);
musb_writeb(musb_base, MUSB_DEVCTL, musb_context.devctl);

for (i = 0; i < MUSB_C_NUM_EPS; ++i) {
musb_writeb(musb_base, MUSB_INDEX, i);
musb_writew(musb_base, 0x10 + MUSB_TXMAXP,
for (i = 0; i < musb->config->num_eps; ++i) {
epio = musb->endpoints[i].regs;
musb_writew(epio, MUSB_TXMAXP,
musb_context.index_regs[i].txmaxp);
musb_writew(musb_base, 0x10 + MUSB_TXCSR,
musb_writew(epio, MUSB_TXCSR,
musb_context.index_regs[i].txcsr);
musb_writew(musb_base, 0x10 + MUSB_RXMAXP,
musb_writew(epio, MUSB_RXMAXP,
musb_context.index_regs[i].rxmaxp);
musb_writew(musb_base, 0x10 + MUSB_RXCSR,
musb_writew(epio, MUSB_RXCSR,
musb_context.index_regs[i].rxcsr);

if (musb->dyn_fifo) {
Expand All @@ -2373,13 +2373,13 @@ void musb_restore_context(struct musb *musb)
}

if (is_host_enabled(musb)) {
musb_writeb(musb_base, 0x10 + MUSB_TXTYPE,
musb_writeb(epio, MUSB_TXTYPE,
musb_context.index_regs[i].txtype);
musb_writeb(musb_base, 0x10 + MUSB_TXINTERVAL,
musb_writeb(epio, MUSB_TXINTERVAL,
musb_context.index_regs[i].txinterval);
musb_writeb(musb_base, 0x10 + MUSB_RXTYPE,
musb_writeb(epio, MUSB_RXTYPE,
musb_context.index_regs[i].rxtype);
musb_writeb(musb_base, 0x10 + MUSB_RXINTERVAL,
musb_writeb(epio, MUSB_RXINTERVAL,

musb_context.index_regs[i].rxinterval);
musb_write_txfunaddr(musb_base, i,
Expand All @@ -2400,8 +2400,6 @@ void musb_restore_context(struct musb *musb)
musb_context.index_regs[i].rxhubport);
}
}

musb_writeb(musb_base, MUSB_INDEX, musb_context.index);
}

static int musb_suspend(struct device *dev)
Expand Down

0 comments on commit f5bb125

Please sign in to comment.