Skip to content

Commit

Permalink
ARM: sa1111: fix memory request/grant setup on PM events
Browse files Browse the repository at this point in the history
We weren't re-enabling the memory request/grant signals on resume,
causing DMA devices on the sa1111 to fail.

Acked-by: Nicolas Pitre <nico@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
  • Loading branch information
Russell King committed Feb 9, 2012
1 parent d65b4e9 commit 29c140b
Showing 1 changed file with 11 additions and 1 deletion.
12 changes: 11 additions & 1 deletion arch/arm/common/sa1111.c
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,8 @@
#define IRQ_S0_BVD1_STSCHG (53)
#define IRQ_S1_BVD1_STSCHG (54)

extern void __init sa1110_mb_enable(void);
extern void sa1110_mb_enable(void);
extern void sa1110_mb_disable(void);

/*
* We keep the following data for the overall SA1111. Note that the
Expand Down Expand Up @@ -926,6 +927,10 @@ static int sa1111_suspend(struct platform_device *dev, pm_message_t state)

spin_unlock_irqrestore(&sachip->lock, flags);

#ifdef CONFIG_ARCH_SA1100
sa1110_mb_disable();
#endif

return 0;
}

Expand Down Expand Up @@ -966,6 +971,11 @@ static int sa1111_resume(struct platform_device *dev)
*/
sa1111_wake(sachip);

#ifdef CONFIG_ARCH_SA1100
/* Enable the memory bus request/grant signals */
sa1110_mb_enable();
#endif

/*
* Only lock for write ops. Also, sa1111_wake must be called with
* released spinlock!
Expand Down

0 comments on commit 29c140b

Please sign in to comment.