[PATCH v2 rebased] ACPI / video: Add systems that should favor native backlight interface
Igor Gnatenko
i.gnatenko.brain at gmail.com
Tue Dec 24 04:20:55 PST 2013
Hi,
please add some updates ;)
On Thu, 2013-11-21 at 13:29 +0800, Aaron Lu wrote:
> On 11/21/2013 04:56 AM, Igor Gnatenko wrote:
> > Any news here? If no - I think we need re-send patch as new..
>
> Since the v2 patch can't apply cleanly on top of pm's -next tree, I
> think it's worth a re-send, so here it comes.
>
> ---
> Subject: [PATCH] ACPI / video: Add systems that should favor native backlight
> interface
> From: Aaron Lu <aaron.lu at intel.com>
> Date: Thu, 21 Nov 2013 11:24:48 +0800
>
> Some system's ACPI video backlight control interface is broken and the
> native backlight control interface should be used by default. This patch
> sets the use_native_backlight parameter to true for those systems so
> that video backlight control interface will not be created. To be
> specific, the ThinkPad T430s/X230, Lenovo Yoga 13, Dell Inspiron 7520
> and Acer Aspire 5733Z are added here, if they appear in some other DMI
> table before, they are removed from there.
>
> Note that the user specified kernel cmdline option will always have the
> highest priority, i.e. if use_native_backlight=0 is specified and the
> system is in the DMI table, the video module will not skip registering
> backlight interface for it.
>
> Thinkpad T430s:
> Reported-by: Theodore Tso <tytso at mit.edu>
> Reported-and-tested-by: Peter Weber <bugs at ttyhoney.com>
> Reference: https://bugzilla.kernel.org/show_bug.cgi?id=51231
> Thinkpad X230:
> Reported-and-tested-by: Igor Gnatenko <i.gnatenko.brain at gmail.com>
> Reference: https://bugzilla.kernel.org/show_bug.cgi?id=51231
ThinkPad X1 Carbon:
Reported-and-tested-by: Igor Gnatenko <i.gnatenko.brain at gmail.com>
Reference: https://bugzilla.kernel.org/show_bug.cgi?id=51231
> Lenovo Yoga 13:
> Reported-by: Lennart Poettering <lennart at poettering.net>
> Reported-and-tested-by: Kevin Smith <thirdwiggin at gmail.com>
> Reference: https://bugzilla.kernel.org/show_bug.cgi?id=63811
> Dell Inspiron 7520:
> Reported-by: Rinat Ibragimov <ibragimovrinat at mail.ru>
> Acer Aspire 5733Z:
> Reported-by: <sov.info at mail.ru>
> Reference: https://bugzilla.kernel.org/show_bug.cgi?id=62941
HP ProBook 4340s:
Reported-and-tested-by: Vladimir Sherenkov <a_12300 at mail.ru>
Reference: http://redmine.russianfedora.pro/issues/1258
>
> Signed-off-by: Aaron Lu <aaron.lu at intel.com>
> ---
> drivers/acpi/blacklist.c | 8 ------
> drivers/acpi/video.c | 65 +++++++++++++++++++++++++++++++++++++++++----
> drivers/acpi/video_detect.c | 8 ------
> 3 files changed, 60 insertions(+), 21 deletions(-)
>
> diff --git a/drivers/acpi/blacklist.c b/drivers/acpi/blacklist.c
> index 078c4f7fe2dd..2b6a76b6d59a 100644
> --- a/drivers/acpi/blacklist.c
> +++ b/drivers/acpi/blacklist.c
> @@ -261,14 +261,6 @@ static struct dmi_system_id acpi_osi_dmi_table[] __initdata = {
> },
> {
> .callback = dmi_disable_osi_win8,
> - .ident = "Dell Inspiron 15R SE",
> - .matches = {
> - DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
> - DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 7520"),
> - },
> - },
> - {
> - .callback = dmi_disable_osi_win8,
> .ident = "ThinkPad Edge E530",
> .matches = {
> DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
> diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c
> index 995e91bcb97b..7dc6071a04b6 100644
> --- a/drivers/acpi/video.c
> +++ b/drivers/acpi/video.c
> @@ -82,11 +82,12 @@ static bool allow_duplicates;
> module_param(allow_duplicates, bool, 0644);
>
> /*
> - * For Windows 8 systems: if set ture and the GPU driver has
> - * registered a backlight interface, skip registering ACPI video's.
> + * For Windows 8 systems: used to decide if video module
> + * should skip registering backlight interface of its own.
> */
> -static bool use_native_backlight = false;
> -module_param(use_native_backlight, bool, 0644);
> +static int use_native_backlight_param = -1;
> +module_param_named(use_native_backlight, use_native_backlight_param, int, 0444);
> +static bool use_native_backlight_dmi = false;
>
> static int register_count;
> static struct mutex video_list_lock;
> @@ -232,9 +233,17 @@ static int acpi_video_get_next_level(struct acpi_video_device *device,
> static int acpi_video_switch_brightness(struct acpi_video_device *device,
> int event);
>
> +static bool acpi_video_use_native_backlight(void)
> +{
> + if (use_native_backlight_param != -1)
> + return use_native_backlight_param;
> + else
> + return use_native_backlight_dmi;
> +}
> +
> static bool acpi_video_verify_backlight_support(void)
> {
> - if (acpi_osi_is_win8() && use_native_backlight &&
> + if (acpi_osi_is_win8() && acpi_video_use_native_backlight() &&
> backlight_device_registered(BACKLIGHT_RAW))
> return false;
> return acpi_video_backlight_support();
> @@ -399,6 +408,12 @@ static int __init video_set_bqc_offset(const struct dmi_system_id *d)
> return 0;
> }
>
> +static int __init video_set_use_native_backlight(const struct dmi_system_id *d)
> +{
> + use_native_backlight_dmi = true;
> + return 0;
> +}
> +
> static struct dmi_system_id video_dmi_table[] __initdata = {
> /*
> * Broken _BQC workaround http://bugzilla.kernel.org/show_bug.cgi?id=13121
> @@ -443,6 +458,46 @@ static struct dmi_system_id video_dmi_table[] __initdata = {
> DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 7720"),
> },
> },
> + {
> + .callback = video_set_use_native_backlight,
> + .ident = "ThinkPad T430s",
> + .matches = {
> + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
> + DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad T430s"),
> + },
> + },
> + {
> + .callback = video_set_use_native_backlight,
> + .ident = "ThinkPad X230",
> + .matches = {
> + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
> + DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad X230"),
> + },
> + },
> + {
> + .callback = video_set_use_native_backlight,
> + .ident = "Lenovo Yoga 13",
> + .matches = {
> + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
> + DMI_MATCH(DMI_PRODUCT_VERSION, "Lenovo IdeaPad Yoga 13"),
> + },
> + },
> + {
> + .callback = video_set_use_native_backlight,
> + .ident = "Dell Inspiron 7520",
> + .matches = {
> + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
> + DMI_MATCH(DMI_PRODUCT_VERSION, "Inspiron 7520"),
> + },
> + },
> + {
> + .callback = video_set_use_native_backlight,
> + .ident = "Acer Aspire 5733Z",
> + .matches = {
> + DMI_MATCH(DMI_SYS_VENDOR, "Acer"),
> + DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5733Z"),
> + },
> + },
> {}
> };
>
> diff --git a/drivers/acpi/video_detect.c b/drivers/acpi/video_detect.c
> index 84875fd4c74f..b6399343de51 100644
> --- a/drivers/acpi/video_detect.c
> +++ b/drivers/acpi/video_detect.c
> @@ -168,14 +168,6 @@ static struct dmi_system_id video_detect_dmi_table[] = {
> DMI_MATCH(DMI_PRODUCT_NAME, "UL30A"),
> },
> },
> - {
> - .callback = video_detect_force_vendor,
> - .ident = "Lenovo Yoga 13",
> - .matches = {
> - DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
> - DMI_MATCH(DMI_PRODUCT_VERSION, "Lenovo IdeaPad Yoga 13"),
> - },
> - },
> { },
> };
>
drivers/acpi/video.c
+ {
+ .callback = video_set_use_native_backlight,
+ .ident = "ThinkPad X1 Carbon",
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
+ DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad X1 Carbon"),
+ },
+ },
+ {
+ .callback = video_set_use_native_backlight,
+ .ident = "HP ProBook 4340s",
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"),
+ DMI_MATCH(DMI_PRODUCT_VERSION, "HP ProBook 4340s"),
+ },
+ },
--
-Igor Gnatenko
More information about the dri-devel
mailing list