mirror of
https://github.com/torvalds/linux.git
synced 2024-11-30 16:11:38 +00:00
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 <ranjani.sridharan@linux.intel.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com> Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com> Link: https://lore.kernel.org/r/20220426171743.171061-6-ranjani.sridharan@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
f0d31dbb3f
commit
7b3a5be546
@ -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;
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user