RE: [PATCH AUTOSEL for 4.4 093/167] ACPICA: Recognize the Windows 10 version 1607 and 1703 OSI strings

From: Moore, Robert
Date: Wed Mar 28 2018 - 13:15:46 EST




> -----Original Message-----
> From: Mario.Limonciello@xxxxxxxx [mailto:Mario.Limonciello@xxxxxxxx]
> Sent: Monday, March 26, 2018 12:30 AM
> To: Alexander.Levin@xxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx;
> stable@xxxxxxxxxxxxxxx
> Cc: Moore, Robert <robert.moore@xxxxxxxxx>; Schmauss, Erik
> <erik.schmauss@xxxxxxxxx>; Wysocki, Rafael J
> <rafael.j.wysocki@xxxxxxxxx>
> Subject: RE: [PATCH AUTOSEL for 4.4 093/167] ACPICA: Recognize the
> Windows 10 version 1607 and 1703 OSI strings
>
> > -----Original Message-----
> > From: Sasha Levin [mailto:Alexander.Levin@xxxxxxxxxxxxx]
> > Sent: Monday, March 19, 2018 11:07 AM
> > To: linux-kernel@xxxxxxxxxxxxxxx; stable@xxxxxxxxxxxxxxx
> > Cc: Limonciello, Mario <Mario_Limonciello@xxxxxxxx>; Bob Moore
> > <robert.moore@xxxxxxxxx>; Erik Schmauss <erik.schmauss@xxxxxxxxx>;
> Rafael J .
> > Wysocki <rafael.j.wysocki@xxxxxxxxx>; Sasha Levin
> > <Alexander.Levin@xxxxxxxxxxxxx>
> > Subject: [PATCH AUTOSEL for 4.4 093/167] ACPICA: Recognize the Windows
> > 10 version 1607 and 1703 OSI strings
> >
> > From: Mario Limonciello <mario.limonciello@xxxxxxxx>
> >
> > [ Upstream commit bc4d413a819f9d0764a80a55875a5d7e1f4efed4 ]
> >
> > ACPICA commit 35a4a3ea723b3066f575e63e5f0116f7ce65e713
> >
> > The public Microsoft document listing recognized OSI strings [1] shows
> > that these two strings were introduced.
> > version 1607 / Anniversary Update / "Redstone 1"
> > version 1703 / Creators Update / "Redstone 2"
> >
> > [1]
> > http://download.microsoft.com/download/7/e/7/7e7662cf-cbea-470b-a97e-
> > ce7ce0d98dc2/winacpi_osi.docx
> >
> > Link: https://github.com/acpica/acpica/commit/35a4a3ea
> > Signed-off-by: Mario Limonciello <mario.limonciello@xxxxxxxx>
> > Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx>
> > Signed-off-by: Erik Schmauss <erik.schmauss@xxxxxxxxx>
> > Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
> > Signed-off-by: Sasha Levin <alexander.levin@xxxxxxxxxxxxx>
> > ---
> > drivers/acpi/acpica/utosi.c | 2 ++
> > include/acpi/actypes.h | 2 ++
> > 2 files changed, 4 insertions(+)
> >
> > diff --git a/drivers/acpi/acpica/utosi.c b/drivers/acpi/acpica/utosi.c
> > index 8f3d203aed79..51d9011b5b33 100644
> > --- a/drivers/acpi/acpica/utosi.c
> > +++ b/drivers/acpi/acpica/utosi.c
> > @@ -101,6 +101,8 @@ static struct acpi_interface_info
> > acpi_default_supported_interfaces[] = {
> > {"Windows 2012", NULL, 0, ACPI_OSI_WIN_8}, /* Windows 8 and Server
> > 2012 - Added 08/2012 */
> > {"Windows 2013", NULL, 0, ACPI_OSI_WIN_8}, /* Windows 8.1 and
> Server
> > 2012 R2 - Added 01/2014 */
> > {"Windows 2015", NULL, 0, ACPI_OSI_WIN_10}, /* Windows 10 -
> Added
> > 03/2015 */
> > + {"Windows 2016", NULL, 0, ACPI_OSI_WIN_10_RS1}, /* Windows 10
> > version 1607 - Added 12/2017 */
> > + {"Windows 2017", NULL, 0, ACPI_OSI_WIN_10_RS2}, /* Windows 10
> > version 1703 - Added 12/2017 */
> >
> > /* Feature Group Strings */
> >
> > diff --git a/include/acpi/actypes.h b/include/acpi/actypes.h index
> > f914958c4adb..d27bc051f47f 100644
> > --- a/include/acpi/actypes.h
> > +++ b/include/acpi/actypes.h
> > @@ -1284,6 +1284,8 @@ typedef enum {
> > #define ACPI_OSI_WIN_7 0x0B
> > #define ACPI_OSI_WIN_8 0x0C
> > #define ACPI_OSI_WIN_10 0x0D
> > +#define ACPI_OSI_WIN_10_RS1 0x0E
> > +#define ACPI_OSI_WIN_10_RS2 0x0F
> >
> > /* Definitions of file IO */
> >
> > --
> > 2.14.1
>
> I don't believe that it would be a good idea to bring back this patch to
> kernels older than 4.15. These strings do activate some extra features
> in Windows and some BIOS ASL has been written to only activate them when
> the newer Windows versions are detected. I have no concerns bringing
> them to 4.15 though.
>
> Bringing them back to stable may introduce other problems that requires
> backporting additional driver changes too.

[Moore, Robert]

There should be no problem with this change concerning older machines. The firmware on these machines will simply never call _OSI with any strings newer than when the firmware was written -- including this new one.

Bob