Loading hal/Android.mk +8 −14 Original line number Diff line number Diff line Loading @@ -13,35 +13,34 @@ endif ifneq ($(filter msm8974 msm8226 msm8084 msm8992 msm8994 msm8996,$(TARGET_BOARD_PLATFORM)),) # B-family platform uses msm8974 code base AUDIO_PLATFORM = msm8974 LOCAL_CFLAGS := -DPLATFORM_BFAMILY ifneq ($(filter msm8974,$(TARGET_BOARD_PLATFORM)),) LOCAL_CFLAGS += -DPLATFORM_MSM8974 LOCAL_CFLAGS := -DPLATFORM_MSM8974 LOCAL_CFLAGS += -DMAX_TARGET_SPECIFIC_CHANNEL_CNT="2" endif ifneq ($(filter msm8226,$(TARGET_BOARD_PLATFORM)),) LOCAL_CFLAGS += -DPLATFORM_MSM8x26 LOCAL_CFLAGS := -DPLATFORM_MSM8x26 LOCAL_CFLAGS += -DMAX_TARGET_SPECIFIC_CHANNEL_CNT="2" endif ifneq ($(filter msm8084,$(TARGET_BOARD_PLATFORM)),) LOCAL_CFLAGS += -DPLATFORM_MSM8084 LOCAL_CFLAGS := -DPLATFORM_MSM8084 LOCAL_CFLAGS += -DMAX_TARGET_SPECIFIC_CHANNEL_CNT="2" endif ifneq ($(filter msm8992,$(TARGET_BOARD_PLATFORM)),) LOCAL_CFLAGS += -DPLATFORM_MSM8994 LOCAL_CFLAGS := -DPLATFORM_MSM8994 LOCAL_CFLAGS += -DMAX_TARGET_SPECIFIC_CHANNEL_CNT="4" LOCAL_CFLAGS += -DKPI_OPTIMIZE_ENABLED endif ifneq ($(filter msm8994,$(TARGET_BOARD_PLATFORM)),) LOCAL_CFLAGS += -DPLATFORM_MSM8994 LOCAL_CFLAGS := -DPLATFORM_MSM8994 LOCAL_CFLAGS += -DMAX_TARGET_SPECIFIC_CHANNEL_CNT="4" LOCAL_CFLAGS += -DKPI_OPTIMIZE_ENABLED endif ifneq ($(filter msm8996,$(TARGET_BOARD_PLATFORM)),) LOCAL_CFLAGS += -DPLATFORM_MSM8996 LOCAL_CFLAGS := -DPLATFORM_MSM8996 LOCAL_CFLAGS += -DMAX_TARGET_SPECIFIC_CHANNEL_CNT="4" LOCAL_CFLAGS += -DKPI_OPTIMIZE_ENABLED MULTIPLE_HW_VARIANTS_ENABLED := true endif endif LOCAL_SRC_FILES := \ Loading @@ -50,12 +49,7 @@ LOCAL_SRC_FILES := \ platform_info.c \ audio_extn/ext_speaker.c \ audio_extn/audio_extn.c \ $(AUDIO_PLATFORM)/platform.c \ ifdef MULTIPLE_HW_VARIANTS_ENABLED LOCAL_CFLAGS += -DHW_VARIANTS_ENABLED LOCAL_SRC_FILES += $(AUDIO_PLATFORM)/hw_info.c \ endif $(AUDIO_PLATFORM)/platform.c LOCAL_SHARED_LIBRARIES := \ liblog \ Loading hal/audio_extn/audio_extn.h +0 −28 Original line number Diff line number Diff line Loading @@ -19,14 +19,6 @@ #include <cutils/str_parms.h> #define HW_INFO_ARRAY_MAX_SIZE 32 struct snd_card_split { char device[HW_INFO_ARRAY_MAX_SIZE]; char snd_card[HW_INFO_ARRAY_MAX_SIZE]; char form_factor[HW_INFO_ARRAY_MAX_SIZE]; }; void *audio_extn_extspk_init(struct audio_device *adev); void audio_extn_extspk_deinit(void *extn); void audio_extn_extspk_update(void* extn); Loading Loading @@ -118,24 +110,4 @@ int audio_extn_perf_lock_init(void); void audio_extn_perf_lock_acquire(void); void audio_extn_perf_lock_release(void); #endif /* KPI_OPTIMIZE_ENABLED */ #ifndef HW_VARIANTS_ENABLED #define hw_info_init(snd_card_name) (0) #define hw_info_deinit(hw_info) (0) #define hw_info_append_hw_type(hw_info,\ snd_device, device_name) (0) #else void *hw_info_init(const char *snd_card_name); void hw_info_deinit(void *hw_info); void hw_info_append_hw_type(void *hw_info, snd_device_t snd_device, char *device_name); #endif #ifndef PLATFORM_BFAMILY #define get_snd_card_split() (0) #define set_snd_card_split(snd_card_name) (0) #else struct snd_card_split *get_snd_card_split(); void set_snd_card_split(const char* snd_card_name); #endif #endif /* AUDIO_EXTN_H */ hal/audio_hw.c +14 −27 Original line number Diff line number Diff line Loading @@ -307,19 +307,20 @@ int enable_snd_device(struct audio_device *adev, { int i, num_devices = 0; snd_device_t new_snd_devices[2]; int ret_val = -EINVAL; if (snd_device < SND_DEVICE_MIN || snd_device >= SND_DEVICE_MAX) { ALOGE("%s: Invalid sound device %d", __func__, snd_device); goto on_error; return -EINVAL; } platform_send_audio_calibration(adev->platform, snd_device); if (adev->snd_dev_ref_cnt[snd_device] >= 1) { adev->snd_dev_ref_cnt[snd_device]++; if (adev->snd_dev_ref_cnt[snd_device] > 1) { ALOGV("%s: snd_device(%d: %s) is already active", __func__, snd_device, platform_get_snd_device_name(snd_device)); goto on_success; return 0; } /* due to the possibility of calibration overwrite between listen Loading @@ -336,11 +337,12 @@ int enable_snd_device(struct audio_device *adev, snd_device == SND_DEVICE_OUT_VOICE_SPEAKER) && audio_extn_spkr_prot_is_enabled()) { if (audio_extn_spkr_prot_get_acdb_id(snd_device) < 0) { goto on_error; adev->snd_dev_ref_cnt[snd_device]--; return -EINVAL; } if (audio_extn_spkr_prot_start_processing(snd_device)) { ALOGE("%s: spkr_start_processing failed", __func__); goto on_error; return -EINVAL; } } else if (platform_can_split_snd_device(snd_device, &num_devices, new_snd_devices)) { for (i = 0; i < num_devices; i++) { Loading @@ -348,20 +350,12 @@ int enable_snd_device(struct audio_device *adev, } platform_set_speaker_gain_in_combo(adev, snd_device, true); } else { char device_name[DEVICE_NAME_MAX_SIZE] = {0}; if (platform_get_snd_device_name_extn(adev->platform, snd_device, device_name) < 0 ) { ALOGE(" %s: Invalid sound device returned", __func__); goto on_error; const char * dev_path = platform_get_snd_device_name(snd_device); ALOGV("%s: snd_device(%d: %s)", __func__, snd_device, dev_path); audio_route_apply_and_update_path(adev->audio_route, dev_path); } ALOGV("%s: snd_device(%d: %s)", __func__, snd_device, device_name); audio_route_apply_and_update_path(adev->audio_route, device_name); } on_success: adev->snd_dev_ref_cnt[snd_device]++; ret_val = 0; on_error: return ret_val; return 0; } int disable_snd_device(struct audio_device *adev, Loading Loading @@ -395,14 +389,7 @@ int disable_snd_device(struct audio_device *adev, } platform_set_speaker_gain_in_combo(adev, snd_device, false); } else { char device_name[DEVICE_NAME_MAX_SIZE] = {0}; if (platform_get_snd_device_name_extn(adev->platform, snd_device, device_name) < 0 ) { ALOGE(" %s: Invalid sound device returned", __func__); return -EINVAL; } ALOGD("%s: snd_device(%d: %s)", __func__, snd_device, device_name); audio_route_reset_and_update_path(adev->audio_route, device_name); audio_route_reset_and_update_path(adev->audio_route, dev_path); } audio_extn_sound_trigger_update_device_status(snd_device, ST_EVENT_SND_DEVICE_FREE); Loading hal/audio_hw.h +2 −0 Original line number Diff line number Diff line Loading @@ -45,6 +45,8 @@ #define MAX_SUPPORTED_CHANNEL_MASKS 2 #define DEFAULT_HDMI_OUT_CHANNELS 2 typedef int snd_device_t; /* These are the supported use cases by the hardware. * Each usecase is mapped to a specific PCM device. * Refer to pcm_device_table[]. Loading hal/msm8960/platform.c +0 −9 Original line number Diff line number Diff line Loading @@ -1087,12 +1087,3 @@ bool platform_check_backends_match(snd_device_t snd_device1 __unused, { return true; } int platform_get_snd_device_name_extn(void *platform __unused, snd_device_t snd_device, char *device_name) { device_name = platform_get_snd_device_name(snd_device); return 0; } Loading
hal/Android.mk +8 −14 Original line number Diff line number Diff line Loading @@ -13,35 +13,34 @@ endif ifneq ($(filter msm8974 msm8226 msm8084 msm8992 msm8994 msm8996,$(TARGET_BOARD_PLATFORM)),) # B-family platform uses msm8974 code base AUDIO_PLATFORM = msm8974 LOCAL_CFLAGS := -DPLATFORM_BFAMILY ifneq ($(filter msm8974,$(TARGET_BOARD_PLATFORM)),) LOCAL_CFLAGS += -DPLATFORM_MSM8974 LOCAL_CFLAGS := -DPLATFORM_MSM8974 LOCAL_CFLAGS += -DMAX_TARGET_SPECIFIC_CHANNEL_CNT="2" endif ifneq ($(filter msm8226,$(TARGET_BOARD_PLATFORM)),) LOCAL_CFLAGS += -DPLATFORM_MSM8x26 LOCAL_CFLAGS := -DPLATFORM_MSM8x26 LOCAL_CFLAGS += -DMAX_TARGET_SPECIFIC_CHANNEL_CNT="2" endif ifneq ($(filter msm8084,$(TARGET_BOARD_PLATFORM)),) LOCAL_CFLAGS += -DPLATFORM_MSM8084 LOCAL_CFLAGS := -DPLATFORM_MSM8084 LOCAL_CFLAGS += -DMAX_TARGET_SPECIFIC_CHANNEL_CNT="2" endif ifneq ($(filter msm8992,$(TARGET_BOARD_PLATFORM)),) LOCAL_CFLAGS += -DPLATFORM_MSM8994 LOCAL_CFLAGS := -DPLATFORM_MSM8994 LOCAL_CFLAGS += -DMAX_TARGET_SPECIFIC_CHANNEL_CNT="4" LOCAL_CFLAGS += -DKPI_OPTIMIZE_ENABLED endif ifneq ($(filter msm8994,$(TARGET_BOARD_PLATFORM)),) LOCAL_CFLAGS += -DPLATFORM_MSM8994 LOCAL_CFLAGS := -DPLATFORM_MSM8994 LOCAL_CFLAGS += -DMAX_TARGET_SPECIFIC_CHANNEL_CNT="4" LOCAL_CFLAGS += -DKPI_OPTIMIZE_ENABLED endif ifneq ($(filter msm8996,$(TARGET_BOARD_PLATFORM)),) LOCAL_CFLAGS += -DPLATFORM_MSM8996 LOCAL_CFLAGS := -DPLATFORM_MSM8996 LOCAL_CFLAGS += -DMAX_TARGET_SPECIFIC_CHANNEL_CNT="4" LOCAL_CFLAGS += -DKPI_OPTIMIZE_ENABLED MULTIPLE_HW_VARIANTS_ENABLED := true endif endif LOCAL_SRC_FILES := \ Loading @@ -50,12 +49,7 @@ LOCAL_SRC_FILES := \ platform_info.c \ audio_extn/ext_speaker.c \ audio_extn/audio_extn.c \ $(AUDIO_PLATFORM)/platform.c \ ifdef MULTIPLE_HW_VARIANTS_ENABLED LOCAL_CFLAGS += -DHW_VARIANTS_ENABLED LOCAL_SRC_FILES += $(AUDIO_PLATFORM)/hw_info.c \ endif $(AUDIO_PLATFORM)/platform.c LOCAL_SHARED_LIBRARIES := \ liblog \ Loading
hal/audio_extn/audio_extn.h +0 −28 Original line number Diff line number Diff line Loading @@ -19,14 +19,6 @@ #include <cutils/str_parms.h> #define HW_INFO_ARRAY_MAX_SIZE 32 struct snd_card_split { char device[HW_INFO_ARRAY_MAX_SIZE]; char snd_card[HW_INFO_ARRAY_MAX_SIZE]; char form_factor[HW_INFO_ARRAY_MAX_SIZE]; }; void *audio_extn_extspk_init(struct audio_device *adev); void audio_extn_extspk_deinit(void *extn); void audio_extn_extspk_update(void* extn); Loading Loading @@ -118,24 +110,4 @@ int audio_extn_perf_lock_init(void); void audio_extn_perf_lock_acquire(void); void audio_extn_perf_lock_release(void); #endif /* KPI_OPTIMIZE_ENABLED */ #ifndef HW_VARIANTS_ENABLED #define hw_info_init(snd_card_name) (0) #define hw_info_deinit(hw_info) (0) #define hw_info_append_hw_type(hw_info,\ snd_device, device_name) (0) #else void *hw_info_init(const char *snd_card_name); void hw_info_deinit(void *hw_info); void hw_info_append_hw_type(void *hw_info, snd_device_t snd_device, char *device_name); #endif #ifndef PLATFORM_BFAMILY #define get_snd_card_split() (0) #define set_snd_card_split(snd_card_name) (0) #else struct snd_card_split *get_snd_card_split(); void set_snd_card_split(const char* snd_card_name); #endif #endif /* AUDIO_EXTN_H */
hal/audio_hw.c +14 −27 Original line number Diff line number Diff line Loading @@ -307,19 +307,20 @@ int enable_snd_device(struct audio_device *adev, { int i, num_devices = 0; snd_device_t new_snd_devices[2]; int ret_val = -EINVAL; if (snd_device < SND_DEVICE_MIN || snd_device >= SND_DEVICE_MAX) { ALOGE("%s: Invalid sound device %d", __func__, snd_device); goto on_error; return -EINVAL; } platform_send_audio_calibration(adev->platform, snd_device); if (adev->snd_dev_ref_cnt[snd_device] >= 1) { adev->snd_dev_ref_cnt[snd_device]++; if (adev->snd_dev_ref_cnt[snd_device] > 1) { ALOGV("%s: snd_device(%d: %s) is already active", __func__, snd_device, platform_get_snd_device_name(snd_device)); goto on_success; return 0; } /* due to the possibility of calibration overwrite between listen Loading @@ -336,11 +337,12 @@ int enable_snd_device(struct audio_device *adev, snd_device == SND_DEVICE_OUT_VOICE_SPEAKER) && audio_extn_spkr_prot_is_enabled()) { if (audio_extn_spkr_prot_get_acdb_id(snd_device) < 0) { goto on_error; adev->snd_dev_ref_cnt[snd_device]--; return -EINVAL; } if (audio_extn_spkr_prot_start_processing(snd_device)) { ALOGE("%s: spkr_start_processing failed", __func__); goto on_error; return -EINVAL; } } else if (platform_can_split_snd_device(snd_device, &num_devices, new_snd_devices)) { for (i = 0; i < num_devices; i++) { Loading @@ -348,20 +350,12 @@ int enable_snd_device(struct audio_device *adev, } platform_set_speaker_gain_in_combo(adev, snd_device, true); } else { char device_name[DEVICE_NAME_MAX_SIZE] = {0}; if (platform_get_snd_device_name_extn(adev->platform, snd_device, device_name) < 0 ) { ALOGE(" %s: Invalid sound device returned", __func__); goto on_error; const char * dev_path = platform_get_snd_device_name(snd_device); ALOGV("%s: snd_device(%d: %s)", __func__, snd_device, dev_path); audio_route_apply_and_update_path(adev->audio_route, dev_path); } ALOGV("%s: snd_device(%d: %s)", __func__, snd_device, device_name); audio_route_apply_and_update_path(adev->audio_route, device_name); } on_success: adev->snd_dev_ref_cnt[snd_device]++; ret_val = 0; on_error: return ret_val; return 0; } int disable_snd_device(struct audio_device *adev, Loading Loading @@ -395,14 +389,7 @@ int disable_snd_device(struct audio_device *adev, } platform_set_speaker_gain_in_combo(adev, snd_device, false); } else { char device_name[DEVICE_NAME_MAX_SIZE] = {0}; if (platform_get_snd_device_name_extn(adev->platform, snd_device, device_name) < 0 ) { ALOGE(" %s: Invalid sound device returned", __func__); return -EINVAL; } ALOGD("%s: snd_device(%d: %s)", __func__, snd_device, device_name); audio_route_reset_and_update_path(adev->audio_route, device_name); audio_route_reset_and_update_path(adev->audio_route, dev_path); } audio_extn_sound_trigger_update_device_status(snd_device, ST_EVENT_SND_DEVICE_FREE); Loading
hal/audio_hw.h +2 −0 Original line number Diff line number Diff line Loading @@ -45,6 +45,8 @@ #define MAX_SUPPORTED_CHANNEL_MASKS 2 #define DEFAULT_HDMI_OUT_CHANNELS 2 typedef int snd_device_t; /* These are the supported use cases by the hardware. * Each usecase is mapped to a specific PCM device. * Refer to pcm_device_table[]. Loading
hal/msm8960/platform.c +0 −9 Original line number Diff line number Diff line Loading @@ -1087,12 +1087,3 @@ bool platform_check_backends_match(snd_device_t snd_device1 __unused, { return true; } int platform_get_snd_device_name_extn(void *platform __unused, snd_device_t snd_device, char *device_name) { device_name = platform_get_snd_device_name(snd_device); return 0; }