[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20140929071606.GA4109@phenom.ffwll.local>
Date: Mon, 29 Sep 2014 09:16:26 +0200
From: Daniel Vetter <daniel@...ll.ch>
To: "Rafael J. Wysocki" <rjw@...ysocki.net>
Cc: Aaron Lu <aaron.lu@...el.com>,
Daniel Vetter <daniel.vetter@...ll.ch>,
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 Fri, Sep 26, 2014 at 11:52:09PM +0200, Rafael J. Wysocki wrote:
> 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?
Nope, ack from my side.
-Daniel
>
> > ---
> > 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.
--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
--
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