aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci
diff options
context:
space:
mode:
authorEliot Blennerhassett <eblennerhassett@audioscience.com>2011-03-24 22:25:46 -0400
committerTakashi Iwai <tiwai@suse.de>2011-03-25 07:42:26 -0400
commit7bf76c33e9a1ecb2a15f1a066d4e032b5d0922a7 (patch)
treec722c8a6ad3780325c60b32b1ed8aee7889615ba /sound/pci
parent677cd904aba939bc4cfdc3c1eada8ec46582127e (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/pci')
-rw-r--r--sound/pci/asihpi/asihpi.c16
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;