Denis Carikli (GNUtoo@no-log.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/3275
-gerrit
commit 792709b10bc8e7a4dfdcae66f78d5f7b1cf29255 Author: Denis 'GNUtoo' Carikli GNUtoo@no-log.org Date: Sun Apr 28 13:25:47 2013 +0200
Lenovo ThinkPad X60: Native VGA init: Disable i915 interrupts.
Without that fix the i915 linux kernel driver prints(but still works): i915: render error detected, EIR: 0x00000010 i915: page table error i915: PGTBL_ER: 0x00000013 [drm:i915_report_and_clear_eir] *ERROR* EIR stuck: 0x00000010, masking i915: render error detected, EIR: 0x00000010 i915: page table error i915: PGTBL_ER: 0x00000013
Change-Id: I5631619dc4e4aa77dd5cf621e2b4c2b6e09fa060 Signed-off-by: Denis 'GNUtoo' Carikli GNUtoo@no-log.org --- src/northbridge/intel/i945/gma.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+)
diff --git a/src/northbridge/intel/i945/gma.c b/src/northbridge/intel/i945/gma.c index e63178d..571c590 100644 --- a/src/northbridge/intel/i945/gma.c +++ b/src/northbridge/intel/i945/gma.c @@ -53,6 +53,8 @@ static void gma_func0_init(struct device *dev) /* This should probably run before post VBIOS init. */ printk(BIOS_SPEW, "Initializing VGA without OPROM.\n"); u32 iobase, mmiobase, physbase, graphics_base; + u16 reg16; + iobase = dev->resource_list[1].base; mmiobase = dev->resource_list[0].base; physbase = pci_read_config32(dev, 0x5c) & ~0xf; @@ -60,6 +62,19 @@ static void gma_func0_init(struct device *dev)
int i915lightup(u32 physbase, u32 iobase, u32 mmiobase, u32 gfx); i915lightup(physbase, iobase, mmiobase, graphics_base); + + /* Disable interupts + * Without that the i915 driver prints that(but still works): + * i915: render error detected, EIR: 0x00000010 + * i915: page table error + * i915: PGTBL_ER: 0x00000013 + * [drm:i915_report_and_clear_eir] *ERROR* EIR stuck: 0x00000010, masking + * i915: render error detected, EIR: 0x00000010 + * i915: page table error + * i915: PGTBL_ER: 0x00000013 + */ + reg16 = pci_read_config16(dev,PCI_COMMAND); + pci_write_config16(dev,PCI_COMMAND, reg16|(1<<10)); #endif
}