All of lore.kernel.org
 help / color / mirror / Atom feed
From: Matthew Schwartz <matthew.schwartz@linux.dev>
To: Harry Wentland <harry.wentland@amd.com>,
	Leo Li <sunpeng.li@amd.com>,
	Alex Deucher <alexander.deucher@amd.com>, Ray Wu <ray.wu@amd.com>
Cc: Mario Limonciello <mario.limonciello@amd.com>,
	amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org,
	Matthew Schwartz <matthew.schwartz@linux.dev>
Subject: [PATCH RESEND 1/2] drm/amd/display: Use linear backlight curve in power module
Date: Wed, 16 Sep 2026 12:11:01 -0700	[thread overview]
Message-ID: <20260916191102.1195881-1-matthew.schwartz@linux.dev> (raw)

amdgpu_dm already applies the ATIF custom brightness curve in
convert_custom_brightness() before handing the level to the power
module. The power module then builds its own percent to PWM LUT from
the same ATIF data in initialize_backlight_caps() and applies the curve
a second time. On the Lenovo Legion Go S this maps the bottom 40% of the
brightness range to under 12% PWM, where the panel no longer visibly
changes.

Tell the power module to use its linear curve so the PWM is a straight
rescale of the level DM computed, matching the behavior before the power
module took over backlight programming.

Fixes: 3c108046e1d6 ("drm/amd/display: Add power module on Linux")
Signed-off-by: Matthew Schwartz <matthew.schwartz@linux.dev>
---
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
index ca795cda8084..63acefc0acfb 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
@@ -455,7 +455,7 @@ STATIC_IFN_KUNIT int amdgpu_dm_init_power_module(struct amdgpu_display_manager *
 			!(amdgpu_dc_feature_mask & DC_DISABLE_FRACTIONAL_PWM_MASK);
 		init_data[i].use_custom_backlight_caps = false;
 		init_data[i].custom_backlight_caps_config_no = 0;
-		init_data[i].use_linear_backlight_curve = false;
+		init_data[i].use_linear_backlight_curve = true;
 		init_data[i].def_varibright_enable = 0;
 		init_data[i].varibright_level = 0;
 		/*
-- 
2.55.0


             reply	other threads:[~2026-09-17  7:07 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-16 19:11 Matthew Schwartz [this message]
2026-09-16 19:11 ` [PATCH RESEND 2/2] drm/amd/display: Keep backlight precision in millipercent Matthew Schwartz
2026-09-29  1:37   ` Ray Wu
2026-09-29  1:35 ` [PATCH RESEND 1/2] drm/amd/display: Use linear backlight curve in power module Ray Wu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260916191102.1195881-1-matthew.schwartz@linux.dev \
    --to=matthew.schwartz@linux.dev \
    --cc=alexander.deucher@amd.com \
    --cc=amd-gfx@lists.freedesktop.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=harry.wentland@amd.com \
    --cc=mario.limonciello@amd.com \
    --cc=ray.wu@amd.com \
    --cc=sunpeng.li@amd.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.