[ALSA] hda - Fix noise on VT1708 codec
We get quite noisy output on the right channel on VT1708 codec when 24bit samples are used. Suppress the 24bit support until any real fix is found. https://bugzilla.novell.com/show_bug.cgi?id=390473 Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Родитель
b9e16bc548
Коммит
bc9b56238e
|
@ -447,6 +447,23 @@ static struct hda_pcm_stream vt1708_pcm_analog_playback = {
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct hda_pcm_stream vt1708_pcm_analog_s16_playback = {
|
||||||
|
.substreams = 1,
|
||||||
|
.channels_min = 2,
|
||||||
|
.channels_max = 8,
|
||||||
|
.nid = 0x10, /* NID to query formats and rates */
|
||||||
|
/* We got noisy outputs on the right channel on VT1708 when
|
||||||
|
* 24bit samples are used. Until any workaround is found,
|
||||||
|
* disable the 24bit format, so far.
|
||||||
|
*/
|
||||||
|
.formats = SNDRV_PCM_FMTBIT_S16_LE,
|
||||||
|
.ops = {
|
||||||
|
.open = via_playback_pcm_open,
|
||||||
|
.prepare = via_playback_pcm_prepare,
|
||||||
|
.cleanup = via_playback_pcm_cleanup
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
static struct hda_pcm_stream vt1708_pcm_analog_capture = {
|
static struct hda_pcm_stream vt1708_pcm_analog_capture = {
|
||||||
.substreams = 2,
|
.substreams = 2,
|
||||||
.channels_min = 2,
|
.channels_min = 2,
|
||||||
|
@ -899,6 +916,9 @@ static int patch_vt1708(struct hda_codec *codec)
|
||||||
|
|
||||||
spec->stream_name_analog = "VT1708 Analog";
|
spec->stream_name_analog = "VT1708 Analog";
|
||||||
spec->stream_analog_playback = &vt1708_pcm_analog_playback;
|
spec->stream_analog_playback = &vt1708_pcm_analog_playback;
|
||||||
|
/* disable 32bit format on VT1708 */
|
||||||
|
if (codec->vendor_id == 0x11061708)
|
||||||
|
spec->stream_analog_playback = &vt1708_pcm_analog_s16_playback;
|
||||||
spec->stream_analog_capture = &vt1708_pcm_analog_capture;
|
spec->stream_analog_capture = &vt1708_pcm_analog_capture;
|
||||||
|
|
||||||
spec->stream_name_digital = "VT1708 Digital";
|
spec->stream_name_digital = "VT1708 Digital";
|
||||||
|
|
Загрузка…
Ссылка в новой задаче