Update the samus driver to avoid the direct call to the video BIOS setup.

Signed-off-by: Simon Glass <s...@chromium.org>
Reviewed-by: Bin Meng <bmeng...@gmail.com>
---

Changes in v2: None

 arch/x86/cpu/broadwell/sdram.c |  1 -
 drivers/video/broadwell_igd.c  | 39 +++++++--------------------------------
 2 files changed, 7 insertions(+), 33 deletions(-)

diff --git a/arch/x86/cpu/broadwell/sdram.c b/arch/x86/cpu/broadwell/sdram.c
index e7befde..74736cd 100644
--- a/arch/x86/cpu/broadwell/sdram.c
+++ b/arch/x86/cpu/broadwell/sdram.c
@@ -291,7 +291,6 @@ void board_debug_uart_init(void)
 
 static const struct udevice_id broadwell_syscon_ids[] = {
        { .compatible = "intel,me", .data = X86_SYSCON_ME },
-       { .compatible = "intel,gma", .data = X86_SYSCON_GMA },
        { }
 };
 
diff --git a/drivers/video/broadwell_igd.c b/drivers/video/broadwell_igd.c
index 4286fd0..beef770 100644
--- a/drivers/video/broadwell_igd.c
+++ b/drivers/video/broadwell_igd.c
@@ -9,10 +9,8 @@
 #include <common.h>
 #include <bios_emul.h>
 #include <dm.h>
-#include <pci_rom.h>
 #include <vbe.h>
 #include <video.h>
-#include <video_fb.h>
 #include <asm/cpu.h>
 #include <asm/intel_regs.h>
 #include <asm/io.h>
@@ -20,11 +18,9 @@
 #include <asm/arch/cpu.h>
 #include <asm/arch/iomap.h>
 #include <asm/arch/pch.h>
-#include <linux/log2.h>
 #include "i915_reg.h"
 
 struct broadwell_igd_priv {
-       GraphicDevice ctfb;
        u8 *regs;
 };
 
@@ -664,10 +660,7 @@ static int broadwell_igd_probe(struct udevice *dev)
 {
        struct video_uc_platdata *plat = dev_get_uclass_platdata(dev);
        struct video_priv *uc_priv = dev_get_uclass_priv(dev);
-       struct broadwell_igd_priv *priv = dev_get_priv(dev);
        bool is_broadwell;
-       GraphicDevice *gdev = &priv->ctfb;
-       int bits_per_pixel;
        int ret;
 
        if (!ll_boot_init()) {
@@ -683,13 +676,9 @@ static int broadwell_igd_probe(struct udevice *dev)
        debug("%s: is_broadwell=%d\n", __func__, is_broadwell);
        ret = igd_pre_init(dev, is_broadwell);
        if (!ret) {
-               ret = dm_pci_run_vga_bios(dev, broadwell_igd_int15_handler,
-                                         PCI_ROM_USE_NATIVE |
-                                         PCI_ROM_ALLOW_FALLBACK);
-               if (ret) {
-                       printf("failed to run video BIOS: %d\n", ret);
-                       ret = -EIO;
-               }
+               ret = vbe_setup_video(dev, broadwell_igd_int15_handler);
+               if (ret)
+                       debug("failed to run video BIOS: %d\n", ret);
        }
        if (!ret)
                ret = igd_post_init(dev, is_broadwell);
@@ -697,13 +686,8 @@ static int broadwell_igd_probe(struct udevice *dev)
        if (ret)
                return ret;
 
-       if (vbe_get_video_info(gdev)) {
-               printf("No video mode configured\n");
-               return -ENXIO;
-       }
-
-       /* Use write-through for the graphics memory, 256MB */
-       ret = mtrr_add_request(MTRR_TYPE_WRTHROUGH, gdev->pciBase, 256 << 20);
+       /* Use write-combining for the graphics memory, 256MB */
+       ret = mtrr_add_request(MTRR_TYPE_WRCOMB, plat->base, 256 << 20);
        if (!ret)
                ret = mtrr_commit(true);
        if (ret && ret != -ENOSYS) {
@@ -711,17 +695,8 @@ static int broadwell_igd_probe(struct udevice *dev)
                       ret);
        }
 
-       bits_per_pixel = gdev->gdfBytesPP * 8;
-       sprintf(gdev->modeIdent, "%dx%dx%d", gdev->winSizeX, gdev->winSizeY,
-               bits_per_pixel);
-       printf("%s\n", gdev->modeIdent);
-       uc_priv->xsize = gdev->winSizeX;
-       uc_priv->ysize = gdev->winSizeY;
-       uc_priv->bpix = ilog2(bits_per_pixel);
-       plat->base = gdev->pciBase;
-       plat->size = gdev->memSize;
-       debug("fb=%x, size %x, display size=%d %d %d\n", gdev->pciBase,
-             gdev->memSize, uc_priv->xsize, uc_priv->ysize, uc_priv->bpix);
+       debug("fb=%lx, size %x, display size=%d %d %d\n", plat->base,
+             plat->size, uc_priv->xsize, uc_priv->ysize, uc_priv->bpix);
 
        return 0;
 }
-- 
2.8.0.rc3.226.g39d4020

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to