diff --git a/src/northbridge/intel/i945/gma.c b/src/northbridge/intel/i945/gma.c index 340ddcd3a1..b703a80e71 100644 --- a/src/northbridge/intel/i945/gma.c +++ b/src/northbridge/intel/i945/gma.c @@ -18,15 +18,25 @@ */ #include +#include #include #include #include #include +#define GDRST 0xc0 + static void gma_func0_init(struct device *dev) { u32 reg32; + /* Unconditionally reset graphics */ + pci_write_config8(dev, GDRST, 1); + udelay(50); + pci_write_config8(dev, GDRST, 0); + /* wait for device to finish */ + while (pci_read_config8(dev, GDRST) & 1) { }; + /* IGD needs to be Bus Master */ reg32 = pci_read_config32(dev, PCI_COMMAND); pci_write_config32(dev, PCI_COMMAND, reg32 | PCI_COMMAND_MASTER);