From: Mario Limonciello <superm1@kernel.org>
To: Lauri Tirkkonen <lauri@hacktheplanet.fi>
Cc: stable@vger.kernel.org, regressions@lists.linux.dev,
amd-gfx@lists.freedesktop.org, Wayne Lin <wayne.lin@amd.com>,
Alex Deucher <alexander.deucher@amd.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Subject: Re: [REGRESSION] drm/amd/display: backlight brightness set to 0 at amdgpu initialization
Date: Sat, 19 Jul 2025 12:39:45 -0500 [thread overview]
Message-ID: <cc7a41dc-066a-41c8-a271-7e4c92088d65@kernel.org> (raw)
In-Reply-To: <f12cfe85-3597-4cf7-9236-3e00f16c3c38@kernel.org>
On 7/19/25 10:25 AM, Mario Limonciello wrote:
>
>
> On 7/18/25 9:12 PM, Lauri Tirkkonen wrote:
>> On Fri, Jul 18 2025 20:14:08 -0500, Mario Limonciello wrote:
>>> OK, I think we need to do two things to figure out what's going on.
>>>
>>> 1) Let's shift over to 6.16-rc6. Once we've got a handle on the
>>> situation
>>> there we can iron out if there are other patches missing or this is also
>>> broken for you in 6.16. If it's not working as expected there either we
>>> need it fixed there first anyway.
>>
>> Same behavior on 6.16-rc6: brightness is set to 0 (max 399000),
>> minimally visible.
>>
>>> 2) The starting brightness I don't expect to be "0". We need to see
>>> what
>>> values were read out from the firmware. There is a debugging message
>>> we can
>>> catch if you boot with drm.debug=0x106. Keep in mind you probably
>>> need to
>>> increase log_buf_len if your ring buffer is set too small too.
>>>
>>> https://github.com/torvalds/linux/
>>> commit/4b61b8a390511a1864f26cc42bab72881e93468d
>>>
>>> PS: I would rather you add logs into a gist, pastebin or a bug
>>> somewhere if
>>> you can.
>>
>> [ 3.210757] amdgpu 0000:03:00.0:
>> [drm:amdgpu_dm_connector_late_register [amdgpu]] Backlight caps: min:
>> 1000, max: 400000, ac 100, dc 32
>>
>> full dmesg: https://termbin.com/o2q3
>>
>
> Thanks for sharing. Can you get me an updated output with
> drm.debug=0x106 set and with this applied? I want to see what values
> were set.
>
> 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 5df7f8c34231..cdc43cfb39dd 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> @@ -10489,8 +10489,12 @@ static void amdgpu_dm_atomic_commit_tail(struct
> drm_atomic_state *state)
> /* restore the backlight level */
> for (i = 0; i < dm->num_of_edps; i++) {
> if (dm->backlight_dev[i] &&
> - (dm->actual_brightness[i] != dm->brightness[i]))
> + (dm->actual_brightness[i] != dm->brightness[i])) {
> + drm_WARN(adev_to_drm(adev), true,
> + "Backlight level %d does not
> match actual brightness %d for edp %d\n",
> + dm->brightness[i], dm-
> >actual_brightness[i], i);
> amdgpu_dm_backlight_set_level(dm, i, dm-
> >brightness[i]);
> + }
> }
>
> /*
>
> Also, does turning off custom brightness curves
> (amdgpu.dcdebugmask=0x40000) help?
>
In advance of getting that updated log; I have a theory what's going on.
I think the first value programmed to brightness happens as part of
that very first modeset.
If that's what's going on, then I think doing an explicit programming
cycle at the backlight registration will help. Here's a potential patch.
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 b19e7964060d..4b99efbaf481 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
@@ -4996,6 +4996,8 @@ amdgpu_dm_register_backlight_device(struct
amdgpu_dm_connector *aconnector)
dm->backlight_dev[aconnector->bl_idx] = NULL;
} else
drm_dbg_driver(drm, "DM: Registered Backlight device:
%s\n", bl_name);
+
+
amdgpu_dm_backlight_update_status(dm->backlight_dev[aconnector->bl_idx]);
}
static int initialize_plane(struct amdgpu_display_manager *dm,
next prev parent reply other threads:[~2025-07-19 17:39 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-18 7:29 [REGRESSION] drm/amd/display: backlight brightness set to 0 at amdgpu initialization Lauri Tirkkonen
2025-07-18 13:10 ` Mario Limonciello
2025-07-18 14:36 ` Lauri Tirkkonen
2025-07-18 17:13 ` Mario Limonciello
2025-07-19 1:03 ` Lauri Tirkkonen
2025-07-19 1:14 ` Mario Limonciello
2025-07-19 2:12 ` Lauri Tirkkonen
2025-07-19 15:25 ` Mario Limonciello
2025-07-19 17:39 ` Mario Limonciello [this message]
2025-07-20 9:34 ` Lauri Tirkkonen
2025-07-20 9:36 ` [REGRESSION] [PATCH] drm/amd/display: fix initial backlight brightness calculation Lauri Tirkkonen
2025-07-20 10:26 ` Greg Kroah-Hartman
2025-07-21 0:51 ` Lauri Tirkkonen
2025-07-20 12:49 ` Mario Limonciello
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=cc7a41dc-066a-41c8-a271-7e4c92088d65@kernel.org \
--to=superm1@kernel.org \
--cc=alexander.deucher@amd.com \
--cc=amd-gfx@lists.freedesktop.org \
--cc=gregkh@linuxfoundation.org \
--cc=lauri@hacktheplanet.fi \
--cc=regressions@lists.linux.dev \
--cc=stable@vger.kernel.org \
--cc=wayne.lin@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.