Re: [PATCH] ACPI / Video: blacklist some samsung laptops

From: David Herrmann
Date: Mon Feb 20 2012 - 06:06:42 EST


Hi Len

On Sun, Feb 19, 2012 at 8:56 PM, Corentin Chary
<corentin.chary@xxxxxxxxx> wrote:
> On Mon, Jan 30, 2012 at 9:26 AM, Corentin Chary
> <corentin.chary@xxxxxxxxx> wrote:
>> On Tue, Jan 17, 2012 at 8:08 AM, Corentin Chary <corentincj@xxxxxxxxxx> wrote:
>>> On these laptops, the ACPI video is not functional, and very unlikely
>>> to be fixed by the vendor. Note that intel_backlight works for some
>>> of these laptops, and the backlight from samsung-laptop always work.
>>>
>>> The good news is that newer laptops have functional ACPI video device
>>> and won't end up growing this list.
>>>
>>> Signed-off-by: Corentin Chary <corentincj@xxxxxxxxxx>
>>> ---
>>>  drivers/acpi/video_detect.c |   49 +++++++++++++++++++++++++++++++++++++++++++
>>>  1 files changed, 49 insertions(+), 0 deletions(-)
>>>
>>> diff --git a/drivers/acpi/video_detect.c b/drivers/acpi/video_detect.c
>>> index 45d8097..66be45e 100644
>>> --- a/drivers/acpi/video_detect.c
>>> +++ b/drivers/acpi/video_detect.c
>>> @@ -132,6 +132,53 @@ find_video(acpi_handle handle, u32 lvl, void *context, void **rv)
>>>        return AE_OK;
>>>  }
>>>
>>> +/* Force to use vendor driver when the ACPI device is known to be
>>> + * buggy */
>>> +static int video_detect_force_vendor(const struct dmi_system_id *d)
>>> +{
>>> +       acpi_video_support |= ACPI_VIDEO_BACKLIGHT_DMI_VENDOR;
>>> +       return 0;
>>> +}
>>> +
>>> +static struct dmi_system_id video_detect_dmi_table[] = {
>>> +       {
>>> +        .callback = video_detect_force_vendor,
>>> +        .ident = "N150P",
>>> +        .matches = {
>>> +               DMI_MATCH(DMI_SYS_VENDOR, "SAMSUNG ELECTRONICS CO., LTD."),
>>> +               DMI_MATCH(DMI_PRODUCT_NAME, "N150P"),
>>> +               DMI_MATCH(DMI_BOARD_NAME, "N150P"),
>>> +               },
>>> +       },
>>> +       {
>>> +        .callback = video_detect_force_vendor,
>>> +        .ident = "N145P/N250P/N260P",
>>> +        .matches = {
>>> +               DMI_MATCH(DMI_SYS_VENDOR, "SAMSUNG ELECTRONICS CO., LTD."),
>>> +               DMI_MATCH(DMI_PRODUCT_NAME, "N145P/N250P/N260P"),
>>> +               DMI_MATCH(DMI_BOARD_NAME, "N145P/N250P/N260P"),
>>> +               },
>>> +       },
>>> +       {
>>> +        .callback = video_detect_force_vendor,
>>> +        .ident = "N150/N210/N220",
>>> +        .matches = {
>>> +               DMI_MATCH(DMI_SYS_VENDOR, "SAMSUNG ELECTRONICS CO., LTD."),
>>> +               DMI_MATCH(DMI_PRODUCT_NAME, "N150/N210/N220"),
>>> +               DMI_MATCH(DMI_BOARD_NAME, "N150/N210/N220"),
>>> +               },
>>> +       },
>>> +       {
>>> +        .callback = video_detect_force_vendor,
>>> +        .ident = "NF110/NF210/NF310",
>>> +        .matches = {
>>> +               DMI_MATCH(DMI_SYS_VENDOR, "SAMSUNG ELECTRONICS CO., LTD."),
>>> +               DMI_MATCH(DMI_PRODUCT_NAME, "NF110/NF210/NF310"),
>>> +               DMI_MATCH(DMI_BOARD_NAME, "NF110/NF210/NF310"),
>>> +               },
>>> +       },
>>> +};
>>> +
>>>  /*
>>>  * Returns the video capabilities of a specific ACPI graphics device
>>>  *
>>> @@ -164,6 +211,8 @@ long acpi_video_get_capabilities(acpi_handle graphics_handle)
>>>                 *              ACPI_VIDEO_BACKLIGHT_DMI_VENDOR;
>>>                 *}
>>>                 */
>>> +
>>> +               dmi_check_system(video_detect_dmi_table);
>>>        } else {
>>>                status = acpi_bus_get_device(graphics_handle, &tmp_dev);
>>>                if (ACPI_FAILURE(status)) {
>>> --
>>> 1.7.5.4
>>>
>>
>> Hi Len,
>>
>> Maybe this patch should go through your tree and not platform-drivers-x86 ?
>
> Ping ?

This is actually a regression on Samsung notebooks as the backlight is
no longer working with linux-3.2. It would be really nice to see this
in the stable branch or at least in linux-3.3.

The samsung driver disables its own backlight driver if ACPI core
handles the backlight since linux-3.2. If you don't want to pickup
this patch it would be nice to see the samsung driver fixing this
issue.

Regards
David

> --
> Corentin Chary
> http://xf.iksaif.net
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/