https://bugzilla.kernel.org/show_bug.cgi?id=200645
Bug ID: 200645 Summary: 4.18-rc regression bisected to e03fd3f30: amdgpu polaris11/rx460 only activates on one output/monitor of two Product: Drivers Version: 2.5 Kernel Version: 4.18-rc1-4.18-rc6+ Hardware: All OS: Linux Tree: Mainline Status: NEW Severity: normal Priority: P1 Component: Video(DRI - non Intel) Assignee: drivers_video-dri@kernel-bugs.osdl.org Reporter: 1i5t5.duncan@cox.net Regression: No
Created attachment 277487 --> https://bugzilla.kernel.org/attachment.cgi?id=277487&action=edit dmesg booting with the bad commit
I have a dual-monitor setup connected to my polaris11/rx460, both actually TVs, an older 48" full-HD 1920x1080 connected to DVI-D-0, and a newer 65" 4k 3840x2160 connected to HDMI-A-0 (outputs as reported by xrandr).
In drmfb mode I want them both at 1920x1080 resolution, so I have this set as part of the kernel-config built-in commandline to force 1920x1080 on the 4k: video=HDMI-A-1:1920x1080 (note that here it's HDMI-A-1, while X calls it HDMI-A-0)
On 4.17.0, both outputs/monitors work well.
On 4.18-rcs, only the 4k monitor (on the HDMI output) works. The full-HD on the DVI output displays the BIOS messages, grub, and early-pre-fb-kernel messages, but gets no signal when the framebuffer loads. If I start X/kde/plasma and run xrandr, it lists the output as connected but with no modes. If I try to activate it via xrandr, it says there's no modes.
Bisecting gets me this:
commit e03fd3f300f6184c1264186a4c815e93bf658abb (refs/bisect/bad) Author: Mikita Lipski mikita.lipski@amd.com Date: Wed May 16 16:46:18 2018 -0400
drm/amd/display: Do not limit color depth to 8bpc
Delete if statement that would force any display's color depth higher than 8 bpc to 8
Signed-off-by: Mikita Lipski mikita.lipski@amd.com Reviewed-by: Harry Wentland Harry.Wentland@amd.com Signed-off-by: Alex Deucher alexander.deucher@amd.com
diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c index 1ce10bc2d..52e57b52c 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c @@ -2095,12 +2095,6 @@ convert_color_depth_from_display_info(const struct drm_connector *connector) { uint32_t bpc = connector->display_info.bpc; - /* Limited color depth to 8bit - * TODO: Still need to handle deep color - */ - if (bpc > 8) - bpc = 8; - switch (bpc) { case 0: /* Temporary Work around, DRM don't parse color depth for
--- snip ---
So presumably the full-HD on the DVI has the wrong color depth for some reason and forcing it to 8bpc works, while allowing it to run what it has without that if breaks it.
dmesg booting the bad commit is attached.