diff mbox series

[1/2] ACPI: video: Force backlight native for some TongFang devices

Message ID 20220707180953.605246-1-wse@tuxedocomputers.com (mailing list archive)
State Mainlined, archived
Headers show
Series [1/2] ACPI: video: Force backlight native for some TongFang devices | expand

Commit Message

Werner Sembach July 7, 2022, 6:09 p.m. UTC
The TongFang PF5PU1G, PF4NU1F, PF5NU1G, and PF5LUXG/TUXEDO BA15 Gen10,
Pulse 14/15 Gen1, and Pulse 15 Gen2 have the same problem as the Clevo
NL5xRU and NL5xNU/TUXEDO Aura 15 Gen1 and Gen2:
They have 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: Werner Sembach <wse@tuxedocomputers.com>
Cc: stable@vger.kernel.org
---
 drivers/acpi/video_detect.c | 51 ++++++++++++++++++++++++++++++++++++-
 1 file changed, 50 insertions(+), 1 deletion(-)

Comments

Hans de Goede July 13, 2022, 5:25 p.m. UTC | #1
Hi,

On 7/7/22 20:09, Werner Sembach wrote:
> The TongFang PF5PU1G, PF4NU1F, PF5NU1G, and PF5LUXG/TUXEDO BA15 Gen10,
> Pulse 14/15 Gen1, and Pulse 15 Gen2 have the same problem as the Clevo
> NL5xRU and NL5xNU/TUXEDO Aura 15 Gen1 and Gen2:
> They have 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: Werner Sembach <wse@tuxedocomputers.com>
> Cc: stable@vger.kernel.org

Thanks, the series looks good to me:

Reviewed-by: Hans de Goede <hdegoede@redhat.com>

for the series.

Regards,

Hans

> ---
>  drivers/acpi/video_detect.c | 51 ++++++++++++++++++++++++++++++++++++-
>  1 file changed, 50 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/acpi/video_detect.c b/drivers/acpi/video_detect.c
> index becc198e4c22..cdde2e069d63 100644
> --- a/drivers/acpi/video_detect.c
> +++ b/drivers/acpi/video_detect.c
> @@ -490,7 +490,56 @@ static const struct dmi_system_id video_detect_dmi_table[] = {
>  		DMI_MATCH(DMI_BOARD_NAME, "NL5xNU"),
>  		},
>  	},
> -
> +	/*
> +	 * The TongFang PF5PU1G, PF4NU1F, PF5NU1G, and PF5LUXG/TUXEDO BA15 Gen10,
> +	 * Pulse 14/15 Gen1, and Pulse 15 Gen2 have the same problem as the Clevo
> +	 * NL5xRU and NL5xNU/TUXEDO Aura 15 Gen1 and Gen2. See the description
> +	 * above.
> +	 */
> +	{
> +	.callback = video_detect_force_native,
> +	.ident = "TongFang PF5PU1G",
> +	.matches = {
> +		DMI_MATCH(DMI_BOARD_NAME, "PF5PU1G"),
> +		},
> +	},
> +	{
> +	.callback = video_detect_force_native,
> +	.ident = "TongFang PF4NU1F",
> +	.matches = {
> +		DMI_MATCH(DMI_BOARD_NAME, "PF4NU1F"),
> +		},
> +	},
> +	{
> +	.callback = video_detect_force_native,
> +	.ident = "TongFang PF4NU1F",
> +	.matches = {
> +		DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"),
> +		DMI_MATCH(DMI_BOARD_NAME, "PULSE1401"),
> +		},
> +	},
> +	{
> +	.callback = video_detect_force_native,
> +	.ident = "TongFang PF5NU1G",
> +	.matches = {
> +		DMI_MATCH(DMI_BOARD_NAME, "PF5NU1G"),
> +		},
> +	},
> +	{
> +	.callback = video_detect_force_native,
> +	.ident = "TongFang PF5NU1G",
> +	.matches = {
> +		DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"),
> +		DMI_MATCH(DMI_BOARD_NAME, "PULSE1501"),
> +		},
> +	},
> +	{
> +	.callback = video_detect_force_native,
> +	.ident = "TongFang PF5LUXG",
> +	.matches = {
> +		DMI_MATCH(DMI_BOARD_NAME, "PF5LUXG"),
> +		},
> +	},
>  	/*
>  	 * Desktops which falsely report a backlight and which our heuristics
>  	 * for this do not catch.
Rafael J. Wysocki July 14, 2022, 6:29 p.m. UTC | #2
On Wed, Jul 13, 2022 at 7:25 PM Hans de Goede <hdegoede@redhat.com> wrote:
>
> Hi,
>
> On 7/7/22 20:09, Werner Sembach wrote:
> > The TongFang PF5PU1G, PF4NU1F, PF5NU1G, and PF5LUXG/TUXEDO BA15 Gen10,
> > Pulse 14/15 Gen1, and Pulse 15 Gen2 have the same problem as the Clevo
> > NL5xRU and NL5xNU/TUXEDO Aura 15 Gen1 and Gen2:
> > They have 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: Werner Sembach <wse@tuxedocomputers.com>
> > Cc: stable@vger.kernel.org
>
> Thanks, the series looks good to me:
>
> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
>
> for the series.

Both patches applied as 5.20 material, thanks!
diff mbox series

Patch

diff --git a/drivers/acpi/video_detect.c b/drivers/acpi/video_detect.c
index becc198e4c22..cdde2e069d63 100644
--- a/drivers/acpi/video_detect.c
+++ b/drivers/acpi/video_detect.c
@@ -490,7 +490,56 @@  static const struct dmi_system_id video_detect_dmi_table[] = {
 		DMI_MATCH(DMI_BOARD_NAME, "NL5xNU"),
 		},
 	},
-
+	/*
+	 * The TongFang PF5PU1G, PF4NU1F, PF5NU1G, and PF5LUXG/TUXEDO BA15 Gen10,
+	 * Pulse 14/15 Gen1, and Pulse 15 Gen2 have the same problem as the Clevo
+	 * NL5xRU and NL5xNU/TUXEDO Aura 15 Gen1 and Gen2. See the description
+	 * above.
+	 */
+	{
+	.callback = video_detect_force_native,
+	.ident = "TongFang PF5PU1G",
+	.matches = {
+		DMI_MATCH(DMI_BOARD_NAME, "PF5PU1G"),
+		},
+	},
+	{
+	.callback = video_detect_force_native,
+	.ident = "TongFang PF4NU1F",
+	.matches = {
+		DMI_MATCH(DMI_BOARD_NAME, "PF4NU1F"),
+		},
+	},
+	{
+	.callback = video_detect_force_native,
+	.ident = "TongFang PF4NU1F",
+	.matches = {
+		DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"),
+		DMI_MATCH(DMI_BOARD_NAME, "PULSE1401"),
+		},
+	},
+	{
+	.callback = video_detect_force_native,
+	.ident = "TongFang PF5NU1G",
+	.matches = {
+		DMI_MATCH(DMI_BOARD_NAME, "PF5NU1G"),
+		},
+	},
+	{
+	.callback = video_detect_force_native,
+	.ident = "TongFang PF5NU1G",
+	.matches = {
+		DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"),
+		DMI_MATCH(DMI_BOARD_NAME, "PULSE1501"),
+		},
+	},
+	{
+	.callback = video_detect_force_native,
+	.ident = "TongFang PF5LUXG",
+	.matches = {
+		DMI_MATCH(DMI_BOARD_NAME, "PF5LUXG"),
+		},
+	},
 	/*
 	 * Desktops which falsely report a backlight and which our heuristics
 	 * for this do not catch.