Re: [PATCH] ACPI / video: Default lcd_only to true on Win8 ready and newer machines

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Friday, December 22, 2017 1:34:37 PM CET Hans de Goede wrote:
> We're seeing a lot of bogus backlight interfaces on newer machines without
> a LCD such as desktops, servers and HDMI sticks. This causes userspace to
> show a non-functional brightness slider in e.g. the GNOME3 system menu,
> which is undesirable. More in general we should simply just not register
> a non functional backlight interface.
> 
> Checking the lcd flag causes the bogus acpi_video backlight interfaces to
> go away (on the machines this was tested on).
> 
> This commit enables the lcd_only option by default on any machines which
> are win8 ready, fixing this.
> 
> This is not entirely without risk of regressions, but video_detect.c
> already prefers native-backlight interfaces over the acpi_video one
> on win8 ready machines, calling acpi_video_unregister_backlight() as soon
> as a native interface shows up. This is done because the acpi backlight
> interface often is broken on win8 ready machines, because win8 does not
> seem to actually use it.
> 
> So in practice we already end up not registering the acpi backlight
> interface on (most) win8 ready machines with a LCD panel, thus this commit
> does not change anything for (most) machines with a LCD panel and on
> machines without a LCD panel we actually don't want to register any
> backlight interfaces.
> 
> This has been tested on the following machines and fixes a bogus backlight
> interface showing up there:
> -Desktop with an Asrock B150M Pro4S/D3 m.b. using i5-6500 builtin gfx
> -Intel Compute Stick STK1AW32SC
> -Meegopad T08 HDMI stick
> 
> Bogus backlight interfaces have also been reported on:
> -Desktop with Asus H87I-Plus m.b.
> -Desktop with ASRock B75M-ITX m.b.
> -Desktop with Gigabyte Z87-D3HP m.b.
> -Dell PowerEdge T20 desktop
> 
> BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1097436
> BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1133327
> BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1133329
> BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1133646
> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
> ---
>  drivers/acpi/acpi_video.c | 14 ++++++++++++--
>  1 file changed, 12 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/acpi/acpi_video.c b/drivers/acpi/acpi_video.c
> index 0972ec0e2eb8..a83239507041 100644
> --- a/drivers/acpi/acpi_video.c
> +++ b/drivers/acpi/acpi_video.c
> @@ -80,8 +80,8 @@ MODULE_PARM_DESC(report_key_events,
>  static bool device_id_scheme = false;
>  module_param(device_id_scheme, bool, 0444);
>  
> -static bool only_lcd = false;
> -module_param(only_lcd, bool, 0444);
> +static int only_lcd = -1;
> +module_param(only_lcd, int, 0444);
>  
>  static int register_count;
>  static DEFINE_MUTEX(register_count_mutex);
> @@ -2136,6 +2136,16 @@ int acpi_video_register(void)
>  		goto leave;
>  	}
>  
> +	/*
> +	 * We're seeing a lot of bogus backlight interfaces on newer machines
> +	 * without a LCD such as desktops, servers and HDMI sticks. Checking
> +	 * the lcd flag fixes this, so enable this on any machines which are
> +	 * win8 ready (where we also prefer the native backlight driver, so
> +	 * normally the acpi_video code should not register there anyways).
> +	 */
> +	if (only_lcd == -1)
> +		only_lcd = acpi_osi_is_win8() ? 1 : 0;

Why not:

only_lcd = !!acpi_osi_is_win8();

> +
>  	dmi_check_system(video_dmi_table);
>  
>  	ret = acpi_bus_register_driver(&acpi_video_bus);
> 


--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux