diff mbox

drm/radeon: initialize AFMT blocks on DCE6

Message ID 1375289513-3328-1-git-send-email-zajec5@gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Rafał Miłecki July 31, 2013, 4:51 p.m. UTC
So far it was tested on HD7750 (DCE6) only. For DCE61 and DCE64 I
assumed that amount of AFMTs equals amount of display controllers.

Signed-off-by: Rafa? Mi?ecki <zajec5@gmail.com>
---
This patch depends on
[PATCH] drm/radeon: use loop for initializing AFMT blocks
---
 drivers/gpu/drm/radeon/radeon_display.c |   16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)
diff mbox

Patch

diff --git a/drivers/gpu/drm/radeon/radeon_display.c b/drivers/gpu/drm/radeon/radeon_display.c
index 31d9fbe..885fce1 100644
--- a/drivers/gpu/drm/radeon/radeon_display.c
+++ b/drivers/gpu/drm/radeon/radeon_display.c
@@ -1267,9 +1267,19 @@  static void radeon_afmt_init(struct radeon_device *rdev)
 		};
 		int num_afmt;
 
-		/* DCE4/5 has 6 audio blocks tied to DIG encoders */
-		/* DCE4.1 has 2 audio blocks tied to DIG encoders */
-		if (ASIC_IS_DCE5(rdev))
+		/*
+		 * DCE64 and DCE61 are just guesses
+		 * DCE6 was verified to have 6th AFMT using HD7750
+		 * DCE4/5 has 6 audio blocks tied to DIG encoders
+		 * DCE4.1 has 2 audio blocks tied to DIG encoders
+		 */
+		if (ASIC_IS_DCE64(rdev))
+			num_afmt = 2;
+		else if (ASIC_IS_DCE61(rdev))
+			num_afmt = 4;
+		else if (ASIC_IS_DCE6(rdev))
+			num_afmt = 6;
+		else if (ASIC_IS_DCE5(rdev))
 			num_afmt = 6;
 		else if (ASIC_IS_DCE41(rdev))
 			num_afmt = 2;