Nokia X2 sound
Перейти к навигации
Перейти к поиску
Patches
- Nokia specific changes to sound/soc/msm folder https://github.com/cm-nokia-x2/android_kernel_nokia_msm8610/commit/843a557336ed0942aeecef7d73778861929c6601
- Nokia specific changes to default msm8610 files in arch/arm/boot/dts folder https://github.com/cm-nokia-x2/android_kernel_nokia_msm8610/commit/b2fdfce5c5e1adf9f2ff8d107f36b952651aff64
- Nokia clock/gpio patch https://github.com/cm-nokia-x2/android_kernel_nokia_msm8610/commit/3070d917e6a0bfb67ccb33d09784710731acce02
Links
http://stackoverflow.com/questions/21024851/redirecting-audio-creating-alternate-sound-paths-in-android
http://forum.xda-developers.com/android/software-hacking/reference-qualcomm-audio-codec-iir-t3093000/
http://source.android.com/devices/audio/implement.html#tuning
Diff
- Diff stat of sound/soc/msm between kernel kk vs stock
git diff --stat cm-11.0-wip-bisect origin/jellybean-wip sound/soc/msm/ sound/soc/msm/apq8074.c | 7 +- sound/soc/msm/msm-dai-fe.c | 40 +- sound/soc/msm/msm8226.c | 153 +------- sound/soc/msm/msm8974.c | 86 +--- sound/soc/msm/msm8x10.c | 274 ++++++++++--- sound/soc/msm/qdsp6v2/Makefile | 8 +- sound/soc/msm/qdsp6v2/audio_acdb.c | 53 ++- sound/soc/msm/qdsp6v2/audio_acdb.h | 1 + sound/soc/msm/qdsp6v2/audio_ocmem.c | 6 +- sound/soc/msm/qdsp6v2/msm-audio-effects-q6-v2.c | 721 ---------------------------------- sound/soc/msm/qdsp6v2/msm-audio-effects-q6-v2.h | 33 -- sound/soc/msm/qdsp6v2/msm-compr-q6-v2.c | 163 +++++--- sound/soc/msm/qdsp6v2/msm-compress-q6-v2.c | 2097 ------------------------------------------------------------------------------------------------- sound/soc/msm/qdsp6v2/msm-dai-q6-hdmi-v2.c | 13 - sound/soc/msm/qdsp6v2/msm-dai-q6-v2.c | 42 +- sound/soc/msm/qdsp6v2/msm-dolby-dap-config.c | 11 +- sound/soc/msm/qdsp6v2/msm-dolby-dap-config.h | 2 +- sound/soc/msm/qdsp6v2/msm-pcm-afe-v2.c | 4 +- sound/soc/msm/qdsp6v2/msm-pcm-loopback-v2.c | 445 --------------------- sound/soc/msm/qdsp6v2/msm-pcm-q6-v2.c | 177 ++------- sound/soc/msm/qdsp6v2/msm-pcm-routing-v2.c | 218 +++------- sound/soc/msm/qdsp6v2/msm-pcm-routing-v2.h | 17 +- sound/soc/msm/qdsp6v2/msm-pcm-voip-v2.c | 83 ++-- sound/soc/msm/qdsp6v2/q6adm.c | 26 +- sound/soc/msm/qdsp6v2/q6afe.c | 109 ++++- sound/soc/msm/qdsp6v2/q6asm.c | 891 ++++++++--------------------------------- sound/soc/msm/qdsp6v2/q6audio-v2.c | 6 + sound/soc/msm/qdsp6v2/q6voice.c | 29 +- sound/soc/msm/qdsp6v2/rtac.c | 180 +-------- 29 files changed, 813 insertions(+), 5082 deletions(-)
Dts
- Nokia dts tree
msm8610-ara.dts /include/ "msm8610-v2.dtsi" /include/ "msm8610.dtsi" /include/ "msm8610-camera.dtsi" /include/ "msm-iommu-v0.dtsi" /include/ "msm8610-ion.dtsi" /include/ "msm8610-gpu.dtsi" /include/ "msm-gdsc.dtsi" /include/ "msm8610-coresight.dtsi" /include/ "msm8610-smp2p.dtsi" /include/ "msm8610-bus.dtsi" /include/ "msm8610-mdss.dtsi" /include/ "msm-rdbg.dtsi" /include/ "msm8610-v2-pm.dtsi" /include/ "msm8610-ara.dtsi" /include/ "msm8610-camera-sensor-ara.dtsi" /include/ "c4_touch.dtsi" /include/ "sms_dtv.dtsi"
- Sound stuff in dts
- msm8610-ara.dtsi
sound { qcom,audio-routing = "RX_BIAS", "MCLK", "INT_LDO_H", "MCLK", "MIC BIAS External", "Handset Mic", "MIC BIAS External", "Headset Mic", "MIC BIAS External", "Secondary Mic", "AMIC1", "MIC BIAS External", "AMIC2", "MIC BIAS External", "AMIC3", "MIC BIAS External"; };
&i2c_cdc { msm8x10_wcd_codec@0d{ compatible = "qcom,msm8x10-wcd-i2c"; reg = <0x0d>; interrupt-parent = <&wcd9xxx_intc>; interrupts = <0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23>; cdc-vdda-cp-supply = <&pm8110_s4>; qcom,cdc-vdda-cp-voltage = <1800000 2150000>; qcom,cdc-vdda-cp-current = <650000>; cdc-vdda-h-supply = <&pm8110_l6>; qcom,cdc-vdda-h-voltage = <1800000 1800000>; qcom,cdc-vdda-h-current = <25000>; cdc-vdd-px-supply = <&pm8110_l6>; qcom,cdc-vdd-px-voltage = <1800000 1800000>; qcom,cdc-vdd-px-current = <10000>; cdc-vdd-1p2v-supply = <&pm8110_l4>; qcom,cdc-vdd-1p2v-voltage = <1200000 1200000>; qcom,cdc-vdd-1p2v-current = <5000>; cdc-vdd-mic-bias-supply = <&pm8110_l20>; qcom,cdc-vdd-mic-bias-voltage = <3075000 3075000>; qcom,cdc-vdd-mic-bias-current = <25000>; qcom,cdc-micbias-ldoh-v = <0x3>; qcom,cdc-micbias-cfilt-sel = <0x0>; qcom,cdc-micbias-cfilt-mv = <2700>; qcom,cdc-mclk-clk-rate = <12288000>; qcom,cdc-static-supplies = "cdc-vdda-h", "cdc-vdd-px", "cdc-vdd-1p2v"; qcom,cdc-on-demand-supplies = "cdc-vdda-cp", "cdc-vdd-mic-bias"; }; msm8x10_wcd_codec@77{ compatible = "qcom,msm8x10-wcd-i2c"; reg = <0x77>; }; msm8x10_wcd_codec@66{ compatible = "qcom,msm8x10-wcd-i2c"; reg = <0x66>; }; msm8x10_wcd_codec@55{ compatible = "qcom,msm8x10-wcd-i2c"; reg = <0x55>; }; };
- msm8610.dtsi
sound { compatible = "qcom,msm8x10-audio-codec"; qcom,model = "msm8x10-snd-card"; qcom,vibrator-amp-gpio = <&msmgpio 101 0x0>; }; qti,msm-pcm { compatible = "qti,msm-pcm-dsp"; qti,msm-pcm-dsp-id = <0>; }; qti,msm-pcm-low-latency { compatible = "qti,msm-pcm-dsp"; qti,msm-pcm-dsp-id = <1>; qti,msm-pcm-low-latency; qti,latency-level = "ultra"; }; qcom,msm-pcm-routing { compatible = "qcom,msm-pcm-routing"; }; qcom,msm-pcm-lpa { compatible = "qcom,msm-pcm-lpa"; }; qcom,msm-compr-dsp { compatible = "qcom,msm-compr-dsp"; }; qcom,msm-compress-dsp { compatible = "qcom,msm-compress-dsp"; }; qcom,msm-voip-dsp { compatible = "qcom,msm-voip-dsp"; }; qcom,msm-pcm-voice { compatible = "qcom,msm-pcm-voice"; }; qcom,msm-stub-codec { compatible = "qcom,msm-stub-codec"; }; qcom,msm-dai-fe { compatible = "qcom,msm-dai-fe"; }; qcom,msm-pcm-afe { compatible = "qcom,msm-pcm-afe"; }; qcom,msm-dai-mi2s { compatible = "qcom,msm-dai-mi2s"; qcom,msm-dai-q6-mi2s-prim { compatible = "qcom,msm-dai-q6-mi2s"; qcom,msm-dai-q6-mi2s-dev-id = <0>; qcom,msm-mi2s-rx-lines = <0>; qcom,msm-mi2s-tx-lines = <3>; }; qcom,msm-dai-q6-mi2s-sec { compatible = "qcom,msm-dai-q6-mi2s"; qcom,msm-dai-q6-mi2s-dev-id = <1>; qcom,msm-mi2s-rx-lines = <3>; qcom,msm-mi2s-tx-lines = <0>; }; }; qcom,msm-dai-q6 { compatible = "qcom,msm-dai-q6"; qcom,msm-dai-q6-bt-sco-rx { compatible = "qcom,msm-dai-q6-dev"; qcom,msm-dai-q6-dev-id = <12288>; }; qcom,msm-dai-q6-bt-sco-tx { compatible = "qcom,msm-dai-q6-dev"; qcom,msm-dai-q6-dev-id = <12289>; }; qcom,msm-dai-q6-int-fm-rx { compatible = "qcom,msm-dai-q6-dev"; qcom,msm-dai-q6-dev-id = <12292>; }; qcom,msm-dai-q6-int-fm-tx { compatible = "qcom,msm-dai-q6-dev"; qcom,msm-dai-q6-dev-id = <12293>; }; qcom,msm-dai-q6-be-afe-pcm-rx { compatible = "qcom,msm-dai-q6-dev"; qcom,msm-dai-q6-dev-id = <224>; }; qcom,msm-dai-q6-be-afe-pcm-tx { compatible = "qcom,msm-dai-q6-dev"; qcom,msm-dai-q6-dev-id = <225>; }; qcom,msm-dai-q6-afe-proxy-rx { compatible = "qcom,msm-dai-q6-dev"; qcom,msm-dai-q6-dev-id = <241>; }; qcom,msm-dai-q6-afe-proxy-tx { compatible = "qcom,msm-dai-q6-dev"; qcom,msm-dai-q6-dev-id = <240>; }; qcom,msm-dai-q6-incall-record-rx { compatible = "qcom,msm-dai-q6-dev"; qcom,msm-dai-q6-dev-id = <32771>; }; qcom,msm-dai-q6-incall-record-tx { compatible = "qcom,msm-dai-q6-dev"; qcom,msm-dai-q6-dev-id = <32772>; }; qcom,msm-dai-q6-incall-music-rx { compatible = "qcom,msm-dai-q6-dev"; qcom,msm-dai-q6-dev-id = <32773>; }; }; qcom,msm-pcm-hostless { compatible = "qcom,msm-pcm-hostless"; };
Sound initcall
<7>[ 2.016109] calling lra_vib_init+0x0/0x14 @ 1 <7>[ 2.016679] initcall lra_vib_init+0x0/0x14 returned 0 after 542 usecs <7>[ 2.016692] calling alsa_timer_init+0x0/0x1a4 @ 1 <7>[ 2.016795] initcall alsa_timer_init+0x0/0x1a4 returned 0 after 87 usecs <7>[ 2.016808] calling alsa_pcm_init+0x0/0x6c @ 1 <7>[ 2.016827] initcall alsa_pcm_init+0x0/0x6c returned 0 after 7 usecs <7>[ 2.016839] calling snd_mem_init+0x0/0x3c @ 1 <7>[ 2.016862] initcall snd_mem_init+0x0/0x3c returned 0 after 10 usecs <7>[ 2.016873] calling snd_compress_init+0x0/0x8 @ 1 <7>[ 2.016885] initcall snd_compress_init+0x0/0x8 returned 0 after 0 usecs <7>[ 2.016897] calling snd_soc_init+0x0/0x108 @ 1 <7>[ 2.017444] initcall snd_soc_init+0x0/0x108 returned 0 after 519 usecs <7>[ 2.017457] calling msm8x10_wcd_codec_init+0x0/0x44 @ 1 <6>[ 2.017509] msm8x10-wcd-i2c-core 5-000d: defering msm8x10_wcd_i2c_probe, adsp_state 0 <6>[ 2.017528] i2c 5-000d: Driver msm8x10-wcd-i2c-core requests probe deferral <7>[ 2.017652] initcall msm8x10_wcd_codec_init+0x0/0x44 returned 0 after 175 usecs <7>[ 2.017665] calling msm_stub_init+0x0/0xc @ 1 <7>[ 2.018111] initcall msm_stub_init+0x0/0xc returned 0 after 421 usecs <7>[ 2.018123] calling msm_soc_platform_init+0x0/0xc @ 1 <7>[ 2.018547] initcall msm_soc_platform_init+0x0/0xc returned 0 after 398 usecs <7>[ 2.018560] calling msm_dai_q6_init+0x0/0xf4 @ 1 <7>[ 2.023533] initcall msm_dai_q6_init+0x0/0xf4 returned 0 after 4839 usecs <7>[ 2.023548] calling msm_soc_platform_init+0x0/0x70 @ 1 <7>[ 2.023986] initcall msm_soc_platform_init+0x0/0x70 returned 0 after 413 usecs <7>[ 2.023999] calling msm_soc_routing_platform_init+0x0/0x2c @ 1 <7>[ 2.024421] initcall msm_soc_routing_platform_init+0x0/0x2c returned 0 after 398 usecs <7>[ 2.024434] calling msm_soc_platform_init+0x0/0xc @ 1 <7>[ 2.024847] initcall msm_soc_platform_init+0x0/0xc returned 0 after 389 usecs <7>[ 2.024860] calling msm_soc_platform_init+0x0/0x84 @ 1 <6>[ 2.025060] msm-compr-dsp msm-compr-dsp: msm_compr_probe: dev name msm-compr-dsp <7>[ 2.025277] initcall msm_soc_platform_init+0x0/0x84 returned 0 after 392 usecs <7>[ 2.025290] calling msm_soc_platform_init+0x0/0x70 @ 1 <7>[ 2.025454] initcall msm_soc_platform_init+0x0/0x70 returned 0 after 147 usecs <7>[ 2.025466] calling msm_soc_platform_init+0x0/0x78 @ 1 <6>[ 2.025663] msm-pcm-lpa msm-pcm-lpa: msm_pcm_probe: dev name msm-pcm-lpa <7>[ 2.025879] initcall msm_soc_platform_init+0x0/0x78 returned 0 after 389 usecs <7>[ 2.025893] calling msm_soc_platform_init+0x0/0xc @ 1 <7>[ 2.026306] initcall msm_soc_platform_init+0x0/0xc returned 0 after 388 usecs <7>[ 2.026319] calling msm_soc_platform_init+0x0/0xac @ 1 <6>[ 2.026535] platform qcom,msm-voip-dsp.54: Driver msm-voip-dsp requests probe deferral <7>[ 2.026745] initcall msm_soc_platform_init+0x0/0xac returned 0 after 402 usecs <7>[ 2.026757] calling msm_soc_platform_init+0x0/0x58 @ 1 <6>[ 2.026968] platform qcom,msm-pcm-voice.55: Driver msm-pcm-voice requests probe deferral <7>[ 2.027179] initcall msm_soc_platform_init+0x0/0x58 returned 0 after 398 usecs <7>[ 2.027192] calling msm_dai_q6_hdmi_init+0x0/0xc @ 1 <7>[ 2.027581] initcall msm_dai_q6_hdmi_init+0x0/0xc returned 0 after 366 usecs <7>[ 2.027594] calling msm_soc_platform_init+0x0/0xc @ 1 <7>[ 2.027977] initcall msm_soc_platform_init+0x0/0xc returned 0 after 361 usecs <7>[ 2.027989] calling msm_soc_platform_init+0x0/0xc @ 1 <7>[ 2.028343] initcall msm_soc_platform_init+0x0/0xc returned 0 after 332 usecs <7>[ 2.028356] calling msm_soc_platform_init+0x0/0xc @ 1 <7>[ 2.028737] initcall msm_soc_platform_init+0x0/0xc returned 0 after 358 usecs <7>[ 2.028749] calling msm_dai_stub_init+0x0/0xc @ 1 <7>[ 2.029131] initcall msm_dai_stub_init+0x0/0xc returned 0 after 359 usecs <7>[ 2.029183] calling adm_init+0x0/0x84 @ 1 <7>[ 2.029196] initcall adm_init+0x0/0x84 returned 0 after 1 usecs <7>[ 2.029207] calling afe_init+0x0/0xb8 @ 1 <7>[ 2.029251] initcall afe_init+0x0/0xb8 returned 0 after 30 usecs <7>[ 2.029263] calling q6asm_init+0x0/0x19c @ 1 <7>[ 2.029292] initcall q6asm_init+0x0/0x19c returned 0 after 17 usecs <7>[ 2.029304] calling voice_init+0x0/0x180 @ 1 <7>[ 2.029317] initcall voice_init+0x0/0x180 returned 0 after 2 usecs <7>[ 2.029328] calling core_init+0x0/0x30 @ 1 <7>[ 2.029340] initcall core_init+0x0/0x30 returned 0 after 0 usecs <7>[ 2.029351] calling acdb_init+0x0/0x58 @ 1 <7>[ 2.029446] initcall acdb_init+0x0/0x58 returned 0 after 81 usecs <7>[ 2.029458] calling rtac_init+0x0/0x1fc @ 1 <7>[ 2.029560] initcall rtac_init+0x0/0x1fc returned 0 after 87 usecs <7>[ 2.029572] calling q6lsm_init+0x0/0x6c @ 1 <7>[ 2.029584] initcall q6lsm_init+0x0/0x6c returned 0 after 0 usecs <7>[ 2.029595] calling msm_fe_dai_init+0x0/0xc @ 1 <7>[ 2.030093] initcall msm_fe_dai_init+0x0/0xc returned 0 after 472 usecs <7>[ 2.030106] calling msm8x10_asoc_machine_driver_init+0x0/0xc @ 1 <6>[ 2.030525] platform sound.47: Driver msm8x10-asoc-wcd requests probe deferral <7>[ 2.030775] initcall msm8x10_asoc_machine_driver_init+0x0/0xc returned 0 after 636 usecs ... <7>[ 2.071568] calling deferred_probe_initcall+0x0/0x64 @ 1 <6>[ 2.072361] platform sound.47: Driver msm8x10-asoc-wcd requests probe deferral <3>[ 2.072555] voice_alloc_cal_mem_map_table: audio ION alloc failed, rc = -517 <3>[ 2.072566] voc_alloc_cal_shared_memory: Failed to allocate cal memory, err=-517 <6>[ 2.072581] platform qcom,msm-pcm-voice.55: Driver msm-pcm-voice requests probe deferral <3>[ 2.072758] voice_alloc_cal_mem_map_table: audio ION alloc failed, rc = -517 <3>[ 2.072767] voc_alloc_cal_shared_memory: Failed to allocate cal memory, err=-517 <6>[ 2.072781] platform qcom,msm-voip-dsp.54: Driver msm-voip-dsp requests probe deferral <6>[ 2.072866] msm8x10-wcd-i2c-core 5-000d: defering msm8x10_wcd_i2c_probe, adsp_state 0 <6>[ 2.072881] i2c 5-000d: Driver msm8x10-wcd-i2c-core requests probe deferral <7>[ 2.073200] initcall deferred_probe_initcall+0x0/0x64 returned 0 after 1576 usecs <7>[ 2.073215] calling sync_debugfs_init+0x0/0x30 @ 1 <7>[ 2.073242] initcall sync_debugfs_init+0x0/0x30 returned 0 after 15 usecs <7>[ 2.073255] calling ngd_slim_init+0x0/0xc @ 1 <7>[ 2.073800] initcall ngd_slim_init+0x0/0xc returned 0 after 518 usecs ... <7>[ 2.083920] calling alsa_sound_last_init+0x0/0x6c @ 1 <6>[ 2.083928] ALSA device list: <6>[ 2.083934] No soundcards found. <7>[ 2.083945] initcall alsa_sound_last_init+0x0/0x6c returned 0 after 12 usecs ... <6>[ 2.408822] msm8x10-wcd-i2c-core 5-000d: defering msm8x10_wcd_i2c_probe, adsp_state 0 <6>[ 2.408844] i2c 5-000d: Driver msm8x10-wcd-i2c-core requests probe deferral <6>[ 2.410038] platform sound.47: Driver msm8x10-asoc-wcd requests probe deferral <6>[ 2.410120] msm8x10-wcd-i2c-core 5-000d: defering msm8x10_wcd_i2c_probe, adsp_state 0 <6>[ 2.410136] i2c 5-000d: Driver msm8x10-wcd-i2c-core requests probe deferral ... <6>[ 5.345706] pil-q6v5-lpass fe200000.qcom,lpass: adsp: loading from 0x0c500000 to 0x0d200000 <6>[ 5.523037] pil-q6v5-lpass fe200000.qcom,lpass: adsp: Brought out of reset <6>[ 5.575568] pil-q6v5-lpass fe200000.qcom,lpass: adsp: Power/Clock ready interrupt received <6>[ 5.588905] pil-q6v5-lpass fe200000.qcom,lpass: Subsystem error monitoring/handling services are up <6>[ 5.589810] apr_tal:Q6 Is Up <6>[ 5.590047] platform sound.47: Driver msm8x10-asoc-wcd requests probe deferral <6>[ 5.590145] msm8x10-wcd-i2c-core 5-000d: defering msm8x10_wcd_i2c_probe, adsp_state 0 <6>[ 5.590161] i2c 5-000d: Driver msm8x10-wcd-i2c-core requests probe deferral <6>[ 5.590302] adsp-loader qcom,msm-adsp-loader.37: adsp_loader_do: Q6/ADSP image is loaded ... <6>[ 6.780902] msm8x10-wcd-i2c-core 5-000d: adsp is ready <6>[ 6.780980] msm8x10-wcd-i2c-core msm8x10_wcd_codec: cdc-vdda-h: vol=[1800000 1800000]uV, curr=[25000]uA, ond 0 <6>[ 6.781011] msm8x10-wcd-i2c-core msm8x10_wcd_codec: cdc-vdd-px: vol=[1800000 1800000]uV, curr=[10000]uA, ond 0 <6>[ 6.781041] msm8x10-wcd-i2c-core msm8x10_wcd_codec: cdc-vdd-1p2v: vol=[1200000 1200000]uV, curr=[5000]uA, ond 0 <6>[ 6.781069] msm8x10-wcd-i2c-core msm8x10_wcd_codec: cdc-vdda-cp: vol=[1800000 2150000]uV, curr=[650000]uA, ond 1 <6>[ 6.781102] msm8x10-wcd-i2c-core msm8x10_wcd_codec: cdc-vdd-mic-bias: vol=[3075000 3075000]uV, curr=[25000]uA, ond 1 ... <6>[ 6.788470] wcd9xxx_core_res_init: num_irqs = 24, num_irq_regs = 3 <6>[ 6.801391] msm8x10-wcd-i2c-core msm8x10_wcd_codec: msm8x10_wcd_i2c_probe: irq initialization passed <6>[ 6.919741] asoc: snd-soc-dummy-dai <-> MultiMedia1 mapping ok <6>[ 6.920621] asoc: snd-soc-dummy-dai <-> MultiMedia2 mapping ok <6>[ 6.921439] asoc: snd-soc-dummy-dai <-> CS-VOICE mapping ok <6>[ 6.922147] asoc: snd-soc-dummy-dai <-> VoIP mapping ok <6>[ 6.923832] asoc: snd-soc-dummy-dai <-> MultiMedia3 mapping ok <6>[ 6.924711] asoc: snd-soc-dummy-dai <-> SEC_MI2S_RX_HOSTLESS mapping ok <6>[ 6.925439] asoc: snd-soc-dummy-dai <-> INT_FM_HOSTLESS mapping ok <6>[ 6.926058] asoc: msm-stub-rx <-> msm-dai-q6-dev.241 mapping ok <6>[ 6.926731] asoc: msm-stub-tx <-> msm-dai-q6-dev.240 mapping ok <6>[ 6.927869] compress asoc: snd-soc-dummy-dai <-> MultiMedia4 mapping ok <6>[ 6.929061] asoc: snd-soc-dummy-dai <-> AUXPCM_HOSTLESS mapping ok <6>[ 6.929715] asoc: snd-soc-dummy-dai <-> PRI_MI2S_TX_HOSTLESS mapping ok <6>[ 6.933728] asoc: snd-soc-dummy-dai <-> MultiMedia5 mapping ok <6>[ 6.935055] asoc: snd-soc-dummy-dai <-> Voice2 mapping ok <6>[ 6.937295] asoc: snd-soc-dummy-dai <-> QCHAT mapping ok <6>[ 6.940853] asoc: msm8x10_wcd_i2s_rx1 <-> msm-dai-q6-mi2s.1 mapping ok <6>[ 6.941556] asoc: msm8x10_wcd_i2s_tx1 <-> msm-dai-q6-mi2s.0 mapping ok <6>[ 6.942611] asoc: msm-stub-rx <-> msm-dai-q6-dev.12288 mapping ok <6>[ 6.943299] asoc: msm-stub-tx <-> msm-dai-q6-dev.12289 mapping ok <6>[ 6.944377] asoc: msm-stub-rx <-> msm-dai-q6-dev.12292 mapping ok <6>[ 6.944814] asoc: msm-stub-tx <-> msm-dai-q6-dev.12293 mapping ok <6>[ 6.945221] asoc: msm-stub-rx <-> msm-dai-q6-dev.224 mapping ok <6>[ 6.953952] asoc: msm-stub-tx <-> msm-dai-q6-dev.225 mapping ok <6>[ 6.955630] asoc: msm-stub-tx <-> msm-dai-q6-dev.32772 mapping ok <6>[ 6.956173] asoc: msm-stub-tx <-> msm-dai-q6-dev.32771 mapping ok <6>[ 6.956706] asoc: msm-stub-rx <-> msm-dai-q6-dev.32773 mapping ok <6>[ 6.982567] input: msm8x10-snd-card Button Jack as /devices/sound.47/sound/card0/input12 <6>[ 6.986295] input: msm8x10-snd-card Headset Jack as /devices/sound.47/sound/card0/input13
Audio_policy
audio_policy.default audio_policy.conf parser https://github.com/CyanogenMod/android_hardware_libhardware_legacy/blob/cm-11.0/audio/AudioPolicyManagerBase.cpp#L3755
audio_policy.msm8610 https://github.com/CyanogenMod/android_hardware_qcom_audio-caf/blob/cm-11.0/policy_hal/AudioPolicyManager.cpp
mixer_paths.xml
libaudioroute https://github.com/CyanogenMod/android_system_media/blob/cm-11.0/audio_route/audio_route.c
---