Messages in this thread | | | Date | Thu, 27 Mar 2008 14:34:51 +0100 | From | Andi Kleen <> | Subject | Re: iommu breaks usb after resume |
| |
On Thu, Mar 27, 2008 at 02:29:23PM +0100, Pavel Machek wrote: > Hi! > > > > ...this sounds like it needs to be done during resume, too, no? > > > > This is only a workaround for BIOS that don't set up an aperture, > > but yes if they don't do that it is likely needed on resume too. > > > > You would need to add a resume handler to aperture.c > > Probably this needs to be redone during resume, right?
Yes, but using the standard pci access functions to avoid races which the early boot code can ignore.
> > /* Fix up the north bridges */ > for (num = 24; num < 32; num++) { > if (!early_is_k8_nb(read_pci_config(0, num, 3, 0x00))) > continue; > > /* > * Don't enable translation yet. That is done later. > * Assume this BIOS didn't initialise the GART so > * just overwrite all previous bits > */ > write_pci_config(0, num, 3, 0x90, aper_order<<1); > write_pci_config(0, num, 3, 0x94, aper_alloc>>25); > } > > ....plus the "enable translation" part... but where is that hiding?
Both pci-gart and the AGP driver have code for this.
-Andi
| |