exynos5420: Don't disable and re-enable the MMU when uncaching the framebuffer
At one time it seemed to be necessary to disable and then re-enable the MMU when setting the framebuffer to be uncache-able due to bugs in the MMU management code. Since those bugs have been fixed, this is no longer necessary. Change-Id: I7ce825cf5eaaa95119364d780cba0935752e4632 Signed-off-by: Gabe Black <gabeblack@chromium.org> Signed-off-by: Stefan Reinauer <reinauer@chromium.org> Reviewed-on: http://review.coreboot.org/3667 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
This commit is contained in:
parent
f17519120a
commit
6c184d6855
|
@ -105,15 +105,11 @@ static void exynos_displayport_init(device_t dev)
|
||||||
* Note: We may want to do something clever to ensure the framebuffer
|
* Note: We may want to do something clever to ensure the framebuffer
|
||||||
* region is aligned such that we don't change dcache policy for other
|
* region is aligned such that we don't change dcache policy for other
|
||||||
* stuff inadvertantly.
|
* stuff inadvertantly.
|
||||||
*
|
|
||||||
* FIXME: Is disabling/re-enabling the MMU entirely necessary?
|
|
||||||
*/
|
*/
|
||||||
uint32_t lower = ALIGN_DOWN(lcdbase, MiB);
|
uint32_t lower = ALIGN_DOWN(lcdbase, MiB);
|
||||||
uint32_t upper = ALIGN_UP(lcdbase + fb_size, MiB);
|
uint32_t upper = ALIGN_UP(lcdbase + fb_size, MiB);
|
||||||
dcache_clean_invalidate_by_mva(lower, upper - lower);
|
dcache_clean_invalidate_by_mva(lower, upper - lower);
|
||||||
dcache_mmu_disable();
|
|
||||||
mmu_config_range(lower/MiB, (upper - lower)/MiB, DCACHE_OFF);
|
mmu_config_range(lower/MiB, (upper - lower)/MiB, DCACHE_OFF);
|
||||||
dcache_mmu_enable();
|
|
||||||
|
|
||||||
mmio_resource(dev, 1, lcdbase/KiB, (fb_size + KiB - 1)/KiB);
|
mmio_resource(dev, 1, lcdbase/KiB, (fb_size + KiB - 1)/KiB);
|
||||||
printk(BIOS_DEBUG,
|
printk(BIOS_DEBUG,
|
||||||
|
|
Loading…
Reference in New Issue