[next][PATCH 1/5] drm/radeon/kms: move audio params to separated struct

Rafał Miłecki zajec5 at gmail.com
Sat Apr 28 14:35:20 PDT 2012


Signed-off-by: Rafał Miłecki <zajec5 at gmail.com>
Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
---
 drivers/gpu/drm/radeon/r600_audio.c |   34 +++++++++++++++++-----------------
 drivers/gpu/drm/radeon/radeon.h     |   19 ++++++++++---------
 2 files changed, 27 insertions(+), 26 deletions(-)

diff --git a/drivers/gpu/drm/radeon/r600_audio.c b/drivers/gpu/drm/radeon/r600_audio.c
index a7c06c3..b922a3c 100644
--- a/drivers/gpu/drm/radeon/r600_audio.c
+++ b/drivers/gpu/drm/radeon/r600_audio.c
@@ -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);
diff --git a/drivers/gpu/drm/radeon/radeon.h b/drivers/gpu/drm/radeon/radeon.h
index 566ca3b..610acee 100644
--- a/drivers/gpu/drm/radeon/radeon.h
+++ b/drivers/gpu/drm/radeon/radeon.h
@@ -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;
-- 
1.7.7



More information about the dri-devel mailing list