drm/radeon: use sw CTS/N values for audio on DCE4+
authorAlex Deucher <alexander.deucher@amd.com>
Tue, 22 Oct 2013 14:46:59 +0000 (10:46 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 23 Oct 2013 20:25:12 +0000 (16:25 -0400)
Use the driver calculated CTS and N values rather than
having hardware generate them.  This allows us to use
the modeline pixel clock rather than the actual pll clock
when setting up the dto for audio.  Fixes problems with
audio playback rate on certain asics if the pll clock
does not match the pixel clock exactly.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/radeon/evergreen_hdmi.c

index fe1de855775ecca1491ced31f797f5cac6d05abc..57fcc4b16a526d166fd6be21955a86d5ee7d87dc 100644 (file)
@@ -291,6 +291,7 @@ void evergreen_hdmi_setmode(struct drm_encoder *encoder, struct drm_display_mode
        /* fglrx clears sth in AFMT_AUDIO_PACKET_CONTROL2 here */
 
        WREG32(HDMI_ACR_PACKET_CONTROL + offset,
+              HDMI_ACR_SOURCE | /* select SW CTS value */
               HDMI_ACR_AUTO_SEND); /* allow hw to sent ACR packets when required */
 
        evergreen_hdmi_update_ACR(encoder, mode->clock);