diff options
| author | Utkarsh Saxena <usaxena@codeaurora.org> | 2016-06-29 12:16:55 +0530 |
|---|---|---|
| committer | Utkarsh Saxena <usaxena@codeaurora.org> | 2016-08-02 19:50:47 +0530 |
| commit | b17ffbbf400500ad424b05394ec4459e55bad614 (patch) | |
| tree | c78ff91b45c0f3719479949ad4f89c3261a61f3e /include | |
| parent | 0fdb8c8eae5e5b056157c736ea36a852b0ac2843 (diff) | |
msm: ipa: disconnect sequence change for USB 2.0
For USB 2.0 there is a requirement to not to flush the
USB endpoints after the pipes are disconnected. Otherwise
this can result into NOC errors. Make a change to modify the
disconnect sequence as below.
1) USB driver first disable the pipes
2) New API is provided from IPA to disable the endpoint.
3) As part of disable, make sure pipes are empty and reset
the pipes.
4) USB resets its BAM and flushes the ep.
5) USB then disconnects both IPA and USB pipes.
Change-Id: I917f025678e6abb03058d5be4ec42d9e6d76835f
CRs-Fixed: 1038623
Acked-by: Chaitanya Pratapa <cpratapa@qti.qualcomm.com>
Acked-by: Mohammed Javid <mjavid@qti.qualcomm.com>
Signed-off-by: Utkarsh Saxena <usaxena@codeaurora.org>
Diffstat (limited to 'include')
| -rw-r--r-- | include/linux/ipa.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/include/linux/ipa.h b/include/linux/ipa.h index d152057af385..5f85508353c9 100644 --- a/include/linux/ipa.h +++ b/include/linux/ipa.h @@ -1096,6 +1096,11 @@ int ipa_reset_endpoint(u32 clnt_hdl); int ipa_clear_endpoint_delay(u32 clnt_hdl); /* + * Disable ep + */ +int ipa_disable_endpoint(u32 clnt_hdl); + +/* * Configuration */ int ipa_cfg_ep(u32 clnt_hdl, const struct ipa_ep_cfg *ipa_ep_cfg); @@ -1462,6 +1467,14 @@ static inline int ipa_clear_endpoint_delay(u32 clnt_hdl) } /* + * Disable ep + */ +static inline int ipa_disable_endpoint(u32 clnt_hdl) +{ + return -EPERM; +} + +/* * Configuration */ static inline int ipa_cfg_ep(u32 clnt_hdl, |
