OSDN Git Service

ACPI: video: Add acpi_backlight=video quirk for Lenovo ThinkPad W530
authorHans de Goede <hdegoede@redhat.com>
Tue, 4 Apr 2023 11:02:49 +0000 (13:02 +0200)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Wed, 5 Apr 2023 18:23:02 +0000 (20:23 +0200)
commita5b2781dcab2c77979a4b8adda781d2543580901
tree8ceaad73c63aefc7b3099bdb026ee0c68004dd4e
parent2699107989431d6db44f8a9e809ea74c387336d1
ACPI: video: Add acpi_backlight=video quirk for Lenovo ThinkPad W530

The Lenovo ThinkPad W530 uses a nvidia k1000m GPU. When this gets used
together with one of the older nvidia binary driver series (the latest
series does not support it), then backlight control does not work.

This is caused by commit 3dbc80a3e4c5 ("ACPI: video: Make backlight
class device registration a separate step (v2)") combined with
commit 5aa9d943e9b6 ("ACPI: video: Don't enable fallback path for
creating ACPI backlight by default").

After these changes the acpi_video# backlight device is only registered
when requested by a GPU driver calling acpi_video_register_backlight()
which the nvidia binary driver does not do.

I realize that using the nvidia binary driver is not a supported use-case
and users can workaround this by adding acpi_backlight=video on the kernel
commandline, but the ThinkPad W530 is a popular model under Linux users,
so it seems worthwhile to add a quirk for this.

I will also email Nvidia asking them to make the driver call
acpi_video_register_backlight() when an internal LCD panel is detected.
So maybe the next maintenance release of the drivers will fix this...

Fixes: 5aa9d943e9b6 ("ACPI: video: Don't enable fallback path for creating ACPI backlight by default")
Cc: All applicable <stable@vger.kernel.org>
Reviewed-by: Mario Limonciello <mario.limonciello@amd.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/video_detect.c