diff options
author | Simon Glass <sjg@chromium.org> | 2011-06-07 11:30:37 -0700 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2011-08-29 10:39:17 -0700 |
commit | 2f7a0c97f1d656a8731a1ad570abf8831ce81758 (patch) | |
tree | 6be94d51e2a537e9ac6e79a18f42843ce007207f /drivers/video | |
parent | ec735e197ce59c8c6830df819759a0b08d8a1195 (diff) |
tegra2: Make cache write-through for LCD frame buffer
We want the display to be uncached, or use a write-through cache.
Preliminary testing shows a very small advantage for write-through
so this has been chosen. We can adjust later if needed.
BUG=chromium-os:14082
TEST=build and boot on Seaboard, see that LCD updates properly now
Change-Id: I3ca076f0c1c5bc15f0965f1b7b595db9a5e5828c
Reviewed-on: http://gerrit.chromium.org/gerrit/2241
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'drivers/video')
-rw-r--r-- | drivers/video/tegra2.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/video/tegra2.c b/drivers/video/tegra2.c index b69b7c3af7..9b6f7bdcef 100644 --- a/drivers/video/tegra2.c +++ b/drivers/video/tegra2.c @@ -28,6 +28,7 @@ #include <asm/arch/power.h> #include <asm/arch/pwfm.h> #include <asm/arch/display.h> +#include <asm/system.h> DECLARE_GLOBAL_DATA_PTR; @@ -183,6 +184,7 @@ static void update_panel_size(struct fdt_lcd *config) void lcd_ctrl_init(void *lcdbase) { struct fdt_lcd config; + int line_length; /* get panel details */ if (fdt_decode_lcd(gd->blob, &config)) { @@ -201,6 +203,9 @@ void lcd_ctrl_init(void *lcdbase) /* call board specific hw init */ init_lcd(&config); + mmu_set_region_dcache(config.frame_buffer, + lcd_get_size(&line_length), DCACHE_WRITETHROUGH); + debug("LCD frame buffer at %p\n", lcd_base); } |