On Sat, May 21, 2011 at 3:59 PM, deeptech71_at_gmail.com <deeptech71_at_gmail.com> wrote: > On Thu, May 19, 2011 at 11:35 PM, John Baldwin <jhb_at_freebsd.org> wrote: >> Index: pci_pci.c >> =================================================================== >> --- pci_pci.c (revision 222093) >> +++ pci_pci.c (working copy) >> _at__at_ -162,8 +162,13 _at__at_ pcib_write_windows(struct pcib_softc *sc, int mask >> { >> device_t dev; >> uint32_t val; >> + uint16_t cmd; >> >> dev = sc->dev; >> + cmd = pci_read_config(dev, PCIR_COMMAND, 2); >> + if (cmd & (PCIM_CMD_PORTEN | PCIM_CMD_MEMEN)) >> + pci_write_config(dev, PCIR_COMMAND, >> + cmd & ~(PCIM_CMD_PORTEN | PCIM_CMD_MEMEN), 2); >> if (sc->io.valid && mask & WIN_IO) { >> val = pci_read_config(dev, PCIR_IOBASEL_1, 1); >> if ((val & PCIM_BRIO_MASK) == PCIM_BRIO_32) { >> _at__at_ -192,6 +197,8 _at__at_ pcib_write_windows(struct pcib_softc *sc, int mask >> pci_write_config(dev, PCIR_PMBASEL_1, sc->pmem.base >> 16, 2); >> pci_write_config(dev, PCIR_PMLIMITL_1, sc->pmem.limit >> 16, 2); >> } >> + if (cmd & (PCIM_CMD_PORTEN | PCIM_CMD_MEMEN)) >> + pci_write_config(dev, PCIR_COMMAND, cmd, 2); >> } >> >> static void >> _at__at_ -231,7 +238,9 _at__at_ pcib_alloc_window(struct pcib_softc *sc, struct pc >> w->name, (uintmax_t)w->base, (uintmax_t)w->limit); >> w->base = max_address; >> w->limit = 0; >> +#if 0 >> pcib_write_windows(sc, w->mask); >> +#endif >> return; >> } >> pcib_activate_window(sc, type); > > that seems to work. oops, i forgot to set the AGP aperture size to 128M during testing. that patch actually does NOT work.Received on Sun May 22 2011 - 15:20:41 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:14 UTC