mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-10 10:20:17 -04:00
intel_sst: MRST can only do mono recording
Fix bug $ arecord -Dplughw -c2 Recording WAVE 'stdin' : Unsigned 8 bit, Rate 8000 Hz, Stereo arecord: set_params:1116: Unable to install hw params: ACCESS: RW_INTERLEAVED FORMAT: U8 SUBFORMAT: STD SAMPLE_BITS: 8 FRAME_BITS: 16 CHANNELS: 2 [...] Root cause is, the driver is reporting 2-channel capture capability that is not supported by the MRST hardware. So the plughw plugin end up requesting 2-channel capture which fails. Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
f2b5ea1feb
commit
3ca13bdb3c
@@ -335,6 +335,13 @@ static int snd_intelmad_open(struct snd_pcm_substream *substream,
|
||||
runtime = substream->runtime;
|
||||
/* set the runtime hw parameter with local snd_pcm_hardware struct */
|
||||
runtime->hw = snd_intelmad_stream;
|
||||
if (intelmaddata->cpu_id == CPU_CHIP_LINCROFT) {
|
||||
/*
|
||||
* MRST firmware currently denies stereo recording requests.
|
||||
*/
|
||||
if (substream->stream == SNDRV_PCM_STREAM_CAPTURE)
|
||||
runtime->hw.channels_max = 1;
|
||||
}
|
||||
if (intelmaddata->cpu_id == CPU_CHIP_PENWELL) {
|
||||
runtime->hw = snd_intelmad_stream;
|
||||
runtime->hw.rates = SNDRV_PCM_RATE_48000;
|
||||
|
||||
Reference in New Issue
Block a user