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

Commit 107647ec authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "HAL: Add new device for voice headset"

parents 5a58ce2d fd24f1e1
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -138,6 +138,7 @@
        <device name="SND_DEVICE_OUT_SPEAKER_AND_ANC_HEADSET" backend="speaker-and-headphones" interface="SLIMBUS_0_RX-and-SLIMBUS_6_RX"/>
        <device name="SND_DEVICE_OUT_SPEAKER_AND_ANC_FB_HEADSET" backend="speaker-and-headphones" interface="SLIMBUS_0_RX-and-SLIMBUS_6_RX"/>
        <device name="SND_DEVICE_OUT_VOICE_HEADPHONES" backend="headphones" interface="SLIMBUS_6_RX"/>
        <device name="SND_DEVICE_OUT_VOICE_HEADSET" backend="headset" interface="SLIMBUS_6_RX"/>
        <device name="SND_DEVICE_OUT_VOICE_ANC_HEADSET" backend="headphones" interface="SLIMBUS_6_RX"/>
        <device name="SND_DEVICE_OUT_VOICE_ANC_FB_HEADSET" backend="headphones" interface="SLIMBUS_6_RX"/>
        <device name="SND_DEVICE_OUT_VOICE_LINE" backend="headphones" interface="SLIMBUS_6_RX"/>
+95 −1
Original line number Diff line number Diff line
@@ -568,6 +568,10 @@
        <ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_6_RX" />
    </path>

    <path name="echo-reference headset">
        <path name="echo-reference headphones" />
    </path>

    <path name="echo-reference display-port">
        <ctl name="AUDIO_REF_EC_UL1 MUX" value="DISPLAY_PORT" />
    </path>
@@ -583,6 +587,10 @@
        <ctl name="AUDIO_REF_EC_UL10 MUX" value="SLIM_6_RX" />
    </path>

    <path name="echo-reference-voip headset">
        <path name="echo-reference-voip headphones" />
    </path>

    <path name="echo-reference-voip display-port">
        <ctl name="AUDIO_REF_EC_UL10 MUX" value="DISPLAY_PORT" />
    </path>
@@ -634,6 +642,10 @@
        <ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia1" value="1" />
    </path>

    <path name="deep-buffer-playback headset">
        <path name="deep-buffer-playback headphones" />
    </path>

    <path name="deep-buffer-playback speaker-and-headphones">
        <path name="deep-buffer-playback headphones" />
        <path name="deep-buffer-playback" />
@@ -696,6 +708,10 @@
        <ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia5" value="1" />
    </path>

    <path name="low-latency-playback headset">
        <path name="low-latency-playback headphones" />
    </path>

    <path name="low-latency-playback speaker-and-headphones">
        <path name="low-latency-playback headphones" />
        <path name="low-latency-playback" />
@@ -727,6 +743,10 @@
        <ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia8" value="1" />
    </path>

    <path name="audio-ull-playback headset">
        <path name="audio-ull-playback headphones" />
    </path>

    <path name="audio-ull-playback speaker-and-headphones">
        <path name="audio-ull-playback" />
        <path name="audio-ull-playback headphones" />
@@ -831,6 +851,10 @@
        <ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia4" value="1" />
    </path>

    <path name="compress-offload-playback headset">
        <path name="compress-offload-playback headphones" />
    </path>

    <path name="compress-offload-playback headphones-44.1">
        <ctl name="SLIMBUS_5_RX Audio Mixer MultiMedia4" value="1" />
    </path>
@@ -897,6 +921,10 @@
        <ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia7" value="1" />
    </path>

    <path name="compress-offload-playback2 headset">
        <path name="compress-offload-playback2 headphones" />
    </path>

    <path name="compress-offload-playback2 headphones-44.1">
        <ctl name="SLIMBUS_5_RX Audio Mixer MultiMedia7" value="1" />
    </path>
@@ -963,6 +991,10 @@
        <ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia10" value="1" />
    </path>

    <path name="compress-offload-playback3 headset">
        <path name="compress-offload-playback3 headphones" />
    </path>

    <path name="compress-offload-playback3 headphones-44.1">
        <ctl name="SLIMBUS_5_RX Audio Mixer MultiMedia10" value="1" />
    </path>
