mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] drm: panel-backlight-quirks: Add ASUS ROG Flow X13 3840x2400 panel
@ 2026-10-31 13:45 Hugo Sales
  2026-11-02 23:13 ` Mario Limonciello
  0 siblings, 1 reply; 3+ messages in thread
From: Hugo Sales @ 2026-10-31 13:45 UTC (permalink / raw)
  To: maarten.lankhorst, mripard, tzimmermann, dri-devel
  Cc: airlied, simona, superm1, alexander.deucher, harry.wentland,
	amd-gfx, linux-kernel

On an ASUS ROG Flow X13 GV301QH (BIOS 418) ATIF
QUERY_BACKLIGHT_TRANSFER_CHARACTERISTICS answers with a minimum input
signal of 12 and 49 curve points for the Sharp LQ134R1JW51 panel, and
amdgpu logs "Using custom brightness curve". With that minimum,
brightness 0 gives 4.7% duty

With the quirk, brightness 0 sends PWM 0 (read back from
amdgpu_current_backlight_pwm in debugfs). The panel stays lit, but much
dimmer than the old 4.7% floor. Its LED driver has a minimum of its own,
so 0 does not turn the backlight off

linux-hardware.org also lists this panel in a GV301QE. Match the ASUS
vendor and the panel, as the Framework 13 entries do, and let the
brightness reach the bottom of the PWM range

Signed-off-by: Hugo Sales <hugo@hsal.es>
---
I could only test this on a GV301QH. The entry matches any ASUS laptop
with this panel, and linux-hardware.org only lists it in ROG Flow X13s,
one of them a GV301QE. If you'd rather limit it to the GV301QH, I can
add a DMI_BOARD_NAME match in v2

 drivers/gpu/drm/drm_panel_backlight_quirks.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/drivers/gpu/drm/drm_panel_backlight_quirks.c b/drivers/gpu/drm/drm_panel_backlight_quirks.c
index 2d0238382ebd5..b60333e748741 100644
--- a/drivers/gpu/drm/drm_panel_backlight_quirks.c
+++ b/drivers/gpu/drm/drm_panel_backlight_quirks.c
@@ -69,6 +69,14 @@ static const struct drm_get_panel_backlight_quirk drm_panel_min_backlight_quirks
 		.dmi_match_other.value = "Galileo",
 		.quirk = { .min_brightness = 1, },
 	},
+	/* ASUS ROG Flow X13 3840x2400 panel */
+	{
+		.dmi_match.field = DMI_SYS_VENDOR,
+		.dmi_match.value = "ASUSTeK COMPUTER INC.",
+		.ident.panel_id = drm_edid_encode_panel_id('S', 'H', 'P', 0x151b),
+		.ident.name = "LQ134R1JW51",
+		.quirk = { .min_brightness = 1, },
+	},
 	/* Have OLED Panels with brightness issue when last byte is 0/1 */
 	{
 		.dmi_match.field = DMI_SYS_VENDOR,
-- 
2.56.0


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] drm: panel-backlight-quirks: Add ASUS ROG Flow X13 3840x2400 panel
  2026-10-31 13:45 [PATCH] drm: panel-backlight-quirks: Add ASUS ROG Flow X13 3840x2400 panel Hugo Sales
@ 2026-11-02 23:13 ` Mario Limonciello
  2026-11-03  0:30   ` Hugo Sales
  0 siblings, 1 reply; 3+ messages in thread
From: Mario Limonciello @ 2026-11-02 23:13 UTC (permalink / raw)
  To: Hugo Sales, maarten.lankhorst, mripard, tzimmermann, dri-devel
  Cc: airlied, simona, alexander.deucher, harry.wentland, amd-gfx,
	linux-kernel

On 10/31/26 08:45, Hugo Sales wrote:
> On an ASUS ROG Flow X13 GV301QH (BIOS 418) ATIF
> QUERY_BACKLIGHT_TRANSFER_CHARACTERISTICS answers with a minimum input
> signal of 12 and 49 curve points for the Sharp LQ134R1JW51 panel, and
> amdgpu logs "Using custom brightness curve". With that minimum,
> brightness 0 gives 4.7% duty
> 
> With the quirk, brightness 0 sends PWM 0 (read back from
> amdgpu_current_backlight_pwm in debugfs). The panel stays lit, but much
> dimmer than the old 4.7% floor. Its LED driver has a minimum of its own,
> so 0 does not turn the backlight off
> 
> linux-hardware.org also lists this panel in a GV301QE. Match the ASUS
> vendor and the panel, as the Framework 13 entries do, and let the
> brightness reach the bottom of the PWM range
> 
> Signed-off-by: Hugo Sales <hugo@hsal.es>
> ---
> I could only test this on a GV301QH. The entry matches any ASUS laptop
> with this panel, and linux-hardware.org only lists it in ROG Flow X13s,
> one of them a GV301QE. If you'd rather limit it to the GV301QH, I can
> add a DMI_BOARD_NAME match in v2
> 
>   drivers/gpu/drm/drm_panel_backlight_quirks.c | 8 ++++++++
>   1 file changed, 8 insertions(+)
> 
> diff --git a/drivers/gpu/drm/drm_panel_backlight_quirks.c b/drivers/gpu/drm/drm_panel_backlight_quirks.c
> index 2d0238382ebd5..b60333e748741 100644
> --- a/drivers/gpu/drm/drm_panel_backlight_quirks.c
> +++ b/drivers/gpu/drm/drm_panel_backlight_quirks.c
> @@ -69,6 +69,14 @@ static const struct drm_get_panel_backlight_quirk drm_panel_min_backlight_quirks
>   		.dmi_match_other.value = "Galileo",
>   		.quirk = { .min_brightness = 1, },
>   	},
> +	/* ASUS ROG Flow X13 3840x2400 panel */
> +	{
> +		.dmi_match.field = DMI_SYS_VENDOR,
> +		.dmi_match.value = "ASUSTeK COMPUTER INC.",
> +		.ident.panel_id = drm_edid_encode_panel_id('S', 'H', 'P', 0x151b),
> +		.ident.name = "LQ134R1JW51",
> +		.quirk = { .min_brightness = 1, },
> +	},
>   	/* Have OLED Panels with brightness issue when last byte is 0/1 */
>   	{
>   		.dmi_match.field = DMI_SYS_VENDOR,


Was this from looking at a datasheet or from empirical measurements? 
The reason it was safe to do on the Framework panel was because there 
was a confirmation the datasheet allowed a lower value.

We don't want to be damaging hardware running it outside of spec.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] drm: panel-backlight-quirks: Add ASUS ROG Flow X13 3840x2400 panel
  2026-11-02 23:13 ` Mario Limonciello
