Loading Documentation/devicetree/bindings/sound/qcom-audio-dev.txt +25 −13 Original line number Diff line number Diff line Loading @@ -186,6 +186,12 @@ Optional properties: - qcom,msm-pcm-loopback-low-latency : Flag indicating whether the device node is of type low latency. * msm-transcode-loopback Required properties: - compatible : "qcom,msm-transcode-loopback" * msm-dai-q6 [First Level Nodes] Loading Loading @@ -1151,12 +1157,9 @@ Required properties: When clock rate is set to zero, then external clock is assumed. [Second Level Nodes] Required properties: - compatible : "qcom,msm-dai-q6-tdm" - qcom,msm-dai-q6-mi2s-dev-id: TDM port ID. - qcom,msm-cpudai-tdm-clk-internal: Clock Source. 0 - EBIT clock from clk tree 1 - IBIT clock from clk tree - qcom,msm-cpudai-tdm-sync-mode: Synchronization setting. 0 - Short sync bit mode Loading @@ -1181,6 +1184,13 @@ Required properties: 1 - 1 bit clock cycle 2 - 2 bit clock cycle [Second Level Nodes] Required properties: - compatible : "qcom,msm-dai-q6-tdm" - qcom,msm-dai-q6-mi2s-dev-id: TDM port ID. - qcom,msm-cpudai-tdm-data-align: Indicate how data is packed within the slot. For example, 32 slot width in case of sample bit width is 24. Loading Loading @@ -1215,17 +1225,18 @@ Example: qcom,msm-cpudai-tdm-group-num-ports = <1>; qcom,msm-cpudai-tdm-group-port-id = <36912>; qcom,msm-cpudai-tdm-clk-rate = <12288000>; qcom,msm-cpudai-tdm-clk-internal = <1>; qcom,msm-cpudai-tdm-sync-mode = <0>; qcom,msm-cpudai-tdm-sync-src = <1>; qcom,msm-cpudai-tdm-data-out = <0>; qcom,msm-cpudai-tdm-invert-sync = <0>; qcom,msm-cpudai-tdm-data-delay = <0>; pinctrl-names = "default", "sleep"; pinctrl-0 = <&quat_tdm_active &quat_tdm_dout_active>; pinctrl-1 = <&quat_tdm_sleep &quat_tdm_dout_sleep>; dai_quat_tdm_rx_0: qcom,msm-dai-q6-tdm-quat-rx-0 { compatible = "qcom,msm-dai-q6-tdm"; qcom,msm-cpudai-tdm-dev-id = <36912>; qcom,msm-cpudai-tdm-sync-mode = <0>; qcom,msm-cpudai-tdm-sync-src = <1>; qcom,msm-cpudai-tdm-data-out = <0>; qcom,msm-cpudai-tdm-invert-sync = <0>; qcom,msm-cpudai-tdm-data-delay = <0>; qcom,msm-cpudai-tdm-data-align = <0>; qcom,msm-cpudai-tdm-header-start-offset = <0>; qcom,msm-cpudai-tdm-header-width = <2>; Loading Loading @@ -2300,14 +2311,15 @@ Example: qcom,tasha-mclk-clk-freq = <9600000>; asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>, <&loopback>, <&compress>, <&hostless>, <&afe>, <&lsm>, <&routing>, <&cpe>, <&compr>; <&afe>, <&lsm>, <&routing>, <&cpe>, <&compr>, <&trans_loopback>; asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1", "msm-pcm-dsp.2", "msm-voip-dsp", "msm-pcm-voice", "msm-pcm-loopback", "msm-compress-dsp", "msm-pcm-hostless", "msm-pcm-afe", "msm-lsm-client", "msm-pcm-routing", "msm-cpe-lsm", "msm-compr-dsp"; "msm-compr-dsp","msm-transcode-loopback"; asoc-cpu = <&dai_hdmi>, <&sb_0_rx>, <&sb_0_tx>, <&sb_1_rx>, <&sb_1_tx>, <&sb_2_rx>, <&sb_2_tx>, <&sb_3_rx>, <&sb_3_tx>, Loading arch/arm64/boot/dts/qcom/msm-audio-lpass.dtsi +48 −40 Original line number Diff line number Diff line Loading @@ -377,14 +377,15 @@ qcom,msm-cpudai-tdm-group-num-ports = <1>; qcom,msm-cpudai-tdm-group-port-id = <36864>; qcom,msm-cpudai-tdm-clk-rate = <1536000>; dai_pri_tdm_rx_0: qcom,msm-dai-q6-tdm-pri-rx-0 { compatible = "qcom,msm-dai-q6-tdm"; qcom,msm-cpudai-tdm-dev-id = <36864>; qcom,msm-cpudai-tdm-clk-internal = <1>; qcom,msm-cpudai-tdm-sync-mode = <1>; qcom,msm-cpudai-tdm-sync-src = <1>; qcom,msm-cpudai-tdm-data-out = <0>; qcom,msm-cpudai-tdm-invert-sync = <1>; qcom,msm-cpudai-tdm-data-delay = <1>; dai_pri_tdm_rx_0: qcom,msm-dai-q6-tdm-pri-rx-0 { compatible = "qcom,msm-dai-q6-tdm"; qcom,msm-cpudai-tdm-dev-id = <36864>; qcom,msm-cpudai-tdm-data-align = <0>; }; }; Loading @@ -395,14 +396,15 @@ qcom,msm-cpudai-tdm-group-num-ports = <1>; qcom,msm-cpudai-tdm-group-port-id = <36865>; qcom,msm-cpudai-tdm-clk-rate = <1536000>; dai_pri_tdm_tx_0: qcom,msm-dai-q6-tdm-pri-tx-0 { compatible = "qcom,msm-dai-q6-tdm"; qcom,msm-cpudai-tdm-dev-id = <36865>; qcom,msm-cpudai-tdm-clk-internal = <1>; qcom,msm-cpudai-tdm-sync-mode = <1>; qcom,msm-cpudai-tdm-sync-src = <1>; qcom,msm-cpudai-tdm-data-out = <0>; qcom,msm-cpudai-tdm-invert-sync = <1>; qcom,msm-cpudai-tdm-data-delay = <1>; dai_pri_tdm_tx_0: qcom,msm-dai-q6-tdm-pri-tx-0 { compatible = "qcom,msm-dai-q6-tdm"; qcom,msm-cpudai-tdm-dev-id = <36865>; qcom,msm-cpudai-tdm-data-align = <0>; }; }; Loading @@ -413,14 +415,15 @@ qcom,msm-cpudai-tdm-group-num-ports = <1>; qcom,msm-cpudai-tdm-group-port-id = <36880>; qcom,msm-cpudai-tdm-clk-rate = <1536000>; dai_sec_tdm_rx_0: qcom,msm-dai-q6-tdm-sec-rx-0 { compatible = "qcom,msm-dai-q6-tdm"; qcom,msm-cpudai-tdm-dev-id = <36880>; qcom,msm-cpudai-tdm-clk-internal = <1>; qcom,msm-cpudai-tdm-sync-mode = <1>; qcom,msm-cpudai-tdm-sync-src = <1>; qcom,msm-cpudai-tdm-data-out = <0>; qcom,msm-cpudai-tdm-invert-sync = <1>; qcom,msm-cpudai-tdm-data-delay = <1>; dai_sec_tdm_rx_0: qcom,msm-dai-q6-tdm-sec-rx-0 { compatible = "qcom,msm-dai-q6-tdm"; qcom,msm-cpudai-tdm-dev-id = <36880>; qcom,msm-cpudai-tdm-data-align = <0>; }; }; Loading @@ -431,14 +434,15 @@ qcom,msm-cpudai-tdm-group-num-ports = <1>; qcom,msm-cpudai-tdm-group-port-id = <36881>; qcom,msm-cpudai-tdm-clk-rate = <1536000>; dai_sec_tdm_tx_0: qcom,msm-dai-q6-tdm-sec-tx-0 { compatible = "qcom,msm-dai-q6-tdm"; qcom,msm-cpudai-tdm-dev-id = <36881>; qcom,msm-cpudai-tdm-clk-internal = <1>; qcom,msm-cpudai-tdm-sync-mode = <1>; qcom,msm-cpudai-tdm-sync-src = <1>; qcom,msm-cpudai-tdm-data-out = <0>; qcom,msm-cpudai-tdm-invert-sync = <1>; qcom,msm-cpudai-tdm-data-delay = <1>; dai_sec_tdm_tx_0: qcom,msm-dai-q6-tdm-sec-tx-0 { compatible = "qcom,msm-dai-q6-tdm"; qcom,msm-cpudai-tdm-dev-id = <36881>; qcom,msm-cpudai-tdm-data-align = <0>; }; }; Loading @@ -449,14 +453,15 @@ qcom,msm-cpudai-tdm-group-num-ports = <1>; qcom,msm-cpudai-tdm-group-port-id = <36896>; qcom,msm-cpudai-tdm-clk-rate = <1536000>; dai_tert_tdm_rx_0: qcom,msm-dai-q6-tdm-tert-rx-0 { compatible = "qcom,msm-dai-q6-tdm"; qcom,msm-cpudai-tdm-dev-id = <36896>; qcom,msm-cpudai-tdm-clk-internal = <1>; qcom,msm-cpudai-tdm-sync-mode = <1>; qcom,msm-cpudai-tdm-sync-src = <1>; qcom,msm-cpudai-tdm-data-out = <0>; qcom,msm-cpudai-tdm-invert-sync = <1>; qcom,msm-cpudai-tdm-data-delay = <1>; dai_tert_tdm_rx_0: qcom,msm-dai-q6-tdm-tert-rx-0 { compatible = "qcom,msm-dai-q6-tdm"; qcom,msm-cpudai-tdm-dev-id = <36896>; qcom,msm-cpudai-tdm-data-align = <0>; }; }; Loading @@ -467,14 +472,15 @@ qcom,msm-cpudai-tdm-group-num-ports = <1>; qcom,msm-cpudai-tdm-group-port-id = <36897 >; qcom,msm-cpudai-tdm-clk-rate = <1536000>; dai_tert_tdm_tx_0: qcom,msm-dai-q6-tdm-tert-tx-0 { compatible = "qcom,msm-dai-q6-tdm"; qcom,msm-cpudai-tdm-dev-id = <36897 >; qcom,msm-cpudai-tdm-clk-internal = <1>; qcom,msm-cpudai-tdm-sync-mode = <1>; qcom,msm-cpudai-tdm-sync-src = <1>; qcom,msm-cpudai-tdm-data-out = <0>; qcom,msm-cpudai-tdm-invert-sync = <1>; qcom,msm-cpudai-tdm-data-delay = <1>; dai_tert_tdm_tx_0: qcom,msm-dai-q6-tdm-tert-tx-0 { compatible = "qcom,msm-dai-q6-tdm"; qcom,msm-cpudai-tdm-dev-id = <36897 >; qcom,msm-cpudai-tdm-data-align = <0>; }; }; Loading @@ -485,14 +491,15 @@ qcom,msm-cpudai-tdm-group-num-ports = <1>; qcom,msm-cpudai-tdm-group-port-id = <36912>; qcom,msm-cpudai-tdm-clk-rate = <1536000>; dai_quat_tdm_rx_0: qcom,msm-dai-q6-tdm-quat-rx-0 { compatible = "qcom,msm-dai-q6-tdm"; qcom,msm-cpudai-tdm-dev-id = <36912>; qcom,msm-cpudai-tdm-clk-internal = <1>; qcom,msm-cpudai-tdm-sync-mode = <1>; qcom,msm-cpudai-tdm-sync-src = <1>; qcom,msm-cpudai-tdm-data-out = <0>; qcom,msm-cpudai-tdm-invert-sync = <1>; qcom,msm-cpudai-tdm-data-delay = <1>; dai_quat_tdm_rx_0: qcom,msm-dai-q6-tdm-quat-rx-0 { compatible = "qcom,msm-dai-q6-tdm"; qcom,msm-cpudai-tdm-dev-id = <36912>; qcom,msm-cpudai-tdm-data-align = <0>; }; }; Loading @@ -503,14 +510,15 @@ qcom,msm-cpudai-tdm-group-num-ports = <1>; qcom,msm-cpudai-tdm-group-port-id = <36913 >; qcom,msm-cpudai-tdm-clk-rate = <1536000>; dai_quat_tdm_tx_0: qcom,msm-dai-q6-tdm-quat-tx-0 { compatible = "qcom,msm-dai-q6-tdm"; qcom,msm-cpudai-tdm-dev-id = <36913 >; qcom,msm-cpudai-tdm-clk-internal = <1>; qcom,msm-cpudai-tdm-sync-mode = <1>; qcom,msm-cpudai-tdm-sync-src = <1>; qcom,msm-cpudai-tdm-data-out = <0>; qcom,msm-cpudai-tdm-invert-sync = <1>; qcom,msm-cpudai-tdm-data-delay = <1>; dai_quat_tdm_tx_0: qcom,msm-dai-q6-tdm-quat-tx-0 { compatible = "qcom,msm-dai-q6-tdm"; qcom,msm-cpudai-tdm-dev-id = <36913 >; qcom,msm-cpudai-tdm-data-align = <0>; }; }; Loading drivers/misc/qcom/qdsp6v2/audio_utils_aio.c +6 −0 Original line number Diff line number Diff line Loading @@ -858,6 +858,7 @@ static long audio_aio_process_event_req_compat(struct q6audio_aio *audio, long rc; struct msm_audio_event32 usr_evt_32; struct msm_audio_event usr_evt; memset(&usr_evt, 0, sizeof(struct msm_audio_event)); if (copy_from_user(&usr_evt_32, arg, sizeof(struct msm_audio_event32))) { Loading @@ -867,6 +868,11 @@ static long audio_aio_process_event_req_compat(struct q6audio_aio *audio, usr_evt.timeout_ms = usr_evt_32.timeout_ms; rc = audio_aio_process_event_req_common(audio, &usr_evt); if (rc < 0) { pr_err("%s: audio process event failed, rc = %ld", __func__, rc); return rc; } usr_evt_32.event_type = usr_evt.event_type; switch (usr_evt_32.event_type) { Loading drivers/pinctrl/qcom/pinctrl-lpi.c +4 −1 Original line number Diff line number Diff line Loading @@ -412,8 +412,10 @@ static int lpi_notifier_service_cb(struct notifier_block *this, switch (opcode) { case AUDIO_NOTIFIER_SERVICE_DOWN: if (initial_boot) if (initial_boot) { initial_boot = false; break; } lpi_dev_up = false; break; case AUDIO_NOTIFIER_SERVICE_UP: Loading Loading @@ -461,6 +463,7 @@ static void lpi_gpio_dbg_show_one(struct seq_file *s, "pull up" }; pctldev = pctldev ? : to_gpio_state(chip)->ctrl; pindesc = pctldev->desc->pins[offset]; pad = pctldev->desc->pins[offset].drv_data; ctl_reg = lpi_gpio_read(pad, LPI_GPIO_REG_DIR_CTL); Loading drivers/soc/qcom/qdsp6v2/apr.c +13 −5 Original line number Diff line number Diff line Loading @@ -746,13 +746,14 @@ int apr_deregister(void *handle) if (!handle) return -EINVAL; mutex_lock(&svc->m_lock); if (!svc->svc_cnt) { pr_err("%s: svc already deregistered. svc = %pK\n", __func__, svc); mutex_unlock(&svc->m_lock); return -EINVAL; } mutex_lock(&svc->m_lock); dest_id = svc->dest_id; client_id = svc->client_id; clnt = &client[dest_id][client_id]; Loading Loading @@ -886,8 +887,10 @@ static int apr_notifier_service_cb(struct notifier_block *this, * recovery notifications during initial boot * up since everything is expected to be down. */ if (is_initial_boot) if (is_initial_boot) { is_initial_boot = false; break; } if (cb_data->domain == AUDIO_NOTIFIER_MODEM_DOMAIN) apr_modem_down(opcode); else Loading @@ -907,7 +910,12 @@ static int apr_notifier_service_cb(struct notifier_block *this, return NOTIFY_OK; } static struct notifier_block service_nb = { static struct notifier_block adsp_service_nb = { .notifier_call = apr_notifier_service_cb, .priority = 0, }; static struct notifier_block modem_service_nb = { .notifier_call = apr_notifier_service_cb, .priority = 0, }; Loading Loading @@ -937,9 +945,9 @@ static int __init apr_init(void) is_initial_boot = true; subsys_notif_register("apr_adsp", AUDIO_NOTIFIER_ADSP_DOMAIN, &service_nb); &adsp_service_nb); subsys_notif_register("apr_modem", AUDIO_NOTIFIER_MODEM_DOMAIN, &service_nb); &modem_service_nb); return 0; } Loading Loading
Documentation/devicetree/bindings/sound/qcom-audio-dev.txt +25 −13 Original line number Diff line number Diff line Loading @@ -186,6 +186,12 @@ Optional properties: - qcom,msm-pcm-loopback-low-latency : Flag indicating whether the device node is of type low latency. * msm-transcode-loopback Required properties: - compatible : "qcom,msm-transcode-loopback" * msm-dai-q6 [First Level Nodes] Loading Loading @@ -1151,12 +1157,9 @@ Required properties: When clock rate is set to zero, then external clock is assumed. [Second Level Nodes] Required properties: - compatible : "qcom,msm-dai-q6-tdm" - qcom,msm-dai-q6-mi2s-dev-id: TDM port ID. - qcom,msm-cpudai-tdm-clk-internal: Clock Source. 0 - EBIT clock from clk tree 1 - IBIT clock from clk tree - qcom,msm-cpudai-tdm-sync-mode: Synchronization setting. 0 - Short sync bit mode Loading @@ -1181,6 +1184,13 @@ Required properties: 1 - 1 bit clock cycle 2 - 2 bit clock cycle [Second Level Nodes] Required properties: - compatible : "qcom,msm-dai-q6-tdm" - qcom,msm-dai-q6-mi2s-dev-id: TDM port ID. - qcom,msm-cpudai-tdm-data-align: Indicate how data is packed within the slot. For example, 32 slot width in case of sample bit width is 24. Loading Loading @@ -1215,17 +1225,18 @@ Example: qcom,msm-cpudai-tdm-group-num-ports = <1>; qcom,msm-cpudai-tdm-group-port-id = <36912>; qcom,msm-cpudai-tdm-clk-rate = <12288000>; qcom,msm-cpudai-tdm-clk-internal = <1>; qcom,msm-cpudai-tdm-sync-mode = <0>; qcom,msm-cpudai-tdm-sync-src = <1>; qcom,msm-cpudai-tdm-data-out = <0>; qcom,msm-cpudai-tdm-invert-sync = <0>; qcom,msm-cpudai-tdm-data-delay = <0>; pinctrl-names = "default", "sleep"; pinctrl-0 = <&quat_tdm_active &quat_tdm_dout_active>; pinctrl-1 = <&quat_tdm_sleep &quat_tdm_dout_sleep>; dai_quat_tdm_rx_0: qcom,msm-dai-q6-tdm-quat-rx-0 { compatible = "qcom,msm-dai-q6-tdm"; qcom,msm-cpudai-tdm-dev-id = <36912>; qcom,msm-cpudai-tdm-sync-mode = <0>; qcom,msm-cpudai-tdm-sync-src = <1>; qcom,msm-cpudai-tdm-data-out = <0>; qcom,msm-cpudai-tdm-invert-sync = <0>; qcom,msm-cpudai-tdm-data-delay = <0>; qcom,msm-cpudai-tdm-data-align = <0>; qcom,msm-cpudai-tdm-header-start-offset = <0>; qcom,msm-cpudai-tdm-header-width = <2>; Loading Loading @@ -2300,14 +2311,15 @@ Example: qcom,tasha-mclk-clk-freq = <9600000>; asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>, <&loopback>, <&compress>, <&hostless>, <&afe>, <&lsm>, <&routing>, <&cpe>, <&compr>; <&afe>, <&lsm>, <&routing>, <&cpe>, <&compr>, <&trans_loopback>; asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1", "msm-pcm-dsp.2", "msm-voip-dsp", "msm-pcm-voice", "msm-pcm-loopback", "msm-compress-dsp", "msm-pcm-hostless", "msm-pcm-afe", "msm-lsm-client", "msm-pcm-routing", "msm-cpe-lsm", "msm-compr-dsp"; "msm-compr-dsp","msm-transcode-loopback"; asoc-cpu = <&dai_hdmi>, <&sb_0_rx>, <&sb_0_tx>, <&sb_1_rx>, <&sb_1_tx>, <&sb_2_rx>, <&sb_2_tx>, <&sb_3_rx>, <&sb_3_tx>, Loading
arch/arm64/boot/dts/qcom/msm-audio-lpass.dtsi +48 −40 Original line number Diff line number Diff line Loading @@ -377,14 +377,15 @@ qcom,msm-cpudai-tdm-group-num-ports = <1>; qcom,msm-cpudai-tdm-group-port-id = <36864>; qcom,msm-cpudai-tdm-clk-rate = <1536000>; dai_pri_tdm_rx_0: qcom,msm-dai-q6-tdm-pri-rx-0 { compatible = "qcom,msm-dai-q6-tdm"; qcom,msm-cpudai-tdm-dev-id = <36864>; qcom,msm-cpudai-tdm-clk-internal = <1>; qcom,msm-cpudai-tdm-sync-mode = <1>; qcom,msm-cpudai-tdm-sync-src = <1>; qcom,msm-cpudai-tdm-data-out = <0>; qcom,msm-cpudai-tdm-invert-sync = <1>; qcom,msm-cpudai-tdm-data-delay = <1>; dai_pri_tdm_rx_0: qcom,msm-dai-q6-tdm-pri-rx-0 { compatible = "qcom,msm-dai-q6-tdm"; qcom,msm-cpudai-tdm-dev-id = <36864>; qcom,msm-cpudai-tdm-data-align = <0>; }; }; Loading @@ -395,14 +396,15 @@ qcom,msm-cpudai-tdm-group-num-ports = <1>; qcom,msm-cpudai-tdm-group-port-id = <36865>; qcom,msm-cpudai-tdm-clk-rate = <1536000>; dai_pri_tdm_tx_0: qcom,msm-dai-q6-tdm-pri-tx-0 { compatible = "qcom,msm-dai-q6-tdm"; qcom,msm-cpudai-tdm-dev-id = <36865>; qcom,msm-cpudai-tdm-clk-internal = <1>; qcom,msm-cpudai-tdm-sync-mode = <1>; qcom,msm-cpudai-tdm-sync-src = <1>; qcom,msm-cpudai-tdm-data-out = <0>; qcom,msm-cpudai-tdm-invert-sync = <1>; qcom,msm-cpudai-tdm-data-delay = <1>; dai_pri_tdm_tx_0: qcom,msm-dai-q6-tdm-pri-tx-0 { compatible = "qcom,msm-dai-q6-tdm"; qcom,msm-cpudai-tdm-dev-id = <36865>; qcom,msm-cpudai-tdm-data-align = <0>; }; }; Loading @@ -413,14 +415,15 @@ qcom,msm-cpudai-tdm-group-num-ports = <1>; qcom,msm-cpudai-tdm-group-port-id = <36880>; qcom,msm-cpudai-tdm-clk-rate = <1536000>; dai_sec_tdm_rx_0: qcom,msm-dai-q6-tdm-sec-rx-0 { compatible = "qcom,msm-dai-q6-tdm"; qcom,msm-cpudai-tdm-dev-id = <36880>; qcom,msm-cpudai-tdm-clk-internal = <1>; qcom,msm-cpudai-tdm-sync-mode = <1>; qcom,msm-cpudai-tdm-sync-src = <1>; qcom,msm-cpudai-tdm-data-out = <0>; qcom,msm-cpudai-tdm-invert-sync = <1>; qcom,msm-cpudai-tdm-data-delay = <1>; dai_sec_tdm_rx_0: qcom,msm-dai-q6-tdm-sec-rx-0 { compatible = "qcom,msm-dai-q6-tdm"; qcom,msm-cpudai-tdm-dev-id = <36880>; qcom,msm-cpudai-tdm-data-align = <0>; }; }; Loading @@ -431,14 +434,15 @@ qcom,msm-cpudai-tdm-group-num-ports = <1>; qcom,msm-cpudai-tdm-group-port-id = <36881>; qcom,msm-cpudai-tdm-clk-rate = <1536000>; dai_sec_tdm_tx_0: qcom,msm-dai-q6-tdm-sec-tx-0 { compatible = "qcom,msm-dai-q6-tdm"; qcom,msm-cpudai-tdm-dev-id = <36881>; qcom,msm-cpudai-tdm-clk-internal = <1>; qcom,msm-cpudai-tdm-sync-mode = <1>; qcom,msm-cpudai-tdm-sync-src = <1>; qcom,msm-cpudai-tdm-data-out = <0>; qcom,msm-cpudai-tdm-invert-sync = <1>; qcom,msm-cpudai-tdm-data-delay = <1>; dai_sec_tdm_tx_0: qcom,msm-dai-q6-tdm-sec-tx-0 { compatible = "qcom,msm-dai-q6-tdm"; qcom,msm-cpudai-tdm-dev-id = <36881>; qcom,msm-cpudai-tdm-data-align = <0>; }; }; Loading @@ -449,14 +453,15 @@ qcom,msm-cpudai-tdm-group-num-ports = <1>; qcom,msm-cpudai-tdm-group-port-id = <36896>; qcom,msm-cpudai-tdm-clk-rate = <1536000>; dai_tert_tdm_rx_0: qcom,msm-dai-q6-tdm-tert-rx-0 { compatible = "qcom,msm-dai-q6-tdm"; qcom,msm-cpudai-tdm-dev-id = <36896>; qcom,msm-cpudai-tdm-clk-internal = <1>; qcom,msm-cpudai-tdm-sync-mode = <1>; qcom,msm-cpudai-tdm-sync-src = <1>; qcom,msm-cpudai-tdm-data-out = <0>; qcom,msm-cpudai-tdm-invert-sync = <1>; qcom,msm-cpudai-tdm-data-delay = <1>; dai_tert_tdm_rx_0: qcom,msm-dai-q6-tdm-tert-rx-0 { compatible = "qcom,msm-dai-q6-tdm"; qcom,msm-cpudai-tdm-dev-id = <36896>; qcom,msm-cpudai-tdm-data-align = <0>; }; }; Loading @@ -467,14 +472,15 @@ qcom,msm-cpudai-tdm-group-num-ports = <1>; qcom,msm-cpudai-tdm-group-port-id = <36897 >; qcom,msm-cpudai-tdm-clk-rate = <1536000>; dai_tert_tdm_tx_0: qcom,msm-dai-q6-tdm-tert-tx-0 { compatible = "qcom,msm-dai-q6-tdm"; qcom,msm-cpudai-tdm-dev-id = <36897 >; qcom,msm-cpudai-tdm-clk-internal = <1>; qcom,msm-cpudai-tdm-sync-mode = <1>; qcom,msm-cpudai-tdm-sync-src = <1>; qcom,msm-cpudai-tdm-data-out = <0>; qcom,msm-cpudai-tdm-invert-sync = <1>; qcom,msm-cpudai-tdm-data-delay = <1>; dai_tert_tdm_tx_0: qcom,msm-dai-q6-tdm-tert-tx-0 { compatible = "qcom,msm-dai-q6-tdm"; qcom,msm-cpudai-tdm-dev-id = <36897 >; qcom,msm-cpudai-tdm-data-align = <0>; }; }; Loading @@ -485,14 +491,15 @@ qcom,msm-cpudai-tdm-group-num-ports = <1>; qcom,msm-cpudai-tdm-group-port-id = <36912>; qcom,msm-cpudai-tdm-clk-rate = <1536000>; dai_quat_tdm_rx_0: qcom,msm-dai-q6-tdm-quat-rx-0 { compatible = "qcom,msm-dai-q6-tdm"; qcom,msm-cpudai-tdm-dev-id = <36912>; qcom,msm-cpudai-tdm-clk-internal = <1>; qcom,msm-cpudai-tdm-sync-mode = <1>; qcom,msm-cpudai-tdm-sync-src = <1>; qcom,msm-cpudai-tdm-data-out = <0>; qcom,msm-cpudai-tdm-invert-sync = <1>; qcom,msm-cpudai-tdm-data-delay = <1>; dai_quat_tdm_rx_0: qcom,msm-dai-q6-tdm-quat-rx-0 { compatible = "qcom,msm-dai-q6-tdm"; qcom,msm-cpudai-tdm-dev-id = <36912>; qcom,msm-cpudai-tdm-data-align = <0>; }; }; Loading @@ -503,14 +510,15 @@ qcom,msm-cpudai-tdm-group-num-ports = <1>; qcom,msm-cpudai-tdm-group-port-id = <36913 >; qcom,msm-cpudai-tdm-clk-rate = <1536000>; dai_quat_tdm_tx_0: qcom,msm-dai-q6-tdm-quat-tx-0 { compatible = "qcom,msm-dai-q6-tdm"; qcom,msm-cpudai-tdm-dev-id = <36913 >; qcom,msm-cpudai-tdm-clk-internal = <1>; qcom,msm-cpudai-tdm-sync-mode = <1>; qcom,msm-cpudai-tdm-sync-src = <1>; qcom,msm-cpudai-tdm-data-out = <0>; qcom,msm-cpudai-tdm-invert-sync = <1>; qcom,msm-cpudai-tdm-data-delay = <1>; dai_quat_tdm_tx_0: qcom,msm-dai-q6-tdm-quat-tx-0 { compatible = "qcom,msm-dai-q6-tdm"; qcom,msm-cpudai-tdm-dev-id = <36913 >; qcom,msm-cpudai-tdm-data-align = <0>; }; }; Loading
drivers/misc/qcom/qdsp6v2/audio_utils_aio.c +6 −0 Original line number Diff line number Diff line Loading @@ -858,6 +858,7 @@ static long audio_aio_process_event_req_compat(struct q6audio_aio *audio, long rc; struct msm_audio_event32 usr_evt_32; struct msm_audio_event usr_evt; memset(&usr_evt, 0, sizeof(struct msm_audio_event)); if (copy_from_user(&usr_evt_32, arg, sizeof(struct msm_audio_event32))) { Loading @@ -867,6 +868,11 @@ static long audio_aio_process_event_req_compat(struct q6audio_aio *audio, usr_evt.timeout_ms = usr_evt_32.timeout_ms; rc = audio_aio_process_event_req_common(audio, &usr_evt); if (rc < 0) { pr_err("%s: audio process event failed, rc = %ld", __func__, rc); return rc; } usr_evt_32.event_type = usr_evt.event_type; switch (usr_evt_32.event_type) { Loading
drivers/pinctrl/qcom/pinctrl-lpi.c +4 −1 Original line number Diff line number Diff line Loading @@ -412,8 +412,10 @@ static int lpi_notifier_service_cb(struct notifier_block *this, switch (opcode) { case AUDIO_NOTIFIER_SERVICE_DOWN: if (initial_boot) if (initial_boot) { initial_boot = false; break; } lpi_dev_up = false; break; case AUDIO_NOTIFIER_SERVICE_UP: Loading Loading @@ -461,6 +463,7 @@ static void lpi_gpio_dbg_show_one(struct seq_file *s, "pull up" }; pctldev = pctldev ? : to_gpio_state(chip)->ctrl; pindesc = pctldev->desc->pins[offset]; pad = pctldev->desc->pins[offset].drv_data; ctl_reg = lpi_gpio_read(pad, LPI_GPIO_REG_DIR_CTL); Loading
drivers/soc/qcom/qdsp6v2/apr.c +13 −5 Original line number Diff line number Diff line Loading @@ -746,13 +746,14 @@ int apr_deregister(void *handle) if (!handle) return -EINVAL; mutex_lock(&svc->m_lock); if (!svc->svc_cnt) { pr_err("%s: svc already deregistered. svc = %pK\n", __func__, svc); mutex_unlock(&svc->m_lock); return -EINVAL; } mutex_lock(&svc->m_lock); dest_id = svc->dest_id; client_id = svc->client_id; clnt = &client[dest_id][client_id]; Loading Loading @@ -886,8 +887,10 @@ static int apr_notifier_service_cb(struct notifier_block *this, * recovery notifications during initial boot * up since everything is expected to be down. */ if (is_initial_boot) if (is_initial_boot) { is_initial_boot = false; break; } if (cb_data->domain == AUDIO_NOTIFIER_MODEM_DOMAIN) apr_modem_down(opcode); else Loading @@ -907,7 +910,12 @@ static int apr_notifier_service_cb(struct notifier_block *this, return NOTIFY_OK; } static struct notifier_block service_nb = { static struct notifier_block adsp_service_nb = { .notifier_call = apr_notifier_service_cb, .priority = 0, }; static struct notifier_block modem_service_nb = { .notifier_call = apr_notifier_service_cb, .priority = 0, }; Loading Loading @@ -937,9 +945,9 @@ static int __init apr_init(void) is_initial_boot = true; subsys_notif_register("apr_adsp", AUDIO_NOTIFIER_ADSP_DOMAIN, &service_nb); &adsp_service_nb); subsys_notif_register("apr_modem", AUDIO_NOTIFIER_MODEM_DOMAIN, &service_nb); &modem_service_nb); return 0; } Loading