lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <ed09edb167e74167a694f4854102a3de6d2f1433.camel@irl.hu>
Date: Wed, 02 Apr 2025 12:40:53 +0200
From: Gergo Koteles <soyer@....hu>
To: Dmitry Baryshkov <dmitry.baryshkov@...aro.org>
Cc: dri-devel@...ts.freedesktop.org, linux-kernel@...r.kernel.org,
  amd-gfx@...ts.freedesktop.org, Hans de Goede <hdegoede@...hat.com>,
  Alex Deucher <alexander.deucher@....com>,
  Mario Limonciello <mario.limonciello@....com>,
  Alex Hung <alex.hung@....com>,
  Harry Wentland <harry.wentland@....com>
Subject: amdgpu_dm_connector_mode_valid regression

Hi,

While playing with
https://lore.kernel.org/all/61c3df83ab73aba0bc7a941a443cd7faf4cf7fb0.1743195250.git.soyer@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 :)

more information:
https://gitlab.freedesktop.org/drm/amd/-/issues/4085

Regards,
Gergo


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