Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 70b5c140 authored by Ed Tam's avatar Ed Tam
Browse files

Revert "Revert "Revert "hal: enable form factor based configuration"""

Build fix

This reverts commit b0b0d57b.

Change-Id: I84040cba92da4ebde156d2b9bb9d0a52d581d592
parent bffddace
Loading
Loading
Loading
Loading
+8 −14
Original line number Diff line number Diff line
@@ -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 := \
@@ -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 \
+0 −28
Original line number Diff line number Diff line
@@ -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);
@@ -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 */
+14 −27
Original line number Diff line number Diff line
@@ -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
@@ -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++) {
@@ -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,
@@ -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);
+2 −0
Original line number Diff line number Diff line
@@ -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[].
+0 −9
Original line number Diff line number Diff line
@@ -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