Summary: | [Regression] Tonga can't bring up > 1 display since DC enablement | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | DRI | Reporter: | Lyude Paul <lyude> | ||||||||||||
Component: | DRM/AMDgpu | Assignee: | Default DRI bug account <dri-devel> | ||||||||||||
Status: | RESOLVED MOVED | QA Contact: | |||||||||||||
Severity: | major | ||||||||||||||
Priority: | medium | CC: | harry.wentland, mikita.lipski | ||||||||||||
Version: | DRI git | ||||||||||||||
Hardware: | Other | ||||||||||||||
OS: | All | ||||||||||||||
Whiteboard: | |||||||||||||||
i915 platform: | i915 features: | ||||||||||||||
Attachments: |
|
Additionally I should note: disabling dc with amdgpu.dc=0 does workaround the problem What display types are you trying to use? Using dongles? (In reply to Alex Deucher from comment #2) > What display types are you trying to use? Using dongles? On my home setup (which this was also seen with), nothing special. Just two 1080p DVI displays and one 1080p HDMI display. I've managed to reproduce it at work with a similar setup as well (although there's one passive HDMI-DVI adaptor in the mix, but I'd be surprised if that made a difference). It only ever seems to happen with >1 display though Still looking into this and have made a tiny bit of progress. A couple of things to note: - I've reproduced this with two monitors, but it's far more likely to occur with three. So, just use three - Whenever the problem happens, it seems that the atomic commit actually fails (specifically, at drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c:4651 . I thought this might be another userspace issue like one I fixed with X recently, but I wouldn't expect that to be triggerable through legacy modesetting...) which causes the DC streams to not be created which causes the warning message you saw in the earlier log don't know much more then that yet, but I'll keep you updated I'm also seeing the splats from drivers/gpu/drm/amd/display/dc/dce100/dce100_hw_sequencer.c:154 in dce100_set_bandwidth. For me, they happen when the single display connected via DVI is turned off. (I haven't noticed any issues other than the dmesg splats) These were introduced by commit 308425ff39dc "drm/amd/display: redesign dce/dcn clock voltage update request". (In reply to Lyude Paul from comment #3) > Just two 1080p DVI displays and one 1080p HDMI display. The hardware only supports two non-DP displays, so unless one of those involves an active adapter from DP, not sure how that could work. I have just (In reply to mikita.lipski@amd.com from comment #6) > I have just ??? Created attachment 140625 [details] [review] Don't share clk source between DP and other connectors Hi Paul, sorry for the previous comment that was a part of the message for another bug. Anyways, I was able to reproduce a similar issue as yours with 4 connectors plugged and only 2 would light up. But in my case it was caused by DP and HDMI sharing the same clock source, but since you're not using DP I wonder, what could have caused an issue for you. I'm attaching 3 experimental patches: 1. 0001-drm-amdgpu-display-Don-t-share-clk-source-between-DP-an.patch This patch should fix the issue for DP connection with Tonga 2.0001-drm-amdgpu-display-update-clk-for-various-HDMI-color.patch Allows programming of HDMI2.0 and later on Tonga 3. 0001-Disable-source-clock-sharing-between-multiple-connec.patch Disable clock sharing by an early return Can you try if any of them work for you? Thanks Created attachment 140626 [details] [review] Update pix clk for HDMI connector with deep color Created attachment 140627 [details] [review] Disable clock source sharing (In reply to Mikita Lipski from comment #10) > Created attachment 140627 [details] [review] [review] > Disable clock source sharing Firing up an RPM build now, will have the results in a little bit Created attachment 140629 [details] dmesg after fix So the patch actually works, hooray! There are some pretty annoying dmesg warnings leftover though, I've linked to them in my dmesg For the other patches: Tested-by: Lyude Paul <lyude@redhat.com> Which patch did you try? Or did you apply all of them? Warnings: hmm, haven't seen those before, seems like something new got exposed. Will look into them more in depth. (In reply to Mikita Lipski from comment #13) > Which patch did you try? Or did you apply all of them? > > Warnings: hmm, haven't seen those before, seems like something new got > exposed. Will look into them more in depth. I applied all of them, yeah Could you try building without the last patch if possible: 0001-Disable-source-clock-sharing-between-multiple-connec.patch . Thanks (In reply to Mikita Lipski from comment #15) > Could you try building without the last patch if possible: > 0001-Disable-source-clock-sharing-between-multiple-connec.patch . > > Thanks Nope, doesn't get rid of the warning :(, just makes the screens stop coming back up -- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/drm/amd/issues/432. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.
Created attachment 140384 [details] Aforementioned dmesg Since DC got enabled for my GPU (R9 380 Tonga from Gigabyte, 22:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Tonga PRO [Radeon R9 285/380] [1002:6939] (rev f1)) I haven't been able to bring up more then a single display at a time. More then one display usually results in at least one display turning on, one other display possibly turning on but only showing purple and another not turning on, or one display works and the other two just don't come up at all. Additionally, my dmesg is filled with spam from amdgpu (see attachment). I've confirmed this still seems to be present in amdgpu's drm-next-4.19, and it seems to be caused by the fact that none of the dc_states in the function mentioned in the WARN_ON() actually have a stream assigned to them. I'm currently swimming in a sea of bugs though, so any help would be appreciated :).