]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
drm/radeon: don't share plls if monitors differ in audio support
authorAlex Deucher <alexander.deucher@amd.com>
Tue, 26 May 2015 22:01:05 +0000 (18:01 -0400)
committerSasha Levin <sasha.levin@oracle.com>
Wed, 10 Jun 2015 17:42:43 +0000 (13:42 -0400)
[ Upstream commit a10f0df0615abb194968fc08147f3cdd70fd5aa5 ]

Enabling audio may enable different pll dividers.  Don't share
plls if the monitors differ in audio support.

bug:
https://bugzilla.kernel.org/show_bug.cgi?id=98751

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
drivers/gpu/drm/radeon/atombios_crtc.c

index 5d73e5f3845da54fad5e894d1cb9bdf9a8ef9643..4f9ec36698f71bf8f85f2f59c8ce153300d89f3b 100644 (file)
@@ -1789,7 +1789,9 @@ static int radeon_get_shared_nondp_ppll(struct drm_crtc *crtc)
                        if ((crtc->mode.clock == test_crtc->mode.clock) &&
                            (adjusted_clock == test_adjusted_clock) &&
                            (radeon_crtc->ss_enabled == test_radeon_crtc->ss_enabled) &&
-                           (test_radeon_crtc->pll_id != ATOM_PPLL_INVALID))
+                           (test_radeon_crtc->pll_id != ATOM_PPLL_INVALID) &&
+                           (drm_detect_monitor_audio(radeon_connector_edid(test_radeon_crtc->connector)) ==
+                            drm_detect_monitor_audio(radeon_connector_edid(radeon_crtc->connector))))
                                return test_radeon_crtc->pll_id;
                }
        }