Loading drivers/platform/msm/ipa_fmwk/ipa_fmwk.c +51 −0 Original line number Diff line number Diff line Loading @@ -241,6 +241,11 @@ struct ipa_fmwk_contex { int (*ipa_wdi_dereg_intf)(const char *netdev_name); int (*ipa_qdss_conn_pipes)(struct ipa_qdss_conn_in_params *in, struct ipa_qdss_conn_out_params *out); int (*ipa_qdss_disconn_pipes)(void); int (*ipa_wdi_conn_pipes)(struct ipa_wdi_conn_in_params *in, struct ipa_wdi_conn_out_params *out); Loading Loading @@ -1230,6 +1235,52 @@ int ipa_wdi_sw_stats(struct ipa_wdi_tx_info *info) } EXPORT_SYMBOL(ipa_wdi_sw_stats); int ipa_qdss_conn_pipes(struct ipa_qdss_conn_in_params *in, struct ipa_qdss_conn_out_params *out) { int ret; IPA_FMWK_DISPATCH_RETURN(ipa_qdss_conn_pipes, in, out); return ret; } EXPORT_SYMBOL(ipa_qdss_conn_pipes); int ipa_qdss_disconn_pipes(void) { int ret; IPA_FMWK_DISPATCH_RETURN(ipa_qdss_disconn_pipes); return ret; } EXPORT_SYMBOL(ipa_qdss_disconn_pipes); /* registration API for IPA qdss module */ int ipa_fmwk_register_ipa_qdss(const struct ipa_qdss_data *in) { if (!ipa_fmwk_ctx) { pr_err("ipa framework hasn't been initialized yet\n"); return -EPERM; } if (ipa_fmwk_ctx->ipa_qdss_conn_pipes || ipa_fmwk_ctx->ipa_qdss_disconn_pipes) { pr_err("ipa_qdss APIs were already initialized\n"); return -EPERM; } ipa_fmwk_ctx->ipa_qdss_conn_pipes = in->ipa_qdss_conn_pipes; ipa_fmwk_ctx->ipa_qdss_disconn_pipes = in->ipa_qdss_disconn_pipes; pr_info("ipa_qdss registered successfully\n"); return 0; } EXPORT_SYMBOL(ipa_fmwk_register_ipa_qdss); /* registration API for IPA gsb module */ int ipa_fmwk_register_gsb(const struct ipa_gsb_data *in) { Loading include/linux/ipa_fmwk.h +15 −0 Original line number Diff line number Diff line Loading @@ -12,6 +12,7 @@ #include <linux/ipa_mhi.h> #include <linux/ipa_wigig.h> #include <linux/ipa_wdi3.h> #include <linux/ipa_qdss.h> #include <linux/ipa_usb.h> #include <linux/ipa_odu_bridge.h> #include <linux/ipa_qmi_service_v01.h> Loading Loading @@ -171,6 +172,13 @@ struct ipa_wdi3_data { int (*ipa_get_wdi_version)(void); }; struct ipa_qdss_data { int (*ipa_qdss_conn_pipes)(struct ipa_qdss_conn_in_params *in, struct ipa_qdss_conn_out_params *out); int (*ipa_qdss_disconn_pipes)(void); }; struct ipa_gsb_data { int (*ipa_bridge_init)(struct ipa_bridge_init_params *params, u32 *hdl); Loading Loading @@ -310,6 +318,8 @@ int ipa_fmwk_register_ipa_wigig(const struct ipa_wigig_data *in); int ipa_fmwk_register_ipa_eth(const struct ipa_eth_data *in); int ipa_fmwk_register_ipa_qdss(const struct ipa_qdss_data *in); #else /* IS_ENABLED(CONFIG_IPA3) */ int ipa_fmwk_register_ipa(const struct ipa_core_data *in) Loading @@ -327,6 +337,11 @@ int ipa_fmwk_register_ipa_wdi3(const struct ipa_wdi3_data *in) return -EPERM; } int ipa_fmwk_register_ipa_qdss(const struct ipa3_qdss_data *in) { return -EPERM; } int ipa_fmwk_register_gsb(const struct ipa_gsb_data *in) { return -EPERM; Loading include/linux/ipa_qdss.h +1 −1 Original line number Diff line number Diff line Loading @@ -57,7 +57,7 @@ struct ipa_qdss_conn_out_params { phys_addr_t ipa_rx_db_pa; }; #if defined CONFIG_IPA3 #if IS_ENABLED(CONFIG_IPA3) /** * ipa_qdss_conn_pipes - Client should call this Loading Loading
drivers/platform/msm/ipa_fmwk/ipa_fmwk.c +51 −0 Original line number Diff line number Diff line Loading @@ -241,6 +241,11 @@ struct ipa_fmwk_contex { int (*ipa_wdi_dereg_intf)(const char *netdev_name); int (*ipa_qdss_conn_pipes)(struct ipa_qdss_conn_in_params *in, struct ipa_qdss_conn_out_params *out); int (*ipa_qdss_disconn_pipes)(void); int (*ipa_wdi_conn_pipes)(struct ipa_wdi_conn_in_params *in, struct ipa_wdi_conn_out_params *out); Loading Loading @@ -1230,6 +1235,52 @@ int ipa_wdi_sw_stats(struct ipa_wdi_tx_info *info) } EXPORT_SYMBOL(ipa_wdi_sw_stats); int ipa_qdss_conn_pipes(struct ipa_qdss_conn_in_params *in, struct ipa_qdss_conn_out_params *out) { int ret; IPA_FMWK_DISPATCH_RETURN(ipa_qdss_conn_pipes, in, out); return ret; } EXPORT_SYMBOL(ipa_qdss_conn_pipes); int ipa_qdss_disconn_pipes(void) { int ret; IPA_FMWK_DISPATCH_RETURN(ipa_qdss_disconn_pipes); return ret; } EXPORT_SYMBOL(ipa_qdss_disconn_pipes); /* registration API for IPA qdss module */ int ipa_fmwk_register_ipa_qdss(const struct ipa_qdss_data *in) { if (!ipa_fmwk_ctx) { pr_err("ipa framework hasn't been initialized yet\n"); return -EPERM; } if (ipa_fmwk_ctx->ipa_qdss_conn_pipes || ipa_fmwk_ctx->ipa_qdss_disconn_pipes) { pr_err("ipa_qdss APIs were already initialized\n"); return -EPERM; } ipa_fmwk_ctx->ipa_qdss_conn_pipes = in->ipa_qdss_conn_pipes; ipa_fmwk_ctx->ipa_qdss_disconn_pipes = in->ipa_qdss_disconn_pipes; pr_info("ipa_qdss registered successfully\n"); return 0; } EXPORT_SYMBOL(ipa_fmwk_register_ipa_qdss); /* registration API for IPA gsb module */ int ipa_fmwk_register_gsb(const struct ipa_gsb_data *in) { Loading
include/linux/ipa_fmwk.h +15 −0 Original line number Diff line number Diff line Loading @@ -12,6 +12,7 @@ #include <linux/ipa_mhi.h> #include <linux/ipa_wigig.h> #include <linux/ipa_wdi3.h> #include <linux/ipa_qdss.h> #include <linux/ipa_usb.h> #include <linux/ipa_odu_bridge.h> #include <linux/ipa_qmi_service_v01.h> Loading Loading @@ -171,6 +172,13 @@ struct ipa_wdi3_data { int (*ipa_get_wdi_version)(void); }; struct ipa_qdss_data { int (*ipa_qdss_conn_pipes)(struct ipa_qdss_conn_in_params *in, struct ipa_qdss_conn_out_params *out); int (*ipa_qdss_disconn_pipes)(void); }; struct ipa_gsb_data { int (*ipa_bridge_init)(struct ipa_bridge_init_params *params, u32 *hdl); Loading Loading @@ -310,6 +318,8 @@ int ipa_fmwk_register_ipa_wigig(const struct ipa_wigig_data *in); int ipa_fmwk_register_ipa_eth(const struct ipa_eth_data *in); int ipa_fmwk_register_ipa_qdss(const struct ipa_qdss_data *in); #else /* IS_ENABLED(CONFIG_IPA3) */ int ipa_fmwk_register_ipa(const struct ipa_core_data *in) Loading @@ -327,6 +337,11 @@ int ipa_fmwk_register_ipa_wdi3(const struct ipa_wdi3_data *in) return -EPERM; } int ipa_fmwk_register_ipa_qdss(const struct ipa3_qdss_data *in) { return -EPERM; } int ipa_fmwk_register_gsb(const struct ipa_gsb_data *in) { return -EPERM; Loading
include/linux/ipa_qdss.h +1 −1 Original line number Diff line number Diff line Loading @@ -57,7 +57,7 @@ struct ipa_qdss_conn_out_params { phys_addr_t ipa_rx_db_pa; }; #if defined CONFIG_IPA3 #if IS_ENABLED(CONFIG_IPA3) /** * ipa_qdss_conn_pipes - Client should call this Loading