drm/radeon/kms: move audio params to separated struct
authorRafał Miłecki <zajec5@gmail.com>
Sat, 28 Apr 2012 21:35:20 +0000 (23:35 +0200)
committerDave Airlie <airlied@redhat.com>
Tue, 1 May 2012 09:57:36 +0000 (10:57 +0100)
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Tested-by: Christian König <deathsimple@vodafone.de>
Reviewed-by: Christian König <deathsimple@vodafone.de>
Signed-off-by: Dave Airlie <airlied@redhat.com>
drivers/gpu/drm/radeon/r600_audio.c
drivers/gpu/drm/radeon/radeon.h

index a7c06c3..b922a3c 100644 (file)
@@ -120,18 +120,18 @@ void r600_audio_update_hdmi(struct work_struct *work)
        struct drm_encoder *encoder;
        int changes = 0;
 
-       changes |= channels != rdev->audio_channels;
-       changes |= rate != rdev->audio_rate;
-       changes |= bps != rdev->audio_bits_per_sample;
-       changes |= status_bits != rdev->audio_status_bits;
-       changes |= category_code != rdev->audio_category_code;
+       changes |= channels != rdev->audio.channels;
+       changes |= rate != rdev->audio.rate;
+       changes |= bps != rdev->audio.bits_per_sample;
+       changes |= status_bits != rdev->audio.status_bits;
+       changes |= category_code != rdev->audio.category_code;
 
        if (changes) {
-               rdev->audio_channels = channels;
-               rdev->audio_rate = rate;
-               rdev->audio_bits_per_sample = bps;
-               rdev->audio_status_bits = status_bits;
-               rdev->audio_category_code = category_code;
+               rdev->audio.channels = channels;
+               rdev->audio.rate = rate;
+               rdev->audio.bits_per_sample = bps;
+               rdev->audio.status_bits = status_bits;
+               rdev->audio.category_code = category_code;
        }
 
        list_for_each_entry(encoder, &dev->mode_config.encoder_list, head) {
@@ -157,7 +157,7 @@ static void r600_audio_engine_enable(struct radeon_device *rdev, bool enable)
                WREG32_P(R600_AUDIO_ENABLE,
                         enable ? 0x81000000 : 0x0, ~0x81000000);
        }
-       rdev->audio_enabled = enable;
+       rdev->audio.enabled = enable;
 }
 
 /*
@@ -170,11 +170,11 @@ int r600_audio_init(struct radeon_device *rdev)
 
        r600_audio_engine_enable(rdev, true);
 
-       rdev->audio_channels = -1;
-       rdev->audio_rate = -1;
-       rdev->audio_bits_per_sample = -1;
-       rdev->audio_status_bits = 0;
-       rdev->audio_category_code = 0;
+       rdev->audio.channels = -1;
+       rdev->audio.rate = -1;
+       rdev->audio.bits_per_sample = -1;
+       rdev->audio.status_bits = 0;
+       rdev->audio.category_code = 0;
 
        return 0;
 }
@@ -243,7 +243,7 @@ void r600_audio_set_clock(struct drm_encoder *encoder, int clock)
  */
 void r600_audio_fini(struct radeon_device *rdev)
 {
-       if (!rdev->audio_enabled)
+       if (!rdev->audio.enabled)
                return;
 
        r600_audio_engine_enable(rdev, false);
index 566ca3b..610acee 100644 (file)
@@ -1114,6 +1114,15 @@ int radeon_pm_get_type_index(struct radeon_device *rdev,
                             enum radeon_pm_state_type ps_type,
                             int instance);
 
+struct r600_audio {
+       bool                    enabled;
+       int                     channels;
+       int                     rate;
+       int                     bits_per_sample;
+       u8                      status_bits;
+       u8                      category_code;
+};
+
 /*
  * Benchmarking
  */
@@ -1559,15 +1568,7 @@ struct radeon_device {
        int num_crtc; /* number of crtcs */
        struct mutex dc_hw_i2c_mutex; /* display controller hw i2c mutex */
        struct mutex vram_mutex;
-
-       /* audio stuff */
-       bool                    audio_enabled;
-       int                     audio_channels;
-       int                     audio_rate;
-       int                     audio_bits_per_sample;
-       uint8_t                 audio_status_bits;
-       uint8_t                 audio_category_code;
-
+       struct r600_audio audio; /* audio stuff */
        struct notifier_block acpi_nb;
        /* only one userspace can use Hyperz features or CMASK at a time */
        struct drm_file *hyperz_filp;