Patch "ACPI: video: Add backlight=native DMI quirk for Asus U46E" has been added to the 6.1-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    ACPI: video: Add backlight=native DMI quirk for Asus U46E

to the 6.1-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     acpi-video-add-backlight-native-dmi-quirk-for-asus-u.patch
and it can be found in the queue-6.1 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit df9dfabcc42694980c7aae1580e6bf9fc2d1405f
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date:   Thu Jan 19 18:24:41 2023 +0100

    ACPI: video: Add backlight=native DMI quirk for Asus U46E
    
    [ Upstream commit e6b3086fddc0065a5ffb947d4d29dd0e6efc327b ]
    
    The Asus U46E backlight tables have a set of interesting problems:
    
    1. Its ACPI tables do make _OSI ("Windows 2012") checks, so
       acpi_osi_is_win8() should return true.
    
       But the tables have 2 sets of _OSI calls, one from the usual global
       _INI method setting a global OSYS variable and a second set of _OSI
       calls from a MSOS method and the MSOS method is the only one calling
       _OSI ("Windows 2012").
    
       The MSOS method only gets called in the following cases:
       1. From some Asus specific WMI methods
       2. From _DOD, which only runs after acpi_video_get_backlight_type()
          has already been called by the i915 driver
       3. From other ACPI video bus methods which never run (see below)
       4. From some EC query callbacks
    
       So when i915 calls acpi_video_get_backlight_type() MSOS has never run
       and acpi_osi_is_win8() returns false, so acpi_video_get_backlight_type()
       returns acpi_video as the desired backlight type, which causes
       the intel_backlight device to not register.
    
    2. _DOD effectively does this:
    
                        Return (Package (0x01)
                        {
                            0x0400
                        })
    
       causing acpi_video_device_in_dod() to return false, which causes
       the acpi_video backlight device to not register.
    
    Leaving the user with no backlight device at all. Note that before 6.1.y
    the i915 driver would register the intel_backlight device unconditionally
    and since that then was the only backlight device userspace would use that.
    
    Add a backlight=native DMI quirk for this special laptop to restore
    the old (and working) behavior of the intel_backlight device registering.
    
    Fixes: fb1836c91317 ("ACPI: video: Prefer native over vendor")
    Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/acpi/video_detect.c b/drivers/acpi/video_detect.c
index 4719978b8aa3..04f3b26e3a75 100644
--- a/drivers/acpi/video_detect.c
+++ b/drivers/acpi/video_detect.c
@@ -600,6 +600,14 @@ static const struct dmi_system_id video_detect_dmi_table[] = {
 		DMI_MATCH(DMI_PRODUCT_NAME, "GA503"),
 		},
 	},
+	{
+	 .callback = video_detect_force_native,
+	 /* Asus U46E */
+	 .matches = {
+		DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK Computer Inc."),
+		DMI_MATCH(DMI_PRODUCT_NAME, "U46E"),
+		},
+	},
 	{
 	 .callback = video_detect_force_native,
 	 /* Asus UX303UB */



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux