Fix brightness on Lenovo Ideapad Z570 (rhbz 1187004)
This commit is contained in:
		
							parent
							
								
									7dd6861011
								
							
						
					
					
						commit
						fd83f61c73
					
				
							
								
								
									
										84
									
								
								acpi-video-Add-force-native-backlight-quirk-for-Leno.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										84
									
								
								acpi-video-Add-force-native-backlight-quirk-for-Leno.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,84 @@ | ||||
| From: Hans de Goede <hdegoede@redhat.com> | ||||
| Date: Tue, 3 Mar 2015 08:31:24 +0100 | ||||
| Subject: [PATCH] acpi: video: Add force native backlight quirk for Lenovo | ||||
|  Ideapad Z570 | ||||
| 
 | ||||
| The Lenovo Ideapad Z570 (which is an Acer in disguise like some other Ideapads) | ||||
| has a broken acpi_video interface, this was fixed in commmit a11d342fb8 | ||||
| ("ACPI / video: force vendor backlight on Lenovo Ideapad Z570"). | ||||
| 
 | ||||
| Which stops acpi_video from registering a backlight interface, but this is | ||||
| only a partial fix, because for people who have the ideapad-laptop module | ||||
| installed that module will now register a backlight interface, which also | ||||
| does not work, so we need to use the native intel_backlight interface. | ||||
| 
 | ||||
| The Lenovo Ideapad 570 is a pre-win8 laptop / too old for the acpi-video code | ||||
| to automatically prefer the native backlight interface, so add a quirk for it. | ||||
| 
 | ||||
| This commit also removes the previous incomplete fix. | ||||
| 
 | ||||
| BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1187004 | ||||
| Cc: Stepan Bujnak <stepanbujnak@fastmail.fm> | ||||
| Signed-off-by: Hans de Goede <hdegoede@redhat.com> | ||||
| ---
 | ||||
|  drivers/acpi/video.c        | 17 +++++++++++++++++ | ||||
|  drivers/acpi/video_detect.c |  8 -------- | ||||
|  2 files changed, 17 insertions(+), 8 deletions(-) | ||||
| 
 | ||||
| diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c
 | ||||
| index 70ea37bea84f..d9bf8ba7d848 100644
 | ||||
| --- a/drivers/acpi/video.c
 | ||||
| +++ b/drivers/acpi/video.c
 | ||||
| @@ -425,6 +425,12 @@ static int __init video_disable_native_backlight(const struct dmi_system_id *d)
 | ||||
|  	return 0; | ||||
|  } | ||||
|   | ||||
| +static int __init video_enable_native_backlight(const struct dmi_system_id *d)
 | ||||
| +{
 | ||||
| +	use_native_backlight_dmi = NATIVE_BACKLIGHT_ON;
 | ||||
| +	return 0;
 | ||||
| +}
 | ||||
| +
 | ||||
|  static struct dmi_system_id video_dmi_table[] __initdata = { | ||||
|  	/* | ||||
|  	 * Broken _BQC workaround http://bugzilla.kernel.org/show_bug.cgi?id=13121 | ||||
| @@ -566,6 +572,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_enable_native_backlight,
 | ||||
| +	 .ident = "Lenovo Ideapad Z570",
 | ||||
| +	 .matches = {
 | ||||
| +		DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
 | ||||
| +		DMI_MATCH(DMI_PRODUCT_NAME, "102434U"),
 | ||||
| +		},
 | ||||
| +	},
 | ||||
|  	{} | ||||
|  }; | ||||
|   | ||||
| diff --git a/drivers/acpi/video_detect.c b/drivers/acpi/video_detect.c
 | ||||
| index 27c43499977a..c42feb2bacd0 100644
 | ||||
| --- a/drivers/acpi/video_detect.c
 | ||||
| +++ b/drivers/acpi/video_detect.c
 | ||||
| @@ -174,14 +174,6 @@ static struct dmi_system_id video_detect_dmi_table[] = {
 | ||||
|  		DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 5737"), | ||||
|  		}, | ||||
|  	}, | ||||
| -	{
 | ||||
| -	.callback = video_detect_force_vendor,
 | ||||
| -	.ident = "Lenovo IdeaPad Z570",
 | ||||
| -	.matches = {
 | ||||
| -		DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
 | ||||
| -		DMI_MATCH(DMI_PRODUCT_VERSION, "Ideapad Z570"),
 | ||||
| -		},
 | ||||
| -	},
 | ||||
|  	{ }, | ||||
|  }; | ||||
|   | ||||
| -- 
 | ||||
| 2.1.0 | ||||
| 
 | ||||
							
								
								
									
										76
									
								
								acpi-video-Allow-forcing-native-backlight-on-non-win.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										76
									
								
								acpi-video-Allow-forcing-native-backlight-on-non-win.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,76 @@ | ||||
| From: Aaron Lu <aaron.lu@intel.com> | ||||
| Date: Wed, 11 Mar 2015 14:14:56 +0800 | ||||
| Subject: [PATCH] acpi: video: Allow forcing native backlight on non win8 | ||||
|  machines | ||||
| 
 | ||||
| The native backlight behavior (so not registering both the acpi-video | ||||
| and the vendor backlight driver) can be useful on some non win8 machines | ||||
| too, so change the behavior of the video.use_native_backlight=1 or 0 | ||||
| kernel cmdline option to be: if user has set video.use_native_backlight=1 | ||||
| or 0, use that no matter if it is a win8 system or not. Also, we will | ||||
| put some known systems into the DMI table to make them either use native | ||||
| backlight interface or not, and the use_native_backlight_dmi is used to | ||||
| reflect that. | ||||
| 
 | ||||
| Original-by: Hans de Goede <hdegoede@redhat.com> | ||||
| Signed-off-by: Aaron Lu <aaron.lu@intel.com> | ||||
| Acked-by: Hans de Goede <hdegoede@redhat.com> | ||||
| Signed-off-by: Hans de Goede <hdegoede@redhat.com> | ||||
| ---
 | ||||
|  drivers/acpi/video.c | 19 +++++++++++++------ | ||||
|  1 file changed, 13 insertions(+), 6 deletions(-) | ||||
| 
 | ||||
| diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c
 | ||||
| index db70d550f526..70ea37bea84f 100644
 | ||||
| --- a/drivers/acpi/video.c
 | ||||
| +++ b/drivers/acpi/video.c
 | ||||
| @@ -82,9 +82,15 @@ module_param(allow_duplicates, bool, 0644);
 | ||||
|   * For Windows 8 systems: used to decide if video module | ||||
|   * should skip registering backlight interface of its own. | ||||
|   */ | ||||
| -static int use_native_backlight_param = -1;
 | ||||
| +enum {
 | ||||
| +	NATIVE_BACKLIGHT_NOT_SET = -1,
 | ||||
| +	NATIVE_BACKLIGHT_OFF,
 | ||||
| +	NATIVE_BACKLIGHT_ON,
 | ||||
| +};
 | ||||
| +
 | ||||
| +static int use_native_backlight_param = NATIVE_BACKLIGHT_NOT_SET;
 | ||||
|  module_param_named(use_native_backlight, use_native_backlight_param, int, 0444); | ||||
| -static bool use_native_backlight_dmi = true;
 | ||||
| +static int use_native_backlight_dmi = NATIVE_BACKLIGHT_NOT_SET;
 | ||||
|   | ||||
|  static int register_count; | ||||
|  static struct mutex video_list_lock; | ||||
| @@ -237,15 +243,16 @@ static void acpi_video_switch_brightness(struct work_struct *work);
 | ||||
|   | ||||
|  static bool acpi_video_use_native_backlight(void) | ||||
|  { | ||||
| -	if (use_native_backlight_param != -1)
 | ||||
| +	if (use_native_backlight_param != NATIVE_BACKLIGHT_NOT_SET)
 | ||||
|  		return use_native_backlight_param; | ||||
| -	else
 | ||||
| +	else if (use_native_backlight_dmi != NATIVE_BACKLIGHT_NOT_SET)
 | ||||
|  		return use_native_backlight_dmi; | ||||
| +	return acpi_osi_is_win8();
 | ||||
|  } | ||||
|   | ||||
|  bool acpi_video_verify_backlight_support(void) | ||||
|  { | ||||
| -	if (acpi_osi_is_win8() && acpi_video_use_native_backlight() &&
 | ||||
| +	if (acpi_video_use_native_backlight() &&
 | ||||
|  	    backlight_device_registered(BACKLIGHT_RAW)) | ||||
|  		return false; | ||||
|  	return acpi_video_backlight_support(); | ||||
| @@ -414,7 +421,7 @@ static int __init video_set_bqc_offset(const struct dmi_system_id *d)
 | ||||
|   | ||||
|  static int __init video_disable_native_backlight(const struct dmi_system_id *d) | ||||
|  { | ||||
| -	use_native_backlight_dmi = false;
 | ||||
| +	use_native_backlight_dmi = NATIVE_BACKLIGHT_OFF;
 | ||||
|  	return 0; | ||||
|  } | ||||
|   | ||||
| -- 
 | ||||
| 2.1.0 | ||||
| 
 | ||||
| @ -634,6 +634,10 @@ Patch26168: HID-multitouch-add-support-of-clickpads.patch | ||||
| #rhbz 1202362 | ||||
| Patch26169: kernfs-handle-poll-correctly-on-direct_read-files.patch | ||||
| 
 | ||||
| #rhbz 1187004 | ||||
| Patch26170: acpi-video-Allow-forcing-native-backlight-on-non-win.patch | ||||
| Patch26171: acpi-video-Add-force-native-backlight-quirk-for-Leno.patch | ||||
| 
 | ||||
| # END OF PATCH DEFINITIONS | ||||
| 
 | ||||
| %endif | ||||
| @ -1373,6 +1377,10 @@ ApplyPatch HID-multitouch-add-support-of-clickpads.patch | ||||
| #rhbz 1202362 | ||||
| ApplyPatch kernfs-handle-poll-correctly-on-direct_read-files.patch | ||||
| 
 | ||||
| #rhbz 1187004 | ||||
| ApplyPatch acpi-video-Allow-forcing-native-backlight-on-non-win.patch | ||||
| ApplyPatch acpi-video-Add-force-native-backlight-quirk-for-Leno.patch | ||||
| 
 | ||||
| # END OF PATCH APPLICATIONS | ||||
| 
 | ||||
| %endif | ||||
| @ -2225,6 +2233,7 @@ fi | ||||
| %changelog | ||||
| * Fri Mar 20 2015 Josh Boyer <jwboyer@fedoraproject.org> - 4.0.0-0.rc4.git2.1 | ||||
| - Linux v4.0-rc4-199-gb314acaccd7e | ||||
| - Fix brightness on Lenovo Ideapad Z570 (rhbz 1187004) | ||||
| 
 | ||||
| * Thu Mar 19 2015 Josh Boyer <jwboyer@fedoraproject.org> - 4.0.0-0.rc4.git1.3 | ||||
| - Linux v4.0-rc4-88-g7b09ac704bac | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user