[PATCH v2] ACPI: video: Fix missing native backlight on Chromebooks

Rafael J. Wysocki rafael at kernel.org
Mon Oct 24 14:45:09 UTC 2022


On Mon, Oct 24, 2022 at 4:32 PM Hans de Goede <hdegoede at redhat.com> wrote:
>
> Hi,
>
> On 10/24/22 16:12, Dmitry Osipenko wrote:
> > Chromebooks don't have backlight in ACPI table, they suppose to use
> > native backlight in this case. Check presence of the CrOS embedded
> > controller ACPI device and prefer the native backlight if EC found.
> >
> > Suggested-by: Hans de Goede <hdegoede at redhat.com>
> > Fixes: 2600bfa3df99 ("ACPI: video: Add acpi_video_backlight_use_native() helper")
> > Signed-off-by: Dmitry Osipenko <dmitry.osipenko at collabora.com>
> > ---
> >
> > Changelog:
> >
> > v2: - Added explanatory comment to the code and added check for the
> >       native backlight presence, like was requested by Hans de Goede.
>
> Thanks this version looks good to me:
>
> Reviewed-by: Hans de Goede <hdegoede at redhat.com>
>
> Rafael, can you pick this up and send it in a fixes pull-req
> for 6.1 to Linus? Or shall I pick this one up and include it
> in my next pull-req?

It would be better if you could pick this up IMV, so please free to add

Acled-by: Rafael J. Wysocki <rafael.j.wysocki at intel.com>

to it.

Thanks!

> >
> >  drivers/acpi/video_detect.c | 12 ++++++++++++
> >  1 file changed, 12 insertions(+)
> >
> > diff --git a/drivers/acpi/video_detect.c b/drivers/acpi/video_detect.c
> > index 0d9064a9804c..9cd8797d12bb 100644
> > --- a/drivers/acpi/video_detect.c
> > +++ b/drivers/acpi/video_detect.c
> > @@ -668,6 +668,11 @@ static const struct dmi_system_id video_detect_dmi_table[] = {
> >       { },
> >  };
> >
> > +static bool google_cros_ec_present(void)
> > +{
> > +     return acpi_dev_found("GOOG0004");
> > +}
> > +
> >  /*
> >   * Determine which type of backlight interface to use on this system,
> >   * First check cmdline, then dmi quirks, then do autodetect.
> > @@ -730,6 +735,13 @@ static enum acpi_backlight_type __acpi_video_get_backlight_type(bool native)
> >                       return acpi_backlight_video;
> >       }
> >
> > +     /*
> > +      * Chromebooks that don't have backlight handle in ACPI table
> > +      * are supposed to use native backlight if it's available.
> > +      */
> > +     if (google_cros_ec_present() && native_available)
> > +             return acpi_backlight_native;
> > +
> >       /* No ACPI video (old hw), use vendor specific fw methods. */
> >       return acpi_backlight_vendor;
> >  }
>


More information about the dri-devel mailing list