cvs commit: src/sys/dev/usb ohci.c ohci_pci.c ohcivar.h

Nate Lawson nate at root.org
Thu Jan 22 11:26:30 PST 2004


On Tue, 23 Dec 2003, ie9t-sbgk wrote:
> On Mon, 22 Dec 2003 09:46:54 -0800 (PST), Nate Lawson <nate at root.org> wrote:
>
> > On Mon, 22 Dec 2003, Takeshi Shibagaki wrote:
> >>   Modified files:
> >>     sys/dev/usb          ohci.c ohci_pci.c ohcivar.h
> >>   Log:
> >>   Enable support for DEVICE_SUSPEND, DEVICE_RESUME and DEVICE_SHUTDOWN
> >>   methods for USB devices in the same way of uhci driver. But this change
> >>   is not complete because some ohci controlers are not initialized completely.
> >>   So "kernel: usb0: 1 scheduling overruns" interrupt will generate many times.
> >>
> >>   This change will be same one in PR kern/60099.
> >>
> >>   Discussed on [bsd-nomads:16737] - [bsd-nomads:16746].
> >>
> >>   Revision  Changes    Path
> >>   1.140     +2 -12     src/sys/dev/usb/ohci.c
> >>   1.38      +40 -0     src/sys/dev/usb/ohci_pci.c
> >>   1.36      +3 -0      src/sys/dev/usb/ohcivar.h
> >
> > Now any chance of getting you to look at uhci(4)?  It has similar
> > suspend/resume problems.
>
> I don't understand you well, but do you ask me whether looking at
> "man 4 uhci" or uhci driver source(uchci.c...)?
>
> If you are talking about uchi driver source, I have been look, and
> I'm using VAIO Z505D,Z505V/BP, there is no problem. these machine
> have uhci(Intel 82371AB/EB (PIIX4) USB controller).
>
> Please tell me an example in the case of uhci, ohci problem.
>
> > Perhaps Linux has some clues to the best
> > approach.
>
> I have researched linux 2.6.0 drivers. Maybe my Libretto L1 don't
> work well at resume process in linux, also Victor InterLink MP-XP7210
> (ume at freebsd.org's machine). In japanese some laptop machines,
> OHCI registers are clear almostly at suspend/resume process.
> I had caught up re-init process added OHCI register write code step by
> step, and I know it is necessary about 50% OHCI register init codes of
> ohci_init() at suspend/resume. So I think it is better holding in common
> between boot init codes and resume init one. Is it wrong?

I am using UHCI, Intel 82801CAM.  With yesterday's -current, I still get
the following errors after resume.  I have no devices attached.  Are you
interested in looking at this?  I can test patches.

uhci0: <Intel 82801CA/CAM (ICH3) USB controller USB-A> port 0x1800-0x181f irq 11 at device 29.0 on pci0
usb0: <Intel 82801CA/CAM (ICH3) USB controller USB-A> on uhci0
usb0: USB revision 1.0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhci1: <Intel 82801CA/CAM (ICH3) USB controller USB-B> port 0x1820-0x183f irq 11 at device 29.1 on pci0
usb1: <Intel 82801CA/CAM (ICH3) USB controller USB-B> on uhci1
usb1: USB revision 1.0
uhub1: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
uhci2: <Intel 82801CA/CAM (ICH3) USB controller USB-C> port 0x1840-0x185f irq 11 at device 29.2 on pci0
usb2: <Intel 82801CA/CAM (ICH3) USB controller USB-C> on uhci2
usb2: USB revision 1.0
uhub2: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub2: 2 ports with 2 removable, self powered

[suspend/resume]

pcib0: slot 29 INTA is routed to irq 11
pcib0: slot 29 INTB is routed to irq 11
pcib0: slot 29 INTC is routed to irq 11
pcib0: slot 31 INTB is routed to irq 11
pcib0: slot 31 INTB is routed to irq 11
pcib1: slot 0 INTA is routed to irq 11
usb0: controller did not reset
usb0: cannot start
usb1: controller did not reset
usb1: cannot start
usb2: controller did not reset
usb2: cannot start
pcib2: slot 0 INTA is routed to irq 11
pcib2: slot 0 INTB is routed to irq 11
pcib2: slot 2 INTA is routed to irq 11
pcib2: slot 8 INTA is routed to irq 11
wakeup from sleeping state (slept 00:00:15)
usb0: host system error
usb0: host controller process error
usb0: host controller halted
usb1: host system error
usb1: host controller process error
usb1: host controller halted
usb2: host system error
usb2: host controller process error
usb2: host controller halted

-Nate


More information about the cvs-all mailing list