aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/rs600.c
diff options
context:
space:
mode:
authorRafał Miłecki <zajec5@gmail.com>2010-06-19 06:24:57 -0400
committerDave Airlie <airlied@redhat.com>2010-08-01 20:00:06 -0400
commitfe50ac78a6ec20db267b32e27a1d191128eaaa46 (patch)
tree3111d2e26613e691e3ab534dcd84d098be897925 /drivers/gpu/drm/radeon/rs600.c
parent7eea7e9eea106a9c49cddf780f590dd8161481fa (diff)
drm/radeon/kms: enable HDMI audio on RS600/RS690/RS740
We will need method of selecting encoder that should receive HDMI block. For now we assign HDMI block to first enabled encoder. Hopefully there are not many RS6x0 chips with two digital encoders. [airlied: add RS740 checks as per Alex suggestion.] Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/rs600.c')
-rw-r--r--drivers/gpu/drm/radeon/rs600.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/rs600.c b/drivers/gpu/drm/radeon/rs600.c
index 5ce3ccc7a42..27d2e706c65 100644
--- a/drivers/gpu/drm/radeon/rs600.c
+++ b/drivers/gpu/drm/radeon/rs600.c
@@ -812,6 +812,13 @@ static int rs600_startup(struct radeon_device *rdev)
812 dev_err(rdev->dev, "failled initializing IB (%d).\n", r); 812 dev_err(rdev->dev, "failled initializing IB (%d).\n", r);
813 return r; 813 return r;
814 } 814 }
815
816 r = r600_audio_init(rdev);
817 if (r) {
818 dev_err(rdev->dev, "failed initializing audio\n");
819 return r;
820 }
821
815 return 0; 822 return 0;
816} 823}
817 824
@@ -838,6 +845,7 @@ int rs600_resume(struct radeon_device *rdev)
838 845
839int rs600_suspend(struct radeon_device *rdev) 846int rs600_suspend(struct radeon_device *rdev)
840{ 847{
848 r600_audio_fini(rdev);
841 r100_cp_disable(rdev); 849 r100_cp_disable(rdev);
842 r100_wb_disable(rdev); 850 r100_wb_disable(rdev);
843 rs600_irq_disable(rdev); 851 rs600_irq_disable(rdev);
@@ -847,6 +855,7 @@ int rs600_suspend(struct radeon_device *rdev)
847 855
848void rs600_fini(struct radeon_device *rdev) 856void rs600_fini(struct radeon_device *rdev)
849{ 857{
858 r600_audio_fini(rdev);
850 r100_cp_fini(rdev); 859 r100_cp_fini(rdev);
851 r100_wb_fini(rdev); 860 r100_wb_fini(rdev);
852 r100_ib_fini(rdev); 861 r100_ib_fini(rdev);