From: <Roman.Li@amd.com>
To: <amd-gfx@lists.freedesktop.org>
Cc: Harry Wentland <harry.wentland@amd.com>,
Leo Li <sunpeng.li@amd.com>,
Aurabindo Pillai <aurabindo.pillai@amd.com>,
Roman Li <roman.li@amd.com>, Wayne Lin <wayne.lin@amd.com>,
Tom Chung <chiahsuan.chung@amd.com>,
"Fangzhi Zuo" <jerry.zuo@amd.com>,
Zaeem Mohamed <zaeem.mohamed@amd.com>,
"Daniel Wheeler" <daniel.wheeler@amd.com>,
Dillon Varone <Dillon.Varone@amd.com>,
Aric Cyr <aric.cyr@amd.com>
Subject: [PATCH 13/16] Revert "drm/amd/display: Fix VUpdate offset calculations for dcn401"
Date: Wed, 2 Apr 2025 12:13:17 -0400 [thread overview]
Message-ID: <20250402161320.983072-14-Roman.Li@amd.com> (raw)
In-Reply-To: <20250402161320.983072-1-Roman.Li@amd.com>
From: Dillon Varone <Dillon.Varone@amd.com>
This reverts commit 3ad2d94de0c72e31105cb8e607e7ca19f579bf4b.
Reason for revert: it causes stuttering in some usecases.
Reviewed-by: Aric Cyr <aric.cyr@amd.com>
Signed-off-by: Dillon Varone <Dillon.Varone@amd.com>
Signed-off-by: Roman Li <roman.li@amd.com>
---
.../amd/display/dc/hwss/dcn401/dcn401_hwseq.c | 44 -------------------
.../amd/display/dc/hwss/dcn401/dcn401_hwseq.h | 1 -
.../amd/display/dc/hwss/dcn401/dcn401_init.c | 2 +-
3 files changed, 1 insertion(+), 46 deletions(-)
diff --git a/drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c b/drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c
index 79f4eaf8fc52..5489f3d431f6 100644
--- a/drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c
+++ b/drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c
@@ -2646,47 +2646,3 @@ void dcn401_plane_atomic_power_down(struct dc *dc,
if (hws->funcs.dpp_root_clock_control)
hws->funcs.dpp_root_clock_control(hws, dpp->inst, false);
}
-
-/*
- * apply_front_porch_workaround
- *
- * This is a workaround for a bug that has existed since R5xx and has not been
- * fixed keep Front porch at minimum 2 for Interlaced mode or 1 for progressive.
- */
-static void apply_front_porch_workaround(
- struct dc_crtc_timing *timing)
-{
- if (timing->flags.INTERLACE == 1) {
- if (timing->v_front_porch < 2)
- timing->v_front_porch = 2;
- } else {
- if (timing->v_front_porch < 1)
- timing->v_front_porch = 1;
- }
-}
-
-int dcn401_get_vupdate_offset_from_vsync(struct pipe_ctx *pipe_ctx)
-{
- const struct dc_crtc_timing *dc_crtc_timing = &pipe_ctx->stream->timing;
- struct dc_crtc_timing patched_crtc_timing;
- int vesa_sync_start;
- int asic_blank_end;
- int interlace_factor;
-
- patched_crtc_timing = *dc_crtc_timing;
- apply_front_porch_workaround(&patched_crtc_timing);
-
- interlace_factor = patched_crtc_timing.flags.INTERLACE ? 2 : 1;
-
- vesa_sync_start = patched_crtc_timing.v_addressable +
- patched_crtc_timing.v_border_bottom +
- patched_crtc_timing.v_front_porch;
-
- asic_blank_end = (patched_crtc_timing.v_total -
- vesa_sync_start -
- patched_crtc_timing.v_border_top)
- * interlace_factor;
-
- return asic_blank_end -
- pipe_ctx->global_sync.dcn4x.vstartup_lines + 1;
-}
diff --git a/drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.h b/drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.h
index 37c915568afc..781cf0efccc6 100644
--- a/drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.h
+++ b/drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.h
@@ -109,5 +109,4 @@ void dcn401_detect_pipe_changes(
void dcn401_plane_atomic_power_down(struct dc *dc,
struct dpp *dpp,
struct hubp *hubp);
-int dcn401_get_vupdate_offset_from_vsync(struct pipe_ctx *pipe_ctx);
#endif /* __DC_HWSS_DCN401_H__ */
diff --git a/drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_init.c b/drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_init.c
index aa9573ce44fc..fe7aceb2f510 100644
--- a/drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_init.c
+++ b/drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_init.c
@@ -73,7 +73,7 @@ static const struct hw_sequencer_funcs dcn401_funcs = {
.init_sys_ctx = dcn20_init_sys_ctx,
.init_vm_ctx = dcn20_init_vm_ctx,
.set_flip_control_gsl = dcn20_set_flip_control_gsl,
- .get_vupdate_offset_from_vsync = dcn401_get_vupdate_offset_from_vsync,
+ .get_vupdate_offset_from_vsync = dcn10_get_vupdate_offset_from_vsync,
.calc_vupdate_position = dcn10_calc_vupdate_position,
.apply_idle_power_optimizations = dcn401_apply_idle_power_optimizations,
.does_plane_fit_in_mall = NULL,
--
2.34.1
next prev parent reply other threads:[~2025-04-02 16:13 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-02 16:13 [PATCH 00/16] DC Patches April 02, 2025 Roman.Li
2025-04-02 16:13 ` [PATCH 01/16] drm/amd/display: Optimize custom brightness curve Roman.Li
2025-04-02 16:13 ` [PATCH 02/16] drm/amd/display: Correct SSC enable detection for DCN351 Roman.Li
2025-04-02 16:13 ` [PATCH 03/16] drm/amd/display: HDCP Locality check using DMUB Fused IO Roman.Li
2025-04-02 16:13 ` [PATCH 04/16] drm/amd/display: Adjust all dev_*() messages to drm_*() Roman.Li
2025-04-02 16:13 ` [PATCH 05/16] drm/amd/display: Move PSR support message into amdgpu_dm Roman.Li
2025-04-02 16:13 ` [PATCH 06/16] drm/amd/display: Remove double checks for `debug.enable_mem_low_power.bits.cm` Roman.Li
2025-04-02 16:13 ` [PATCH 07/16] drm/amd/display: Add HP Probook 445 and 465 to the quirk list for eDP on DP1 Roman.Li
2025-04-02 16:13 ` [PATCH 08/16] drm/amd/display: Add HP Elitebook 645 " Roman.Li
2025-04-02 16:13 ` [PATCH 09/16] drm/amd/display: wait for updates to latch before locking Roman.Li
2025-04-02 16:13 ` [PATCH 10/16] drm/amd/display: dont disable dtb as dto src during dpms off Roman.Li
2025-04-02 16:13 ` [PATCH 11/16] drm/amd/display: Add DCN301 specific hubbub init function Roman.Li
2025-04-02 16:13 ` [PATCH 12/16] drm/amd/display: turn off eDP lcdvdd and backlight if not required Roman.Li
2025-04-02 16:13 ` Roman.Li [this message]
2025-04-02 16:13 ` [PATCH 14/16] drm/amd/display: [FW Promotion] Release 0.1.5.0 Roman.Li
2025-04-02 16:13 ` [PATCH 15/16] drm/amd/display: rename IPS2 entry/exit message Roman.Li
2025-04-02 16:13 ` [PATCH 16/16] drm/amd/display: Promote DC to 3.2.328 Roman.Li
2025-04-03 20:58 ` [PATCH 00/16] DC Patches April 02, 2025 Wheeler, Daniel
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=20250402161320.983072-14-Roman.Li@amd.com \
--to=roman.li@amd.com \
--cc=Dillon.Varone@amd.com \
--cc=amd-gfx@lists.freedesktop.org \
--cc=aric.cyr@amd.com \
--cc=aurabindo.pillai@amd.com \
--cc=chiahsuan.chung@amd.com \
--cc=daniel.wheeler@amd.com \
--cc=harry.wentland@amd.com \
--cc=jerry.zuo@amd.com \
--cc=sunpeng.li@amd.com \
--cc=wayne.lin@amd.com \
--cc=zaeem.mohamed@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox