x86: Use cache, don't clear the display in video BIOS
authorSimon Glass <sjg@chromium.org>
Thu, 1 Jan 2015 23:18:03 +0000 (16:18 -0700)
committerSimon Glass <sjg@chromium.org>
Tue, 13 Jan 2015 15:24:59 +0000 (07:24 -0800)
There is no need to run with the cache disabled, and there is no point in
clearing the display frame buffer since U-Boot does it later.

Signed-off-by: Simon Glass <sjg@chromium.org>
arch/x86/lib/bios.c

index d1f8933e120497c63973bd9f4e6327fada3202fe..42853489fb5ab76d4efbdd670a75c299ddb6727c 100644 (file)
@@ -210,8 +210,8 @@ static u8 vbe_set_mode(struct vbe_mode_info *mi)
        debug("VBE: Setting VESA mode %#04x\n", mi->video_mode);
        /* request linear framebuffer mode */
        mi->video_mode |= (1 << 14);
-       /* request clearing of framebuffer */
-       mi->video_mode &= ~(1 << 15);
+       /* don't clear the framebuffer, we do that later */
+       mi->video_mode |= (1 << 15);
        realmode_interrupt(0x10, VESA_SET_MODE, mi->video_mode,
                           0x0000, 0x0000, 0x0000, 0x0000);
 
@@ -262,7 +262,6 @@ void bios_run_on_x86(pci_dev_t pcidev, unsigned long addr, int vesa_mode,
        /* Make sure the code is placed. */
        setup_realmode_code();
 
-       disable_caches();
        debug("Calling Option ROM at %lx, pci device %#x...", addr, num_dev);
 
        /* Option ROM entry point is at OPROM start + 3 */