Created attachment 101411 [details]
dmesg with drm.debug=4
When I enable both my LVDS panel and an external monitor (e.g. DP or VGA), my LVDS panel blanks.
This is on a radeon SUMO GPU (AMD A6-3410MX APU).
I have attached the dmesg output with drm.debug=4 and my Xorg.0.log.
Created attachment 101421 [details]
Is this a regression?
I thought so at first since I believe that I tested multihead after implementing 0a9069d34918659bc8a89e21e69e60b2b83291a3.
But now it does not work with older kernel versions, either.
This also appeared on my laptop(A6 3400M and A8 3500M) with Linux 3.5.0 to 3.11. For using external monitor, i can only use Linux 3.4.x. I an looking forward to use newer Linux kernel on my laptop.
(In reply to 黄家垚 from comment #4)
> This also appeared on my laptop(A6 3400M and A8 3500M) with Linux 3.5.0 to
> 3.11. For using external monitor, i can only use Linux 3.4.x. I an looking
> forward to use newer Linux kernel on my laptop.
Can you bisect?
Created attachment 127381 [details]
I tried a current git checkout and noticed that now only DisplayPort monitors cause the problem - VGA works fine.
After debugging the issue a bit further I noticed that the problem seems to be caused by a shared PLL between the bridge chip and the DP monitor.
The attached patch fixes the issue for me but I am not sure if we must not share PLLs at all or just not with the bridge chip.
Created attachment 127441 [details]
updated version of the patch
The patch looks good. We already disable PLL sharing for non-DP displays, so we should also disable it for DP displays as well. DCE4.1 only supports 2 displays anyway so sharing doesn't really buy us much. I updated the patch slightly to make the logic a little cleaner. I'll add it to my -fixes queue.