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

Commit 968e51fb authored by Jack Pham's avatar Jack Pham
Browse files

sound: usb: Ensure UAC3 Power Domain is set to D0 when enabling stream



Since commit a0a4959e ("ALSA: usb-audio: Operate UAC3 Power
Domains in PCM callbacks") the UAC3 PD state is brought to D1 when
resuming from suspend, and suggests that only when a stream is
begun should a device be put into D0. We need to ensure that is
also done for the tunnel mode case, so add it to
snd_usb_enable_audio_stream() which will get called when receiving
a QMI request to enable the stream.

Change-Id: I9d3aaf6083a6d859e7e64d167e3ee7eb61522052
Signed-off-by: default avatarJack Pham <jackp@codeaurora.org>
parent fd8f045d
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -644,6 +644,8 @@ static int set_format(struct snd_usb_substream *subs, struct audioformat *fmt)
	return 0;
}

static int snd_usb_pcm_change_state(struct snd_usb_substream *subs, int state);

int snd_usb_enable_audio_stream(struct snd_usb_substream *subs,
	int datainterval, bool enable)
{
@@ -666,6 +668,11 @@ int snd_usb_enable_audio_stream(struct snd_usb_substream *subs,
	}

	snd_usb_autoresume(subs->stream->chip);

	ret = snd_usb_pcm_change_state(subs, UAC3_PD_STATE_D0);
	if (ret < 0)
		return ret;

	if (datainterval != -EINVAL)
		fmt = find_format_and_si(subs, datainterval);
	else