diff options
| author | Alex Deucher <alexdeucher@gmail.com> | 2014-04-08 11:28:54 -0400 |
|---|---|---|
| committer | Christian König <christian.koenig@amd.com> | 2014-04-08 11:43:48 -0400 |
| commit | be0949f5eb9c8133a05cf25f108f09e85e79cd32 (patch) | |
| tree | ac46b2e056e7484620ed5096ecbdb26f882141a3 | |
| parent | 379dfc25e257ffe10eb53b86d2375f7c0f4f33ef (diff) | |
drm/radeon: fix audio pin counts for DCE6+ (v2)
There is actually quite a bit of variance based on
the asic.
v2: fix typo noticed by Jerome.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Christian König <christian.koenig@amd.com>
Cc: stable@vger.kernel.org
| -rw-r--r-- | drivers/gpu/drm/radeon/dce6_afmt.c | 14 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/radeon.h | 5 |
2 files changed, 14 insertions, 5 deletions
diff --git a/drivers/gpu/drm/radeon/dce6_afmt.c b/drivers/gpu/drm/radeon/dce6_afmt.c index 94e858751994..0a65dc7e93e7 100644 --- a/drivers/gpu/drm/radeon/dce6_afmt.c +++ b/drivers/gpu/drm/radeon/dce6_afmt.c | |||
| @@ -309,11 +309,17 @@ int dce6_audio_init(struct radeon_device *rdev) | |||
| 309 | 309 | ||
| 310 | rdev->audio.enabled = true; | 310 | rdev->audio.enabled = true; |
| 311 | 311 | ||
| 312 | if (ASIC_IS_DCE8(rdev)) | 312 | if (ASIC_IS_DCE81(rdev)) /* KV: 4 streams, 7 endpoints */ |
| 313 | rdev->audio.num_pins = 7; | ||
| 314 | else if (ASIC_IS_DCE83(rdev)) /* KB: 2 streams, 3 endpoints */ | ||
| 315 | rdev->audio.num_pins = 3; | ||
| 316 | else if (ASIC_IS_DCE8(rdev)) /* BN/HW: 6 streams, 7 endpoints */ | ||
| 317 | rdev->audio.num_pins = 7; | ||
| 318 | else if (ASIC_IS_DCE61(rdev)) /* TN: 4 streams, 6 endpoints */ | ||
| 313 | rdev->audio.num_pins = 6; | 319 | rdev->audio.num_pins = 6; |
| 314 | else if (ASIC_IS_DCE61(rdev)) | 320 | else if (ASIC_IS_DCE64(rdev)) /* OL: 2 streams, 2 endpoints */ |
| 315 | rdev->audio.num_pins = 4; | 321 | rdev->audio.num_pins = 2; |
| 316 | else | 322 | else /* SI: 6 streams, 6 endpoints */ |
| 317 | rdev->audio.num_pins = 6; | 323 | rdev->audio.num_pins = 6; |
| 318 | 324 | ||
| 319 | for (i = 0; i < rdev->audio.num_pins; i++) { | 325 | for (i = 0; i < rdev->audio.num_pins; i++) { |
diff --git a/drivers/gpu/drm/radeon/radeon.h b/drivers/gpu/drm/radeon/radeon.h index f21db7a0b34d..05b08e16e1f5 100644 --- a/drivers/gpu/drm/radeon/radeon.h +++ b/drivers/gpu/drm/radeon/radeon.h | |||
| @@ -739,7 +739,7 @@ union radeon_irq_stat_regs { | |||
| 739 | struct cik_irq_stat_regs cik; | 739 | struct cik_irq_stat_regs cik; |
| 740 | }; | 740 | }; |
| 741 | 741 | ||
| 742 | #define RADEON_MAX_HPD_PINS 6 | 742 | #define RADEON_MAX_HPD_PINS 7 |
| 743 | #define RADEON_MAX_CRTCS 6 | 743 | #define RADEON_MAX_CRTCS 6 |
| 744 | #define RADEON_MAX_AFMT_BLOCKS 7 | 744 | #define RADEON_MAX_AFMT_BLOCKS 7 |
| 745 | 745 | ||
| @@ -2631,6 +2631,9 @@ void r100_pll_errata_after_index(struct radeon_device *rdev); | |||
| 2631 | #define ASIC_IS_DCE64(rdev) ((rdev->family == CHIP_OLAND)) | 2631 | #define ASIC_IS_DCE64(rdev) ((rdev->family == CHIP_OLAND)) |
| 2632 | #define ASIC_IS_NODCE(rdev) ((rdev->family == CHIP_HAINAN)) | 2632 | #define ASIC_IS_NODCE(rdev) ((rdev->family == CHIP_HAINAN)) |
| 2633 | #define ASIC_IS_DCE8(rdev) ((rdev->family >= CHIP_BONAIRE)) | 2633 | #define ASIC_IS_DCE8(rdev) ((rdev->family >= CHIP_BONAIRE)) |
| 2634 | #define ASIC_IS_DCE81(rdev) ((rdev->family == CHIP_KAVERI)) | ||
| 2635 | #define ASIC_IS_DCE82(rdev) ((rdev->family == CHIP_BONAIRE)) | ||
| 2636 | #define ASIC_IS_DCE83(rdev) ((rdev->family == CHIP_KABINI)) | ||
| 2634 | 2637 | ||
| 2635 | #define ASIC_IS_LOMBOK(rdev) ((rdev->ddev->pdev->device == 0x6849) || \ | 2638 | #define ASIC_IS_LOMBOK(rdev) ((rdev->ddev->pdev->device == 0x6849) || \ |
| 2636 | (rdev->ddev->pdev->device == 0x6850) || \ | 2639 | (rdev->ddev->pdev->device == 0x6850) || \ |
