Mark Kettenis <mark.kettenis <at> xs4all.nl> writes:

> 
> > Date: Wed, 11 Feb 2015 09:05:23 +1000
> > From: Philip Guenther <pguenther <at> proofpoint.com>
> > 
> > On Tue, 10 Feb 2015, enuhtac wrote:
> > ...
> > > But unfortunately this does not affect the "ehci_sync_hc: tsleep() = 
35" 
> > > error.
> > > Strangely it seams that "35" means that the code has been compiled 
without 
> > > the macro "_KERNEL" being defined (in this case "tsleep" is a macro 
that 
> > > expands to "35").
> > 
> > Hmm?  That message is from this code:
> > ...
> >         do { 
> >                 /* ask for doorbell */
> >                 EOWRITE4(sc, EHCI_USBCMD, EOREAD4(sc, EHCI_USBCMD) |
> >                     EHCI_CMD_IAAD);
> >                 DPRINTFN(1,("ehci_sync_hc: cmd=0x%08x sts=0x%08x\n",
> >                     EOREAD4(sc, EHCI_USBCMD), EOREAD4(sc, 
EHCI_USBSTS)));
> >                 /* bell wait */
> >                 error = tsleep(&sc->sc_async_head, PZERO, "ehcidi", hz 
/ 2);
> >                 DPRINTFN(1,("ehci_sync_hc: cmd=0x%08x sts=0x%08x\n",
> >                     EOREAD4(sc, EHCI_USBCMD), EOREAD4(sc, 
EHCI_USBSTS)));
> >         } while (error && ++tries < 10);
> >         splx(s);
> >         /* release doorbell */
> >         rw_exit_write(&sc->sc_doorbell_lock);
> > #ifdef DIAGNOSTIC
> >         if (error)
> >                 printf("ehci_sync_hc: tsleep() = %d\n", error);
> > #endif
> > ...
> > 
> > 35 == EWOULDBLOCK, which according to tsleep(9) manpage means the 
tsleep 
> > timed out.  So, this function is repeatedly setting some hardware 
> > registers to get a "doorbell" interrupt, then waiting .5 second for it. 
If 
> > it doesn't get that after 10 tries, it gives up and prints that message 
> > showing the actual failure of "sleep until woken up" call.
> > 
> > So, is the interrupt not happening?  Does, but the interrupt handler 
> > doesn't think it should do a wakeup?  etc...
> 
> Yeah, this is fairly typical when interrupts aren't mapped properly.
> Given the random garbage in some of the ACPI tables, I'm not confident
> the BIOS contains more lies.  A new dmesg would be appreciated.
> 
> 

Below I appended the current dmesg of the patched sp kernel (by "patched" I
mean the patch by Marc from 9th of Februrary).
Also I played around with iasl to dissamble and reassemble the ACPI tables. 
I came across the following issues:
* The disassembly of acpi.AAFT.7 contains the message "Unknown ACPI table 
type [AAFT]".
* The disassembly of acpi.DSDT.2 contains the following line :
External (_SB_.PCI0.SBRG.TPM_.PTS_, MethodObj)
// Warning: Unresolved method, guessing 1 arguments
Using the -e switch I included all three SSDT tables when creating this 
dissambly.
* The disassembly of acpi.FPDT.4 contains this error message:
**** ACPI table terminates in the middle of a data structure!

I don't know how severe these issues are. Is it possible that they lead to 
the interrupt problem?
iasl does not complain about the problems in the acpi.APIC.3 table. So I
there could well be more problems with the tables going through unnoticed.

This is the dmesg:

OpenBSD 5.6-stable (GENERIC) #0: Tue Feb 10 22:04:59 CET 2015
    [email protected]:/usr/src/sys/arch/amd64/compile/GENERIC
