On Tue, Feb 13, 2018 at 8:32 AM, Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> wrote: > On Mon, Feb 12, 2018 at 11:14:42PM +0000, Mario.Limonciello@xxxxxxxx wrote: >> > So something like "Do you support native PCI power management?" would >> > be fine, because native PCI power management is defined by the PCI >> > standard and it should be clear what supporting it means and it >> > doesn't depend on what platform the kernel runs on. >> > >> >> The problem is this is in conflict with the documentation. >> As quoted: >> >> ``` >> _OSI("Linux-OEM-my_interface_name") >> where 'OEM' is needed if this is an OEM-specific hook, >> and 'my_interface_name' describes the hook, which could be a >> quirk, a bug, or a bug-fix. >> ``` >> >> Quite literally from an OEM perspective this is a quirk. The affected >> platforms as configured by default won't work properly with Linux. >> >> We apply a code deviation if the OSPM responds yes to that OSI string. >> >> It's entirely possible that the Linux kernel could not store a quirk table >> to match the affected platforms and instead give a blanket simple fast >> "Yes" answer to "Linux-Dell-Video", but I think that is no better than >> _OSI("Linux"). This is at least an attestation from the OEM perspective >> that we have only changed one thing by this string. >> >> The alternative (and what has been done in the past) was the ACPI >> _OSI rev hack marking those platforms for quirks and other things >> before that and. I really don't want to go down that road again. > > I have not followed this thread too closely so I might be missing > something but why do we need to do this in the first place? As a temporary (presumably) workaround, basically. :-) > Does this work in Windows and if yes, why we can't do the the same in Linux > without any sort of hacks and/or quirks? Of course it works on Windows. The underlying issue is that the platform firmware expects Linux to behave like Windows, presumably because Linux says "yes" to _OSI("Windows <something>"), and it fails to work, because Linux doesn't behave as expected by it. Theoretically, it should be possible to make Linux behave like Windows in that particular respect, but (a) there may be missing pieces that we have no access to (like some secret documentation or similar) and (b) it is unclear how much time that would take even if everything was known. However, the platforms in question are (or shortly will be) shipping and Linux quite promptly doesn't work with them. So the idea is to make a the firmware ask the kernel for a hint on whether or not it should adjust its behavior for a particular difference in behavior between Linux and Windows. -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html