Skip to content

Commit

Permalink
ARM: PL08x: ensure loops use cpu_relax()
Browse files Browse the repository at this point in the history
Tight loops should use cpu_relax() to allow CPUs to reduce power
consumption while waiting for events.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Acked-by: Linus Walleij <linus.walleij@stericsson.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
  • Loading branch information
Russell King - ARM Linux authored and Dan Williams committed Jan 5, 2011
1 parent 8c8cc2b commit 19386b3
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions drivers/dma/amba-pl08x.c
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,7 @@ static void pl08x_set_cregs(struct pl08x_driver_data *pl08x,
{
/* Wait for channel inactive */
while (pl08x_phy_channel_busy(ch))
;
cpu_relax();

dev_vdbg(&pl08x->adev->dev,
"WRITE channel %d: csrc=0x%08x, cdst=0x%08x, "
Expand Down Expand Up @@ -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
*/
while (readl(pl08x->base + PL080_EN_CHAN) & (1 << ch->id))
;
cpu_relax();

/*
* Do not access config register until channel shows as inactive
Expand Down Expand Up @@ -288,7 +288,7 @@ static void pl08x_pause_phy_chan(struct pl08x_phy_chan *ch)

/* Wait for channel inactive */
while (pl08x_phy_channel_busy(ch))
;
cpu_relax();
}

static void pl08x_resume_phy_chan(struct pl08x_phy_chan *ch)
Expand Down

0 comments on commit 19386b3

Please sign in to comment.