From: sashiko-bot@kernel.org
To: "Julien Le Bourg" <julien.lebourg8@gmail.com>
Cc: dri-devel@lists.freedesktop.org
Subject: Re: [PATCH] drm/amd/display: Restore self-refresh fallback in DCN21 bandwidth validation
Date: Sun, 23 Aug 2026 09:34:49 +0000 [thread overview]
Message-ID: <20260823093449.903F01F000E9@smtp.kernel.org> (raw)
In-Reply-To: <20260822091715.6692-1-julien.lebourg8@gmail.com>
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] Reverting `allow_self_refresh_only` to `true` reintroduces a known `flip_done` timeout regression for MPO configurations because the underlying state consistency issue remains unfixed.
--
--- Patch [1]: [PATCH] drm/amd/display: Restore self-refresh fallback in DCN21 bandwidth validation ---
commit a448c5ed2983960ea5f4923032f3c31614dd4ecb
Author: Julien Le Bourg <julien.lebourg8@gmail.com>
drm/amd/display: Restore self-refresh fallback in DCN21 bandwidth validation
This commit restores the self-refresh fallback in DCN21 bandwidth validation
by passing true for allow_self_refresh_only to dcn21_fast_validate_bw(). This
resolves an issue where high refresh rate modes with short vertical blanking
were rejected on eDP panels.
> diff --git a/drivers/gpu/drm/amd/display/dc/dml/dcn20/dcn20_fpu.c b/drivers/gpu/drm/amd/display/dc/dml/dcn20/dcn20_fpu.c
> index 38c79239004c4..426e9c03fabc6 100644
> --- a/drivers/gpu/drm/amd/display/dc/dml/dcn20/dcn20_fpu.c
> +++ b/drivers/gpu/drm/amd/display/dc/dml/dcn20/dcn20_fpu.c
> @@ -2347,7 +2347,8 @@ bool dcn21_validate_bandwidth_fp(struct dc *dc, struct dc_state *context,
> /*Unsafe due to current pipe merge and split logic*/
> ASSERT(context != dc->current_state);
>
> - out = dcn21_fast_validate_bw(dc, context, pipes, &pipe_cnt, pipe_split_from, &vlevel, validate_mode, false);
> + out = dcn21_fast_validate_bw(dc, context, pipes, &pipe_cnt, pipe_split_from,
> + &vlevel, validate_mode, true);
[Severity: High]
Does reverting this to true reintroduce the flip_done timeout regression for
MPO configurations?
Since the underlying state consistency issue remains unfixed, it seems
calculate_wm_set_for_vlevel() still overwrites sr_exit_time_us but never
restores it:
drivers/gpu/drm/amd/display/dc/dml/dcn20/dcn20_fpu.c:calculate_wm_set_for_vlevel() {
...
dml->soc.sr_exit_time_us = table_entry->sr_exit_time_us;
dml->soc.sr_enter_plus_exit_time_us = table_entry->sr_enter_plus_exit_time_us;
...
}
This state leak into dc->current_state causes the next atomic_check to copy
the corrupted state, leading to a flip_done timeout when bandwidth validation
fails during atomic_commit_tail.
>
> if (pipe_cnt == 0)
> goto validate_out;
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260822091715.6692-1-julien.lebourg8@gmail.com?part=1
next prev parent reply other threads:[~2026-08-23 9:34 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-22 9:17 [PATCH] drm/amd/display: Restore self-refresh fallback in DCN21 bandwidth validation Julien Le Bourg
2026-08-23 9:34 ` sashiko-bot [this message]
2026-08-23 11:52 ` [PATCH v2] " Julien Le Bourg
2026-08-23 12:00 ` sashiko-bot
2026-09-09 11:01 ` Julien Le Bourg
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=20260823093449.903F01F000E9@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=julien.lebourg8@gmail.com \
--cc=sashiko-reviews@lists.linux.dev \
/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.