drm/radeon: add audio support for DCE6/8 GPUs (v12)
[linux-2.6-block.git] / drivers / gpu / drm / radeon / r600_hdmi.c
index f264df5470f7fd6bd0ba0cabf3d31e7396829c2b..e1dec133946192afd0ea3cd95f09f61af890c7f5 100644 (file)
@@ -382,7 +382,7 @@ void r600_hdmi_update_audio_settings(struct drm_encoder *encoder)
        struct radeon_device *rdev = dev->dev_private;
        struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
        struct radeon_encoder_atom_dig *dig = radeon_encoder->enc_priv;
-       struct r600_audio audio = r600_audio_status(rdev);
+       struct r600_audio_pin audio = r600_audio_status(rdev);
        uint8_t buffer[HDMI_INFOFRAME_HEADER_SIZE + HDMI_AUDIO_INFOFRAME_SIZE];
        struct hdmi_audio_infoframe frame;
        uint32_t offset;
@@ -491,6 +491,11 @@ void r600_hdmi_enable(struct drm_encoder *encoder, bool enable)
        if (!enable && !dig->afmt->enabled)
                return;
 
+       if (enable)
+               dig->afmt->pin = r600_audio_get_pin(rdev);
+       else
+               dig->afmt->pin = NULL;
+
        /* Older chipsets require setting HDMI and routing manually */
        if (!ASIC_IS_DCE3(rdev)) {
                if (enable)