linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] ACPI / Video: blacklist some samsung laptops
@ 2012-01-17  7:08 Corentin Chary
  2012-01-17 20:19 ` Seth Forshee
  2012-01-30  8:26 ` Corentin Chary
  0 siblings, 2 replies; 13+ messages in thread
From: Corentin Chary @ 2012-01-17  7:08 UTC (permalink / raw)
  To: platform-driver-x86
  Cc: Zhang Rui, linux-kernel, Andrzej Prochyra, Matthew Garrett,
	David Herrmann, Richard Schütz, Seth Forshee, Len Brown,
	linux-acpi, Corentin Chary

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@iksaif.net>
---
 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


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* Re: [PATCH] ACPI / Video: blacklist some samsung laptops
  2012-01-17  7:08 [PATCH] ACPI / Video: blacklist some samsung laptops Corentin Chary
@ 2012-01-17 20:19 ` Seth Forshee
  2012-01-30  8:26 ` Corentin Chary
  1 sibling, 0 replies; 13+ messages in thread
From: Seth Forshee @ 2012-01-17 20:19 UTC (permalink / raw)
  To: Corentin Chary
  Cc: platform-driver-x86, Zhang Rui, linux-kernel, Andrzej Prochyra,
	Matthew Garrett, David Herrmann, Richard Schütz, Len Brown,
	linux-acpi

On Tue, Jan 17, 2012 at 08:08:18AM +0100, Corentin Chary 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@iksaif.net>
> ---
>  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
> 

This is working great on the NF310. Thanks!


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] ACPI / Video: blacklist some samsung laptops
  2012-01-17  7:08 [PATCH] ACPI / Video: blacklist some samsung laptops Corentin Chary
  2012-01-17 20:19 ` Seth Forshee
@ 2012-01-30  8:26 ` Corentin Chary
  2012-02-19 19:56   ` Corentin Chary
  1 sibling, 1 reply; 13+ messages in thread
From: Corentin Chary @ 2012-01-30  8:26 UTC (permalink / raw)
  To: Len Brown
  Cc: Zhang Rui, linux-kernel, Andrzej Prochyra, Matthew Garrett,
	David Herrmann, Richard Schütz, Seth Forshee, linux-acpi,
	Corentin Chary, platform-driver-x86

On Tue, Jan 17, 2012 at 8:08 AM, Corentin Chary <corentincj@iksaif.net> 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@iksaif.net>
> ---
>  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 ?

Thanks,

-- 
Corentin Chary
http://xf.iksaif.net

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] ACPI / Video: blacklist some samsung laptops
  2012-01-30  8:26 ` Corentin Chary
@ 2012-02-19 19:56   ` Corentin Chary
  2012-02-20 11:06     ` David Herrmann
  0 siblings, 1 reply; 13+ messages in thread
From: Corentin Chary @ 2012-02-19 19:56 UTC (permalink / raw)
  To: Len Brown
  Cc: Zhang Rui, linux-kernel, Andrzej Prochyra, Matthew Garrett,
	David Herrmann, Richard Schütz, Seth Forshee, linux-acpi,
	Corentin Chary, platform-driver-x86

On Mon, Jan 30, 2012 at 9:26 AM, Corentin Chary
<corentin.chary@gmail.com> wrote:
> On Tue, Jan 17, 2012 at 8:08 AM, Corentin Chary <corentincj@iksaif.net> 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@iksaif.net>
>> ---
>>  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 ?

-- 
Corentin Chary
http://xf.iksaif.net

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] ACPI / Video: blacklist some samsung laptops
  2012-02-19 19:56   ` Corentin Chary
@ 2012-02-20 11:06     ` David Herrmann
  2012-02-20 14:27       ` Corentin Chary
  0 siblings, 1 reply; 13+ messages in thread
From: David Herrmann @ 2012-02-20 11:06 UTC (permalink / raw)
  To: Corentin Chary
  Cc: Len Brown, Zhang Rui, linux-kernel, Andrzej Prochyra,
	Matthew Garrett, Richard Schütz, Seth Forshee, linux-acpi,
	Corentin Chary, platform-driver-x86

Hi Len

On Sun, Feb 19, 2012 at 8:56 PM, Corentin Chary
<corentin.chary@gmail.com> wrote:
> On Mon, Jan 30, 2012 at 9:26 AM, Corentin Chary
> <corentin.chary@gmail.com> wrote:
>> On Tue, Jan 17, 2012 at 8:08 AM, Corentin Chary <corentincj@iksaif.net> 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@iksaif.net>
>>> ---
>>>  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

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] ACPI / Video: blacklist some samsung laptops
  2012-02-20 11:06     ` David Herrmann
