mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-08-31 22:23:05 +00:00

With recent updates to AudioDSP firmware, mute functionality has been added to PEAKVOL and GAIN modules. The operation occurs over IPC similarly to how volume is configured. Wire it up to kcontrol infrastructure present in the avs-driver. Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com> Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com> Link: https://patch.msgid.link/20250217102115.3539427-9-cezary.rojewski@intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
28 lines
964 B
C
28 lines
964 B
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
/*
|
|
* Copyright(c) 2021-2022 Intel Corporation
|
|
*
|
|
* Authors: Amadeusz Slawinski <amadeuszx.slawinski@linux.intel.com>
|
|
* Cezary Rojewski <cezary.rojewski@intel.com>
|
|
*/
|
|
|
|
#ifndef __SOUND_SOC_INTEL_AVS_CTRL_H
|
|
#define __SOUND_SOC_INTEL_AVS_CTRL_H
|
|
|
|
#include <sound/control.h>
|
|
#include <uapi/sound/asoc.h>
|
|
|
|
struct avs_control_data {
|
|
u32 id;
|
|
long values[SND_SOC_TPLG_MAX_CHAN];
|
|
};
|
|
|
|
int avs_control_volume_get(struct snd_kcontrol *kctl, struct snd_ctl_elem_value *uctl);
|
|
int avs_control_volume_put(struct snd_kcontrol *kctl, struct snd_ctl_elem_value *uctl);
|
|
int avs_control_volume_info(struct snd_kcontrol *kctl, struct snd_ctl_elem_info *uinfo);
|
|
int avs_control_mute_get(struct snd_kcontrol *kctl, struct snd_ctl_elem_value *uctl);
|
|
int avs_control_mute_put(struct snd_kcontrol *kctl, struct snd_ctl_elem_value *uctl);
|
|
int avs_control_mute_info(struct snd_kcontrol *kctl, struct snd_ctl_elem_info *uinfo);
|
|
|
|
#endif
|