Re: HEADS UP: PCI Chnages

From: John Baldwin <jhb_at_FreeBSD.org>
Date: Mon, 26 Apr 2004 16:10:50 -0400
On Friday 23 April 2004 05:01 pm, Nate Lawson wrote:
> On Fri, 23 Apr 2004, M. Warner Losh wrote:
> > In message: <200404231118.11833.jhb_at_FreeBSD.org>
> >
> >             John Baldwin <jhb_at_FreeBSD.org> writes:
> > : On Thursday 22 April 2004 12:34 pm, Kevin Oberman wrote:
> > : > Well, things seem to have deteriorated slightly with Warner's recent
> > : > PCI changes (backing out much of the PCI power stuff).
> > : >
> > : > 1. I have both my hard disks and floppies. Thanks Warner and Søren!
> > : >
> > : > 2. USB still works and recovers after a resume!
> > : >
> > : > 3. Sound is again playing too fast after resume. ICH audio is
> > : > reverting to its native speed. With the PCI power stuff in there, it
> > : > worked just fine. (It was nice while it lasted.) I suspect this will
> > : > return when Warner gets a few rough edges off of the PCI code.
> > : >
> > : > 4. After a resume, the shared PCI interrupt stops being delivered
> > : > after a LONG time interval. I've had it fail in 10 minutes, but it is
> > : > more likely to die after about an hour. It always dies in under 2
> > : > hours.
> > : >
> > : > vmstat -i looks completely normal except that the count for irq 11
> > : > never increases. All other interrupts and devices are fine. Is this a
> > : > locking problem? Should I put WITNESS back in my kernel? I can't find
> > : > any sign of any significant resource being exhausted. If you ignore
> > : > the fact that all devices on irq 11 are dead, the system continues to
> > : > run just fine. X is alive and the box seems completely normal. (Of
> > : > course, USB, the network cards,  and sound are completely gone.)
> > : > System has neither SMP or APIC in the kernel.
> > : >
> > : > I'd love to track this down. I have no idea how common it is,
> > : > either. Since most people running CURRENT are not using suspend on
> > : > their laptops because of various problems except to test things, this
> > : > might not have shown up for most people. (Or, it might be unique to
> > : > the IBM T30.)
> > : >
> > : > Thanks,
> > :
> > : We probably just need to reprogram the PCI link devices on resume.  Are
> > : you using ACPI?  The non-ACPI case I know doesn't do this yet.
> >
> > We aren't doing that at the moment.  I have some changes in my tree,
> > but there are issues with ndis not working quite right yet :-(
>
> I thought that was enabled in the ACPI-PCI bridge driver.  At least my
> latest version seems to do it (added by iwasaki_at_ a while ago).  Did you
> disable that again?  Or are your comments just for the !acpi case?

Well, the ACPI PCI just reroutes everyone's interrupt.  It's not the cleanest 
way to do it.  What should happen is that the bridge driver should ask the 
link devices to reprogram themselves if need be.  For the !ACPI case, I plan 
to add a pir0 child of pcib0 that will reroute all the links on resume.

-- 
John Baldwin <jhb_at_FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve"  =  http://www.FreeBSD.org
Received on Mon Apr 26 2004 - 11:17:58 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:52 UTC