b450e1090d
case where the controller is already enabled. Some of the pl310 configuration registers cannot be changed while the controller is active, so if there is any platform-specific init to be done it must happen before enabling the controller. The controller should not be enabled upon entry to the kernel, but u-boot has recently developed the bad habit of leaving caches enabled when launching the kernel, and since we have no control over that source code we have to do our best to cope with it. The PL310 manual doesn't document a safe sequence for disabling the controller, but the sequence used here (force write-through mode and disable linefill allocations, then clean and invalidate the current contents before disabling the hardware) appears to be sound both by analysis and empirical testing. These changes were developed and tested in collaboration with Svatopluk Kraus <onwahe@gmail.com>. Reviewed by: cognet@ |
||
---|---|---|
.. | ||
allwinner | ||
arm | ||
at91 | ||
broadcom/bcm2835 | ||
cavium/cns11xx | ||
conf | ||
freescale | ||
include | ||
lpc | ||
mv | ||
rockchip | ||
s3c2xx0 | ||
samsung/exynos | ||
tegra | ||
ti | ||
versatile | ||
xilinx | ||
xscale |