Bug 3238
Summary: | Power down blanks screen but no power off unless no LAPIC - Lattitude D600 | ||
---|---|---|---|
Product: | ACPI | Reporter: | Johannes Peeters (jpeeters) |
Component: | Power-Off | Assignee: | Alexey Starikovskiy (astarikovskiy) |
Status: | CLOSED CODE_FIX | ||
Severity: | normal | CC: | acpi-bugzilla, astarikovskiy, bernatik, jurjen-kernelbugzilla, Matt_Domsch |
Priority: | P2 | ||
Hardware: | i386 | ||
OS: | Linux | ||
Kernel Version: | 2.6.8.1 | Subsystem: | |
Regression: | --- | Bisected commit-id: | |
Attachments: |
debug patch
debug log acpidmp for BIOS A13 don't enable LAPIC when BIOS against wish of BIOS (v2.6.8.1) patch v2.6.9-rc3, and allow "lapic" to force enable LAPIC |
Description
Johannes Peeters
2004-08-18 15:57:21 UTC
I found the problem: acpi-20040715-2.6.8.diff.gz removes the latitude from the dmi blacklist, and i enabled local apic in the kernel config. Disabling this resolves the power down problem (and some other apci button errors). Could you please attach a dmesg and /proc/acpi/dsdt ? Created attachment 3750 [details]
debug patch
Created attachment 3751 [details]
debug log
applied the debug patch above and tested with and without "nolapic".
The attached debug log was identical in both cases (modulo the thread id)
except poweroff failed in the default lapic case and
poweroff succeeded in the "nolapic" case.
Created attachment 3752 [details]
acpidmp for BIOS A13
I should mention that on the D600 I have the screen stays on
when poweroff fails, it doesn't blank. I'm running BIOS A13
and this model has an ATI Mobility M9
also, here's the decoded FADT:
acpixtract FACP acpidmp | acpitbl
Signature: FACP
Length: 116
Revision: 0x01
Checksum: 0xd5
OEMID: DELL
OEM Table ID: CPi R
OEM Revision: 0x27d40709
Creator ID: ASL
Creator Revision: 0x00000061
FIRMWARE_CTRL: 0x1ffff800
DSDT: 0x1fff0c00
INT_MODEL: 0x00
SCI_INT: 9
SMI_CMD: 0x000000b2
ACPI_ENABLE: 0x70
ACPI_DISABLE: 0x71
S4BIOS_REQ: 0x97
PM1a_EVT_BLK: 0x00000800
PM1b_EVT_BLK: 0x00000000
PM1a_CNT_BLK: 0x00000804
PM1b_CNT_BLK: 0x00000000
PM2_CNT_BLK: 0x00000820
PM_TMR_BLK: 0x00000808
GPE0_BLK: 0x00000828
GPE1_BLK: 0x00000000
PM1_EVT_LEN: 4
PM1_CNT_LEN: 2
PM2_CNT_LEN: 1
PM_TM_LEN: 4
GPE0_BLK_LEN: 8
GPE1_BLK_LEN: 0
GPE1_BASE: 0
P_LVL2_LAT: 50
P_LVL3_LAT: 50
FLUSH_SIZE: 0
FLUSH_STRIDE: 0
DUTY_OFFSET: 1
DUTY_WIDTH: 3
DAY_ALRM: 0x00
MON_ALRM: 0x00
CENTURY: 0x00
Flags: 0x00000235
Two observations: booting with "apic=debug" yields: "Local APIC disabled by BIOS -- reenabling." it is possible that the OEM BIOS writer didn't enable the LAPIC for a reason, maybe it isn't a good idea for Linux to second-guess them. For poweroff, lapic_suspend() is not called. However, when I hack a call to lapic_suspend() into the top of acpi_enter_sleep_state(5), then poweroff works even in LAPIC mode. *** Bug 3532 has been marked as a duplicate of this bug. *** Created attachment 3796 [details]
don't enable LAPIC when BIOS against wish of BIOS (v2.6.8.1)
< Local APIC disabled by BIOS -- reenabling.
< Found and enabled local APIC!
---
< No local APIC present or hardware disabled
Fixes my D600.
Created attachment 3797 [details]
patch v2.6.9-rc3, and allow "lapic" to force enable LAPIC
sending this one to linus
shipped in 2.6.9 applied to 2.4.28 closing *** Bug 1619 has been marked as a duplicate of this bug. *** *** Bug 3643 has been marked as a duplicate of this bug. *** *** Bug 1901 has been marked as a duplicate of this bug. *** |