lkml.org 
[lkml]   [2022]   [Mar]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.15 26/37] ACPI: video: Force backlight native for Clevo NL5xRU and NL5xNU
    Date
    From: Werner Sembach <wse@tuxedocomputers.com>

    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: Werner Sembach <wse@tuxedocomputers.com>
    Cc: All applicable <stable@vger.kernel.org>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/acpi/video_detect.c | 75 ++++++++++++++++++++++++++++++++++++++++++++
    1 file changed, 75 insertions(+)

    --- a/drivers/acpi/video_detect.c
    +++ b/drivers/acpi/video_detect.c
    @@ -409,6 +409,81 @@ static const struct dmi_system_id video_
    DMI_MATCH(DMI_PRODUCT_NAME, "GA503"),
    },
    },
    + /*
    + * 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

    \
     
     \ /
      Last update: 2022-03-25 16:26    [W:4.168 / U:0.680 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site