Re: [PATCH] ACPI: video: Add backlight=native DMI quirk for Dell G15 5515

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thanks, Hans:

On Mon, Oct 31, 2022 at 10:25:56PM +0100, Hans de Goede wrote:
> The Dell G15 5515 has the WMI interface (and WMI call returns) expected
> by the nvidia-wmi-ec-backlight interface. But the backlight class device
> registered by the nvidia-wmi-ec-backlight driver does not actually work.
> 
> The amdgpu_bl0 native GPU backlight class device does actually work,
> add a backlight=native DMI quirk for this.

I'm not certain whether you have direct access to the system, but I am
curious as to what mode the system is in when it exposes a non-working
WMI backlight interface. The expectation is that the WMI EC backlight
interface should only be exposed when the system is in dynamic mode
(different vendors may call this differeint things in the EFI setup
menus), and the native backlight interfaces for the GPUs, be they
discrete or integrated, should only be exposed when a mode that keeps
only one of the GPUs connected to the panel; i.e., in discrete-only mode
the discrete GPU should have a working native backlight interface, and
in integrated-only mode, or a hybrid mode which does not allow dynamic
mux switching, the integrated GPU should have a working native backlight
interface.

For this notebook the AMD GPU would be the integrated one, so if the
system is *not* in dynamic switch mode, and the WMI interface is
reporting that the backlight should be handled by the EC, then that is
certainly a bug in the system, and this would be the correct workaround,
when the system is operating in an iGPU-only or non-dynamic hybrid mode.
However, if the system is switched to a dynamic mode, then this would
break the EC backlight, which should be the corect backlight interface
for that case. Another possible system bug would be if the condition
described in the change description occurs when the system *is* in a
dynamic mode, but is routing backlight control to the iGPU anyway. That
would be a messier bug to deal with, since it would also be necessary to
determine which backlight interface is functional when the display is
switched over to the dGPU.

If it's not too much trouble could you (or the reporter, if you don't
have the system) check which backlight interfaces are exposed, and which
of those actually work, for each of the different hybrid GPU modes? I am
not certain what they would be called on the setup screen, but the
possible modes should be:

* Integrated only
* Discrete only
* Hybrid, without dynamic switching
* Hybrid, with dynamic switching

, or a subset thereof. Usually I would expect the minimal subset to be
discrete only plus one or both of the hybrid modes. Since we're not sure
what these are called on the setup screen it is probably best to simply
report the names of the mode as they are listed in the UI.

> Cc: Daniel Dadap <ddadap@xxxxxxxxxx>
> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
> ---
>  drivers/acpi/video_detect.c | 10 ++++++++++
>  1 file changed, 10 insertions(+)
> 
> diff --git a/drivers/acpi/video_detect.c b/drivers/acpi/video_detect.c
> index 841f6213b4de..88acc09773bb 100644
> --- a/drivers/acpi/video_detect.c
> +++ b/drivers/acpi/video_detect.c
> @@ -645,6 +645,16 @@ static const struct dmi_system_id video_detect_dmi_table[] = {
>  		},
>  	},
>  
> +	/* Models which have nvidia-ec-wmi support, but should not use it. */
> +	{
> +	 .callback = video_detect_force_native,
> +	 /* Dell G15 5515 */
> +	 .matches = {
> +		DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
> +		DMI_MATCH(DMI_PRODUCT_NAME, "Dell G15 5515"),
> +		},
> +	},
> +
>  	/*
>  	 * Desktops which falsely report a backlight and which our heuristics
>  	 * for this do not catch.
> -- 
> 2.37.3
> 



[Index of Archives]     [Linux Kernel Development]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux