On Wed, 2 Apr 2025 at 15:00, Gergo Koteles <so...@irl.hu> wrote: > > to: Dmitry's new address > cc: regressions > > On Wed, 2025-04-02 at 12:40 +0200, Gergo Koteles wrote: > > Hi, > > > > While playing with > > https://lore.kernel.org/all/61c3df83ab73aba0bc7a941a443cd7faf4cf7fb0.1743195250.git.so...@irl.hu/ > > > > I found a regression that prevented some EDID DTDs from being selected > > in some specific cases. > > > > This is the first bad commit: > > b255ce4 ("drm/amdgpu: don't change mode in > > amdgpu_dm_connector_mode_valid()") > > > > I think the problem is that decide_crtc_timing_for_drm_display_mode() > > function tries to copy the crtc information from the preferred mode, > > but that's not filled yet if the first one is the preferred one and > > it's not the one with the maximum refresh rate. > > > > amdgpu_dm_connector_mode_valid() > > create_validate_stream_for_sink() > > create_stream_for_sink() > > decide_crtc_timing_for_drm_display_mode(&mode, preferred_mode, scale) > > > > It works if I call > > drm_mode_set_crtcinfo((struct drm_display_mode *)mode, 0) before > > create_validate_stream_for_sink() > > in amdgpu_dm_connector_mode_valid() > > > > or > > > > if I comment out the decide_crtc_timing_for_drm_display_mode() in > > create_stream_for_sink() > > > > but a better fix than these can be imagined :)
Would it help if you force recalculate_timings to be true if (drm_mode->crtc_clock == 0) > > > > more information: > > https://gitlab.freedesktop.org/drm/amd/-/issues/4085 > > > > Regards, > > Gergo > > > -- With best wishes Dmitry