[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20080327133451.GH29105@one.firstfloor.org>
Date: Thu, 27 Mar 2008 14:34:51 +0100
From: Andi Kleen <andi@...stfloor.org>
To: Pavel Machek <pavel@....cz>
Cc: Andi Kleen <andi@...stfloor.org>, Ingo Molnar <mingo@...e.hu>,
kernel list <linux-kernel@...r.kernel.org>,
Greg KH <greg@...ah.com>, "Rafael J. Wysocki" <rjw@...k.pl>
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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists