OSDN Git Service

drm/amdgpu: add ELM/BAF DCE11 configs (v2)
authorAlex Deucher <alexander.deucher@amd.com>
Wed, 14 Oct 2015 21:17:15 +0000 (17:17 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 5 May 2016 00:23:28 +0000 (20:23 -0400)
Add support for the display configuration on elm/baf.

v2: add missing Stoney case

Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
drivers/gpu/drm/amd/amdgpu/dce_v11_0.c

index 89aab0a..613cc98 100644 (file)
@@ -1580,7 +1580,20 @@ static int dce_v11_0_audio_init(struct amdgpu_device *adev)
 
        adev->mode_info.audio.enabled = true;
 
 
        adev->mode_info.audio.enabled = true;
 
-       adev->mode_info.audio.num_pins = 7;
+       switch (adev->asic_type) {
+       case CHIP_CARRIZO:
+       case CHIP_STONEY:
+               adev->mode_info.audio.num_pins = 7;
+               break;
+       case CHIP_ELLESMERE:
+               adev->mode_info.audio.num_pins = 8;
+               break;
+       case CHIP_BAFFIN:
+               adev->mode_info.audio.num_pins = 6;
+               break;
+       default:
+               return -EINVAL;
+       }
 
        for (i = 0; i < adev->mode_info.audio.num_pins; i++) {
                adev->mode_info.audio.pin[i].channels = -1;
 
        for (i = 0; i < adev->mode_info.audio.num_pins; i++) {
                adev->mode_info.audio.pin[i].channels = -1;
@@ -2900,6 +2913,16 @@ static int dce_v11_0_early_init(void *handle)
                adev->mode_info.num_hpd = 6;
                adev->mode_info.num_dig = 9;
                break;
                adev->mode_info.num_hpd = 6;
                adev->mode_info.num_dig = 9;
                break;
+       case CHIP_ELLESMERE:
+               adev->mode_info.num_crtc = 6;
+               adev->mode_info.num_hpd = 6;
+               adev->mode_info.num_dig = 6;
+               break;
+       case CHIP_BAFFIN:
+               adev->mode_info.num_crtc = 5;
+               adev->mode_info.num_hpd = 5;
+               adev->mode_info.num_dig = 5;
+               break;
        default:
                /* FIXME: not supported yet */
                return -EINVAL;
        default:
                /* FIXME: not supported yet */
                return -EINVAL;