Loading drivers/platform/msm/ipa_fmwk/ipa_fmwk.c +15 −0 Original line number Diff line number Diff line Loading @@ -386,6 +386,8 @@ struct ipa_fmwk_contex { int (*ipa_eth_client_conn_evt)(struct ipa_ecm_msg *msg); int (*ipa_eth_client_disconn_evt)(struct ipa_ecm_msg *msg); int (*ipa_get_default_aggr_time_limit)(enum ipa_client_type client, u32 *default_aggr_time_limit); }; static struct ipa_fmwk_contex *ipa_fmwk_ctx; Loading Loading @@ -486,6 +488,7 @@ int ipa_fmwk_register_ipa(const struct ipa_core_data *in) ipa_fmwk_ctx->ipa_register_rmnet_ctl_cb = in->ipa_register_rmnet_ctl_cb; ipa_fmwk_ctx->ipa_unregister_rmnet_ctl_cb = in->ipa_unregister_rmnet_ctl_cb; ipa_fmwk_ctx->ipa_get_default_aggr_time_limit = in->ipa_get_default_aggr_time_limit; ipa_fmwk_ctx->ipa_ready = true; ipa_trigger_ipa_ready_cbs(); Loading Loading @@ -2043,6 +2046,18 @@ int ipa_eth_client_disconn_evt(struct ipa_ecm_msg *msg) } EXPORT_SYMBOL(ipa_eth_client_disconn_evt); int ipa_get_default_aggr_time_limit(enum ipa_client_type client, u32 *default_aggr_time_limit) { int ret; IPA_FMWK_DISPATCH_RETURN(ipa_get_default_aggr_time_limit, client, default_aggr_time_limit); return ret; } EXPORT_SYMBOL(ipa_get_default_aggr_time_limit); /* module functions */ static int __init ipa_fmwk_init(void) { Loading include/linux/ipa.h +9 −0 Original line number Diff line number Diff line Loading @@ -1714,6 +1714,9 @@ typedef void (*ipa_rmnet_ctl_stop_cb)(void *user_data); typedef void (*ipa_rmnet_ctl_rx_notify_cb)(void *user_data, void *rx_data); int ipa_get_default_aggr_time_limit(enum ipa_client_type client, u32 *default_aggr_time_limit); /** * ipa_register_ipa_ready_cb() - register a callback to be invoked * when IPA core driver initialization is complete. Loading Loading @@ -2100,6 +2103,12 @@ static inline int ipa_uc_reg_rdyCB( return -EPERM; } static inline int ipa_get_default_aggr_time_limit(enum ipa_client_type client, u32 *default_aggr_time_limit) { return -EPERM; } #endif /* IS_ENABLED(CONFIG_IPA3) */ /* stubs - to be removed once dependent drivers remove references */ Loading include/linux/ipa_fmwk.h +11 −0 Original line number Diff line number Diff line Loading @@ -106,6 +106,8 @@ struct ipa_core_data { void *user_data3); int (*ipa_unregister_rmnet_ctl_cb)(void); int (*ipa_get_default_aggr_time_limit)(enum ipa_client_type client, u32 *default_aggr_time_limit); }; struct ipa_usb_data { Loading Loading @@ -320,6 +322,9 @@ int ipa_fmwk_register_ipa_eth(const struct ipa_eth_data *in); int ipa_fmwk_register_ipa_qdss(const struct ipa_qdss_data *in); int ipa_get_default_aggr_time_limit(enum ipa_client_type client, u32 *default_aggr_time_limit); #else /* IS_ENABLED(CONFIG_IPA3) */ int ipa_fmwk_register_ipa(const struct ipa_core_data *in) Loading Loading @@ -367,6 +372,12 @@ int ipa_fmwk_register_ipa_eth(const struct ipa_eth_data *in) return -EPERM; } static inline int ipa_get_default_aggr_time_limit(enum ipa_client_type client, u32 *default_aggr_time_limit) { return -EPERM; } #endif /* IS_ENABLED(CONFIG_IPA3) */ #endif /* _IPA_FMWK_H_ */ Loading
drivers/platform/msm/ipa_fmwk/ipa_fmwk.c +15 −0 Original line number Diff line number Diff line Loading @@ -386,6 +386,8 @@ struct ipa_fmwk_contex { int (*ipa_eth_client_conn_evt)(struct ipa_ecm_msg *msg); int (*ipa_eth_client_disconn_evt)(struct ipa_ecm_msg *msg); int (*ipa_get_default_aggr_time_limit)(enum ipa_client_type client, u32 *default_aggr_time_limit); }; static struct ipa_fmwk_contex *ipa_fmwk_ctx; Loading Loading @@ -486,6 +488,7 @@ int ipa_fmwk_register_ipa(const struct ipa_core_data *in) ipa_fmwk_ctx->ipa_register_rmnet_ctl_cb = in->ipa_register_rmnet_ctl_cb; ipa_fmwk_ctx->ipa_unregister_rmnet_ctl_cb = in->ipa_unregister_rmnet_ctl_cb; ipa_fmwk_ctx->ipa_get_default_aggr_time_limit = in->ipa_get_default_aggr_time_limit; ipa_fmwk_ctx->ipa_ready = true; ipa_trigger_ipa_ready_cbs(); Loading Loading @@ -2043,6 +2046,18 @@ int ipa_eth_client_disconn_evt(struct ipa_ecm_msg *msg) } EXPORT_SYMBOL(ipa_eth_client_disconn_evt); int ipa_get_default_aggr_time_limit(enum ipa_client_type client, u32 *default_aggr_time_limit) { int ret; IPA_FMWK_DISPATCH_RETURN(ipa_get_default_aggr_time_limit, client, default_aggr_time_limit); return ret; } EXPORT_SYMBOL(ipa_get_default_aggr_time_limit); /* module functions */ static int __init ipa_fmwk_init(void) { Loading
include/linux/ipa.h +9 −0 Original line number Diff line number Diff line Loading @@ -1714,6 +1714,9 @@ typedef void (*ipa_rmnet_ctl_stop_cb)(void *user_data); typedef void (*ipa_rmnet_ctl_rx_notify_cb)(void *user_data, void *rx_data); int ipa_get_default_aggr_time_limit(enum ipa_client_type client, u32 *default_aggr_time_limit); /** * ipa_register_ipa_ready_cb() - register a callback to be invoked * when IPA core driver initialization is complete. Loading Loading @@ -2100,6 +2103,12 @@ static inline int ipa_uc_reg_rdyCB( return -EPERM; } static inline int ipa_get_default_aggr_time_limit(enum ipa_client_type client, u32 *default_aggr_time_limit) { return -EPERM; } #endif /* IS_ENABLED(CONFIG_IPA3) */ /* stubs - to be removed once dependent drivers remove references */ Loading
include/linux/ipa_fmwk.h +11 −0 Original line number Diff line number Diff line Loading @@ -106,6 +106,8 @@ struct ipa_core_data { void *user_data3); int (*ipa_unregister_rmnet_ctl_cb)(void); int (*ipa_get_default_aggr_time_limit)(enum ipa_client_type client, u32 *default_aggr_time_limit); }; struct ipa_usb_data { Loading Loading @@ -320,6 +322,9 @@ int ipa_fmwk_register_ipa_eth(const struct ipa_eth_data *in); int ipa_fmwk_register_ipa_qdss(const struct ipa_qdss_data *in); int ipa_get_default_aggr_time_limit(enum ipa_client_type client, u32 *default_aggr_time_limit); #else /* IS_ENABLED(CONFIG_IPA3) */ int ipa_fmwk_register_ipa(const struct ipa_core_data *in) Loading Loading @@ -367,6 +372,12 @@ int ipa_fmwk_register_ipa_eth(const struct ipa_eth_data *in) return -EPERM; } static inline int ipa_get_default_aggr_time_limit(enum ipa_client_type client, u32 *default_aggr_time_limit) { return -EPERM; } #endif /* IS_ENABLED(CONFIG_IPA3) */ #endif /* _IPA_FMWK_H_ */