/* * Copyright (c) 2012-2017, The Linux Foundation. All rights reserved. * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and * only version 2 as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. */ #ifndef _MSM_QTI_PP_H_ #define _MSM_QTI_PP_H_ #include #define DSP_BIT_WIDTH_MIXER_CTL "ASM Bit Width" #ifdef CONFIG_QTI_PP int msm_adsp_inform_mixer_ctl(struct snd_soc_pcm_runtime *rtd, uint32_t *payload); int msm_adsp_init_mixer_ctl_pp_event_queue(struct snd_soc_pcm_runtime *rtd); int msm_adsp_clean_mixer_ctl_pp_event_queue(struct snd_soc_pcm_runtime *rtd); int msm_adsp_stream_cmd_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo); int msm_adsp_stream_callback_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol); int msm_adsp_stream_callback_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo); void msm_qti_pp_send_eq_values(int fedai_id); int msm_qti_pp_send_stereo_to_custom_stereo_cmd(int port_id, int copp_idx, unsigned int session_id, uint16_t op_FL_ip_FL_weight, uint16_t op_FL_ip_FR_weight, uint16_t op_FR_ip_FL_weight, uint16_t op_FR_ip_FR_weight); void msm_qti_pp_add_controls(struct snd_soc_platform *platform); #else /* CONFIG_QTI_PP */ static inline int msm_adsp_inform_mixer_ctl(struct snd_soc_pcm_runtime *rtd, uint32_t *payload) { return 0; } static inline int msm_adsp_init_mixer_ctl_pp_event_queue( struct snd_soc_pcm_runtime *rtd) { return 0; } static inline int msm_adsp_clean_mixer_ctl_pp_event_queue( struct snd_soc_pcm_runtime *rtd) { return 0; } static inline int msm_adsp_stream_cmd_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) { return 0; } static inline int msm_adsp_stream_callback_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) { return 0; } static inline int msm_adsp_stream_callback_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) { return 0; } #define msm_qti_pp_send_eq_values(fedai_id) do {} while (0) #define msm_qti_pp_send_stereo_to_custom_stereo_cmd(port_id, copp_idx, \ session_id, op_FL_ip_FL_weight, op_FL_ip_FR_weight, \ op_FR_ip_FL_weight, op_FR_ip_FR_weight) (0) #define msm_qti_pp_add_controls(platform) do {} while (0) #endif /* CONFIG_QTI_PP */ #if defined(CONFIG_QTI_PP) && defined(CONFIG_QTI_PP_AUDIOSPHERE) int msm_qti_pp_asphere_init(int port_id, int copp_idx); void msm_qti_pp_asphere_deinit(int port_id); #else #define msm_qti_pp_asphere_init(port_id, copp_idx) (0) #define msm_qti_pp_asphere_deinit(port_id) do {} while (0) #endif #endif /* _MSM_QTI_PP_H_ */