From: Ranjani Sridharan Date: Tue, 26 Apr 2022 17:17:37 +0000 (-0700) Subject: ASoC: SOF: expose a couple of functions X-Git-Tag: v6.6.17~6759^2~68^2~73^2~6 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7b3a5be546a131f806fa015d1c78987daf1eb5c9;p=platform%2Fkernel%2Flinux-rpi.git ASoC: SOF: expose a couple of functions Expose the mixer_to_ipc() and ipc_to_mixer() functions for reuse in IPC4. Signed-off-by: Ranjani Sridharan Reviewed-by: Pierre-Louis Bossart Reviewed-by: Bard Liao Reviewed-by: Péter Ujfalusi Link: https://lore.kernel.org/r/20220426171743.171061-6-ranjani.sridharan@linux.intel.com Signed-off-by: Mark Brown --- diff --git a/sound/soc/sof/ipc3-control.c b/sound/soc/sof/ipc3-control.c index bea26e7..4347adc 100644 --- a/sound/soc/sof/ipc3-control.c +++ b/sound/soc/sof/ipc3-control.c @@ -90,26 +90,6 @@ static int sof_ipc3_set_get_kcontrol_data(struct snd_sof_control *scontrol, bool return iops->set_get_data(sdev, cdata, cdata->rhdr.hdr.size, set); } -static inline u32 mixer_to_ipc(unsigned int value, u32 *volume_map, int size) -{ - if (value >= size) - return volume_map[size - 1]; - - return volume_map[value]; -} - -static inline u32 ipc_to_mixer(u32 value, u32 *volume_map, int size) -{ - int i; - - for (i = 0; i < size; i++) { - if (volume_map[i] >= value) - return i; - } - - return i - 1; -} - static void snd_sof_refresh_control(struct snd_sof_control *scontrol) { struct sof_ipc_ctrl_data *cdata = scontrol->ipc_control_data; diff --git a/sound/soc/sof/sof-audio.h b/sound/soc/sof/sof-audio.h index 88def70..ab8787a 100644 --- a/sound/soc/sof/sof-audio.h +++ b/sound/soc/sof/sof-audio.h @@ -48,6 +48,26 @@ enum sof_widget_op { #define SOF_TLV_ITEMS 3 +static inline u32 mixer_to_ipc(unsigned int value, u32 *volume_map, int size) +{ + if (value >= size) + return volume_map[size - 1]; + + return volume_map[value]; +} + +static inline u32 ipc_to_mixer(u32 value, u32 *volume_map, int size) +{ + int i; + + for (i = 0; i < size; i++) { + if (volume_map[i] >= value) + return i; + } + + return i - 1; +} + struct snd_sof_widget; struct snd_sof_route; struct snd_sof_control;