Hi all. I'm playing with acpi to get it working on my T23 thinkpad. Thermal zone and battery status are working ok. But when I play with hotkey buttons, open/close lid, unplug AC cable, nothing happens. After reading acpi.c I've noted that this line is not correct for me (from [EMAIL PROTECTED]):
... sc->sc_lastgpe = sc->sc_fadt->gpe0_blk_len << 2; ... because I've a GPE on 0x18 and another on 0x1c, but sc_lastgpe value is 0x10. Reading my acpidump output, I find: ... Device(EC__) { Name(_HID, 0x090cd041) Name(_UID, 0x0) Name(_GPE, 0x1c) ^^^^ ... ... Scope(\_GPE) { Method(_L18) { ^^ Store(\_SB_.PCI0.LPC_.EC__.HWAK, Local0) ... If I change that line to: ... sc->sc_lastgpe = ((sc->sc_fadt->gpe0_blk_len << 2) * 8) - 1; ... (from acpica-unix version, found on netbsd source code), I don't know what I'm doing, but it works. I can see these lines in dmesg: ... Adding GPE handler 18 (level) ... Adding GPE handler 1c (acpiec) ... enabling GPE 18 (current: disabled) 00 enabling GPE 1c (current: disabled) 00 ... In that way when an acpi interrupt arrives, our right handler is called from [EMAIL PROTECTED] But it is *not* true. On my T23 the only interrupt I receive from acpi is from the power button, when I press it for more then 4 seconds. Am I wrong about acpi interrupt mechanism? Should the right gpe handler be called *after* an acpi interrupt? What is the right value for sc_lastgpe, if my DSDT is not wrong? If I *experimentally* call on each kthread wakeup my 0x1c gpe handler, EC works fine, I can get all hotkey buttons, lid switches, hotplug and video events. Could we find a solution? Thanks to all. This is dmesg with *old* sc_lastgpe: OpenBSD 4.3-current (GENERIC) #118: Sun May 11 15:16:00 CEST 2008 [EMAIL PROTECTED]:/usr/src/sys/arch/i386/compile/GENERIC cpu0: Intel(R) Pentium(R) III Mobile CPU 1133MHz ("GenuineIntel" 686-class) 1.14 GHz cpu0: FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE real mem = 1072721920 (1023MB) avail mem = 1029079040 (981MB) User Kernel Config UKC> disable apm 324 apm0 disabled UKC> quit Continuing... mainbus0 at root bios0 at mainbus0: AT/286+ BIOS, date 10/18/06, BIOS32 rev. 0 @ 0xfd7e0, SMBIOS rev. 2.31 @ 0xe0010 (49 entries) bios0: vendor IBM version "1AET64WW (1.20 )" date 10/18/2006 bios0: IBM 26474U2 bios0: IBM ThinkPad Embedded Controller -[1AHT23WW-1.06a ]- apm at bios0 function 0x15 not configured acpi0 at bios0: rev 2 acpi0: tables DSDT FACP SSDT ECDT BOOT acpi0: wakeup devices LID_(S3) SLPB(S3) UART(S3) PCI0(S4) PCI1(S4) DOCK(S4) USB0(S3) USB1(S3) USB2(S3) AC97(S4) acpitimer0 at acpi0: 3579545 Hz, 24 bits acpi device at acpi0 from table DSDT not configured acpi device at acpi0 from table FACP not configured acpi device at acpi0 from table SSDT not configured acpi device at acpi0 from table ECDT not configured acpi device at acpi0 from table BOOT not configured acpiprt0 at acpi0: bus 0 (PCI0) acpiprt1 at acpi0: bus 1 (AGP_) acpiprt2 at acpi0: bus 2 (PCI1) acpiec0 at acpi0 acpicpu0 at acpi0: C3, C2, FVS, 1133, 733 MHz acpitz0 at acpi0: critical temperature 96 degC acpibtn0 at acpi0: LID_ acpibtn1 at acpi0: SLPB acpibat0 at acpi0: BAT0 model "IBM-02K7072" serial 434 type LION oem "SANYO" acpibat1 at acpi0: BAT1 not present acpiac0 at acpi0: AC unit online acpithinkpad0 at acpi0 acpidock at acpi0 not configured bios0: ROM list: 0xc0000/0xe000 0xce000/0x1000 0xcf000/0x1000 0xdc000/0x4000! 0xe0000/0x10000 cpu0 at mainbus0 pci0 at mainbus0 bus 0: configuration mode 1 (no bios) pchb0 at pci0 dev 0 function 0 "Intel 82830M Host" rev 0x04 ppb0 at pci0 dev 1 function 0 "Intel 82830M AGP" rev 0x04 pci1 at ppb0 bus 1 vga1 at pci1 dev 0 function 0 "S3 SuperSavage" rev 0x05 wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation) wsdisplay0: screen 1-5 added (80x25, vt100 emulation) agp0 at vga1: no integrated graphics uhci0 at pci0 dev 29 function 0 "Intel 82801CA/CAM USB" rev 0x02: irq 11 uhci1 at pci0 dev 29 function 1 "Intel 82801CA/CAM USB" rev 0x02: irq 11 uhci2 at pci0 dev 29 function 2 "Intel 82801CA/CAM USB" rev 0x02: irq 11 ppb1 at pci0 dev 30 function 0 "Intel 82801BAM Hub-to-PCI" rev 0x42 pci2 at ppb1 bus 2 cbb0 at pci2 dev 0 function 0 "TI PCI1420 CardBus" rev 0x00: irq 11 cbb1 at pci2 dev 0 function 1 "TI PCI1420 CardBus" rev 0x00: irq 11 "AT&T/Lucent LTMODEM" rev 0x01 at pci2 dev 2 function 0 not configured fxp0 at pci2 dev 8 function 0 "Intel PRO/100 VE" rev 0x42, i82562: irq 11, address 00:d0:59:d8:07:09 inphy0 at fxp0 phy 1: i82562ET 10/100 PHY, rev. 0 cardslot0 at cbb0 slot 0 flags 0 cardbus0 at cardslot0: bus 3 device 0 cacheline 0x8, lattimer 0xb0 pcmcia0 at cardslot0 cardslot1 at cbb1 slot 1 flags 0 cardbus1 at cardslot1: bus 6 device 0 cacheline 0x8, lattimer 0xb0 pcmcia1 at cardslot1 ichpcib0 at pci0 dev 31 function 0 "Intel 82801CAM LPC" rev 0x02 pciide0 at pci0 dev 31 function 1 "Intel 82801CAM IDE" rev 0x02: DMA, channel 0 configured to compatibility, channel 1 configured to compatibility wd0 at pciide0 channel 0 drive 0: <HITACHI_DK23EA-40> wd0: 16-sector PIO, LBA, 38154MB, 78140160 sectors wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 5 atapiscsi0 at pciide0 channel 1 drive 0 scsibus0 at atapiscsi0: 2 targets cd0 at scsibus0 targ 0 lun 0: <MATSHITA, DVD-ROM SR-8177, NB21> ATAPI 5/cdrom removable cd0(pciide0:1:0): using PIO mode 4, Ultra-DMA mode 2 ichiic0 at pci0 dev 31 function 3 "Intel 82801CA/CAM SMBus" rev 0x02: irq 11 iic0 at ichiic0 auich0 at pci0 dev 31 function 5 "Intel 82801CA/CAM AC97" rev 0x02: irq 11, ICH3 AC97 ac97: codec id 0x43525936 (Cirrus Logic CS4299 rev 6) ac97: codec features headphone, 20 bit DAC, 18 bit ADC, Crystal Semi 3D audio0 at auich0 usb0 at uhci0: USB revision 1.0 uhub0 at usb0 "Intel UHCI root hub" rev 1.00/1.00 addr 1 usb1 at uhci1: USB revision 1.0 uhub1 at usb1 "Intel UHCI root hub" rev 1.00/1.00 addr 1 usb2 at uhci2: USB revision 1.0 uhub2 at usb2 "Intel UHCI root hub" rev 1.00/1.00 addr 1 isa0 at ichpcib0 isadma0 at isa0 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 pms0 at pckbc0 (aux slot) pckbc0: using irq 12 for aux slot wsmouse0 at pms0 mux 0 pcppi0 at isa0 port 0x61 midi0 at pcppi0: <PC speaker> spkr0 at pcppi0 lpt2 at isa0 port 0x3bc/4: polled npx0 at isa0 port 0xf0/16: reported by CPUID; using exception 16 pccom0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo pccom1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo biomask ede5 netmask ede5 ttymask ffe7 mtrr: Pentium Pro MTRR support softraid0 at root root on wd0a swap on wd0b dump on wd0b -- This is dmesg with *new* sc_lastgpe: OpenBSD 4.3-current (GENERIC) #119: Sun May 11 15:59:45 CEST 2008 [EMAIL PROTECTED]:/usr/src/sys/arch/i386/compile/GENERIC cpu0: Intel(R) Pentium(R) III Mobile CPU 1133MHz ("GenuineIntel" 686-class) 1.14 GHz cpu0: FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE real mem = 1072721920 (1023MB) avail mem = 1029079040 (981MB) User Kernel Config UKC> disable apm 324 apm0 disabled UKC> quit Continuing... mainbus0 at root bios0 at mainbus0: AT/286+ BIOS, date 10/18/06, BIOS32 rev. 0 @ 0xfd7e0, SMBIOS rev. 2.31 @ 0xe0010 (49 entries) bios0: vendor IBM version "1AET64WW (1.20 )" date 10/18/2006 bios0: IBM 26474U2 bios0: IBM ThinkPad Embedded Controller -[1AHT23WW-1.06a ]- apm at bios0 function 0x15 not configured acpi0 at bios0: rev 2 Adding GPE handler 18 (level) acpi0: tables DSDT FACP SSDT ECDT BOOT acpi0: wakeup devices LID_(S3) SLPB(S3) UART(S3) PCI0(S4) PCI1(S4) DOCK(S4) USB0(S3) USB1(S3) USB2(S3) AC97(S4) acpitimer0 at acpi0: 3579545 Hz, 24 bits acpi device at acpi0 from table DSDT not configured acpi device at acpi0 from table FACP not configured acpi device at acpi0 from table SSDT not configured acpi device at acpi0 from table ECDT not configured acpi device at acpi0 from table BOOT not configured acpiprt0 at acpi0: bus 0 (PCI0) acpiprt1 at acpi0: bus 1 (AGP_) acpiprt2 at acpi0: bus 2 (PCI1) acpiec0 at acpi0 Adding GPE handler 1c (acpiec) acpicpu0 at acpi0: C3, C2, FVS, 1133, 733 MHz acpitz0 at acpi0: critical temperature 96 degC acpibtn0 at acpi0: LID_ acpibtn1 at acpi0: SLPB acpibat0 at acpi0: BAT0 model "IBM-02K7072" serial 434 type LION oem "SANYO" acpibat1 at acpi0: BAT1 not present acpiac0 at acpi0: AC unit online acpithinkpad0 at acpi0 acpidock at acpi0 not configured bios0: ROM list: 0xc0000/0xe000 0xce000/0x1000 0xcf000/0x1000 0xdc000/0x4000! 0xe0000/0x10000 cpu0 at mainbus0 pci0 at mainbus0 bus 0: configuration mode 1 (no bios) pchb0 at pci0 dev 0 function 0 "Intel 82830M Host" rev 0x04 ppb0 at pci0 dev 1 function 0 "Intel 82830M AGP" rev 0x04 pci1 at ppb0 bus 1 vga1 at pci1 dev 0 function 0 "S3 SuperSavage" rev 0x05 wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation) wsdisplay0: screen 1-5 added (80x25, vt100 emulation) agp0 at vga1: no integrated graphics uhci0 at pci0 dev 29 function 0 "Intel 82801CA/CAM USB" rev 0x02: irq 11 uhci1 at pci0 dev 29 function 1 "Intel 82801CA/CAM USB" rev 0x02: irq 11 uhci2 at pci0 dev 29 function 2 "Intel 82801CA/CAM USB" rev 0x02: irq 11 ppb1 at pci0 dev 30 function 0 "Intel 82801BAM Hub-to-PCI" rev 0x42 pci2 at ppb1 bus 2 cbb0 at pci2 dev 0 function 0 "TI PCI1420 CardBus" rev 0x00: irq 11 cbb1 at pci2 dev 0 function 1 "TI PCI1420 CardBus" rev 0x00: irq 11 "AT&T/Lucent LTMODEM" rev 0x01 at pci2 dev 2 function 0 not configured fxp0 at pci2 dev 8 function 0 "Intel PRO/100 VE" rev 0x42, i82562: irq 11, address 00:d0:59:d8:07:09 inphy0 at fxp0 phy 1: i82562ET 10/100 PHY, rev. 0 cardslot0 at cbb0 slot 0 flags 0 cardbus0 at cardslot0: bus 3 device 0 cacheline 0x8, lattimer 0xb0 pcmcia0 at cardslot0 cardslot1 at cbb1 slot 1 flags 0 cardbus1 at cardslot1: bus 6 device 0 cacheline 0x8, lattimer 0xb0 pcmcia1 at cardslot1 ichpcib0 at pci0 dev 31 function 0 "Intel 82801CAM LPC" rev 0x02 pciide0 at pci0 dev 31 function 1 "Intel 82801CAM IDE" rev 0x02: DMA, channel 0 configured to compatibility, channel 1 configured to compatibility wd0 at pciide0 channel 0 drive 0: <HITACHI_DK23EA-40> wd0: 16-sector PIO, LBA, 38154MB, 78140160 sectors wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 5 atapiscsi0 at pciide0 channel 1 drive 0 scsibus0 at atapiscsi0: 2 targets cd0 at scsibus0 targ 0 lun 0: <MATSHITA, DVD-ROM SR-8177, NB21> ATAPI 5/cdrom removable cd0(pciide0:1:0): using PIO mode 4, Ultra-DMA mode 2 ichiic0 at pci0 dev 31 function 3 "Intel 82801CA/CAM SMBus" rev 0x02: irq 11 iic0 at ichiic0 auich0 at pci0 dev 31 function 5 "Intel 82801CA/CAM AC97" rev 0x02: irq 11, ICH3 AC97 ac97: codec id 0x43525936 (Cirrus Logic CS4299 rev 6) ac97: codec features headphone, 20 bit DAC, 18 bit ADC, Crystal Semi 3D audio0 at auich0 usb0 at uhci0: USB revision 1.0 uhub0 at usb0 "Intel UHCI root hub" rev 1.00/1.00 addr 1 usb1 at uhci1: USB revision 1.0 uhub1 at usb1 "Intel UHCI root hub" rev 1.00/1.00 addr 1 usb2 at uhci2: USB revision 1.0 uhub2 at usb2 "Intel UHCI root hub" rev 1.00/1.00 addr 1 isa0 at ichpcib0 isadma0 at isa0 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 pms0 at pckbc0 (aux slot) pckbc0: using irq 12 for aux slot wsmouse0 at pms0 mux 0 pcppi0 at isa0 port 0x61 midi0 at pcppi0: <PC speaker> spkr0 at pcppi0 lpt2 at isa0 port 0x3bc/4: polled npx0 at isa0 port 0xf0/16: reported by CPUID; using exception 16 pccom0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo pccom1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo biomask ede5 netmask ede5 ttymask ffe7 mtrr: Pentium Pro MTRR support enabling GPE 18 (current: disabled) 00 enabling GPE 1c (current: disabled) 00 softraid0 at root root on wd0a swap on wd0b dump on wd0b