Commit 19386b32 authored by Russell King - ARM Linux's avatar Russell King - ARM Linux Committed by Dan Williams

ARM: PL08x: ensure loops use cpu_relax()

Tight loops should use cpu_relax() to allow CPUs to reduce power
consumption while waiting for events.
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
Acked-by: default avatarLinus Walleij <linus.walleij@stericsson.com>
Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
parent 8c8cc2b1
...@@ -191,7 +191,7 @@ static void pl08x_set_cregs(struct pl08x_driver_data *pl08x, ...@@ -191,7 +191,7 @@ static void pl08x_set_cregs(struct pl08x_driver_data *pl08x,
{ {
/* Wait for channel inactive */ /* Wait for channel inactive */
while (pl08x_phy_channel_busy(ch)) while (pl08x_phy_channel_busy(ch))
; cpu_relax();
dev_vdbg(&pl08x->adev->dev, dev_vdbg(&pl08x->adev->dev,
"WRITE channel %d: csrc=0x%08x, cdst=0x%08x, " "WRITE channel %d: csrc=0x%08x, cdst=0x%08x, "
...@@ -255,7 +255,7 @@ static void pl08x_enable_phy_chan(struct pl08x_driver_data *pl08x, ...@@ -255,7 +255,7 @@ static void pl08x_enable_phy_chan(struct pl08x_driver_data *pl08x,
* Do not access config register until channel shows as disabled * Do not access config register until channel shows as disabled
*/ */
while (readl(pl08x->base + PL080_EN_CHAN) & (1 << ch->id)) while (readl(pl08x->base + PL080_EN_CHAN) & (1 << ch->id))
; cpu_relax();
/* /*
* Do not access config register until channel shows as inactive * Do not access config register until channel shows as inactive
...@@ -288,7 +288,7 @@ static void pl08x_pause_phy_chan(struct pl08x_phy_chan *ch) ...@@ -288,7 +288,7 @@ static void pl08x_pause_phy_chan(struct pl08x_phy_chan *ch)
/* Wait for channel inactive */ /* Wait for channel inactive */
while (pl08x_phy_channel_busy(ch)) while (pl08x_phy_channel_busy(ch))
; cpu_relax();
} }
static void pl08x_resume_phy_chan(struct pl08x_phy_chan *ch) static void pl08x_resume_phy_chan(struct pl08x_phy_chan *ch)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment