Denis Carikli ([email protected]) just uploaded a new patch set to gerrit, 
which you can find at http://review.coreboot.org/2558

-gerrit

commit af92826e725296a7c4927f06057e7a8e6cda8433
Author: Denis 'GNUtoo' Carikli <[email protected]>
Date:   Thu Feb 28 15:20:04 2013 +0100

    i945, Lenovo ThinkPad X60: correct VGA init's physbase?
    
    Change-Id: Ic1cc7a7ed8ef9f1b73125103a4c5e7b30f41fdc2
    Signed-off-by: Denis 'GNUtoo' Carikli <[email protected]>
---
 src/mainboard/lenovo/x60/i915.c   | 8 +++++---
 src/mainboard/lenovo/x60/i915io.c | 2 +-
 src/northbridge/intel/i945/gma.c  | 7 ++++++-
 3 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/src/mainboard/lenovo/x60/i915.c b/src/mainboard/lenovo/x60/i915.c
index 073351e..420a9fe 100644
--- a/src/mainboard/lenovo/x60/i915.c
+++ b/src/mainboard/lenovo/x60/i915.c
@@ -87,6 +87,7 @@ static void io_i915_WRITE32(unsigned long val, unsigned long 
addr)
 4250.00
 PTEs
 */
+
 static void
 setgtt(int start, int end, unsigned long base, int inc)
 {
@@ -245,10 +246,11 @@ int i915lightup(unsigned int pphysbase,
                }
        }
 
-       setgtt(0, 4520, physbase, 4096);
+       setgtt(0, 8192, physbase, 1024);
        printk(BIOS_SPEW, "memset %p to 0xff for %d bytes\n",
-                               (void *)graphics, 4520*4096);
-       memset((void *)graphics, 0xff, 4520*4096);
+                               (void *)graphics, 8192*1024);
+       memset((void *)graphics, 0xff, 8192*1024);
+
        printk(BIOS_SPEW, "%ld microseconds\n", globalmicroseconds());
        i915_init_done = 1;
        oprom_is_loaded = 1;
diff --git a/src/mainboard/lenovo/x60/i915io.c 
b/src/mainboard/lenovo/x60/i915io.c
index 1f37972..4161693 100644
--- a/src/mainboard/lenovo/x60/i915io.c
+++ b/src/mainboard/lenovo/x60/i915io.c
@@ -20,7 +20,7 @@
 #include "i915io.h"
 
 struct iodef iodefs[] = {
-{V,0,},
+{V,7,},
 {M, 1, "Linux agpgart interface v0.103"},
 {M, 1, "agpgart-intel 0000:00:00.0:Intel 945GM Chipset"},
 {M, 1, "agpgart-intel 0000:00:00.0:detected gtt size:262144K total, 262144K 
mappable"},
diff --git a/src/northbridge/intel/i945/gma.c b/src/northbridge/intel/i945/gma.c
index 9ef863c..d7d6ab3 100644
--- a/src/northbridge/intel/i945/gma.c
+++ b/src/northbridge/intel/i945/gma.c
@@ -34,6 +34,7 @@ static void gma_func0_init(struct device *dev)
 {
        u32 reg32;
        u32 graphics_base, graphics_size;
+       int tolud;
 
        /* Unconditionally reset graphics */
        pci_write_config8(dev, GDRST, 1);
@@ -70,8 +71,12 @@ static void gma_func0_init(struct device *dev)
        u32 iobase, mmiobase, physbase;
        iobase = dev->resource_list[1].base;
        mmiobase = dev->resource_list[0].base;
+#if 0 /* unreliable according to i915_stolen_to_phys in the linux driver */
        physbase = pci_read_config32(dev, 0x5c) & ~0xf;
-
+#else
+       tolud = pci_read_config8(dev_find_slot(0, PCI_DEVFN(0,0)), TOLUD);
+       physbase = (tolud >> 3 << 27);
+#endif
        int i915lightup(u32 physbase, u32 iobase, u32 mmiobase, u32 gfx);
        i915lightup(physbase, iobase, mmiobase, graphics_base);
 #endif

-- 
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to