@ 2026-11-03  0:30   ` Hugo Sales
  0 siblings, 0 replies; 3+ messages in thread
From: Hugo Sales @ 2026-11-03  0:30 UTC (permalink / raw)
  To: Mario Limonciello, maarten.lankhorst, mripard, tzimmermann, dri-devel
  Cc: airlied, simona, alexander.deucher, harry.wentland, amd-gfx,
	linux-kernel

On 11/2/26 23:13, Mario Limonciello wrote:
> Was this from looking at a datasheet or from empirical measurements?
> The reason it was safe to do on the Framework panel was because there
> was a confirmation the datasheet allowed a lower value.
>
> We don't want to be damaging hardware running it outside of spec.

Oh, damn, I didn't consider it could be damaging the panel and that it
could be out of spec. I did try looking for a datasheet for the
LQ134R1JW51 before sending this, but couldn't find one, and since it
"worked" (the panel stays lit at requested brightness 0, which reads
back as PWM 0 in amdgpu_current_backlight_pwm), I thought it was ok...

I've asked two people at ASUS whether the panel spec allows a lower
duty cycle, and I'll report back here. If you know someone who could
be of help, I'd appreciate the suggestion

One thing I noticed: 12 is also AMDGPU_DM_DEFAULT_MIN_BACKLIGHT, and
it's what this machine's ATIF returned, as did the Framework's, for
completely different panels. So the 12 ASUS returns for this Sharp
panel looks like the AMD reference value passed through, not a number
ASUS took from Sharp's datasheet. Do you or anyone else here know if
that could be the case?

Another data point is the VBT dumped from the BIOS of the ROG Flow Z13
2022 (GZ301ZE BIOS 321), which ships the LQ134R1JW52 (vs my
LQ134R1JW51). It sets brightness_min_level to 0 and the older
min_brightness field to 6, so i915 already lets that machine go down
to PWM 0. This doesn't really settle anything for the JW51, though

Assume the patch can be discarded unless I get a reply from ASUS, in
which case I'll reply here again

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-11-03  0:30 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-31 13:45 [PATCH] drm: panel-backlight-quirks: Add ASUS ROG Flow X13 3840x2400 panel Hugo Sales
2026-11-02 23:13 ` Mario Limonciello
2026-11-03  0:30   ` Hugo Sales

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®