X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=tizen-audio-modem.c;h=9ad85a72e46553110ad934ff074f2a823929bf11;hb=f34bfc637ad6652b24a75da389c36691fda49025;hp=9229c13ac6081d477b36ccb9667f7ef3444c24e5;hpb=1852371b01bbd15d799e169571572a8d77ad1a6e;p=platform%2Fadaptation%2Fspreadtrum%2Faudio-hal-sc7727.git diff --git a/tizen-audio-modem.c b/tizen-audio-modem.c index 9229c13..9ad85a7 100644 --- a/tizen-audio-modem.c +++ b/tizen-audio-modem.c @@ -1,7 +1,7 @@ /* * audio-hal * - * Copyright (c) 2000 - 2013 Samsung Electronics Co., Ltd. All rights reserved. + * Copyright (c) 2014 - 2016 Samsung Electronics Co., Ltd. All rights reserved. * * Contact: * @@ -31,6 +31,7 @@ #include #include "tizen-audio-internal.h" +#include "tizen-audio-impl.h" #define vbc_thread_new pthread_create #define MIXER_VBC_SWITCH "VBC Switch" @@ -176,7 +177,7 @@ int _audio_modem_is_call_connected(audio_hal_t *ah) { int val = -1; /* Mixer values 0 - cp [3g] ,1 - cp [2g] ,2 - ap */ - _audio_mixer_control_get_value(ah, MIXER_VBC_SWITCH, &val); + _mixer_control_get_value(ah, MIXER_VBC_SWITCH, &val); AUDIO_LOG_INFO("modem is connected for call = %d", (val == VBC_TD_CHANNELID)); return (val == VBC_TD_CHANNELID) ? 1 : 0; @@ -202,7 +203,7 @@ static int __vbc_write_response(int fd, unsigned int cmd, uint32_t paras_size) } #define FM_IIS 0x10 -static void i2s_pin_mux_sel(audio_hal_t *ah, int type) +static void __i2s_pin_mux_sel(audio_hal_t *ah, int type) { audio_return_t ret = AUDIO_RET_OK; audio_modem_t *modem; @@ -216,7 +217,7 @@ static void i2s_pin_mux_sel(audio_hal_t *ah, int type) modem = ah->modem.cp; if (type == FM_IIS) { - _audio_mixer_control_set_value(ah, + _mixer_control_set_value(ah, PIN_SWITCH_IIS0_SYS_SEL, PIN_SWITCH_IIS0_VBC_ID); return; } @@ -224,21 +225,21 @@ static void i2s_pin_mux_sel(audio_hal_t *ah, int type) if(ah->device.active_out & AUDIO_DEVICE_OUT_BT_SCO) { if(modem->i2s_bt.is_ext) { if(modem->i2s_bt.is_switch) { - ret = _audio_mixer_control_set_value(ah, + ret = _mixer_control_set_value(ah, PIN_SWITCH_IIS0_SYS_SEL, PIN_SWITCH_IIS0_CP0_ID); } } else { if(modem->i2s_bt.is_switch) { int value = 0; - _audio_mixer_control_get_value (ah, PIN_SWITCH_IIS0_SYS_SEL, &value); + _mixer_control_get_value (ah, PIN_SWITCH_IIS0_SYS_SEL, &value); if(value == PIN_SWITCH_IIS0_CP0_ID) { - ret = _audio_mixer_control_set_value(ah, + ret = _mixer_control_set_value(ah, PIN_SWITCH_IIS0_SYS_SEL, PIN_SWITCH_IIS0_AP_ID); } } if(ah->device.active_out & AUDIO_DEVICE_OUT_BT_SCO) { if(modem->i2s_bt.is_switch) { - ret = _audio_mixer_control_set_value(ah, + ret = _mixer_control_set_value(ah, PIN_SWITCH_BT_IIS_SYS_SEL, PIN_SWITCH_BT_IIS_CP0_IIS0_ID); } } @@ -248,21 +249,21 @@ static void i2s_pin_mux_sel(audio_hal_t *ah, int type) if(ah->device.active_out & AUDIO_DEVICE_OUT_BT_SCO) { if(modem->i2s_bt.is_ext) { if(modem->i2s_bt.is_switch) { - ret = _audio_mixer_control_set_value(ah, + ret = _mixer_control_set_value(ah, PIN_SWITCH_IIS0_SYS_SEL, PIN_SWITCH_IIS0_CP1_ID); } } else { if(modem->i2s_bt.is_switch) { int value = 0; - _audio_mixer_control_get_value (ah, PIN_SWITCH_IIS0_SYS_SEL, &value); + _mixer_control_get_value (ah, PIN_SWITCH_IIS0_SYS_SEL, &value); if(value == PIN_SWITCH_IIS0_CP1_ID) { - ret = _audio_mixer_control_set_value(ah, + ret = _mixer_control_set_value(ah, PIN_SWITCH_IIS0_SYS_SEL, PIN_SWITCH_IIS0_CP2_ID); } } if(ah->device.active_out & AUDIO_DEVICE_OUT_BT_SCO) { if(modem->i2s_bt.is_switch) { - ret = _audio_mixer_control_set_value(ah, + ret = _mixer_control_set_value(ah, PIN_SWITCH_BT_IIS_SYS_SEL, PIN_SWITCH_BT_IIS_CP1_IIS0_ID); } } @@ -354,8 +355,7 @@ again: AUDIO_LOG_INFO("[voice] Received VBC_CMD_PCM_OPEN"); ah->modem.is_connected = 1; - audio_ret = _audio_do_route_voicecall(ah, ah->device.init_call_devices, ah->device.num_of_call_devices); - if (AUDIO_IS_ERROR(audio_ret)) { + if ((audio_ret = _audio_update_route_voicecall(ah, ah->device.init_call_devices, ah->device.num_of_call_devices))) { AUDIO_LOG_WARN("set voicecall route return 0x%x", audio_ret); if (audio_ret == AUDIO_ERR_INVALID_STATE) { /* send signal and wait for the ucm setting, @@ -375,9 +375,9 @@ again: if (ah->device.active_out & (AUDIO_DEVICE_OUT_SPEAKER | AUDIO_DEVICE_OUT_BT_SCO)) { if (ah->modem.cp_type == CP_TG) - i2s_pin_mux_sel(ah, 1); + __i2s_pin_mux_sel(ah, 1); else if(ah->modem.cp_type == CP_W) - i2s_pin_mux_sel(ah, 0); + __i2s_pin_mux_sel(ah, 0); } AUDIO_LOG_DEBUG("[voice] Send response for VBC_CMD_PCM_OPEN"); @@ -396,7 +396,7 @@ again: COND_TIMEDWAIT(ah->device.device_cond, ah->device.device_lock, "device_cond", TIMEOUT_SEC); MUTEX_UNLOCK(ah->device.device_lock, "device_lock"); - _audio_mixer_control_set_value(ah, MIXER_VBC_SWITCH, VBC_ARM_CHANNELID); + _mixer_control_set_value(ah, MIXER_VBC_SWITCH, VBC_ARM_CHANNELID); AUDIO_LOG_DEBUG("[voice] Send response for VBC_CMD_PCM_CLOSE"); __vbc_write_response(vbpipe_fd, VBC_CMD_PCM_CLOSE, 0); @@ -416,9 +416,9 @@ again: if (ah->device.active_out & (AUDIO_DEVICE_OUT_SPEAKER | AUDIO_DEVICE_OUT_BT_SCO)) { if (ah->modem.cp_type == CP_TG) - i2s_pin_mux_sel(ah, 1); + __i2s_pin_mux_sel(ah, 1); else if(ah->modem.cp_type == CP_W) - i2s_pin_mux_sel(ah, 0); + __i2s_pin_mux_sel(ah, 0); } /* To do: set mode params : __vbc_set_mode_params(ah, vbpipe_fd); */ @@ -448,7 +448,7 @@ again: else AUDIO_LOG_INFO("is_switch:%d", switch_ctrl_params.is_switch); - _audio_mixer_control_set_value(ah, MIXER_VBC_SWITCH, VBC_TD_CHANNELID); + _mixer_control_set_value(ah, MIXER_VBC_SWITCH, VBC_TD_CHANNELID); AUDIO_LOG_DEBUG("[voice] Send response for VBC_CMD_SET_GAIN"); __vbc_write_response(vbpipe_fd, VBC_CMD_SWITCH_CTRL, 0); @@ -595,9 +595,9 @@ again: if (ah->device.active_out & (AUDIO_DEVICE_OUT_SPEAKER | AUDIO_DEVICE_OUT_BT_SCO)) { if (ah->modem.cp_type == CP_TG) - i2s_pin_mux_sel(ah, 1); + __i2s_pin_mux_sel(ah, 1); else if(ah->modem.cp_type == CP_W) - i2s_pin_mux_sel(ah, 0); + __i2s_pin_mux_sel(ah, 0); } /* To do: set mode params : __vbc_set_mode_params(ah, vbpipe_fd); */ AUDIO_LOG_DEBUG("[voip] Send response for VBC_CMD_SET_MODE"); @@ -624,7 +624,7 @@ again: else AUDIO_LOG_INFO("is_switch:%d", switch_ctrl_params.is_switch); - _audio_mixer_control_set_value(ah, MIXER_VBC_SWITCH, VBC_TD_CHANNELID); + _mixer_control_set_value(ah, MIXER_VBC_SWITCH, VBC_TD_CHANNELID); AUDIO_LOG_DEBUG("[voip] Send response for VBC_CMD_SWITCH_CTRL"); __vbc_write_response(vbpipe_fd, VBC_CMD_SWITCH_CTRL, 0); @@ -692,7 +692,7 @@ static audio_return_t __vbc_control_open(audio_hal_t *ah) return AUDIO_RET_OK; } -static audio_return_t __vbc_control_close(audio_hal_t *ah) +void __vbc_control_close(audio_hal_t *ah) { /* TODO. Make sure we always receive CLOSE command from modem and then close pcm device */ ah->modem.vbc.exit_vbc_thread = 1; @@ -701,7 +701,7 @@ static audio_return_t __vbc_control_close(audio_hal_t *ah) pthread_cancel(ah->modem.vbc.voice_thread_handle); pthread_cancel(ah->modem.vbc.voip_thread_handle); - return AUDIO_RET_OK; + return; } static void __audio_modem_create(audio_modem_t *modem, const char *num) @@ -940,8 +940,7 @@ audio_return_t _audio_modem_init(audio_hal_t *ah) ah->modem.vbc.vbpipe_count = 0; /* Initialize vbc interface */ - audio_ret = __vbc_control_open(ah); - if (AUDIO_IS_ERROR(audio_ret)) { + if ((audio_ret = __vbc_control_open(ah))) { AUDIO_LOG_ERROR("__vbc_control_open failed"); goto exit; } @@ -956,7 +955,7 @@ audio_return_t _audio_modem_init(audio_hal_t *ah) ah->modem.cp_type = ah->modem.cp->vbc_ctrl_pipe_info->cp_type; /* This ctrl need to be set "0" always - SPRD */ - _audio_mixer_control_set_value(ah, PIN_SWITCH_BT_IIS_CON_SWITCH, 0); + _mixer_control_set_value(ah, PIN_SWITCH_BT_IIS_CON_SWITCH, 0); exit: return audio_ret;