diff options
author | Eliot Blennerhassett <eblennerhassett@audioscience.com> | 2011-03-24 22:25:46 -0400 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2011-03-25 07:42:26 -0400 |
commit | 7bf76c33e9a1ecb2a15f1a066d4e032b5d0922a7 (patch) | |
tree | c722c8a6ad3780325c60b32b1ed8aee7889615ba /sound | |
parent | 677cd904aba939bc4cfdc3c1eada8ec46582127e (diff) |
ALSA: asihpi - Support single-rate no-SRC cards
Cards without settable local samplerate and without SRC
still must have a valid samplerate.
This fixed rate is determined by reading the current rate for the card.
Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound')
-rw-r--r-- | sound/pci/asihpi/asihpi.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/sound/pci/asihpi/asihpi.c b/sound/pci/asihpi/asihpi.c index 0ac1f98d91a1..22606e3b08f4 100644 --- a/sound/pci/asihpi/asihpi.c +++ b/sound/pci/asihpi/asihpi.c | |||
@@ -381,13 +381,13 @@ static void snd_card_asihpi_pcm_samplerates(struct snd_card_asihpi *asihpi, | |||
381 | "No local sampleclock, err %d\n", err); | 381 | "No local sampleclock, err %d\n", err); |
382 | } | 382 | } |
383 | 383 | ||
384 | for (idx = 0; idx < 100; idx++) { | 384 | for (idx = -1; idx < 100; idx++) { |
385 | if (hpi_sample_clock_query_local_rate( | 385 | if (idx == -1) { |
386 | h_control, idx, &sample_rate)) { | 386 | if (hpi_sample_clock_get_sample_rate(h_control, |
387 | if (!idx) | 387 | &sample_rate)) |
388 | snd_printk(KERN_ERR | 388 | continue; |
389 | "Local rate query failed\n"); | 389 | } else if (hpi_sample_clock_query_local_rate(h_control, |
390 | 390 | idx, &sample_rate)) { | |
391 | break; | 391 | break; |
392 | } | 392 | } |
393 | 393 | ||
@@ -440,8 +440,6 @@ static void snd_card_asihpi_pcm_samplerates(struct snd_card_asihpi *asihpi, | |||
440 | } | 440 | } |
441 | } | 441 | } |
442 | 442 | ||
443 | /* printk(KERN_INFO "Supported rates %X %d %d\n", | ||
444 | rates, rate_min, rate_max); */ | ||
445 | pcmhw->rates = rates; | 443 | pcmhw->rates = rates; |
446 | pcmhw->rate_min = rate_min; | 444 | pcmhw->rate_min = rate_min; |
447 | pcmhw->rate_max = rate_max; | 445 | pcmhw->rate_max = rate_max; |