2022-10-24 17:27:59

by Hans de Goede

[permalink] [raw]
Subject: Re: [PATCH v2] ACPI: video: Fix missing native backlight on Chromebooks

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 <[email protected]>
> Fixes: 2600bfa3df99 ("ACPI: video: Add acpi_video_backlight_use_native() helper")
> Signed-off-by: Dmitry Osipenko <[email protected]>
> ---
>
> 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 <[email protected]>

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?

Regards,

Hans





>
> 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;
> }


2022-10-24 17:30:55

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: [PATCH v2] ACPI: video: Fix missing native backlight on Chromebooks

On Mon, Oct 24, 2022 at 4:32 PM Hans de Goede <[email protected]> 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 <[email protected]>
> > Fixes: 2600bfa3df99 ("ACPI: video: Add acpi_video_backlight_use_native() helper")
> > Signed-off-by: Dmitry Osipenko <[email protected]>
> > ---
> >
> > 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 <[email protected]>
>
> 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 <[email protected]>

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;
> > }
>

2022-10-24 21:53:48

by Hans de Goede

[permalink] [raw]
Subject: Re: [PATCH v2] ACPI: video: Fix missing native backlight on Chromebooks

Hi,

On 10/24/22 16:45, Rafael J. Wysocki wrote:
> On Mon, Oct 24, 2022 at 4:32 PM Hans de Goede <[email protected]> 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 <[email protected]>
>>> Fixes: 2600bfa3df99 ("ACPI: video: Add acpi_video_backlight_use_native() helper")
>>> Signed-off-by: Dmitry Osipenko <[email protected]>
>>> ---
>>>
>>> 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 <[email protected]>
>>
>> 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 <[email protected]>

Ok, I've merged this now and I'll send out fixes pull-req with this
to Linus before coming Friday.

Dmitry, Thank you for your patch, I've applied this patch to my
fixes branch:
https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/log/?h=fixes

Regards,

Hans




>
> 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;
>>> }
>>
>