Hi Harry & Daniel, I apologize, I just realized that I forgot to copy you directly on these series. Can you please take a look and review?
DC: don't overclock DCE 6-10 and other fixes https://lists.freedesktop.org/archives/amd-gfx/2025-July/128002.html drm/amd/display: Fix DP audio DTO1 clock source on DCE 6. https://lists.freedesktop.org/archives/amd-gfx/2025-August/128101.html DC: Fix page flip timeouts on DCE 6 https://lists.freedesktop.org/archives/amd-gfx/2025-August/128102.html Thanks & best regards, Timur On Thu, 2025-07-31 at 11:43 +0200, Timur Kristóf wrote: > This series fixes various issues that I found while trying to > get old GPUs with DCE 6 to work well with DC. > > The most important part of this series is tweaking how > the engine clock is set on DCE 6-10. > > For DCE 6 the maximum according to max_clks_by_state is 600 Mhz, > but dce60_validate_bandwidth sets it to 681 MHz, and then > dce60_update_clocks further increases it by 15%, resulting in > a whopping 783 MHz, which is overall 30% more than what the > hardware was supposed to handle. My Tahiti GPU didn't even boot > with DC enabled with that clock setting. > There is a similar issue with DCE 8-10 too, additionally the > dce80_max_clks_by_state data seems to be incorrect, so I changed > the maximum to 625 MHz for DCE 8-10, which is what the legacy > code uses. > > I tested these changes and made sure 4K 60Hz (10 bit) output > still works with them on the following GPUs: > > * Tahiti (DCE 6) > * Oland (DCE 6.4) > * Hawaii (DCE 8) > * Tonga, Fiji (DCE 10) > > I would appreciate if someone from AMD could confirm what the > maximum display engine clocks for these parts really are. > > Other than that, the rest of the series deals with some > ligher problems: > > There are patches to fill the display information on DCE 6-10 > (previously only filled on DCE 11), such as the first CRTC and > its line time, as well as vblank time, display clock etc. > These are going to be needed for DPM. > > It also removes some errors and warnings from the logs which > are caused by the VBIOS on old GPUs reporting some information > differently, namely some VBIOS seem to lack encoder capability > entries for some connectors, as well as the actual amount of > connectors on the GPU not matching the number of entries > reported by the VBIOS. > The DC code base already handles these cases well. They are > not actually errors, so we shouldn't spam the logs with them. > > Finally, there is also a fix for set_pixel_clock_v3 which > works slightly differently than the other versions. > > Timur Kristóf (7): > drm/amd/display: Don't overclock DCE 6 by 15% > drm/amd/display: Adjust DCE 8-10 clock, don't overclock by 15% > drm/amd/display: Find first CRTC and its line time in > dce110_fill_display_configs > drm/amd/display: Fill display clock and vblank time in > dce110_fill_display_configs > drm/amd/display: Don't warn when missing DCE encoder caps > drm/amd/display: Don't print errors for nonexistent connectors > drm/amd/display: Fix fractional fb divider in set_pixel_clock_v3 > > .../gpu/drm/amd/display/dc/bios/bios_parser.c | 5 +-- > .../drm/amd/display/dc/bios/command_table.c | 2 +- > .../display/dc/clk_mgr/dce100/dce_clk_mgr.c | 14 +++---- > .../dc/clk_mgr/dce110/dce110_clk_mgr.c | 40 +++++++++++------ > -- > .../display/dc/clk_mgr/dce60/dce60_clk_mgr.c | 10 ++--- > drivers/gpu/drm/amd/display/dc/core/dc.c | 15 ++++++- > .../drm/amd/display/dc/dce/dce_link_encoder.c | 8 ++-- > 7 files changed, 51 insertions(+), 43 deletions(-)