@@ -1030,6 +1062,10 @@
        <ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia11" value="1" />
    </path>

    <path name="compress-offload-playback4 headset">
        <path name="compress-offload-playback4 headphones" />
    </path>

    <path name="compress-offload-playback4 headphones-44.1">
        <ctl name="SLIMBUS_5_RX Audio Mixer MultiMedia11" value="1" />
    </path>
@@ -1096,6 +1132,10 @@
        <ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia12" value="1" />
    </path>

    <path name="compress-offload-playback5 headset">
        <path name="compress-offload-playback5 headphones" />
    </path>

    <path name="compress-offload-playback5 headphones-44.1">
        <ctl name="SLIMBUS_5_RX Audio Mixer MultiMedia12" value="1" />
    </path>
@@ -1162,6 +1202,10 @@
        <ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia13" value="1" />
    </path>

    <path name="compress-offload-playback6 headset">
        <path name="compress-offload-playback6 headphones" />
    </path>

    <path name="compress-offload-playback6 headphones-44.1">
        <ctl name="SLIMBUS_5_RX Audio Mixer MultiMedia13" value="1" />
    </path>
@@ -1228,6 +1272,10 @@
        <ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia14" value="1" />
    </path>

    <path name="compress-offload-playback7 headset">
        <path name="compress-offload-playback7 headphones" />
    </path>

    <path name="compress-offload-playback7 headphones-44.1">
        <ctl name="SLIMBUS_5_RX Audio Mixer MultiMedia14" value="1" />
    </path>
@@ -1294,6 +1342,10 @@
        <ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia15" value="1" />
    </path>

    <path name="compress-offload-playback8 headset">
        <path name="compress-offload-playback8 headphones" />
    </path>

    <path name="compress-offload-playback8 headphones-44.1">
        <ctl name="SLIMBUS_5_RX Audio Mixer MultiMedia15" value="1" />
    </path>
@@ -1360,6 +1412,10 @@
        <ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia16" value="1" />
    </path>

    <path name="compress-offload-playback9 headset">
        <path name="compress-offload-playback9 headphones" />
    </path>

    <path name="compress-offload-playback9 headphones-44.1">
        <ctl name="SLIMBUS_5_RX Audio Mixer MultiMedia16" value="1" />
    </path>
@@ -1491,6 +1547,10 @@
        <ctl name="SLIMBUS6_DL_HL Switch" value="1" />
    </path>

    <path name="play-fm headset">
        <path name="play-fm headphones" />
    </path>

    <path name="incall-rec-uplink">
        <ctl name="MultiMedia1 Mixer VOC_REC_UL" value="1" />
    </path>
@@ -1643,6 +1703,10 @@
    <path name="hfp-sco headphones">
    </path>

    <path name="hfp-sco headset">
        <path name="hfp-sco headphones" />
    </path>

   <path name="hfp-sco-wb">
        <path name="hfp-sco" />
   </path>
@@ -1651,6 +1715,10 @@
        <path name="hfp-sco headphones" />
    </path>

    <path name="hfp-sco-wb headset">
        <path name="hfp-sco headphones" />
    </path>

    <path name="compress-voip-call">
        <ctl name="SLIM_0_RX_Voice Mixer Voip" value="1" />
        <ctl name="Voip_Tx Mixer SLIM_0_TX_Voip" value="1" />
@@ -1663,9 +1731,13 @@

    <path name="compress-voip-call headphones">
        <ctl name="SLIM_6_RX_Voice Mixer Voip" value="1" />
        <ctl name="Voip_Tx Mixer SLIM_1_TX_Voip" value="1" />
        <ctl name="Voip_Tx Mixer SLIM_0_TX_Voip" value="1" />
    </path>

    <path name="compress-voip-call headset">
        <ctl name="SLIM_6_RX_Voice Mixer Voip" value="1" />
        <ctl name="Voip_Tx Mixer SLIM_1_TX_Voip" value="1" />
    </path>

    <path name="compress-voip-call bt-sco">
        <ctl name="SLIM_7_RX_Voice Mixer Voip" value="1" />
@@ -1698,6 +1770,11 @@
    </path>

    <path name="voicemmode1-call headphones">
        <ctl name="SLIM_6_RX_Voice Mixer VoiceMMode1" value="1" />
        <ctl name="VoiceMMode1_Tx Mixer SLIM_0_TX_MMode1" value="1" />
    </path>

    <path name="voicemmode1-call headset">
        <ctl name="SLIM_6_RX_Voice Mixer VoiceMMode1" value="1" />
        <ctl name="VoiceMMode1_Tx Mixer SLIM_1_TX_MMode1" value="1" />
    </path>
@@ -1743,6 +1820,11 @@
    </path>

    <path name="voicemmode2-call headphones">
        <ctl name="SLIM_6_RX_Voice Mixer VoiceMMode2" value="1" />
        <ctl name="VoiceMMode2_Tx Mixer SLIM_0_TX_MMode2" value="1" />
    </path>

    <path name="voicemmode2-call headset">
        <ctl name="SLIM_6_RX_Voice Mixer VoiceMMode2" value="1" />
        <ctl name="VoiceMMode2_Tx Mixer SLIM_1_TX_MMode2" value="1" />
    </path>
@@ -1791,6 +1873,10 @@
        <ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia10" value="1" />
    </path>

    <path name="audio-playback-voip headset">
        <path name="audio-playback-voip headphones" />
    </path>

    <path name="audio-playback-voip bt-sco">
        <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia10" value="1" />
    </path>
@@ -2295,6 +2381,10 @@
        <path name="headphones" />
    </path>

    <path name="voice-headset">
        <path name="headphones" />
    </path>

    <path name="voice-line">
        <path name="voice-headphones" />
    </path>
@@ -2986,6 +3076,10 @@
        <ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia16" value="1" />
    </path>

    <path name="mmap-playback headset">
        <path name="mmap-playback headphones" />
    </path>

    <path name="mmap-playback speaker-and-headphones">
        <path name="mmap-playback" />
        <path name="mmap-playback headphones" />
+1 −0
Original line number Diff line number Diff line
@@ -142,6 +142,7 @@ static audio_devices_t get_audio_device(snd_device_t snd_device)
        {SND_DEVICE_OUT_VOICE_HEADPHONES, AUDIO_DEVICE_OUT_WIRED_HEADPHONE},
        {SND_DEVICE_OUT_SPEAKER_AND_HEADPHONES,
            AUDIO_DEVICE_OUT_SPEAKER | AUDIO_DEVICE_OUT_WIRED_HEADPHONE}
        {SND_DEVICE_OUT_VOICE_HEADSET, AUDIO_DEVICE_OUT_WIRED_HEADSET},
    };

    audio_devices_t aud_device = AUDIO_DEVICE_NONE;
