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@xxxxxxxxx> --- 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 --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; -- 1.7.10.4 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel