|
@@ -817,6 +817,7 @@ static int hdmi_pcm_open(struct hda_pcm_stream *hinfo,
|
|
|
struct hdmi_spec *spec = codec->spec;
|
|
|
struct hdmi_eld *eld;
|
|
|
struct hda_pcm_stream *codec_pars;
|
|
|
+ struct snd_pcm_runtime *runtime = substream->runtime;
|
|
|
unsigned int idx;
|
|
|
|
|
|
for (idx = 0; idx < spec->num_cvts; idx++)
|
|
@@ -844,6 +845,11 @@ static int hdmi_pcm_open(struct hda_pcm_stream *hinfo,
|
|
|
hinfo->formats = codec_pars->formats;
|
|
|
hinfo->maxbps = codec_pars->maxbps;
|
|
|
}
|
|
|
+ /* store the updated parameters */
|
|
|
+ runtime->hw.channels_min = hinfo->channels_min;
|
|
|
+ runtime->hw.channels_max = hinfo->channels_max;
|
|
|
+ runtime->hw.formats = hinfo->formats;
|
|
|
+ runtime->hw.rates = hinfo->rates;
|
|
|
return 0;
|
|
|
}
|
|
|
|