Re: [PATCH] x86/ACPI: Fix regression caused by 16ee7b3dcc56

From: Jim Bos
Date: Wed Apr 08 2015 - 11:51:21 EST


On 04/08/2015 07:26 AM, Jiang Liu wrote:
> On 2015/4/8 0:49, Jim Bos wrote:
>> On 04/07/2015 04:34 PM, Jiang Liu wrote:
>>> Hi Jim,
>>> Could you please help to test this patch against v4.0-rc6?
>>> Thanks!
>>> Gerry
>>>
>>> Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx>
>>> ---
>>> arch/x86/kernel/acpi/boot.c | 10 +++++++---
>>> 1 file changed, 7 insertions(+), 3 deletions(-)
>>>
>>> diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c
>>> index 803b684676ff..f7f1fe7cd1b0 100644
>>> --- a/arch/x86/kernel/acpi/boot.c
>>> +++ b/arch/x86/kernel/acpi/boot.c
>>> @@ -403,10 +403,14 @@ static int mp_config_acpi_gsi(struct device *dev, u32 gsi, int trigger,
>>> static int mp_register_gsi(struct device *dev, u32 gsi, int trigger,
>>> int polarity)
>>> {
>>> - int irq, node;
>>> + int i, irq, node;
>>>
>>> - if (acpi_irq_model != ACPI_IRQ_MODEL_IOAPIC)
>>> - return gsi;
>>> + if (acpi_irq_model != ACPI_IRQ_MODEL_IOAPIC) {
>>> + for (i = 0; i < nr_legacy_irqs(); i++)
>>> + if (isa_irq_to_gsi[i] == gsi)
>>> + return i;
>>> + return -1;
>>> + }
>>>
>>> trigger = trigger == ACPI_EDGE_SENSITIVE ? 0 : 1;
>>> polarity = polarity == ACPI_ACTIVE_HIGH ? 0 : 1;
>>>
>>
>> Jiang,
>>
>> It definitely seems to be an improvement, using Virtualbox guest with
>> your patch applied acpi-events work for all combinations (smp/nosmp
>> with/without I/O APIC assigned to the guest).
>>
>> However, on the Dell laptop it still doesn't work. To be sure I built a
>> 3.16 kernel on this laptop and acpi_event power-button lid close/open
>> are working just fine.
>>
>> Attached config + dmesg + cat /proc/interrupt for the working 3.16 case
>> and still not working 4.0-rc6+patch case.
> Hi Jim,
> According to the attached files, you are building a UP kernel
> with IOAPIC enabled. This configuration works well on my HP laptop.
> And according to file IRQs from 4.0-rc6, it shows:
> 9: 1 XT-PIC acpi
> That means kernel has received one ACPI SCI interrupt, but no
> following-on ACPI SCI interrupts, I can't figure out the root cause yet.
>
> So could you please help to dump ACPI tables from your dell laptop by
> using acpidump utility?
> Thanks!
> Gerry
>
>>
>> Thanks,
>> Jim
>>

Gerry,

Attached acpidump (binary files and regular dump).
I just tested 4.0-rc6+your_patch on another single core system, AMD
geode board, and that works fine now!
So indeed it seems there is something special about the dell laptop as
that's the only system, I've available here, which still has an issue.
_
Jim

Attachment: acpi-dell.tgz
Description: application/compressed-tar