@ 2012-02-20 14:27       ` Corentin Chary
  0 siblings, 0 replies; 13+ messages in thread
From: Corentin Chary @ 2012-02-20 14:27 UTC (permalink / raw)
  To: David Herrmann
  Cc: Len Brown, Zhang Rui, linux-kernel, Andrzej Prochyra,
	Matthew Garrett, Richard Schütz, Seth Forshee, linux-acpi,
	platform-driver-x86

On Mon, Feb 20, 2012 at 12:06 PM, David Herrmann
<dh.herrmann@googlemail.com> wrote:
> Hi Len
>
> On Sun, Feb 19, 2012 at 8:56 PM, Corentin Chary
> <corentin.chary@gmail.com> wrote:
>> On Mon, Jan 30, 2012 at 9:26 AM, Corentin Chary
>> <corentin.chary@gmail.com> wrote:
>>> On Tue, Jan 17, 2012 at 8:08 AM, Corentin Chary <corentincj@iksaif.net> 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@iksaif.net>
>>>> ---
>>>>  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

David, please note that non of my changes are merged in 3.2 or 3.3,
they are still in the platform-x86 tree.
But you are right, if they are merged in 3.4 (and I really hope so)
then we will need this patch or there will be a regression.
Anyway, this patch can, and should, be merged as soon as possible
because DE or even xrandr may want to use the non functionnal acpi
backlight instead of others.

Thanks,


-- 
Corentin Chary
http://xf.iksaif.net

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH] ACPI / Video: blacklist some samsung laptops
@ 2012-03-05  9:01 Corentin Chary
  0 siblings, 0 replies; 13+ messages in thread
From: Corentin Chary @ 2012-03-05  9:01 UTC (permalink / raw)
  To: Len Brown; +Cc: Corentin Chary, Paul Gortmaker, linux-acpi, linux-kernel

From: Corentin Chary <corentincj@iksaif.net>

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@iksaif.net>
---
 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 f3f0fe7..b6f6979 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.3.4


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* Re: [PATCH] ACPI / Video: blacklist some samsung laptops
  2012-01-09 16:39   ` David Herrmann
@ 2012-01-09 22:34     ` Andrzej Prochyra
  0 siblings, 0 replies; 13+ messages in thread
From: Andrzej Prochyra @ 2012-01-09 22:34 UTC (permalink / raw)
  To: David Herrmann
  Cc: Corentin Chary, platform-driver-x86, Zhang Rui, linux-kernel,
	Matthew Garrett, Richard Schütz, Seth Forshee, Len Brown,
	linux-acpi

David Herrmann <dh.herrmann@googlemail.com> writes:
> On Sat, Jan 7, 2012 at 3:12 PM, Corentin Chary <corentincj@iksaif.net> 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@iksaif.net>
>> ---
>>
>> Could the concerned people test this patch and check that it correctly
>> disable the acpi_video backlight ?
>
> Works like a charm on my N210 with linux-3.2. Feel free to add a:
> Tested-by: David Herrmann <dh.herrmann@googlemail.com>
>
> I will talk to the intel drm developers about the intel_backlight
> issues as they don't seem related to this driver.

I can confirm on my N150 Plus.  Now only 'intel_backlight' is created
and exhibits the aforementioned issues.

-- 
Andrzej Prochyra
<andrzej@prochyra.name>

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] ACPI / Video: blacklist some samsung laptops
  2012-01-07 14:12 ` [PATCH] ACPI / Video: blacklist some samsung laptops Corentin Chary
  2012-01-08 10:46   ` Seth Forshee
@ 2012-01-09 16:39   ` David Herrmann
  2012-01-09 22:34     ` Andrzej Prochyra
  1 sibling, 1 reply; 13+ messages in thread
From: David Herrmann @ 2012-01-09 16:39 UTC (permalink / raw)
  To: Corentin Chary
  Cc: platform-driver-x86, Zhang Rui, linux-kernel, Andrzej Prochyra,
	Matthew Garrett, Richard Schütz, Seth Forshee, Len Brown,
	linux-acpi

Hi Corentin

On Sat, Jan 7, 2012 at 3:12 PM, Corentin Chary <corentincj@iksaif.net> 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@iksaif.net>
> ---
>
> Could the concerned people test this patch and check that it correctly
> disable the acpi_video backlight ?

Works like a charm on my N210 with linux-3.2. Feel free to add a:
Tested-by: David Herrmann <dh.herrmann@googlemail.com>

I will talk to the intel drm developers about the intel_backlight
issues as they don't seem related to this driver.

Thanks
David

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] ACPI / Video: blacklist some samsung laptops
  2012-01-08 12:36     ` Corentin Chary
