Bug 58121

Summary: Radeon SUMO: LVDS panel blanks when enabling external monitor
Product: Drivers Reporter: Niels Ole Salscheider (niels_ole)
Component: Video(DRI - non Intel)Assignee: drivers_video-dri
Status: NEW ---    
Severity: normal CC: alan, alexdeucher, huangjiayao_1992, niels_ole, szg00000
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 3.14 Subsystem:
Regression: No Bisected commit-id:
Attachments: dmesg with drm.debug=4
Xorg.0.log
Possible fix
updated version of the patch

Description Niels Ole Salscheider 2013-05-14 10:23:21 UTC
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.
Comment 1 Niels Ole Salscheider 2013-05-14 10:23:54 UTC
Created attachment 101421 [details]
Xorg.0.log
Comment 2 Alex Deucher 2013-05-14 12:42:31 UTC
Is this a regression?
Comment 3 Niels Ole Salscheider 2013-05-14 20:22:53 UTC
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.
Comment 4 黄家垚 2013-09-12 03:03:44 UTC
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.
Comment 5 Alex Deucher 2013-11-13 20:36:47 UTC
(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?
Comment 6 Niels Ole Salscheider 2014-02-25 10:29:07 UTC
Created attachment 127381 [details]
Possible fix

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.
Comment 7 Alex Deucher 2014-02-25 15:27:16 UTC
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.