ALSA: AACI: factor common hw_params logic into aaci_pcm_hw_params
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
4e30b69108
commit
d3aee7996c
1 changed files with 7 additions and 15 deletions
|
@ -444,6 +444,11 @@ static int aaci_pcm_hw_params(struct snd_pcm_substream *substream,
|
||||||
aacirun->pcm->r[0].slots);
|
aacirun->pcm->r[0].slots);
|
||||||
|
|
||||||
aacirun->pcm_open = err == 0;
|
aacirun->pcm_open = err == 0;
|
||||||
|
aacirun->cr = CR_FEN | CR_COMPACT | CR_SZ16;
|
||||||
|
aacirun->fifosz = aaci->fifosize * 4;
|
||||||
|
|
||||||
|
if (aacirun->cr & CR_COMPACT)
|
||||||
|
aacirun->fifosz >>= 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
return err;
|
return err;
|
||||||
|
@ -554,14 +559,9 @@ static int aaci_pcm_playback_hw_params(struct snd_pcm_substream *substream,
|
||||||
* Enable FIFO, compact mode, 16 bits per sample.
|
* Enable FIFO, compact mode, 16 bits per sample.
|
||||||
* FIXME: double rate slots?
|
* FIXME: double rate slots?
|
||||||
*/
|
*/
|
||||||
if (ret >= 0) {
|
if (ret >= 0)
|
||||||
aacirun->cr = CR_FEN | CR_COMPACT | CR_SZ16;
|
|
||||||
aacirun->cr |= channels_to_txmask[channels];
|
aacirun->cr |= channels_to_txmask[channels];
|
||||||
|
|
||||||
aacirun->fifosz = aaci->fifosize * 4;
|
|
||||||
if (aacirun->cr & CR_COMPACT)
|
|
||||||
aacirun->fifosz >>= 1;
|
|
||||||
}
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -648,18 +648,10 @@ static int aaci_pcm_capture_hw_params(struct snd_pcm_substream *substream,
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
ret = aaci_pcm_hw_params(substream, aacirun, params);
|
ret = aaci_pcm_hw_params(substream, aacirun, params);
|
||||||
|
if (ret >= 0)
|
||||||
if (ret >= 0) {
|
|
||||||
aacirun->cr = CR_FEN | CR_COMPACT | CR_SZ16;
|
|
||||||
|
|
||||||
/* Line in record: slot 3 and 4 */
|
/* Line in record: slot 3 and 4 */
|
||||||
aacirun->cr |= CR_SL3 | CR_SL4;
|
aacirun->cr |= CR_SL3 | CR_SL4;
|
||||||
|
|
||||||
aacirun->fifosz = aaci->fifosize * 4;
|
|
||||||
|
|
||||||
if (aacirun->cr & CR_COMPACT)
|
|
||||||
aacirun->fifosz >>= 1;
|
|
||||||
}
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue