ARM: 8259/1: l2c: Refactor the driver to use commit-like interface
authorTomasz Figa <t.figa@samsung.com>
Thu, 8 Jan 2015 06:50:29 +0000 (07:50 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Fri, 16 Jan 2015 14:35:28 +0000 (14:35 +0000)
commit6b49241ac2525818508ee2baff9a58541c65421c
tree70a20680a1f5bfd67566fa10d5cd0c523067eba9
parent00218241aa0846e75d31b1dbadb5f8a76be1cc97
ARM: 8259/1: l2c: Refactor the driver to use commit-like interface

Certain implementations of secure hypervisors (namely the one found on
Samsung Exynos-based boards) do not provide access to individual L2C
registers. This makes the .write_sec()-based interface insufficient and
provoking ugly hacks.

This patch is first step to make the driver not rely on availability of
writes to individual registers. This is achieved by refactoring the
driver to use a commit-like operation scheme: all register values are
prepared first and stored in an instance of l2x0_regs struct and then a
single callback is responsible to flush those values to the hardware.

[mszyprow: rebased onto 'ARM: l2c: use l2c_write_sec() for restoring
 latency and filter regs' patch]

Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Tested-by: Nishanth Menon <nm@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/mm/cache-l2x0.c