real mem = 4166979584 (3973MB)
avail mem = 4047314944 (3859MB)
mpath0 at root
scsibus0 at mpath0: 256 targets
mainbus0 at root
bios0 at mainbus0: SMBIOS rev. 2.8 @ 0xebd30 (18 entries)
bios0: vendor American Megatrends Inc. version "P1.70" date 11/04/2014
bios0: ASRock Q1900B-ITX
acpi0 at bios0: rev 2
acpi0: sleep states S0 S3 S4 S5
acpi0: tables DSDT FACP APIC FPDT MCFG LPIT AAFT HPET SSDT SSDT SSDT UEFI
acpi0: wakeup devices PS2K(S4) PS2M(S4) UAR1(S4) UAR2(S4) XHC1(S4) EHC1(S4) 
PXSX(S4) PXSX(S4) PXSX(S4) PXSX(S4) PWRB(S0) BRCM(S0) BRC3(S0)
acpitimer0 at acpi0: 3579545 Hz, 24 bits
acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: Intel(R) Celeron(R) CPU J1900 @ 1.99GHz, 2000.45 MHz
cpu0: 
FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFL
USH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-
CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1,SSE4.2,MOVBE,POPCNT,DEADLINE,RD
RAND,NXE,LONG,LAHF,3DNOWP,PERF,ITSC,SMEP,ERMS
cpu0: 1MB 64b/line 16-way L2 cache
cpu0: smt 0, core 0, package 0
mtrr: Pentium Pro MTRR support, 8 var ranges, 88 fixed ranges
cpu0: apic clock running at 83MHz
cpu at mainbus0: not configured
cpu at mainbus0: not configured
cpu at mainbus0: not configured
ioapic0 at mainbus0: apid 1 pa 0xfec00000, version 20, 87 pins
acpimadt0: bogus nmi for apid 0
acpimadt0: bogus nmi for apid 2
acpimadt0: bogus nmi for apid 4
acpimadt0: bogus nmi for apid 6
acpimcfg0 at acpi0 addr 0xe0000000, bus 0-255
acpihpet0 at acpi0: 14318179 Hz
acpiprt0 at acpi0: bus 0 (PCI0)
acpiprt1 at acpi0: bus 1 (RP01)
acpiprt2 at acpi0: bus 2 (RP02)
acpiprt3 at acpi0: bus 3 (RP03)
acpiprt4 at acpi0: bus 4 (RP04)
acpiec0 at acpi0: not present
acpicpu0 at acpi0: C1, PSS
acpipwrres0 at acpi0: PLPE
acpipwrres1 at acpi0: PLPE
acpipwrres2 at acpi0: USBC, resource for EHC1, OTG1
acpipwrres3 at acpi0: CLK0, resource for CAM1
acpipwrres4 at acpi0: CLK1, resource for CAM0, CAM2
acpipwrres5 at acpi0: FN00, resource for FAN0
acpitz0 at acpi0: critical temperature is 90 degC
acpibat0 at acpi0: BAT0 not present
acpibat1 at acpi0: BAT1 not present
acpibat2 at acpi0: BAT2 not present
acpibtn0 at acpi0: LID0
acpibtn1 at acpi0: PWRB
acpibtn2 at acpi0: SLPB
acpivideo0 at acpi0: GFX0
acpivout0 at acpivideo0: DD1F
cpu0: Enhanced SpeedStep 2000 MHz: speeds: 1993, 1992, 1909, 1826, 1743, 
1660, 1577, 1494, 1411, 1328 MHz
pci0 at mainbus0 bus 0
pchb0 at pci0 dev 0 function 0 vendor "Intel", unknown product 0x0f00 rev 
0x0c
vga1 at pci0 dev 2 function 0 vendor "Intel", unknown product 0x0f31 rev 
0x0c
intagp at vga1 not configured
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
ahci0 at pci0 dev 19 function 0 vendor "Intel", unknown product 0x0f23 rev 
0x0c: msi, AHCI 1.3
scsibus1 at ahci0: 32 targets
sd0 at scsibus1 targ 0 lun 0: <ATA, WDC WD20NPVX-00E, 01.0> SCSI3 0/direct 
fixed naa.50014ee260103503
sd0: 1907729MB, 512 bytes/sector, 3907029168 sectors
sd1 at scsibus1 targ 1 lun 0: <ATA, WDC WD20NPVX-00E, 01.0> SCSI3 0/direct 
fixed naa.50014ee2b6060356
sd1: 1907729MB, 512 bytes/sector, 3907029168 sectors
vendor "Intel", unknown product 0x0f18 (class crypto subclass 
miscellaneous, rev 0x0c) at pci0 dev 26 function 0 not configured
ppb0 at pci0 dev 28 function 0 vendor "Intel", unknown product 0x0f48 rev 
0x0c: msi
pci1 at ppb0 bus 1
ppb1 at pci0 dev 28 function 1 vendor "Intel", unknown product 0x0f4a rev 
0x0c: msi
pci2 at ppb1 bus 2
re0 at pci2 dev 0 function 0 "Realtek 8168" rev 0x11: RTL8168G/8111G 
(0x4c00), msi, address d0:50:99:2b:e9:e0
rgephy0 at re0 phy 7: RTL8251 PHY, rev. 0
ppb2 at pci0 dev 28 function 2 vendor "Intel", unknown product 0x0f4c rev 
0x0c: msi
pci3 at ppb2 bus 3
ppb3 at pci0 dev 28 function 3 vendor "Intel", unknown product 0x0f4e rev 
0x0c: msi
pci4 at ppb3 bus 4
ehci0 at pci0 dev 29 function 0 vendor "Intel", unknown product 0x0f34 rev 
0x0c: apic 1 int 23
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 "Intel EHCI root hub" rev 2.00/1.00 addr 1
pcib0 at pci0 dev 31 function 0 vendor "Intel", unknown product 0x0f1c rev 
0x0c
vendor "Intel", unknown product 0x0f12 (class serial bus subclass SMBus, 
rev 0x0c) at pci0 dev 31 function 3 not configured
isa0 at pcib0
isadma0 at isa0
com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
pckbc0 at isa0 port 0x60/5
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pcppi0 at isa0 port 0x61
spkr0 at pcppi0
wbsio0 at isa0 port 0x2e/2: NCT6776F rev 0x33
lm1 at wbsio0 port 0x290/8: NCT6776F
ehci_sync_hc: tsleep() = 35
ehci_sync_hc: tsleep() = 35
ehci_sync_hc: tsleep() = 35
ehci_sync_hc: tsleep() = 35
ehci_sync_hc: tsleep() = 35
ehci_sync_hc: tsleep() = 35
ehci_sync_hc: tsleep() = 35
ehci_sync_hc: tsleep() = 35
uhub0: device problem, disabling port 1
vscsi0 at root
scsibus2 at vscsi0: 256 targets
softraid0 at root
scsibus3 at softraid0: 256 targets
sd2 at scsibus3 targ 1 lun 0: <OPENBSD, SR RAID 1, 005> SCSI2 0/direct 
fixed
sd2: 102398MB, 512 bytes/sector, 209712004 sectors
root on sd0a (c22964f6db284666.a) swap on sd0b dump on sd0b

Reply via email to