ASoC: codecs: hdac_hdmi: Switch to new stream-format interface
authorCezary Rojewski <cezary.rojewski@intel.com>
Fri, 17 Nov 2023 12:06:04 +0000 (13:06 +0100)
committerTakashi Iwai <tiwai@suse.de>
Mon, 27 Nov 2023 16:28:23 +0000 (17:28 +0100)
To provide option for selecting different bit-per-sample than just the
maximum one, use the new format calculation mechanism.

Acked-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Acked-by: Jaroslav Kysela <perex@perex.cz>
Link: https://lore.kernel.org/r/20231117120610.1755254-11-cezary.rojewski@intel.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/soc/codecs/hdac_hdmi.c

index 3e4f632d8665020e6dd33f0f9b7dd1ed41db445f..b3b11225d483d761b8d555982bc99e7addeae50b 100644 (file)
@@ -468,13 +468,14 @@ static int hdac_hdmi_set_hw_params(struct snd_pcm_substream *substream,
        struct hdac_hdmi_priv *hdmi = snd_soc_dai_get_drvdata(dai);
        struct hdac_hdmi_dai_port_map *dai_map;
        struct hdac_hdmi_pcm *pcm;
+       unsigned int bits;
        int format;
 
        dai_map = &hdmi->dai_map[dai->id];
 
-       format = snd_hdac_calc_stream_format(params_rate(hparams),
-                       params_channels(hparams), params_format(hparams),
-                       dai->driver->playback.sig_bits, 0);
+       bits = snd_hdac_stream_format_bits(params_format(hparams), SNDRV_PCM_SUBFORMAT_STD,
+                                          dai->driver->playback.sig_bits);
+       format = snd_hdac_stream_format(params_channels(hparams), bits, params_rate(hparams));
 
        pcm = hdac_hdmi_get_pcm_from_cvt(hdmi, dai_map->cvt);
        if (!pcm)