]> err.no Git - linux-2.6/blobdiff - sound/pci/ice1712/revo.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm
[linux-2.6] / sound / pci / ice1712 / revo.c
index 7c930cc05f1d6b40286e4c0b66c023239be55778..4d2631434dc81bdb83720ea717c1d6a613fdc51d 100644 (file)
@@ -327,7 +327,7 @@ static void ap192_set_rate_val(struct snd_akm4xxx *ak, unsigned int rate)
        revo_set_rate_val(ak, rate);
 
        /* reset CKS */
-       snd_ice1712_gpio_write_bits(ice, 1 << 8, rate > 96000 ? 1 : 0);
+       snd_ice1712_gpio_write_bits(ice, 1 << 8, rate > 96000 ? 1 << 8 : 0);
        /* reset DFS pins of AK5385A for ADC, too */
        if (rate > 96000)
                dfs = 2;
@@ -338,7 +338,7 @@ static void ap192_set_rate_val(struct snd_akm4xxx *ak, unsigned int rate)
        snd_ice1712_gpio_write_bits(ice, 3 << 9, dfs << 9);
        /* reset ADC */
        snd_ice1712_gpio_write_bits(ice, 1 << 11, 0);
-       snd_ice1712_gpio_write_bits(ice, 1 << 11, 1);
+       snd_ice1712_gpio_write_bits(ice, 1 << 11, 1 << 11);
 }
 
 static const struct snd_akm4xxx_dac_channel ap192_dac[] = {
@@ -488,6 +488,10 @@ static int __devinit ap192_ak4114_init(struct snd_ice1712 *ice)
                                 ap192_ak4114_write,
                                 ak4114_init_vals, ak4114_init_txcsb,
                                 ice, &ak);
+       /* AK4114 in Revo cannot detect external rate correctly.
+        * No reason to stop capture stream due to incorrect checks */
+       ak->check_flags = AK4114_CHECK_NO_RATE;
+
        return 0; /* error ignored; it's no fatal error */
 }