This is based on info released by AMD, should allow using audio in much more cases.
Signed-off-by: Rafał Miłecki zajec5@gmail.com Cc: stable@vger.kernel.org --- 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:
On Mon, Jun 4, 2012 at 12:36 PM, Rafał Miłecki zajec5@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@gmail.com Cc: stable@vger.kernel.org
Reviewed-by: Alex Deucher alexander.deucher@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
On 04.06.2012 18:49, Alex Deucher wrote:
On Mon, Jun 4, 2012 at 12:36 PM, Rafał Miłeckizajec5@gmail.com wrote:
This is based on info released by AMD, should allow using audio in much more cases.
Signed-off-by: Rafał Miłeckizajec5@gmail.com Cc:stable@vger.kernel.org
Reviewed-by: Alex Deucheralexander.deucher@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@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
2012/6/5 Christian König deathsimple@vodafone.de:
On 04.06.2012 18:49, Alex Deucher wrote:
On Mon, Jun 4, 2012 at 12:36 PM, Rafał Miłeckizajec5@gmail.com wrote:
This is based on info released by AMD, should allow using audio in much more cases.
Signed-off-by: Rafał Miłeckizajec5@gmail.com Cc:stable@vger.kernel.org
Reviewed-by: Alex Deucheralexander.deucher@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:
Not available for old kernels unfortunately. This part of code will require rewriting anyway, DTO is slightly more complicated in programming than I though. For example on some newer cards re-writing current value seems to change something (fixes playback speed for me).
I'll keep in mind using defines in the future. Promise ;)
dri-devel@lists.freedesktop.org