+13 −5
Original line number Diff line number Diff line
@@ -503,6 +503,7 @@ static const char * const device_table[SND_DEVICE_MAX] = {
    [SND_DEVICE_OUT_VOICE_SPEAKER_2_WSA] = "wsa-voice-speaker-2",
    [SND_DEVICE_OUT_VOICE_SPEAKER_2_VBAT] = "voice-speaker-2-vbat",
    [SND_DEVICE_OUT_VOICE_HEADPHONES] = "voice-headphones",
    [SND_DEVICE_OUT_VOICE_HEADSET] = "voice-headset",
    [SND_DEVICE_OUT_VOICE_LINE] = "voice-line",
    [SND_DEVICE_OUT_HDMI] = "hdmi",
    [SND_DEVICE_OUT_SPEAKER_AND_HDMI] = "speaker-and-hdmi",
@@ -762,6 +763,7 @@ static int acdb_device_table[SND_DEVICE_MAX] = {
    [SND_DEVICE_OUT_VOICE_SPEAKER_2_VBAT] = 14,
    [SND_DEVICE_OUT_VOICE_HAC_HANDSET] = 53,
    [SND_DEVICE_OUT_VOICE_HEADPHONES] = 10,
    [SND_DEVICE_OUT_VOICE_HEADSET] = 10,
    [SND_DEVICE_OUT_VOICE_LINE] = 10,
    [SND_DEVICE_OUT_VOICE_SPEAKER_AND_VOICE_HEADPHONES] = 10,
    [SND_DEVICE_OUT_VOICE_SPEAKER_AND_VOICE_ANC_HEADSET] = 10,
@@ -982,6 +984,7 @@ static struct name_to_index snd_device_name_index[SND_DEVICE_MAX] = {
    {TO_NAME_INDEX(SND_DEVICE_OUT_VOICE_SPEAKER_2_WSA)},
    {TO_NAME_INDEX(SND_DEVICE_OUT_VOICE_SPEAKER_2_VBAT)},
    {TO_NAME_INDEX(SND_DEVICE_OUT_VOICE_HEADPHONES)},
    {TO_NAME_INDEX(SND_DEVICE_OUT_VOICE_HEADSET)},
    {TO_NAME_INDEX(SND_DEVICE_OUT_VOICE_LINE)},
    {TO_NAME_INDEX(SND_DEVICE_OUT_HDMI)},
    {TO_NAME_INDEX(SND_DEVICE_OUT_SPEAKER_AND_HDMI)},
@@ -2089,6 +2092,7 @@ static void set_platform_defaults(struct platform_data * my_data)
    hw_interface_table[SND_DEVICE_OUT_VOICE_SPEAKER_2] = strdup("SLIMBUS_0_RX");
    hw_interface_table[SND_DEVICE_OUT_VOICE_SPEAKER_2_VBAT] = strdup("SLIMBUS_0_RX");
    hw_interface_table[SND_DEVICE_OUT_VOICE_HEADPHONES] = strdup("SLIMBUS_6_RX");
    hw_interface_table[SND_DEVICE_OUT_VOICE_HEADSET] = strdup("SLIMBUS_6_RX");
    hw_interface_table[SND_DEVICE_OUT_VOICE_MUSIC_TX] = strdup("VOICE_PLAYBACK_TX");
    hw_interface_table[SND_DEVICE_OUT_VOICE_LINE] = strdup("SLIMBUS_6_RX");
    hw_interface_table[SND_DEVICE_OUT_HDMI] = strdup("HDMI");
@@ -3467,15 +3471,15 @@ acdb_init_fail:
                strdup("SLIM_6_RX SampleRate");
        }

        //TODO: enable CONCURRENT_CAPTURE_ENABLED flag only if separate backend is defined
        //NOTE: enable CONCURRENT_CAPTURE_ENABLED flag only if separate backend is defined
        //for headset-mic. This is to capture separate data from headset-mic and handset-mic.
        if(audio_extn_is_concurrent_capture_enabled())
        if(audio_extn_is_concurrent_capture_enabled()) {
            my_data->current_backend_cfg[HEADSET_TX_BACKEND].bitwidth_mixer_ctl =
                strdup("SLIM_1_TX Format");
        else
            my_data->current_backend_cfg[HEADSET_TX_BACKEND].samplerate_mixer_ctl =
                strdup("SLIM_1_TX SampleRate");
        }
    }

    my_data->current_backend_cfg[USB_AUDIO_TX_BACKEND].bitwidth_mixer_ctl =
        strdup("USB_AUDIO_TX Format");
@@ -5577,6 +5581,10 @@ snd_device_t platform_get_output_snd_device(void *platform, struct stream_out *o
                    snd_device = SND_DEVICE_OUT_VOICE_ANC_FB_HEADSET;
                else
                    snd_device = SND_DEVICE_OUT_VOICE_ANC_HEADSET;
            } else if (audio_extn_is_concurrent_capture_enabled() &&
                        (devices & AUDIO_DEVICE_OUT_WIRED_HEADSET)) {
                //Separate backend is added for headset-mic as part of concurrent capture
                snd_device = SND_DEVICE_OUT_VOICE_HEADSET;
            } else {
                snd_device = SND_DEVICE_OUT_VOICE_HEADPHONES;
            }
+1 −0
Original line number Diff line number Diff line
@@ -106,6 +106,7 @@ enum {
    SND_DEVICE_OUT_VOICE_SPEAKER_2,
    SND_DEVICE_OUT_VOICE_SPEAKER_2_VBAT,
    SND_DEVICE_OUT_VOICE_HEADPHONES,
    SND_DEVICE_OUT_VOICE_HEADSET,
    SND_DEVICE_OUT_VOICE_LINE,
    SND_DEVICE_OUT_HDMI,
    SND_DEVICE_OUT_SPEAKER_AND_HDMI,
Loading