Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 95471dcb authored by Werner Sembach's avatar Werner Sembach Committed by Greg Kroah-Hartman
Browse files

ACPI: video: Force backlight native for Clevo NL5xRU and NL5xNU



commit c844d22fe0c0b37dc809adbdde6ceb6462c43acf upstream.

Clevo NL5xRU and NL5xNU/TUXEDO Aura 15 Gen1 and Gen2 have both a working
native and video interface. However the default detection mechanism first
registers the video interface before unregistering it again and switching
to the native interface during boot. This results in a dangling SBIOS
request for backlight change for some reason, causing the backlight to
switch to ~2% once per boot on the first power cord connect or disconnect
event. Setting the native interface explicitly circumvents this buggy
behaviour by avoiding the unregistering process.

Signed-off-by: default avatarWerner Sembach <wse@tuxedocomputers.com>
Cc: All applicable <stable@vger.kernel.org>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 918317ab
Loading
Loading
Loading
Loading
+75 −0
Original line number Diff line number Diff line
@@ -356,6 +356,81 @@ static const struct dmi_system_id video_detect_dmi_table[] = {
		DMI_MATCH(DMI_BOARD_NAME, "BA51_MV"),
		},
	},
	/*
	 * Clevo NL5xRU and NL5xNU/TUXEDO Aura 15 Gen1 and Gen2 have both a
	 * working native and video interface. However the default detection
	 * mechanism first registers the video interface before unregistering
	 * it again and switching to the native interface during boot. This
	 * results in a dangling SBIOS request for backlight change for some
	 * reason, causing the backlight to switch to ~2% once per boot on the
	 * first power cord connect or disconnect event. Setting the native
	 * interface explicitly circumvents this buggy behaviour, by avoiding
	 * the unregistering process.
	 */
	{
	.callback = video_detect_force_native,
	.ident = "Clevo NL5xRU",
	.matches = {
		DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"),
		DMI_MATCH(DMI_BOARD_NAME, "NL5xRU"),
		},
	},
	{
	.callback = video_detect_force_native,
	.ident = "Clevo NL5xRU",
	.matches = {
		DMI_MATCH(DMI_SYS_VENDOR, "SchenkerTechnologiesGmbH"),
		DMI_MATCH(DMI_BOARD_NAME, "NL5xRU"),
		},
	},
	{
	.callback = video_detect_force_native,
	.ident = "Clevo NL5xRU",
	.matches = {
		DMI_MATCH(DMI_SYS_VENDOR, "Notebook"),
		DMI_MATCH(DMI_BOARD_NAME, "NL5xRU"),
		},
	},
	{
	.callback = video_detect_force_native,
	.ident = "Clevo NL5xRU",
	.matches = {
		DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"),
		DMI_MATCH(DMI_BOARD_NAME, "AURA1501"),
		},
	},
	{
	.callback = video_detect_force_native,
	.ident = "Clevo NL5xRU",
	.matches = {
		DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"),
		DMI_MATCH(DMI_BOARD_NAME, "EDUBOOK1502"),
		},
	},
	{
	.callback = video_detect_force_native,
	.ident = "Clevo NL5xNU",
	.matches = {
		DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"),
		DMI_MATCH(DMI_BOARD_NAME, "NL5xNU"),
		},
	},
	{
	.callback = video_detect_force_native,
	.ident = "Clevo NL5xNU",
	.matches = {
		DMI_MATCH(DMI_SYS_VENDOR, "SchenkerTechnologiesGmbH"),
		DMI_MATCH(DMI_BOARD_NAME, "NL5xNU"),
		},
	},
	{
	.callback = video_detect_force_native,
	.ident = "Clevo NL5xNU",
	.matches = {
		DMI_MATCH(DMI_SYS_VENDOR, "Notebook"),
		DMI_MATCH(DMI_BOARD_NAME, "NL5xNU"),
		},
	},

	/*
	 * Desktops which falsely report a backlight and which our heuristics