diff options
author | Adrian Knoth <adi@drcomp.erfurt.thur.de> | 2013-07-05 05:27:54 -0400 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2013-07-05 08:50:11 -0400 |
commit | b2ed6326874b1bf5410871d83df4086a395ab13b (patch) | |
tree | dde1017017587fd9df4874ba5c1bdb7a26fd60a9 /sound/pci/rme9652 | |
parent | 384f778fd924cc843acf93c23f52cb168cb3f02a (diff) |
ALSA: hdspm - Introduce hdspm_is_raydat_or_aio()
RME RayDAT and AIO cards are new designs with different register
settings. Since we need to distinguish them from older cards multiple
times in the driver, refactor the code into a separate helper function.
No functional change intended.
Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/rme9652')
-rw-r--r-- | sound/pci/rme9652/hdspm.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/sound/pci/rme9652/hdspm.c b/sound/pci/rme9652/hdspm.c index a0fc961bc347..32a87dcecfa3 100644 --- a/sound/pci/rme9652/hdspm.c +++ b/sound/pci/rme9652/hdspm.c | |||
@@ -1011,6 +1011,12 @@ static inline int HDSPM_bit2freq(int n) | |||
1011 | return bit2freq_tab[n]; | 1011 | return bit2freq_tab[n]; |
1012 | } | 1012 | } |
1013 | 1013 | ||
1014 | static bool hdspm_is_raydat_or_aio(struct hdspm *hdspm) | ||
1015 | { | ||
1016 | return ((AIO == hdspm->io_type) || (RayDAT == hdspm->io_type)); | ||
1017 | } | ||
1018 | |||
1019 | |||
1014 | /* Write/read to/from HDSPM with Adresses in Bytes | 1020 | /* Write/read to/from HDSPM with Adresses in Bytes |
1015 | not words but only 32Bit writes are allowed */ | 1021 | not words but only 32Bit writes are allowed */ |
1016 | 1022 | ||
@@ -5142,9 +5148,8 @@ static int snd_hdspm_set_defaults(struct hdspm * hdspm) | |||
5142 | 5148 | ||
5143 | all_in_all_mixer(hdspm, 0 * UNITY_GAIN); | 5149 | all_in_all_mixer(hdspm, 0 * UNITY_GAIN); |
5144 | 5150 | ||
5145 | if (hdspm->io_type == AIO || hdspm->io_type == RayDAT) { | 5151 | if (hdspm_is_raydat_or_aio(hdspm)) |
5146 | hdspm_write(hdspm, HDSPM_WR_SETTINGS, hdspm->settings_register); | 5152 | hdspm_write(hdspm, HDSPM_WR_SETTINGS, hdspm->settings_register); |
5147 | } | ||
5148 | 5153 | ||
5149 | /* set a default rate so that the channel map is set up. */ | 5154 | /* set a default rate so that the channel map is set up. */ |
5150 | hdspm_set_rate(hdspm, 48000, 1); | 5155 | hdspm_set_rate(hdspm, 48000, 1); |