summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorSunil Paidimarri <hisunil@codeaurora.org>2016-06-08 11:36:05 -0700
committerKyle Yan <kyan@codeaurora.org>2016-06-10 15:11:23 -0700
commit238f9c0973e4804699e1e6421dd566669839b696 (patch)
treea747c00351915a281352e0213c628b9d4df66152 /include
parente639e800ed790ecc24a2342e1c01c053a7667a3d (diff)
msm: ipa: Add napi support to rmnet ipa device
Add napi framework to use napi API's to poll embedded data from IPA HW. Change-Id: Icb6ec9d060ca4fb02e95c1e98bded89422bb1fff CRs-Fixed: 1002026 Signed-off-by: Sunil Paidimarri <hisunil@codeaurora.org>
Diffstat (limited to 'include')
-rw-r--r--include/linux/ipa.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/include/linux/ipa.h b/include/linux/ipa.h
index a0dd21d215d2..d152057af385 100644
--- a/include/linux/ipa.h
+++ b/include/linux/ipa.h
@@ -93,6 +93,8 @@ enum ipa_aggr_mode {
enum ipa_dp_evt_type {
IPA_RECEIVE,
IPA_WRITE_DONE,
+ IPA_CLIENT_START_POLL,
+ IPA_CLIENT_COMP_NAPI,
};
/**
@@ -538,6 +540,7 @@ struct ipa_ext_intf {
* @skip_ep_cfg: boolean field that determines if EP should be configured
* by IPA driver
* @keep_ipa_awake: when true, IPA will not be clock gated
+ * @napi_enabled: when true, IPA call client callback to start polling
*/
struct ipa_sys_connect_params {
struct ipa_ep_cfg ipa_ep_cfg;
@@ -547,6 +550,7 @@ struct ipa_sys_connect_params {
ipa_notify_cb notify;
bool skip_ep_cfg;
bool keep_ipa_awake;
+ bool napi_enabled;
};
/**
@@ -1233,6 +1237,8 @@ int ipa_tx_dp_mul(enum ipa_client_type dst,
struct ipa_tx_data_desc *data_desc);
void ipa_free_skb(struct ipa_rx_data *);
+int ipa_rx_poll(u32 clnt_hdl, int budget);
+void ipa_recycle_wan_skb(struct sk_buff *skb);
/*
* System pipes
@@ -1763,6 +1769,15 @@ static inline void ipa_free_skb(struct ipa_rx_data *rx_in)
return;
}
+static inline int ipa_rx_poll(u32 clnt_hdl, int budget)
+{
+ return -EPERM;
+}
+
+static inline void ipa_recycle_wan_skb(struct sk_buff *skb)
+{
+}
+
/*
* System pipes
*/