Re: [PATCH] PCI / ACPI: Don't clear pme_poll on device that has unreliable ACPI wake

Kai Heng Feng
2019-02-18T15:30:35Z

> On Feb 4, 2019, at 6:20 PM, Bjorn Helgaas <helgaas@kernel.org> wrote:
>
> On Sun, Feb 03, 2019 at 01:46:50AM +0800, Kai Heng Feng wrote:
>>> On Jan 28, 2019, at 3:51 PM, Kai Heng Feng <kai.heng.feng@canonical.com> wrote:
>>
>>>> If I understand correctly, the bugzilla lspci
>>>> (https://bugzilla.kernel.org/attachment.cgi?id=280691) was collected
>>>> at point 8, and it shows PME_Status=1 when it should be 0.
>>>>
>>>> If we write a 1 to PME_Status to clear it, and it remains set, that's
>>>> obviously a hardware defect, and Intel should document that in an
>>>> erratum, and a quirk would be the appropriate way to work around it.
>>>> But I doubt that's what's happening.
>>>
>>> I’ll ask them if they can provide an erratum.
>>
>> Got confirmed with e1000e folks, I219 (the device in question) doesn’t
>> really support runtime D3.
>
> Did you get a reference, e.g., an intel.com URL for that? Intel
> usually publishes errata for hardware defects, which is nice because
> it means every customer doesn't have to experimentally rediscover
> them.

Unfortunately no.

>
>> I also checked the behavior of the device under Windows, and it
>> stays at D0 all the time even when it’s not in use.
>
> I think there are two possible explanations for this:
>
> 1) This device requires a Windows or a driver update with a
> device-specific quirk similar to what you're proposing for Linux.

I am sure the latest driver is loaded under Windows.

>
> 2) Windows correctly detects that this device doesn't support D3,
> and Linux has a bug and does not detect that.

I think that’s the case.

>
> Obviously nobody wants to require OS or driver updates just for minor
> device changes, and the PCI and ACPI specs are designed to allow
> generic, non device-specific code to detect D3 support, so the first
> case should be a result of a hardware defect.

Yea, that’s why my original idea is to workaround it in PCI/ACPI.

>
>> So I sent a patch [1] to disable it.
>>
>> [1] https://lkml.org/lkml/2019/2/2/200
>
> OK. Since that's in drivers/net/..., I have no objection and the
> e1000e maintainers would deal with that.

Thanks.

Kai-Heng

>
> Bjorn