summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicolas Graziano <nicolas.graziano@wanadoo.fr>2006-09-19 14:23:14 +0200
committerJaroslav Kysela <perex@suse.cz>2006-09-23 10:47:33 +0200
commit33ef765131bcf82bc5fca3f25d8313fa4df93ce0 (patch)
tree0962faa8831af98a9b381b12345e3b5d83e0d691
parent[ALSA] hda-codec - Add vendor ids for Motorola and Conexant (diff)
downloadlinux-33ef765131bcf82bc5fca3f25d8313fa4df93ce0.tar.xz
linux-33ef765131bcf82bc5fca3f25d8313fa4df93ce0.zip
[ALSA] hda_intel prefer 24bit instead of 20bit
If I understand the hda_intel code, for format > 20bit it only advertise the SNDRV_PCM_FMTBIT_S32_LE format and play it at 32 bit, 20 bit or 24 bit. But if the 20bit and 24bit are available, actually it prefer the 20bit format. This path is to prefer the 24bit format instead of 20bit. Signed-off-by: Nicolas Graziano <nicolas.graziano@wanadoo.fr> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
-rw-r--r--sound/pci/hda/hda_codec.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c
index e69db04b7eb8..8b2c080c85ae 100644
--- a/sound/pci/hda/hda_codec.c
+++ b/sound/pci/hda/hda_codec.c
@@ -1505,10 +1505,10 @@ int snd_hda_query_supported_pcm(struct hda_codec *codec, hda_nid_t nid,
formats |= SNDRV_PCM_FMTBIT_S32_LE;
if (val & AC_SUPPCM_BITS_32)
bps = 32;
- else if (val & AC_SUPPCM_BITS_20)
- bps = 20;
else if (val & AC_SUPPCM_BITS_24)
bps = 24;
+ else if (val & AC_SUPPCM_BITS_20)
+ bps = 20;
}
}
else if (streams == AC_SUPFMT_FLOAT32) { /* should be exclusive */