[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5560330.d2v72ZBmJs@vostro.rjw.lan>
Date: Fri, 26 Sep 2014 23:52:09 +0200
From: "Rafael J. Wysocki" <rjw@...ysocki.net>
To: Aaron Lu <aaron.lu@...el.com>,
Daniel Vetter <daniel.vetter@...ll.ch>
Cc: Pali Rohár <pali.rohar@...il.com>,
Hans de Goede <hdegoede@...hat.com>,
"Rafael J. Wysocki" <rafael.j.wysocki@...el.com>,
Zhang Rui <rui.zhang@...el.com>, Len Brown <lenb@...nel.org>,
linux-acpi@...r.kernel.org, linux-kernel@...r.kernel.org,
Jani Nikula <jani.nikula@...ux.intel.com>,
David Airlie <airlied@...ux.ie>,
intel-gfx@...ts.freedesktop.org, dri-devel@...ts.freedesktop.org
Subject: Re: [PATCH] ACPI / i915: Update the condition to ignore firmware backlight change request
On Friday, September 26, 2014 10:30:08 AM Aaron Lu wrote:
> Some of the Thinkpads' firmware will issue a backlight change request
> through i915 operation region unconditionally on AC plug/unplug, the
> backlight level used is arbitrary and thus should be ignored. This is
> handled by commit 0b9f7d93ca61 (ACPI / i915: ignore firmware requests
> for backlight change). Then there is a Dell laptop whose vendor backlight
> interface also makes use of operation region to change backlight level
> and with the above commit, that interface no long works. The condition
> used to ignore the backlight change request from firmware is thus
> changed to: if the vendor backlight interface is not in use and the ACPI
> backlight interface is broken, we ignore the requests; oterwise, we keep
> processing them.
>
> Reference: https://lkml.org/lkml/2014/9/23/854
> Reported-and-tested-by: Pali Rohár <pali.rohar@...il.com>
> Cc: <stable@...r.kernel.org> # v3.16 and later
> Signed-off-by: Aaron Lu <aaron.lu@...el.com>
Daniel, any objections?
> ---
> drivers/gpu/drm/i915/intel_opregion.c | 16 +++++++++++-----
> 1 file changed, 11 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_opregion.c b/drivers/gpu/drm/i915/intel_opregion.c
> index ca52ad2ae7d1..d8de1d5140a7 100644
> --- a/drivers/gpu/drm/i915/intel_opregion.c
> +++ b/drivers/gpu/drm/i915/intel_opregion.c
> @@ -396,6 +396,16 @@ int intel_opregion_notify_adapter(struct drm_device *dev, pci_power_t state)
> return -EINVAL;
> }
>
> +/*
> + * If the vendor backlight interface is not in use and ACPI backlight interface
> + * is broken, do not bother processing backlight change requests from firmware.
> + */
> +static bool should_ignore_backlight_request(void)
> +{
> + return acpi_video_backlight_support() &&
> + !acpi_video_verify_backlight_support();
> +}
> +
> static u32 asle_set_backlight(struct drm_device *dev, u32 bclp)
> {
> struct drm_i915_private *dev_priv = dev->dev_private;
> @@ -404,11 +414,7 @@ static u32 asle_set_backlight(struct drm_device *dev, u32 bclp)
>
> DRM_DEBUG_DRIVER("bclp = 0x%08x\n", bclp);
>
> - /*
> - * If the acpi_video interface is not supposed to be used, don't
> - * bother processing backlight level change requests from firmware.
> - */
> - if (!acpi_video_verify_backlight_support()) {
> + if (should_ignore_backlight_request()) {
> DRM_DEBUG_KMS("opregion backlight request ignored\n");
> return 0;
> }
>
--
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists