I already managed to bisect the kernel using much more crude means, as I
was not aware of these nice tricks - thanks! :)
Here is the bisect log I got:
git bisect start
# status: waiting for both good and bad commits
# bad: [ff2177382799753070b71747f646963147eabc7c] Linux 6.12.69
git bisect bad ff2177382799753070b71747f646963147eabc7c
# status: waiting for good commit(s), bad commit known
# good: [567bd8cbc2fe6b28b78864cbbbc41b0d405eb83c] Linux 6.12.63
git bisect good 567bd8cbc2fe6b28b78864cbbbc41b0d405eb83c
# good: [ebdbe19336f26ffe799db842d751745098dc11ff] ASoC: renesas:
rz-ssi: Fix rz_ssi_priv::hw_params_cache::sample_width
git bisect good ebdbe19336f26ffe799db842d751745098dc11ff
# bad: [e79b03d386341e85a4f775e0a864e8aa7633a0a2] HID: intel-ish-hid:
Use dedicated unbound workqueues to prevent resume blocking
git bisect bad e79b03d386341e85a4f775e0a864e8aa7633a0a2
# good: [feb28b6827ece47cce585599a00b02ee579532bc] powercap: fix
sscanf() error return value handling
git bisect good feb28b6827ece47cce585599a00b02ee579532bc
# good: [68495f89a19b6835e388b89b2ffecc0c68f9666c] selftests/landlock:
Fix TCP bind(AF_UNSPEC) test case
git bisect good 68495f89a19b6835e388b89b2ffecc0c68f9666c
# good: [4433ddc3700cea880c383a6ddfc0e2ab697f9bdf] EDAC/x38: Fix a
resource leak in x38_probe1()
git bisect good 4433ddc3700cea880c383a6ddfc0e2ab697f9bdf
# bad: [94b010200a3c9a8420a9063344cedbcd71794c8f] LoongArch: dts:
loongson-2k0500: Add default interrupt controller address cells
git bisect bad 94b010200a3c9a8420a9063344cedbcd71794c8f
# good: [654fa76032eee5df9ce8849bdff840595952c63d] mm/page_alloc: make
percpu_pagelist_high_fraction reads lock-free
git bisect good 654fa76032eee5df9ce8849bdff840595952c63d
# bad: [8140ac7c55e75093a01c6110a2c4025fe7177c57] drm/amd: Clean up kfd
node on surprise disconnect
git bisect bad 8140ac7c55e75093a01c6110a2c4025fe7177c57
# good: [df7a49b328928b6d6b174d954d63721d6f3848a2] LoongArch: Fix PMU
counter allocation for mixed-type event groups
git bisect good df7a49b328928b6d6b174d954d63721d6f3848a2
# bad: [ae5b1d291c814a2884c3d54a56e83bc99052b1eb] drm/amd/display: Bump
the HDMI clock to 340MHz
git bisect bad ae5b1d291c814a2884c3d54a56e83bc99052b1eb
# first bad commit: [ae5b1d291c814a2884c3d54a56e83bc99052b1eb]
drm/amd/display: Bump the HDMI clock to 340MHz
The bad commit certainly seems related:
commit ae5b1d291c814a2884c3d54a56e83bc99052b1eb (HEAD)
Author: Mario Limonciello <[email protected]>
Date: Mon Dec 15 14:08:30 2025 -0600
drm/amd/display: Bump the HDMI clock to 340MHz
commit fee50077656d8a58011f13bca48f743d1b6d6015 upstream.
[Why]
DP-HDMI dongles can execeed bandwidth requirements on high resolution
monitors. This can lead to pruning the high resolution modes.
HDMI 1.3 bumped the clock to 340MHz, but display code never matched it.
[How]
Set default to (DVI) 165MHz. Once HDMI display is identified update
to 340MHz.
Reported-by: Dianne Skoll <[email protected]>
Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/4780
Reviewed-by: Chris Park <[email protected]>
Signed-off-by: Mario Limonciello <[email protected]>
Signed-off-by: Matthew Stewart <[email protected]>
Tested-by: Dan Wheeler <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
(cherry picked from commit ac1e65d8ade46c09fb184579b81acadf36dcb91e)
Cc: [email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
diff --git a/drivers/gpu/drm/amd/display/dc/dc_hdmi_types.h
b/drivers/gpu/drm/amd/display/dc/dc_hdmi_types.h
index b015e80672ec..fcd3ab4b0045 100644
--- a/drivers/gpu/drm/amd/display/dc/dc_hdmi_types.h
+++ b/drivers/gpu/drm/amd/display/dc/dc_hdmi_types.h
@@ -41,7 +41,7 @@
/* kHZ*/
#define DP_ADAPTOR_DVI_MAX_TMDS_CLK 165000
/* kHZ*/
-#define DP_ADAPTOR_HDMI_SAFE_MAX_TMDS_CLK 165000
+#define DP_ADAPTOR_HDMI_SAFE_MAX_TMDS_CLK 340000
struct dp_hdmi_dongle_signature_data {
int8_t id[15];/* "DP-HDMI ADAPTOR"*/
diff --git a/drivers/gpu/drm/amd/display/dc/link/link_detection.c
b/drivers/gpu/drm/amd/display/dc/link/link_detection.c
index b6951d7dab49..4e1035c28e18 100644
--- a/drivers/gpu/drm/amd/display/dc/link/link_detection.c
+++ b/drivers/gpu/drm/amd/display/dc/link/link_detection.c
@@ -329,7 +329,7 @@ static void query_dp_dual_mode_adaptor(
/* Assume we have no valid DP passive dongle connected */
*dongle = DISPLAY_DONGLE_NONE;
- sink_cap->max_hdmi_pixel_clock = DP_ADAPTOR_HDMI_SAFE_MAX_TMDS_CLK;
+ sink_cap->max_hdmi_pixel_clock = DP_ADAPTOR_DVI_MAX_TMDS_CLK;
/* Read DP-HDMI dongle I2c (no response interpreted as DP-DVI
dongle)*/
if (!i2c_read(
@@ -385,6 +385,8 @@ static void query_dp_dual_mode_adaptor(
}
}
+ if (is_valid_hdmi_signature)
+ sink_cap->max_hdmi_pixel_clock =
DP_ADAPTOR_HDMI_SAFE_MAX_TMDS_CLK;
if (is_type2_dongle) {
uint32_t max_tmds_clk =