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 =

Reply via email to