@ 2012-01-08 13:40       ` Seth Forshee
  0 siblings, 0 replies; 13+ messages in thread
From: Seth Forshee @ 2012-01-08 13:40 UTC (permalink / raw)
  To: Corentin Chary
  Cc: Corentin Chary, platform-driver-x86, Zhang Rui, linux-kernel,
	Andrzej Prochyra, Matthew Garrett, David Herrmann,
	Richard Schütz, Len Brown, linux-acpi

On Sun, Jan 08, 2012 at 01:36:45PM +0100, Corentin Chary wrote:
> On Sun, Jan 8, 2012 at 11:46 AM, Seth Forshee
> <seth.forshee@canonical.com> wrote:
> > On Sat, Jan 07, 2012 at 03:12:38PM +0100, Corentin Chary 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@iksaif.net>
> >> ---
> >>
> >> Could the concerned people test this patch and check that it correctly
> >> disable the acpi_video backlight ?
> >>
> >>  drivers/acpi/video_detect.c |   40 ++++++++++++++++++++++++++++++++++++++++
> >>  1 files changed, 40 insertions(+), 0 deletions(-)
> >>
> >> diff --git a/drivers/acpi/video_detect.c b/drivers/acpi/video_detect.c
> >> index 45d8097..376bce2 100644
> >> --- a/drivers/acpi/video_detect.c
> >> +++ b/drivers/acpi/video_detect.c
> >> @@ -132,6 +132,44 @@ 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"),
> >> +             },
> >> +     },
> >> +};
> >> +
> >
> > I don't see NF110/NF210/NF310 in this list. Was that an oversight?
> 
> Ooops. Could you add it and try the patch, then send me lines you added ?
> Thanks,

Sure, but it won't be until next week. I'm travelling this week and
don't have the machine with me.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] ACPI / Video: blacklist some samsung laptops
  2012-01-08 10:46   ` Seth Forshee
@ 2012-01-08 12:36     ` Corentin Chary
  2012-01-08 13:40       ` Seth Forshee
  0 siblings, 1 reply; 13+ messages in thread
From: Corentin Chary @ 2012-01-08 12:36 UTC (permalink / raw)
  To: Corentin Chary, platform-driver-x86, Zhang Rui, linux-kernel,
	Andrzej Prochyra, Matthew Garrett, David Herrmann,
	Richard Schütz, Len Brown, linux-acpi

On Sun, Jan 8, 2012 at 11:46 AM, Seth Forshee
<seth.forshee@canonical.com> wrote:
> On Sat, Jan 07, 2012 at 03:12:38PM +0100, Corentin Chary 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@iksaif.net>
>> ---
>>
>> Could the concerned people test this patch and check that it correctly
>> disable the acpi_video backlight ?
>>
>>  drivers/acpi/video_detect.c |   40 ++++++++++++++++++++++++++++++++++++++++
>>  1 files changed, 40 insertions(+), 0 deletions(-)
>>
>> diff --git a/drivers/acpi/video_detect.c b/drivers/acpi/video_detect.c
>> index 45d8097..376bce2 100644
>> --- a/drivers/acpi/video_detect.c
>> +++ b/drivers/acpi/video_detect.c
>> @@ -132,6 +132,44 @@ 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"),
>> +             },
>> +     },
>> +};
>> +
>
> I don't see NF110/NF210/NF310 in this list. Was that an oversight?

