It was succesfully tested on HD7750 (DCE6).

Signed-off-by: Rafa? Mi?ecki <zajec5 at gmail.com>
---
V2: Update comments, change DCE61 AFMTs amount to 6
---
 drivers/gpu/drm/radeon/radeon_display.c |   15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/radeon/radeon_display.c 
b/drivers/gpu/drm/radeon/radeon_display.c
index 31d9fbe..8da4fc6 100644
--- a/drivers/gpu/drm/radeon/radeon_display.c
+++ b/drivers/gpu/drm/radeon/radeon_display.c
@@ -1267,9 +1267,18 @@ 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 most probably has just 2 AFMTs
+                * DCE61 supports 6 DIG encoders, so should have 6 AFMTs
+                * 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_DCE6(rdev))
+                       num_afmt = 6;
+               else if (ASIC_IS_DCE5(rdev))
                        num_afmt = 6;
                else if (ASIC_IS_DCE41(rdev))
                        num_afmt = 2;
-- 
1.7.10.4

Reply via email to