* [PATCH 1/3] drm/amd/display: Fix fast updates on DCE 6.x
@ 2026-09-23 12:20 Timur Kristóf
2026-09-23 12:20 ` [PATCH 2/3] drm/amd/display: Fix fast updates on DCE 8.1 Timur Kristóf
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Timur Kristóf @ 2026-09-23 12:20 UTC (permalink / raw)
To: amd-gfx, Alexander.Deucher, Natalie Vock, Melissa Wen,
Mario Limonciello, Harry Wentland, Michel Dänzer,
Tvrtko Ursulin, Leo Li, Dan Wheeler, Ivan Lipski, Alex Hung,
Alvin Lee, Dominik Kaszewski
Cc: Timur Kristóf
DCE6 should use legacy fast updates, just like all DCE8 - DCN2.
Set that flag for DCE 6.0, 6.1 and 6.4 (all DCE6 versions).
Technically DCE6 should have been included when the fast update
code was refactored, but it just happened to work until now.
A recent commit "Attach only plane updates that actually changed"
has exposed this issue because with that commit, DC accidentally
took the new fast update code path for DCE6 as well, which caused
it to boot into a black screen with a flip done timeout.
This fix should be backported to all kernel versions that
have "Refactor fast update to use new HWSS build sequence",
but this patch won't apply cleanly to older kernels due to
another refactor in "Remove dc param from check_update".
Fixes: 0baae6246307 ("drm/amd/display: Refactor fast update to use new HWSS build sequence")
Fixes: 9ec11bb842b6 ("drm/amd/display: Remove dc param from check_update")
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
---
.../amd/display/dc/resource/dce60/dce60_resource.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/drivers/gpu/drm/amd/display/dc/resource/dce60/dce60_resource.c b/drivers/gpu/drm/amd/display/dc/resource/dce60/dce60_resource.c
index d2d56a1c4b8b..8612cc66a6ba 100644
--- a/drivers/gpu/drm/amd/display/dc/resource/dce60/dce60_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/resource/dce60/dce60_resource.c
@@ -448,6 +448,12 @@ static const struct dce_abm_mask abm_mask = {
ABM_MASK_SH_LIST_DCE110(_MASK)
};
+static const struct dc_debug_options debug_defaults = { 0 };
+
+static const struct dc_check_config config_defaults = {
+ .enable_legacy_fast_update = true,
+};
+
#define CTX ctx
#define REG(reg) mm ## reg
@@ -937,6 +943,8 @@ static bool dce60_construct(
dc->caps.max_cursor_size = 64;
dc->caps.dual_link_dvi = true;
dc->caps.extended_aux_timeout_support = false;
+ dc->debug = debug_defaults;
+ dc->check_config = config_defaults;
/*************************************************
* Create resources *
@@ -1134,6 +1142,8 @@ static bool dce61_construct(
dc->caps.i2c_speed_in_khz = 40;
dc->caps.max_cursor_size = 64;
dc->caps.is_apu = true;
+ dc->debug = debug_defaults;
+ dc->check_config = config_defaults;
/*************************************************
* Create resources *
@@ -1332,6 +1342,8 @@ static bool dce64_construct(
dc->caps.i2c_speed_in_khz = 40;
dc->caps.max_cursor_size = 64;
dc->caps.is_apu = true;
+ dc->debug = debug_defaults;
+ dc->check_config = config_defaults;
/*************************************************
* Create resources *
--
2.55.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 2/3] drm/amd/display: Fix fast updates on DCE 8.1
2026-09-23 12:20 [PATCH 1/3] drm/amd/display: Fix fast updates on DCE 6.x Timur Kristóf
@ 2026-09-23 12:20 ` Timur Kristóf
2026-09-23 19:51 ` Mario Limonciello
2026-09-23 12:20 ` [PATCH 3/3] drm/amd/display: Mark DCE 6.4 as not APU Timur Kristóf
2026-09-23 19:51 ` [PATCH 1/3] drm/amd/display: Fix fast updates on DCE 6.x Mario Limonciello
2 siblings, 1 reply; 6+ messages in thread
From: Timur Kristóf @ 2026-09-23 12:20 UTC (permalink / raw)
To: amd-gfx, Alexander.Deucher, Natalie Vock, Melissa Wen,
Mario Limonciello, Harry Wentland, Michel Dänzer,
Tvrtko Ursulin, Leo Li, Dan Wheeler, Ivan Lipski, Alex Hung,
Alvin Lee, Dominik Kaszewski
Cc: Timur Kristóf
DCE8 should use legacy fast updates.
This was already set for DCE 8.0 and 8.3, but it seems
that DCE 8.1 (found in Kaveri chips) was forgotten.
This fix should be backported to all kernel versions that
have "Refactor fast update to use new HWSS build sequence",
but this patch won't apply cleanly to older kernels due to
another refactor in "Remove dc param from check_update".
Fixes: 0baae6246307 ("drm/amd/display: Refactor fast update to use new HWSS build sequence")
Fixes: 9ec11bb842b6 ("drm/amd/display: Remove dc param from check_update")
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
---
drivers/gpu/drm/amd/display/dc/resource/dce80/dce80_resource.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/gpu/drm/amd/display/dc/resource/dce80/dce80_resource.c b/drivers/gpu/drm/amd/display/dc/resource/dce80/dce80_resource.c
index 26820d35478a..2f4de697ec4b 100644
--- a/drivers/gpu/drm/amd/display/dc/resource/dce80/dce80_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/resource/dce80/dce80_resource.c
@@ -1148,6 +1148,8 @@ static bool dce81_construct(
dc->caps.max_cursor_size = 128;
dc->caps.min_horizontal_blanking_period = 80;
dc->caps.is_apu = true;
+ dc->debug = debug_defaults;
+ dc->check_config = config_defaults;
/*************************************************
* Create resources *
--
2.55.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 3/3] drm/amd/display: Mark DCE 6.4 as not APU
2026-09-23 12:20 [PATCH 1/3] drm/amd/display: Fix fast updates on DCE 6.x Timur Kristóf
2026-09-23 12:20 ` [PATCH 2/3] drm/amd/display: Fix fast updates on DCE 8.1 Timur Kristóf
@ 2026-09-23 12:20 ` Timur Kristóf
2026-09-23 19:52 ` Mario Limonciello
2026-09-23 19:51 ` [PATCH 1/3] drm/amd/display: Fix fast updates on DCE 6.x Mario Limonciello
2 siblings, 1 reply; 6+ messages in thread
From: Timur Kristóf @ 2026-09-23 12:20 UTC (permalink / raw)
To: amd-gfx, Alexander.Deucher, Natalie Vock, Melissa Wen,
Mario Limonciello, Harry Wentland, Michel Dänzer,
Tvrtko Ursulin, Leo Li, Dan Wheeler, Ivan Lipski, Alex Hung,
Alvin Lee, Dominik Kaszewski
Cc: Timur Kristóf
DCE 6.4 is found in Oland chips, which were advertised
as low-end gaming GPUs in 2013~2015 and then have been
sold as low-end workstation GPUs until 2017~2019.
These are not APUs.
Fixes: 7c15fd86aaec ("drm/amd/display: dc/dce: add initial DCE6 support (v10)")
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
---
drivers/gpu/drm/amd/display/dc/resource/dce60/dce60_resource.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/drivers/gpu/drm/amd/display/dc/resource/dce60/dce60_resource.c b/drivers/gpu/drm/amd/display/dc/resource/dce60/dce60_resource.c
index 8612cc66a6ba..65c7dae3ff66 100644
--- a/drivers/gpu/drm/amd/display/dc/resource/dce60/dce60_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/resource/dce60/dce60_resource.c
@@ -1341,7 +1341,6 @@ static bool dce64_construct(
dc->caps.max_downscale_ratio = 200;
dc->caps.i2c_speed_in_khz = 40;
dc->caps.max_cursor_size = 64;
- dc->caps.is_apu = true;
dc->debug = debug_defaults;
dc->check_config = config_defaults;
--
2.55.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 1/3] drm/amd/display: Fix fast updates on DCE 6.x
2026-09-23 12:20 [PATCH 1/3] drm/amd/display: Fix fast updates on DCE 6.x Timur Kristóf
2026-09-23 12:20 ` [PATCH 2/3] drm/amd/display: Fix fast updates on DCE 8.1 Timur Kristóf
2026-09-23 12:20 ` [PATCH 3/3] drm/amd/display: Mark DCE 6.4 as not APU Timur Kristóf
@ 2026-09-23 19:51 ` Mario Limonciello
2 siblings, 0 replies; 6+ messages in thread
From: Mario Limonciello @ 2026-09-23 19:51 UTC (permalink / raw)
To: Timur Kristóf, amd-gfx, Alexander.Deucher, Natalie Vock,
Melissa Wen, Harry Wentland, Michel Dänzer, Tvrtko Ursulin,
Leo Li, Dan Wheeler, Ivan Lipski, Alex Hung, Alvin Lee,
Dominik Kaszewski
On 9/23/26 07:20, Timur Kristóf wrote:
> DCE6 should use legacy fast updates, just like all DCE8 - DCN2.
> Set that flag for DCE 6.0, 6.1 and 6.4 (all DCE6 versions).
>
> Technically DCE6 should have been included when the fast update
> code was refactored, but it just happened to work until now.
>
> A recent commit "Attach only plane updates that actually changed"
> has exposed this issue because with that commit, DC accidentally
> took the new fast update code path for DCE6 as well, which caused
> it to boot into a black screen with a flip done timeout.
>
> This fix should be backported to all kernel versions that
> have "Refactor fast update to use new HWSS build sequence",
> but this patch won't apply cleanly to older kernels due to
> another refactor in "Remove dc param from check_update".
>
> Fixes: 0baae6246307 ("drm/amd/display: Refactor fast update to use new HWSS build sequence")
> Fixes: 9ec11bb842b6 ("drm/amd/display: Remove dc param from check_update")
> Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
> ---
> .../amd/display/dc/resource/dce60/dce60_resource.c | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
> diff --git a/drivers/gpu/drm/amd/display/dc/resource/dce60/dce60_resource.c b/drivers/gpu/drm/amd/display/dc/resource/dce60/dce60_resource.c
> index d2d56a1c4b8b..8612cc66a6ba 100644
> --- a/drivers/gpu/drm/amd/display/dc/resource/dce60/dce60_resource.c
> +++ b/drivers/gpu/drm/amd/display/dc/resource/dce60/dce60_resource.c
> @@ -448,6 +448,12 @@ static const struct dce_abm_mask abm_mask = {
> ABM_MASK_SH_LIST_DCE110(_MASK)
> };
>
> +static const struct dc_debug_options debug_defaults = { 0 };
> +
> +static const struct dc_check_config config_defaults = {
> + .enable_legacy_fast_update = true,
> +};
> +
> #define CTX ctx
> #define REG(reg) mm ## reg
>
> @@ -937,6 +943,8 @@ static bool dce60_construct(
> dc->caps.max_cursor_size = 64;
> dc->caps.dual_link_dvi = true;
> dc->caps.extended_aux_timeout_support = false;
> + dc->debug = debug_defaults;
> + dc->check_config = config_defaults;
>
> /*************************************************
> * Create resources *
> @@ -1134,6 +1142,8 @@ static bool dce61_construct(
> dc->caps.i2c_speed_in_khz = 40;
> dc->caps.max_cursor_size = 64;
> dc->caps.is_apu = true;
> + dc->debug = debug_defaults;
> + dc->check_config = config_defaults;
>
> /*************************************************
> * Create resources *
> @@ -1332,6 +1342,8 @@ static bool dce64_construct(
> dc->caps.i2c_speed_in_khz = 40;
> dc->caps.max_cursor_size = 64;
> dc->caps.is_apu = true;
> + dc->debug = debug_defaults;
> + dc->check_config = config_defaults;
>
> /*************************************************
> * Create resources *
Reviewed-by: Mario Limonciello <mario.limonciello@amd.com>
I'll get this queued up, thanks.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 2/3] drm/amd/display: Fix fast updates on DCE 8.1
2026-09-23 12:20 ` [PATCH 2/3] drm/amd/display: Fix fast updates on DCE 8.1 Timur Kristóf
@ 2026-09-23 19:51 ` Mario Limonciello
0 siblings, 0 replies; 6+ messages in thread
From: Mario Limonciello @ 2026-09-23 19:51 UTC (permalink / raw)
To: Timur Kristóf, amd-gfx, Alexander.Deucher, Natalie Vock,
Melissa Wen, Harry Wentland, Michel Dänzer, Tvrtko Ursulin,
Leo Li, Dan Wheeler, Ivan Lipski, Alex Hung, Alvin Lee,
Dominik Kaszewski
On 9/23/26 07:20, Timur Kristóf wrote:
> DCE8 should use legacy fast updates.
> This was already set for DCE 8.0 and 8.3, but it seems
> that DCE 8.1 (found in Kaveri chips) was forgotten.
>
> This fix should be backported to all kernel versions that
> have "Refactor fast update to use new HWSS build sequence",
> but this patch won't apply cleanly to older kernels due to
> another refactor in "Remove dc param from check_update".
>
> Fixes: 0baae6246307 ("drm/amd/display: Refactor fast update to use new HWSS build sequence")
> Fixes: 9ec11bb842b6 ("drm/amd/display: Remove dc param from check_update")
> Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
> ---
> drivers/gpu/drm/amd/display/dc/resource/dce80/dce80_resource.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/gpu/drm/amd/display/dc/resource/dce80/dce80_resource.c b/drivers/gpu/drm/amd/display/dc/resource/dce80/dce80_resource.c
> index 26820d35478a..2f4de697ec4b 100644
> --- a/drivers/gpu/drm/amd/display/dc/resource/dce80/dce80_resource.c
> +++ b/drivers/gpu/drm/amd/display/dc/resource/dce80/dce80_resource.c
> @@ -1148,6 +1148,8 @@ static bool dce81_construct(
> dc->caps.max_cursor_size = 128;
> dc->caps.min_horizontal_blanking_period = 80;
> dc->caps.is_apu = true;
> + dc->debug = debug_defaults;
> + dc->check_config = config_defaults;
>
> /*************************************************
> * Create resources *
Reviewed-by: Mario Limonciello <mario.limonciello@amd.com>
I'll get this queued up, thanks.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 3/3] drm/amd/display: Mark DCE 6.4 as not APU
2026-09-23 12:20 ` [PATCH 3/3] drm/amd/display: Mark DCE 6.4 as not APU Timur Kristóf
@ 2026-09-23 19:52 ` Mario Limonciello
0 siblings, 0 replies; 6+ messages in thread
From: Mario Limonciello @ 2026-09-23 19:52 UTC (permalink / raw)
To: Timur Kristóf, amd-gfx, Alexander.Deucher, Natalie Vock,
Melissa Wen, Harry Wentland, Michel Dänzer, Tvrtko Ursulin,
Leo Li, Dan Wheeler, Ivan Lipski, Alex Hung, Alvin Lee,
Dominik Kaszewski
On 9/23/26 07:20, Timur Kristóf wrote:
> DCE 6.4 is found in Oland chips, which were advertised
> as low-end gaming GPUs in 2013~2015 and then have been
> sold as low-end workstation GPUs until 2017~2019.
>
> These are not APUs.
>
> Fixes: 7c15fd86aaec ("drm/amd/display: dc/dce: add initial DCE6 support (v10)")
> Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
> ---
> drivers/gpu/drm/amd/display/dc/resource/dce60/dce60_resource.c | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/display/dc/resource/dce60/dce60_resource.c b/drivers/gpu/drm/amd/display/dc/resource/dce60/dce60_resource.c
> index 8612cc66a6ba..65c7dae3ff66 100644
> --- a/drivers/gpu/drm/amd/display/dc/resource/dce60/dce60_resource.c
> +++ b/drivers/gpu/drm/amd/display/dc/resource/dce60/dce60_resource.c
> @@ -1341,7 +1341,6 @@ static bool dce64_construct(
> dc->caps.max_downscale_ratio = 200;
> dc->caps.i2c_speed_in_khz = 40;
> dc->caps.max_cursor_size = 64;
> - dc->caps.is_apu = true;
> dc->debug = debug_defaults;
> dc->check_config = config_defaults;
>
Reviewed-by: Mario Limonciello <mario.limonciello@amd.com>
I'll get this queued up, thanks.
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2026-09-23 19:52 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-23 12:20 [PATCH 1/3] drm/amd/display: Fix fast updates on DCE 6.x Timur Kristóf
2026-09-23 12:20 ` [PATCH 2/3] drm/amd/display: Fix fast updates on DCE 8.1 Timur Kristóf
2026-09-23 19:51 ` Mario Limonciello
2026-09-23 12:20 ` [PATCH 3/3] drm/amd/display: Mark DCE 6.4 as not APU Timur Kristóf
2026-09-23 19:52 ` Mario Limonciello
2026-09-23 19:51 ` [PATCH 1/3] drm/amd/display: Fix fast updates on DCE 6.x Mario Limonciello
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox