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

Commit a219e64d authored by Linux Build Service Account's avatar Linux Build Service Account
Browse files

Promotion of audio-userspace.lnx.3.0-00018.

CRs      Change ID                                   Subject
--------------------------------------------------------------------------------------------------------------
2034412   Id9691ecf9132e7bed4ae8e72a762649531530a05   config: define pcm device id for voice call
2034412   I277c799fa272e0232b3955f0f78cec187a134a37   audio: enable CUSTOM_AUDIO_POLICY
2007755   Ia6b2e184e8f4e133f91889afb8e1b8f3213ab7f0   hal: fix for KW issues.
1021714   I57fd9eb62d8548468cb10bf23498809867fbbc61   audio: Fixed compiler warning
2026421   I9d89631d32c9fc1a549665fb311f8adefd758ec9   hal: Add support for Tasha I2S sound card

Change-Id: I45ebea19b98c1fb97788cf810516142e11acd18e
CRs-Fixed: 2007755, 2034412, 2026421, 1021714
parents 86193ed3 235f6eb9
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Copyright (c) 2015-2016, The Linux Foundation. All rights reserved.         -->
<!-- Copyright (c) 2015-2016, 2017 The Linux Foundation. All rights reserved.   -->
<!--                                                                        -->
<!-- Redistribution and use in source and binary forms, with or without     -->
<!-- modification, are permitted provided that the following conditions are -->
@@ -26,6 +26,13 @@
<!-- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -->
<!-- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.                          -->
<audio_platform_info>
    <pcm_ids>
        <usecase name="USECASE_VOICEMMODE1_CALL" type="in" id="34"/>
        <usecase name="USECASE_VOICEMMODE1_CALL" type="out" id="34"/>
        <usecase name="USECASE_VOICEMMODE2_CALL" type="in" id="35"/>
        <usecase name="USECASE_VOICEMMODE2_CALL" type="out" id="35"/>
    </pcm_ids>

    <interface_names>
        <device name="AUDIO_DEVICE_IN_BUILTIN_MIC" interface="QUATERNARY_MI2S" codec_type="external"/>
        <device name="AUDIO_DEVICE_IN_BACK_MIC" interface="QUATERNARY_MI2S" codec_type="external"/>
+1 −1
Original line number Diff line number Diff line
@@ -4,7 +4,6 @@
BOARD_USES_ALSA_AUDIO := true

#TODO move this cchange to device/qcom/msm8909
TARGET_USES_AOSP_FOR_AUDIO := true

ifneq ($(TARGET_USES_AOSP_FOR_AUDIO), true)
USE_CUSTOM_AUDIO_POLICY := 1
@@ -22,6 +21,7 @@ AUDIO_FEATURE_ENABLED_RECORD_PLAY_CONCURRENCY := true
#AUDIO_FEATURE_ENABLED_PM_SUPPORT := true
AUDIO_FEATURE_ENABLED_DS2_DOLBY_DAP := true
MM_AUDIO_ENABLED_SAFX := true
DOLBY_ENABLE := false

endif
USE_XML_AUDIO_POLICY_CONF := 1
+2 −1
Original line number Diff line number Diff line
@@ -32,6 +32,7 @@

#include "pm.h"
#include <cutils/log.h>
#include <cutils/str_parms.h>

/* Device state*/
#define AUDIO_PARAMETER_KEY_DEV_SHUTDOWN "dev_shutdown"
@@ -98,7 +99,7 @@ void audio_extn_pm_set_parameters(struct str_parms *parms)
    }
}

void audio_extn_pm_event_notifier(void *client_data, enum pm_event event)
void audio_extn_pm_event_notifier(void *client_data __unused, enum pm_event event)
{

    int err, intfd;
+3 −1
Original line number Diff line number Diff line
@@ -170,6 +170,8 @@ static void update_hardware_info_8x16(struct hardware_info *hw_info, const char
        strlcpy(hw_info->name, "apq8009", sizeof(hw_info->name));
    } else if (!strcmp(snd_card_name, "mdm9607-tomtom-i2s-snd-card")) {
        strlcpy(hw_info->name, "mdm9607", sizeof(hw_info->name));
    } else if (!strcmp(snd_card_name, "mdm-tasha-i2s-snd-card")) {
        strlcpy(hw_info->name, "mdm-tasha", sizeof(hw_info->name));
    } else if (!strcmp(snd_card_name, "msm8909-skuq-snd-card")) {
        strlcpy(hw_info->type, "skuq", sizeof(hw_info->type));
        strlcpy(hw_info->name, "msm8909", sizeof(hw_info->name));
@@ -202,7 +204,7 @@ void *hw_info_init(const char *snd_card_name)
        strstr(snd_card_name, "msm8937") || strstr(snd_card_name, "msm8917") ||
        strstr(snd_card_name, "msm8940") || strstr(snd_card_name, "msm8920") ||
        strstr(snd_card_name, "sdm660") || strstr(snd_card_name, "apq8009") ||
		strstr(snd_card_name, "mdm9607")) {
        strstr(snd_card_name, "mdm9607") || strstr(snd_card_name, "mdm-tasha")) {
        ALOGV("8x16 - variant soundcard");
        update_hardware_info_8x16(hw_info, snd_card_name);
    } else {
+17 −6
Original line number Diff line number Diff line
@@ -76,6 +76,7 @@
#define PLATFORM_INFO_XML_PATH      "/etc/audio_platform_info.xml"
#define MIXER_XML_PATH_WCD9326_I2S "/etc/mixer_paths_wcd9326_i2s.xml"
#define MIXER_XML_PATH_WCD9330_I2S "/etc/mixer_paths_wcd9330_i2s.xml"
#define MIXER_XML_PATH_WCD9335_I2S "/etc/mixer_paths_wcd9335_i2s.xml"
#define MIXER_XML_PATH_SBC "/etc/mixer_paths_sbc.xml"
#else
#define MIXER_XML_PATH "/system/etc/mixer_paths.xml"
@@ -90,6 +91,7 @@
#define PLATFORM_INFO_XML_PATH      "/system/etc/audio_platform_info.xml"
#define MIXER_XML_PATH_WCD9326_I2S "/system/etc/mixer_paths_wcd9326_i2s.xml"
#define MIXER_XML_PATH_WCD9330_I2S "/system/etc/mixer_paths_wcd9330_i2s.xml"
#define MIXER_XML_PATH_WCD9335_I2S "/system/etc/mixer_paths_wcd9335_i2s.xml"
#define MIXER_XML_PATH_SBC "/system/etc/mixer_paths_sbc.xml"
#endif
#define MIXER_XML_PATH_SKUN "/system/etc/mixer_paths_qrd_skun.xml"
@@ -946,6 +948,8 @@ static void update_codec_type(const char *snd_card_name) {
                  sizeof("apq8009-tashalite-snd-card")) ||
         !strncmp(snd_card_name, "mdm9607-tomtom-i2s-snd-card",
                  sizeof("mdm9607-tomtom-i2s-snd-card")) ||
         !strncmp(snd_card_name, "mdm-tasha-i2s-snd-card",
                  sizeof("mdm-tasha-i2s-snd-card")) ||
         !strncmp(snd_card_name, "sdm660-tashalite-snd-card",
                  sizeof("sdm660-tashalite-snd-card")) ||
         !strncmp(snd_card_name, "sdm660-tasha-skus-snd-card",
@@ -1324,6 +1328,13 @@ static void query_platform(const char *snd_card_name,
        msm_device_to_be_id = msm_device_to_be_id_external_codec;
        msm_be_id_array_len  =
            sizeof(msm_device_to_be_id_external_codec) / sizeof(msm_device_to_be_id_external_codec[0]);
   } else if (!strncmp(snd_card_name, "mdm-tasha-i2s-snd-card",
                       sizeof("mdm-tasha-i2s-snd-card"))) {
        strlcpy(mixer_xml_path, MIXER_XML_PATH_WCD9335_I2S,
                sizeof(MIXER_XML_PATH_WCD9335_I2S));
        msm_device_to_be_id = msm_device_to_be_id_external_codec;
        msm_be_id_array_len  =
            sizeof(msm_device_to_be_id_external_codec) / sizeof(msm_device_to_be_id_external_codec[0]);
    } else {
        strlcpy(mixer_xml_path, MIXER_XML_PATH,
                sizeof(MIXER_XML_PATH));
@@ -6225,12 +6236,12 @@ int platform_set_channel_map(void *platform, int ch_count, char *ch_map, int snd
    char mixer_ctl_name[44] = {0}; // max length of name is 44 as defined
    int ret;
    unsigned int i;
    int set_values[8] = {0};
    int set_values[FCC_8] = {0};
    struct platform_data *my_data = (struct platform_data *)platform;
    struct audio_device *adev = my_data->adev;
    ALOGV("%s channel_count:%d",__func__, ch_count);
    if (NULL == ch_map) {
        ALOGE("%s: Invalid channel mapping used", __func__);
    if (NULL == ch_map || (ch_count < 1) || (ch_count > FCC_8)) {
        ALOGE("%s: Invalid channel mapping or channel count value", __func__);
        return -EINVAL;
    }

@@ -6252,7 +6263,7 @@ int platform_set_channel_map(void *platform, int ch_count, char *ch_map, int snd
              __func__, mixer_ctl_name);
        return -EINVAL;
    }
    for (i = 0; i< ARRAY_SIZE(set_values); i++) {
    for (i = 0; i < (unsigned int)ch_count; i++) {
        set_values[i] = ch_map[i];
    }

@@ -6260,7 +6271,7 @@ int platform_set_channel_map(void *platform, int ch_count, char *ch_map, int snd
        set_values[0], set_values[1], set_values[2], set_values[3], set_values[4],
        set_values[5], set_values[6], set_values[7], ch_count);

    ret = mixer_ctl_set_array(ctl, set_values, ch_count);
    ret = mixer_ctl_set_array(ctl, set_values, ARRAY_SIZE(set_values));
    if (ret < 0) {
        ALOGE("%s: Could not set ctl, error:%d ch_count:%d",
              __func__, ret, ch_count);
Loading