Merge "sound: usb: Implementing PD transition APIs for tunnel audio"
This commit is contained in:
commit
1486f519ce
@ -203,6 +203,24 @@ enum usb_qmi_audio_format {
|
||||
|
||||
#define NUM_LOG_PAGES 10
|
||||
|
||||
static int uaudio_snd_usb_pcm_change_state(struct snd_usb_substream *subs, int state)
|
||||
{
|
||||
int ret;
|
||||
|
||||
if (!subs->str_pd)
|
||||
return 0;
|
||||
|
||||
ret = snd_usb_power_domain_set(subs->stream->chip, subs->str_pd, state);
|
||||
if (ret < 0) {
|
||||
dev_err(&subs->dev->dev,
|
||||
"Cannot change Power Domain ID: %d to state: %d. Err: %d\n",
|
||||
subs->str_pd->pd_id, state, ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void uaudio_iommu_unmap(enum mem_type mtype, unsigned long va,
|
||||
size_t iova_size, size_t mapped_iova_size);
|
||||
|
||||
@ -1378,6 +1396,11 @@ static int enable_audio_stream(struct snd_usb_substream *subs,
|
||||
|
||||
pm_runtime_barrier(&chip->intf[0]->dev);
|
||||
snd_usb_autoresume(chip);
|
||||
|
||||
ret = uaudio_snd_usb_pcm_change_state(subs, UAC3_PD_STATE_D0);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
fmt = find_format_and_si(&subs->fmt_list, pcm_format, cur_rate,
|
||||
channels, datainterval, subs);
|
||||
if (!fmt) {
|
||||
|
Loading…
Reference in New Issue
Block a user