Ooops. Could you add it and try the patch, then send me lines you added ?
Thanks,

-- 
Corentin Chary
http://xf.iksaif.net

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] ACPI / Video: blacklist some samsung laptops
  2012-01-07 14:12 ` [PATCH] ACPI / Video: blacklist some samsung laptops Corentin Chary
@ 2012-01-08 10:46   ` Seth Forshee
  2012-01-08 12:36     ` Corentin Chary
  2012-01-09 16:39   ` David Herrmann
  1 sibling, 1 reply; 13+ messages in thread
From: Seth Forshee @ 2012-01-08 10:46 UTC (permalink / raw)
  To: Corentin Chary
  Cc: platform-driver-x86, Zhang Rui, linux-kernel, Andrzej Prochyra,
	Matthew Garrett, David Herrmann, Richard Schütz, Len Brown,
	linux-acpi

On Sat, Jan 07, 2012 at 03:12:38PM +0100, Corentin Chary 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@iksaif.net>
> ---
> 
> Could the concerned people test this patch and check that it correctly
> disable the acpi_video backlight ?
> 
>  drivers/acpi/video_detect.c |   40 ++++++++++++++++++++++++++++++++++++++++
>  1 files changed, 40 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/acpi/video_detect.c b/drivers/acpi/video_detect.c
> index 45d8097..376bce2 100644
> --- a/drivers/acpi/video_detect.c
> +++ b/drivers/acpi/video_detect.c
> @@ -132,6 +132,44 @@ 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"),
> +		},
> +	},
> +};
> +

I don't see NF110/NF210/NF310 in this list. Was that an oversight?

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH] ACPI / Video: blacklist some samsung laptops
  2012-01-05 15:08 [PATCH] Platform: samsung-laptop: add DMI information for Samsung N150 Plus Seth Forshee
@ 2012-01-07 14:12 ` Corentin Chary
  2012-01-08 10:46   ` Seth Forshee
  2012-01-09 16:39   ` David Herrmann
  0 siblings, 2 replies; 13+ messages in thread
From: Corentin Chary @ 2012-01-07 14:12 UTC (permalink / raw)
  To: platform-driver-x86
  Cc: Zhang Rui, linux-kernel, Andrzej Prochyra, Matthew Garrett,
	David Herrmann, Richard Schütz, Seth Forshee, Len Brown,
	linux-acpi, Corentin Chary

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@iksaif.net>
---

Could the concerned people test this patch and check that it correctly
disable the acpi_video backlight ?

 drivers/acpi/video_detect.c |   40 ++++++++++++++++++++++++++++++++++++++++
 1 files changed, 40 insertions(+), 0 deletions(-)

diff --git a/drivers/acpi/video_detect.c b/drivers/acpi/video_detect.c
index 45d8097..376bce2 100644
--- a/drivers/acpi/video_detect.c
+++ b/drivers/acpi/video_detect.c
@@ -132,6 +132,44 @@ 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"),
+		},
+	},
+};
+
 /*
  * Returns the video capabilities of a specific ACPI graphics device
  *
@@ -164,6 +202,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


^ permalink raw reply related	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2012-03-05  9:10 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-01-17  7:08 [PATCH] ACPI / Video: blacklist some samsung laptops Corentin Chary
2012-01-17 20:19 ` Seth Forshee
2012-01-30  8:26 ` Corentin Chary
2012-02-19 19:56   ` Corentin Chary
2012-02-20 11:06     ` David Herrmann
2012-02-20 14:27       ` Corentin Chary
  -- strict thread matches above, loose matches on Subject: below --
2012-03-05  9:01 Corentin Chary
2012-01-05 15:08 [PATCH] Platform: samsung-laptop: add DMI information for Samsung N150 Plus Seth Forshee
2012-01-07 14:12 ` [PATCH] ACPI / Video: blacklist some samsung laptops Corentin Chary
2012-01-08 10:46   ` Seth Forshee
2012-01-08 12:36     ` Corentin Chary
2012-01-08 13:40       ` Seth Forshee
2012-01-09 16:39   ` David Herrmann
2012-01-09 22:34     ` Andrzej Prochyra

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).