On Tue, 2020-04-28 at 08:27 -0700, David E. Box wrote: +AD4- On Tue, 2020-04-28 at 16:22 +-0200, Christoph Hellwig wrote: +AD4- +AD4- On Tue, Apr 28, 2020 at 07:09:59AM -0700, David E. Box wrote: +AD4- +AD4- +AD4- +AD4- I'm not sure who came up with the idea to put this into ACPI, +AD4- +AD4- +AD4- +AD4- but +AD4- +AD4- +AD4- +AD4- it +AD4- +AD4- +AD4- +AD4- belongs into NVMe. Please talk to the NVMe technical working +AD4- +AD4- +AD4- +AD4- group +AD4- +AD4- +AD4- +AD4- instead of trying to overrules them in an unrelated group that +AD4- +AD4- +AD4- +AD4- doesn't +AD4- +AD4- +AD4- +AD4- apply to all of PCIe. +AD4- +AD4- +AD4- +AD4- +AD4- +AD4- Agreed that this is not ideal since it does not apply to all of +AD4- +AD4- +AD4- PCIe. +AD4- +AD4- +AD4- But as the property already exists on shipping systems, we need +AD4- +AD4- +AD4- to +AD4- +AD4- +AD4- be +AD4- +AD4- +AD4- able to read it in the NVMe driver and the patch is consitent +AD4- +AD4- +AD4- with +AD4- +AD4- +AD4- the +AD4- +AD4- +AD4- way properties under PCI ports are read. +AD4- +AD4- +AD4- +AD4- The point is that it is not the BIOSes job do decide how Linux does +AD4- +AD4- power management. For example D3 has really horrible entry and +AD4- +AD4- exit +AD4- +AD4- latencies in many cases, and will lead to higher power usage. +AD4- +AD4- The platform can know which pm policies will save the most power. But +AD4- since the solution doesn't apply to all PCIe devices (despite BIOS +AD4- specifying it that way) I'll withdraw this patch. Thanks. Wait, why withdraw? In this case the platform is unfortunately preventing the standard driver from making a proper determination. So while I agree that it's not the BIOSes job, when the platform actively prevents proper operation due to some ill conceived non-standard platform property what is Linux left to do on these systems? The +ACo-patch+ACo- is not trying to overrule NVME, and the best I can say is that the Intel Linux team was not in the loop when this was being decided between the platform BIOS implemenation and whomever thought they could just publish random ACPI properties that impacted NVME operation +AFs-1+AF0-. So now David is trying to get these platform unbroken because they are already shipping with this b0rkage. +AFs-1+AF0-: https://docs.microsoft.com/en-us/windows-hardware/design/component-guidelines/power-management-for-storage-hardware-devices-intro