Samsung SoC drivers changes for v5.8

Fix and minor cleanup of Exynos5422 DMC (Dynamic Memory Controller)
 driver.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAl7Dgv4QHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD195tD/wMTgvGcwAHrMfxYRRqajVXPnUuA87QJtoj
 LrBqtvquXeguuCQp8hFLIjnEZQUTwCSjIVsOqEjX366IIz0X2vYoHhO93hfwbEFz
 qdsVro+nZVfnVJdciU1FhQIQZ3N8OSBPJBT2l+LlK7sgYyISwDsJnv5grGcNk8bL
 HLGMXIuelUIm5M2G1xUQgEhMJbaI0TzDLHvh2GdVJrRQtkXtA/Ayt36VnRdrFr+8
 LYul8zjTaYgmZ+W7Lvvadt/5JqhrZk4NabW4Nw71OObkYX7uk04w7i/Y8L4h7+4d
 VOaQyDDgw4QGj5o6DXZ46Y1oJHVOPB0ikcdwHJ26LJQwoUTKqXMoJotpZnKYxnlS
 hpvaWZDb4acqNR3T9eZKOPK1gCoesSZEsZCMyS7EtepqUqtkrvtIRvDdkXUXOHPx
 p6f+Se+gxZ8f8VJuv6hYylOguH7QIbGzFDLO1NhGY20ycT0f3pk2BCZYwZ+iHUT1
 nKbunXpos8bIimbHZcT/FhlfllCvdGliGlhP76Nv11Y23IAUFs4rAKP+U7TOTyc5
 +vgfsUq0v9Yp1AXHGm+oZqmKPIfaNYwnn2zGKZ3OcLF83Ae7xxRxNCjZxD1efbuS
 NSJRo2CeEWVHluaIqA/419QfxYLW16Fdkf+C0KPfpZN8feKMjEkLht2mBqoef0Dd
 I4ZPmNKRoQ==
 =EyIF
 -----END PGP SIGNATURE-----

Merge tag 'samsung-drivers-5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into arm/drivers

Samsung SoC drivers changes for v5.8

Fix and minor cleanup of Exynos5422 DMC (Dynamic Memory Controller)
driver.

* tag 'samsung-drivers-5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  memory: samsung: exynos5422-dmc: Reduce protected code area in IRQ handler
  memory: samsung: exynos5422-dmc: Fix tFAW timings alignment

Link: https://lore.kernel.org/r/20200519070111.6265-1-krzk@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
Arnd Bergmann 2020-05-25 23:23:16 +02:00
commit 8468427239

View File

@ -1091,7 +1091,7 @@ static int create_timings_aligned(struct exynos5_dmc *dmc, u32 *reg_timing_row,
/* power related timings */
val = dmc->timings->tFAW / clk_period_ps;
val += dmc->timings->tFAW % clk_period_ps ? 1 : 0;
val = max(val, dmc->min_tck->tXP);
val = max(val, dmc->min_tck->tFAW);
reg = &timing_power[0];
*reg_timing_power |= TIMING_VAL2REG(reg, val);
@ -1346,15 +1346,13 @@ static irqreturn_t dmc_irq_thread(int irq, void *priv)
struct exynos5_dmc *dmc = priv;
mutex_lock(&dmc->df->lock);
exynos5_dmc_perf_events_check(dmc);
res = update_devfreq(dmc->df);
mutex_unlock(&dmc->df->lock);
if (res)
dev_warn(dmc->dev, "devfreq failed with %d\n", res);
mutex_unlock(&dmc->df->lock);
return IRQ_HANDLED;
}