On 04.06.2012 18:49, Alex Deucher wrote: > On Mon, Jun 4, 2012 at 12:36 PM, Rafa? Mi?ecki<zajec5 at gmail.com> wrote: >> This is based on info released by AMD, should allow using audio in much >> more cases. >> >> Signed-off-by: Rafa? Mi?ecki<zajec5 at gmail.com> >> Cc:<stable at vger.kernel.org> > Reviewed-by: Alex Deucher<alexander.deucher at amd.com>
Not sure if the definition is available on older kernels, but try to replace "0x5ac" with something more meaningfully if possible. Otherwise also: Reviewed-by: Christian K?nig <christian.koenig at amd.com> > >> --- >> drivers/gpu/drm/radeon/r600_audio.c | 5 +++-- >> 1 files changed, 3 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/gpu/drm/radeon/r600_audio.c >> b/drivers/gpu/drm/radeon/r600_audio.c >> index 7c4fa77..7479a5c 100644 >> --- a/drivers/gpu/drm/radeon/r600_audio.c >> +++ b/drivers/gpu/drm/radeon/r600_audio.c >> @@ -192,6 +192,7 @@ void r600_audio_set_clock(struct drm_encoder *encoder, >> int clock) >> 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 radeon_crtc *radeon_crtc = to_radeon_crtc(encoder->crtc); >> int base_rate = 48000; >> >> switch (radeon_encoder->encoder_id) { >> @@ -217,8 +218,8 @@ void r600_audio_set_clock(struct drm_encoder *encoder, >> int clock) >> WREG32(EVERGREEN_AUDIO_PLL1_DIV, clock * 10); >> WREG32(EVERGREEN_AUDIO_PLL1_UNK, 0x00000071); >> >> - /* Some magic trigger or src sel? */ >> - WREG32_P(0x5ac, 0x01, ~0x77); >> + /* Select DTO source */ >> + WREG32(0x5ac, radeon_crtc->crtc_id); >> } else { >> switch (dig->dig_encoder) { >> case 0: >> -- >> 1.7.7 >>