Skip to content

Commit e7955a3

Browse files
digetxchanwoochoi
authored andcommitted
PM / devfreq: tegra30: Drop write-barrier
There is no need in a write-barrier now, given that interrupt masking is handled by CPU's GIC now. Hence we know exactly that interrupt won't fire after stopping the devfreq's governor. In other cases we don't care about potential buffering of the writes to hardware and thus there is no need to stall CPU. Reviewed-by: Chanwoo Choi <[email protected]> Tested-by: Peter Geis <[email protected]> Signed-off-by: Dmitry Osipenko <[email protected]> Signed-off-by: Chanwoo Choi <[email protected]>
1 parent 7296443 commit e7955a3

File tree

1 file changed

+0
-14
lines changed

1 file changed

+0
-14
lines changed

drivers/devfreq/tegra30-devfreq.c

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -230,12 +230,6 @@ static void tegra_devfreq_update_wmark(struct tegra_devfreq *tegra,
230230
ACTMON_DEV_LOWER_WMARK);
231231
}
232232

233-
static void actmon_write_barrier(struct tegra_devfreq *tegra)
234-
{
235-
/* ensure the update has reached the ACTMON */
236-
readl(tegra->regs + ACTMON_GLB_STATUS);
237-
}
238-
239233
static void actmon_isr_device(struct tegra_devfreq *tegra,
240234
struct tegra_devfreq_device *dev)
241235
{
@@ -287,8 +281,6 @@ static void actmon_isr_device(struct tegra_devfreq *tegra,
287281
device_writel(dev, dev_ctrl, ACTMON_DEV_CTRL);
288282

289283
device_writel(dev, ACTMON_INTR_STATUS_CLEAR, ACTMON_DEV_INTR_STATUS);
290-
291-
actmon_write_barrier(tegra);
292284
}
293285

294286
static unsigned long actmon_cpu_to_emc_rate(struct tegra_devfreq *tegra,
@@ -376,8 +368,6 @@ static int tegra_actmon_rate_notify_cb(struct notifier_block *nb,
376368
tegra_devfreq_update_wmark(tegra, dev);
377369
}
378370

379-
actmon_write_barrier(tegra);
380-
381371
return NOTIFY_OK;
382372
}
383373

@@ -423,8 +413,6 @@ static void tegra_actmon_start(struct tegra_devfreq *tegra)
423413
for (i = 0; i < ARRAY_SIZE(tegra->devices); i++)
424414
tegra_actmon_configure_device(tegra, &tegra->devices[i]);
425415

426-
actmon_write_barrier(tegra);
427-
428416
enable_irq(tegra->irq);
429417
}
430418

@@ -439,8 +427,6 @@ static void tegra_actmon_stop(struct tegra_devfreq *tegra)
439427
device_writel(&tegra->devices[i], ACTMON_INTR_STATUS_CLEAR,
440428
ACTMON_DEV_INTR_STATUS);
441429
}
442-
443-
actmon_write_barrier(tegra);
444430
}
445431

446432
static int tegra_devfreq_target(struct device *dev, unsigned long *freq,

0 commit comments

Comments
 (0)