diff options
| author | Skylar Chang <chiaweic@codeaurora.org> | 2016-11-18 10:21:33 -0800 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2016-12-06 11:06:53 -0800 |
| commit | c03f0ace8a36853ff19cd1cf24dff144fb0f94a3 (patch) | |
| tree | 6fe5a696348bbc1f581acf2b50c3e0be111b1d28 | |
| parent | 5142c18bae30439decd1c139999b54197e2aae91 (diff) | |
msm: ipa: enable suspend pipe for ODU
For ODU bridge use case ODU CONS pipe should be suspend
if there is no data activity to make sure IPA clocks will be
voted on downlink traffic
Change-Id: I6625eb082d55456e0f71afa8fc6ebdba3f6024a5
CRs-Fixed: 1095287
Acked-by: Ady Abraham <adya@qti.qualcomm.com>
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
| -rw-r--r-- | drivers/platform/msm/ipa/ipa_v2/ipa_utils.c | 22 | ||||
| -rw-r--r-- | drivers/platform/msm/ipa/ipa_v3/ipa_utils.c | 10 |
2 files changed, 24 insertions, 8 deletions
diff --git a/drivers/platform/msm/ipa/ipa_v2/ipa_utils.c b/drivers/platform/msm/ipa/ipa_v2/ipa_utils.c index 9813fa417c3a..8968d5d4509f 100644 --- a/drivers/platform/msm/ipa/ipa_v2/ipa_utils.c +++ b/drivers/platform/msm/ipa/ipa_v2/ipa_utils.c @@ -450,6 +450,10 @@ int ipa_get_clients_from_rm_resource( case IPA_RM_RESOURCE_MHI_CONS: clients->names[i++] = IPA_CLIENT_MHI_CONS; break; + case IPA_RM_RESOURCE_ODU_ADAPT_CONS: + clients->names[i++] = IPA_CLIENT_ODU_EMB_CONS; + clients->names[i++] = IPA_CLIENT_ODU_TETH_CONS; + break; case IPA_RM_RESOURCE_USB_PROD: clients->names[i++] = IPA_CLIENT_USB_PROD; break; @@ -459,6 +463,8 @@ int ipa_get_clients_from_rm_resource( case IPA_RM_RESOURCE_MHI_PROD: clients->names[i++] = IPA_CLIENT_MHI_PROD; break; + case IPA_RM_RESOURCE_ODU_ADAPT_PROD: + clients->names[i++] = IPA_CLIENT_ODU_PROD; default: break; } @@ -490,13 +496,15 @@ bool ipa_should_pipe_be_suspended(enum ipa_client_type client) if (ep->keep_ipa_awake) return false; - if (client == IPA_CLIENT_USB_CONS || - client == IPA_CLIENT_MHI_CONS || - client == IPA_CLIENT_HSIC1_CONS || - client == IPA_CLIENT_WLAN1_CONS || - client == IPA_CLIENT_WLAN2_CONS || - client == IPA_CLIENT_WLAN3_CONS || - client == IPA_CLIENT_WLAN4_CONS) + if (client == IPA_CLIENT_USB_CONS || + client == IPA_CLIENT_MHI_CONS || + client == IPA_CLIENT_HSIC1_CONS || + client == IPA_CLIENT_WLAN1_CONS || + client == IPA_CLIENT_WLAN2_CONS || + client == IPA_CLIENT_WLAN3_CONS || + client == IPA_CLIENT_WLAN4_CONS || + client == IPA_CLIENT_ODU_EMB_CONS || + client == IPA_CLIENT_ODU_TETH_CONS) return true; return false; diff --git a/drivers/platform/msm/ipa/ipa_v3/ipa_utils.c b/drivers/platform/msm/ipa/ipa_v3/ipa_utils.c index db60829bce69..c5b5d1892485 100644 --- a/drivers/platform/msm/ipa/ipa_v3/ipa_utils.c +++ b/drivers/platform/msm/ipa/ipa_v3/ipa_utils.c @@ -507,6 +507,10 @@ int ipa3_get_clients_from_rm_resource( case IPA_RM_RESOURCE_MHI_CONS: clients->names[i++] = IPA_CLIENT_MHI_CONS; break; + case IPA_RM_RESOURCE_ODU_ADAPT_CONS: + clients->names[i++] = IPA_CLIENT_ODU_EMB_CONS; + clients->names[i++] = IPA_CLIENT_ODU_TETH_CONS; + break; case IPA_RM_RESOURCE_USB_PROD: clients->names[i++] = IPA_CLIENT_USB_PROD; break; @@ -516,6 +520,8 @@ int ipa3_get_clients_from_rm_resource( case IPA_RM_RESOURCE_MHI_PROD: clients->names[i++] = IPA_CLIENT_MHI_PROD; break; + case IPA_RM_RESOURCE_ODU_ADAPT_PROD: + clients->names[i++] = IPA_CLIENT_ODU_PROD; default: break; } @@ -554,7 +560,9 @@ bool ipa3_should_pipe_be_suspended(enum ipa_client_type client) client == IPA_CLIENT_WLAN1_CONS || client == IPA_CLIENT_WLAN2_CONS || client == IPA_CLIENT_WLAN3_CONS || - client == IPA_CLIENT_WLAN4_CONS) + client == IPA_CLIENT_WLAN4_CONS || + client == IPA_CLIENT_ODU_EMB_CONS || + client == IPA_CLIENT_ODU_TETH_CONS) return true; return false; |
