static int audio_dsp_set_ns(struct audio_in *audio) { audpreproc_cmd_cfg_ns_params cmd; memset(&cmd, 0, sizeof(cmd)); audio->ns_cfg.cmd_id = AUDPREPROC_CMD_CFG_NS_PARAMS; if (audio->ns_enable) { /* cmd.ec_mode_new is fixed as 0x0064 when enable * from sample code */ audio->ns_cfg.ec_mode_new = AUDPREPROC_CMD_EC_MODE_NEW_NS_ENA | AUDPREPROC_CMD_EC_MODE_NEW_HB_ENA | AUDPREPROC_CMD_EC_MODE_NEW_VA_ENA; } else { audio->ns_cfg.ec_mode_new = AUDPREPROC_CMD_EC_MODE_NEW_NLMS_DIS | AUDPREPROC_CMD_EC_MODE_NEW_DES_DIS | AUDPREPROC_CMD_EC_MODE_NEW_NS_DIS | AUDPREPROC_CMD_EC_MODE_NEW_CNI_DIS | AUDPREPROC_CMD_EC_MODE_NEW_NLES_DIS | AUDPREPROC_CMD_EC_MODE_NEW_HB_DIS | AUDPREPROC_CMD_EC_MODE_NEW_VA_DIS | AUDPREPROC_CMD_EC_MODE_NEW_PCD_DIS | AUDPREPROC_CMD_EC_MODE_NEW_FEHI_DIS | AUDPREPROC_CMD_EC_MODE_NEW_NEHI_DIS | AUDPREPROC_CMD_EC_MODE_NEW_NLPP_DIS | AUDPREPROC_CMD_EC_MODE_NEW_FNE_DIS | AUDPREPROC_CMD_EC_MODE_NEW_PRENLMS_DIS; } cmd = audio->ns_cfg; return audpreproc_dsp_set_ns(&cmd, sizeof(cmd)); }
static int audio_dsp_set_ns(struct audio_in *audio) { audpreproc_cmd_cfg_ns_params cmd; memset(&cmd, 0, sizeof(cmd)); cmd.cmd_id = AUDPREPROC_CMD_CFG_NS_PARAMS; if (audio->ns_enable) { cmd.ec_mode_new = AUDPREPROC_CMD_EC_MODE_NEW_NS_ENA | AUDPREPROC_CMD_EC_MODE_NEW_HB_ENA | AUDPREPROC_CMD_EC_MODE_NEW_VA_ENA; memcpy(&cmd.dens_gamma_n, &audio->ns.ns_params, sizeof(audio->ns.ns_params)); } else { cmd.ec_mode_new = AUDPREPROC_CMD_EC_MODE_NEW_NLMS_DIS | AUDPREPROC_CMD_EC_MODE_NEW_DES_DIS | AUDPREPROC_CMD_EC_MODE_NEW_NS_DIS | AUDPREPROC_CMD_EC_MODE_NEW_CNI_DIS | AUDPREPROC_CMD_EC_MODE_NEW_NLES_DIS | AUDPREPROC_CMD_EC_MODE_NEW_HB_DIS | AUDPREPROC_CMD_EC_MODE_NEW_VA_DIS | AUDPREPROC_CMD_EC_MODE_NEW_PCD_DIS | AUDPREPROC_CMD_EC_MODE_NEW_FEHI_DIS | AUDPREPROC_CMD_EC_MODE_NEW_NEHI_DIS | AUDPREPROC_CMD_EC_MODE_NEW_NLPP_DIS | AUDPREPROC_CMD_EC_MODE_NEW_FNE_DIS | AUDPREPROC_CMD_EC_MODE_NEW_PRENLMS_DIS; } #if DEBUG MM_AUD_INFO("cmd_id = 0x%04x\n", cmd.cmd_id); MM_AUD_INFO("ec_mode_new = 0x%04x\n", cmd.ec_mode_new); MM_AUD_INFO("dens_gamma_n = 0x%04x\n", cmd.dens_gamma_n); MM_AUD_INFO("dens_nfe_block_size = 0x%04x\n", cmd.dens_nfe_block_size); MM_AUD_INFO("dens_limit_ns = 0x%04x\n", cmd.dens_limit_ns); MM_AUD_INFO("dens_limit_ns_d = 0x%04x\n", cmd.dens_limit_ns_d); MM_AUD_INFO("wb_gamma_e = 0x%04x\n", cmd.wb_gamma_e); MM_AUD_INFO("wb_gamma_n = 0x%04x\n", cmd.wb_gamma_n); #endif return audpreproc_dsp_set_ns(&cmd, sizeof(cmd)); }