Hi all,
This is a v2 patch set for the Exynos5 Dynamic Memory Controller
driver which could be found in Krzysztof's tree [1]. It is on top of a
merge of the two branches [1][2].
It adds interrupt mode which does not relay on devfreq polling.
Instead of checking the device state by the framework, driver uses local
performance event counters which could trigger interrupt when overflow.
Thanks to this approach the driver avoids issues present in devfreq framework,
when default polling check does not occur.
The algorithm calculates 'busy_time' and 'total_time' needed for devfreq
governors (simple_ondemand) based on requests transactions traffic.
Changes:
v2:
changes suggested by Krzysztof
- added interrupt line for the channel 1
- added desription for bindings with interrupt lines
- fixed fallback path in probe function
- added comments, blank lines, removed unneeded dev_dbg() in irq handler
Regards,
Lukasz Luba
[1] https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux.git/log/?h=for-v5.4-5.5/memory-samsung-dmc
[2] https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux.git/log/?h=for-v5.4-5.5/memory-samsung-dmc-dt
Lukasz Luba (4):
dt-bindings: memory-controllers: Add Exynos5422 DMC interrupts
description
ARM: dts: exynos: Add interrupt to DMC controller in Exynos5422
ARM: dts: exynos: map 0x10000 SFR instead of 0x100 in DMC Exynos5422
memory: samsung: exynos5422-dmc: Add support for interrupt from
performance counters
.../memory-controllers/exynos5422-dmc.txt | 10 +
arch/arm/boot/dts/exynos5420.dtsi | 5 +-
drivers/memory/samsung/exynos5422-dmc.c | 345 ++++++++++++++++--
3 files changed, 334 insertions(+), 26 deletions(-)
--
2.17.1