Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d0ec95fe authored by Mihail Zenkov's avatar Mihail Zenkov Committed by Takashi Iwai
Browse files

ALSA: emu10k1: Allow to switch hardware sampe rate on EMU



Commit 57e5c630 "emu10k1: allow to
 disable the SRC" force hardware use only one rate (48000 hz).
EMU 0404/1010/1616 have support two hardware sampling rates (44100 and
48000 hz). This patch add check if we have EMU 0404/1010/1616 and
choose correct sample rate to restrict.

Signed-off-by: default avatarMihail Zenkov <mihail.zenkov@gmail.com>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 8554ee40
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -1127,7 +1127,7 @@ static int snd_emu10k1_playback_open(struct snd_pcm_substream *substream)
	struct snd_emu10k1_pcm *epcm;
	struct snd_emu10k1_pcm_mixer *mix;
	struct snd_pcm_runtime *runtime = substream->runtime;
	int i, err;
	int i, err, sample_rate;

	epcm = kzalloc(sizeof(*epcm), GFP_KERNEL);
	if (epcm == NULL)
@@ -1146,7 +1146,11 @@ static int snd_emu10k1_playback_open(struct snd_pcm_substream *substream)
		kfree(epcm);
		return err;
	}
	err = snd_pcm_hw_rule_noresample(runtime, 48000);
	if (emu->card_capabilities->emu_model && emu->emu1010.internal_clock == 0)
		sample_rate = 44100;
	else
		sample_rate = 48000;
	err = snd_pcm_hw_rule_noresample(runtime, sample_rate);
	if (err < 0) {
		kfree(epcm);
		return err;