diff mbox

[RFC,2/2] acpi: video: Add force native backlight quirk for Lenovo Ideapad Z570

Message ID 1425368350-4028-3-git-send-email-hdegoede@redhat.com (mailing list archive)
State RFC, archived
Headers show

Commit Message

Hans de Goede March 3, 2015, 7:39 a.m. UTC
The Lenovo Ideapad Z570 (which is an Acer in disguise like some other Ideapads)
has a broken acpi_video interface and is too old for the acpi-video code to
automatically prefer the native backlight interface, so add a quirk for it.

Note that this cannot be done with a quirk in the vendor backlight driver as
is the normal way to fix this as the Z570 offers both acer-wmi and
ideapad-laptop vendor backlight interfaces, so this would require the same
quirk in 2 places which is the wrong thing to do.

BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1187004
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
 drivers/acpi/video.c | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

Comments

Rafael J. Wysocki March 10, 2015, 10:26 p.m. UTC | #1
On Tuesday, March 03, 2015 08:39:10 AM Hans de Goede wrote:
> The Lenovo Ideapad Z570 (which is an Acer in disguise like some other Ideapads)
> has a broken acpi_video interface and is too old for the acpi-video code to
> automatically prefer the native backlight interface, so add a quirk for it.
> 
> Note that this cannot be done with a quirk in the vendor backlight driver as
> is the normal way to fix this as the Z570 offers both acer-wmi and
> ideapad-laptop vendor backlight interfaces, so this would require the same
> quirk in 2 places which is the wrong thing to do.
> 
> BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1187004
> Signed-off-by: Hans de Goede <hdegoede@redhat.com>

This one would need to be updated on top of the Aaron's patch, right?

> ---
>  drivers/acpi/video.c | 17 +++++++++++++++++
>  1 file changed, 17 insertions(+)
> 
> diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c
> index 9817b52..70a7ec3 100644
> --- a/drivers/acpi/video.c
> +++ b/drivers/acpi/video.c
> @@ -419,6 +419,12 @@ static int __init video_disable_native_backlight(const struct dmi_system_id *d)
>  	return 0;
>  }
>  
> +static int __init video_force_native_backlight(const struct dmi_system_id *d)
> +{
> +	use_native_backlight_dmi = 2;
> +	return 0;
> +}
> +
>  static struct dmi_system_id video_dmi_table[] __initdata = {
>  	/*
>  	 * Broken _BQC workaround http://bugzilla.kernel.org/show_bug.cgi?id=13121
> @@ -560,6 +566,17 @@ static struct dmi_system_id video_dmi_table[] __initdata = {
>  		DMI_MATCH(DMI_PRODUCT_NAME, "XPS L521X"),
>  		},
>  	},
> +
> +	/* Non win8 machines which need native backlight nevertheless */
> +	{
> +	 /* https://bugzilla.redhat.com/show_bug.cgi?id=1187004 */
> +	 .callback = video_force_native_backlight,
> +	 .ident = "Lenovo Ideapad Z570",
> +	 .matches = {
> +		DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
> +		DMI_MATCH(DMI_PRODUCT_NAME, "102434U"),
> +		},
> +	},
>  	{}
>  };
>  
>
Hans de Goede March 10, 2015, 10:44 p.m. UTC | #2
Hi,

On 03/10/2015 11:26 PM, Rafael J. Wysocki wrote:
> On Tuesday, March 03, 2015 08:39:10 AM Hans de Goede wrote:
>> The Lenovo Ideapad Z570 (which is an Acer in disguise like some other Ideapads)
>> has a broken acpi_video interface and is too old for the acpi-video code to
>> automatically prefer the native backlight interface, so add a quirk for it.
>>
>> Note that this cannot be done with a quirk in the vendor backlight driver as
>> is the normal way to fix this as the Z570 offers both acer-wmi and
>> ideapad-laptop vendor backlight interfaces, so this would require the same
>> quirk in 2 places which is the wrong thing to do.
>>
>> BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1187004
>> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
>
> This one would need to be updated on top of the Aaron's patch, right?

Correct, and it seems to need some more work in general as it conflicts
with a patch to video-detect.c which is already upstream for this laptop model,
but does not seem to 100% fix the problem.

Regards,

Hans

>
>> ---
>>   drivers/acpi/video.c | 17 +++++++++++++++++
>>   1 file changed, 17 insertions(+)
>>
>> diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c
>> index 9817b52..70a7ec3 100644
>> --- a/drivers/acpi/video.c
>> +++ b/drivers/acpi/video.c
>> @@ -419,6 +419,12 @@ static int __init video_disable_native_backlight(const struct dmi_system_id *d)
>>   	return 0;
>>   }
>>
>> +static int __init video_force_native_backlight(const struct dmi_system_id *d)
>> +{
>> +	use_native_backlight_dmi = 2;
>> +	return 0;
>> +}
>> +
>>   static struct dmi_system_id video_dmi_table[] __initdata = {
>>   	/*
>>   	 * Broken _BQC workaround http://bugzilla.kernel.org/show_bug.cgi?id=13121
>> @@ -560,6 +566,17 @@ static struct dmi_system_id video_dmi_table[] __initdata = {
>>   		DMI_MATCH(DMI_PRODUCT_NAME, "XPS L521X"),
>>   		},
>>   	},
>> +
>> +	/* Non win8 machines which need native backlight nevertheless */
>> +	{
>> +	 /* https://bugzilla.redhat.com/show_bug.cgi?id=1187004 */
>> +	 .callback = video_force_native_backlight,
>> +	 .ident = "Lenovo Ideapad Z570",
>> +	 .matches = {
>> +		DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
>> +		DMI_MATCH(DMI_PRODUCT_NAME, "102434U"),
>> +		},
>> +	},
>>   	{}
>>   };
>>
>>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c
index 9817b52..70a7ec3 100644
--- a/drivers/acpi/video.c
+++ b/drivers/acpi/video.c
@@ -419,6 +419,12 @@  static int __init video_disable_native_backlight(const struct dmi_system_id *d)
 	return 0;
 }
 
+static int __init video_force_native_backlight(const struct dmi_system_id *d)
+{
+	use_native_backlight_dmi = 2;
+	return 0;
+}
+
 static struct dmi_system_id video_dmi_table[] __initdata = {
 	/*
 	 * Broken _BQC workaround http://bugzilla.kernel.org/show_bug.cgi?id=13121
@@ -560,6 +566,17 @@  static struct dmi_system_id video_dmi_table[] __initdata = {
 		DMI_MATCH(DMI_PRODUCT_NAME, "XPS L521X"),
 		},
 	},
+
+	/* Non win8 machines which need native backlight nevertheless */
+	{
+	 /* https://bugzilla.redhat.com/show_bug.cgi?id=1187004 */
+	 .callback = video_force_native_backlight,
+	 .ident = "Lenovo Ideapad Z570",
+	 .matches = {
+		DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
+		DMI_MATCH(DMI_PRODUCT_NAME, "102434U"),
+		},
+	},
 	{}
 };