On Mon, Aug 17, 2009 at 9:51 AM, ron minnich <[email protected]> wrote:
> On Mon, Aug 17, 2009 at 8:28 AM, Myles Watson<[email protected]> wrote: > > > The correct way to do this is to add the functionality to the chipset > init > > function. It should check the bit that was set in the device structure > and > > write the correct thing to the PCI configuration space. > > How about we go through this step by step, and then Arnaud gets stuck > with writing up what we figure out. Yes. I'm frequently guilty of skipping steps. > So, Arnaud, tell me more. I'm utterly ignorant of the chipset here. > > As I learn more, we can fill this out and, hopefully, have something > others can use later to know what to do. > > (calling from auto.c is bad form :-) > > What chipset needs to have a config register setting done? > (assuming you don't know what to do from IRC already :-) Setting up VGA for PCI: 07:00.0 Setting PCI_BRIDGE_CTL_VGA for bridge PCI: 03:04.0 Setting PCI_BRIDGE_CTL_VGA for bridge PCI: 02:00.0 Setting PCI_BRIDGE_CTL_VGA for bridge PCI: 00:03.0 Setting PCI_BRIDGE_CTL_VGA for bridge PCI_DOMAIN: 0000 Setting PCI_BRIDGE_CTL_VGA for bridge Root Device Allocating resources... For me the steps would be: 1. Make sure that the device that needs the config writes is in the above list. 2. Add code like this: if (dev->link[link].bridge_ctrl & PCI_BRIDGE_CTL_VGA) { /* Add your code from auto.c here */ } to the .init function of the bridge. For example, assuming that the i3100 PCIe port needs the configuration, I would add the code in: src/northbridge/intel/i3100/pciexp_porta.c In the existing pcie_init function. Thanks, Myles
-- coreboot mailing list: [email protected] http://www.coreboot.org/mailman/listinfo/coreboot

