diff options
| author | Linux Build Service Account <lnxbuild@quicinc.com> | 2017-06-27 04:28:15 -0700 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2017-06-27 04:28:14 -0700 |
| commit | 2b18fcd3c756fbc8f6ca36353cff259197a3b5f4 (patch) | |
| tree | 91fd72ccff89cd1d71afe8bda124df6c23650918 /drivers/platform/msm/ipa | |
| parent | 29a036e74e70a5054ff2077d3f5d1b95377b5c70 (diff) | |
| parent | 7d7714eae2d106d27de361a1fe2030d6d975031d (diff) | |
Merge "msm: ipa3: Ring IPA MHI event ring doorbell on channel start"
Diffstat (limited to 'drivers/platform/msm/ipa')
| -rw-r--r-- | drivers/platform/msm/ipa/ipa_v3/ipa_mhi.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/drivers/platform/msm/ipa/ipa_v3/ipa_mhi.c b/drivers/platform/msm/ipa/ipa_v3/ipa_mhi.c index 9e2ffe70170c..cd027c28e597 100644 --- a/drivers/platform/msm/ipa/ipa_v3/ipa_mhi.c +++ b/drivers/platform/msm/ipa/ipa_v3/ipa_mhi.c @@ -255,6 +255,24 @@ static int ipa_mhi_start_gsi_channel(enum ipa_client_type client, ep->gsi_evt_ring_hdl = *params->cached_gsi_evt_ring_hdl; } + if (params->ev_ctx_host->wp == params->ev_ctx_host->rbase) { + IPA_MHI_ERR("event ring wp is not updated. base=wp=0x%llx\n", + params->ev_ctx_host->wp); + goto fail_alloc_ch; + return res; + } + + IPA_MHI_DBG("Ring event db: evt_ring_hdl=%lu host_wp=0x%llx\n", + ep->gsi_evt_ring_hdl, params->ev_ctx_host->wp); + res = gsi_ring_evt_ring_db(ep->gsi_evt_ring_hdl, + params->ev_ctx_host->wp); + if (res) { + IPA_MHI_ERR("fail to ring evt ring db %d. hdl=%lu wp=0x%llx\n", + res, ep->gsi_evt_ring_hdl, params->ev_ctx_host->wp); + goto fail_alloc_ch; + return res; + } + memset(&ch_props, 0, sizeof(ch_props)); ch_props.prot = GSI_CHAN_PROT_MHI; ch_props.dir = IPA_CLIENT_IS_PROD(client) ? |
