Loading drivers/platform/msm/ipa_fmwk/ipa_fmwk.c +15 −1 Original line number Diff line number Diff line Loading @@ -321,6 +321,8 @@ struct ipa_fmwk_contex { int (*ipa_mhi_handle_ipa_config_req)( struct ipa_config_req_msg_v01 *config_req); int (*ipa_mhi_update_mstate)(enum ipa_mhi_mstate mstate_info); /* ipa_wigig APIs */ int (*ipa_wigig_init)(struct ipa_wigig_init_in_params *in, struct ipa_wigig_init_out_params *out); Loading Loading @@ -1484,7 +1486,8 @@ int ipa_fmwk_register_ipa_mhi(const struct ipa_mhi_data *in) || ipa_fmwk_ctx->ipa_mhi_suspend || ipa_fmwk_ctx->ipa_mhi_resume || ipa_fmwk_ctx->ipa_mhi_destroy || ipa_fmwk_ctx->ipa_mhi_handle_ipa_config_req) { || ipa_fmwk_ctx->ipa_mhi_handle_ipa_config_req || ipa_fmwk_ctx->ipa_mhi_update_mstate) { pr_err("ipa_mhi APIs were already initialized\n"); return -EPERM; } Loading @@ -1498,6 +1501,7 @@ int ipa_fmwk_register_ipa_mhi(const struct ipa_mhi_data *in) ipa_fmwk_ctx->ipa_mhi_destroy = in->ipa_mhi_destroy; ipa_fmwk_ctx->ipa_mhi_handle_ipa_config_req = in->ipa_mhi_handle_ipa_config_req; ipa_fmwk_ctx->ipa_mhi_update_mstate = in->ipa_mhi_update_mstate; pr_info("ipa_mhi registered successfully\n"); Loading Loading @@ -1588,6 +1592,16 @@ int ipa_mhi_handle_ipa_config_req(struct ipa_config_req_msg_v01 *config_req) } EXPORT_SYMBOL(ipa_mhi_handle_ipa_config_req); int ipa_mhi_update_mstate(enum ipa_mhi_mstate mstate_info) { int ret; IPA_FMWK_DISPATCH_RETURN(ipa_mhi_update_mstate, mstate_info); return ret; } EXPORT_SYMBOL(ipa_mhi_update_mstate); /* registration API for IPA wigig module */ int ipa_fmwk_register_ipa_wigig(const struct ipa_wigig_data *in) { Loading include/linux/ipa_fmwk.h +2 −0 Original line number Diff line number Diff line Loading @@ -228,6 +228,8 @@ struct ipa_mhi_data { int (*ipa_mhi_handle_ipa_config_req)( struct ipa_config_req_msg_v01 *config_req); int (*ipa_mhi_update_mstate)(enum ipa_mhi_mstate mstate_info); }; struct ipa_wigig_data { Loading include/linux/ipa_mhi.h +17 −1 Original line number Diff line number Diff line /* SPDX-License-Identifier: GPL-2.0-only */ /* * Copyright (c) 2017-2019, The Linux Foundation. All rights reserved. * Copyright (c) 2017-2020, The Linux Foundation. All rights reserved. */ #ifndef IPA_MHI_H_ Loading @@ -22,6 +22,14 @@ enum ipa_mhi_event_type { IPA_MHI_EVENT_MAX, }; enum ipa_mhi_mstate { IPA_MHI_STATE_M0, IPA_MHI_STATE_M1, IPA_MHI_STATE_M2, IPA_MHI_STATE_M3, IPA_MHI_STATE_M_MAX }; typedef void (*mhi_client_cb)(void *priv, enum ipa_mhi_event_type event, unsigned long data); Loading Loading @@ -111,6 +119,8 @@ int ipa_mhi_resume(void); void ipa_mhi_destroy(void); int ipa_mhi_update_mstate(enum ipa_mhi_mstate mstate_info); #else /* IS_ENABLED(CONFIG_IPA3) */ static inline int ipa_mhi_init(struct ipa_mhi_init_params *params) Loading Loading @@ -149,6 +159,12 @@ static inline void ipa_mhi_destroy(void) } static inline int ipa_mhi_update_mstate (enum ipa_mhi_mstate mstate_info) { return -EPERM; } #endif /* IS_ENABLED(CONFIG_IPA3) */ #endif /* IPA_MHI_H_ */ Loading
drivers/platform/msm/ipa_fmwk/ipa_fmwk.c +15 −1 Original line number Diff line number Diff line Loading @@ -321,6 +321,8 @@ struct ipa_fmwk_contex { int (*ipa_mhi_handle_ipa_config_req)( struct ipa_config_req_msg_v01 *config_req); int (*ipa_mhi_update_mstate)(enum ipa_mhi_mstate mstate_info); /* ipa_wigig APIs */ int (*ipa_wigig_init)(struct ipa_wigig_init_in_params *in, struct ipa_wigig_init_out_params *out); Loading Loading @@ -1484,7 +1486,8 @@ int ipa_fmwk_register_ipa_mhi(const struct ipa_mhi_data *in) || ipa_fmwk_ctx->ipa_mhi_suspend || ipa_fmwk_ctx->ipa_mhi_resume || ipa_fmwk_ctx->ipa_mhi_destroy || ipa_fmwk_ctx->ipa_mhi_handle_ipa_config_req) { || ipa_fmwk_ctx->ipa_mhi_handle_ipa_config_req || ipa_fmwk_ctx->ipa_mhi_update_mstate) { pr_err("ipa_mhi APIs were already initialized\n"); return -EPERM; } Loading @@ -1498,6 +1501,7 @@ int ipa_fmwk_register_ipa_mhi(const struct ipa_mhi_data *in) ipa_fmwk_ctx->ipa_mhi_destroy = in->ipa_mhi_destroy; ipa_fmwk_ctx->ipa_mhi_handle_ipa_config_req = in->ipa_mhi_handle_ipa_config_req; ipa_fmwk_ctx->ipa_mhi_update_mstate = in->ipa_mhi_update_mstate; pr_info("ipa_mhi registered successfully\n"); Loading Loading @@ -1588,6 +1592,16 @@ int ipa_mhi_handle_ipa_config_req(struct ipa_config_req_msg_v01 *config_req) } EXPORT_SYMBOL(ipa_mhi_handle_ipa_config_req); int ipa_mhi_update_mstate(enum ipa_mhi_mstate mstate_info) { int ret; IPA_FMWK_DISPATCH_RETURN(ipa_mhi_update_mstate, mstate_info); return ret; } EXPORT_SYMBOL(ipa_mhi_update_mstate); /* registration API for IPA wigig module */ int ipa_fmwk_register_ipa_wigig(const struct ipa_wigig_data *in) { Loading
include/linux/ipa_fmwk.h +2 −0 Original line number Diff line number Diff line Loading @@ -228,6 +228,8 @@ struct ipa_mhi_data { int (*ipa_mhi_handle_ipa_config_req)( struct ipa_config_req_msg_v01 *config_req); int (*ipa_mhi_update_mstate)(enum ipa_mhi_mstate mstate_info); }; struct ipa_wigig_data { Loading
include/linux/ipa_mhi.h +17 −1 Original line number Diff line number Diff line /* SPDX-License-Identifier: GPL-2.0-only */ /* * Copyright (c) 2017-2019, The Linux Foundation. All rights reserved. * Copyright (c) 2017-2020, The Linux Foundation. All rights reserved. */ #ifndef IPA_MHI_H_ Loading @@ -22,6 +22,14 @@ enum ipa_mhi_event_type { IPA_MHI_EVENT_MAX, }; enum ipa_mhi_mstate { IPA_MHI_STATE_M0, IPA_MHI_STATE_M1, IPA_MHI_STATE_M2, IPA_MHI_STATE_M3, IPA_MHI_STATE_M_MAX }; typedef void (*mhi_client_cb)(void *priv, enum ipa_mhi_event_type event, unsigned long data); Loading Loading @@ -111,6 +119,8 @@ int ipa_mhi_resume(void); void ipa_mhi_destroy(void); int ipa_mhi_update_mstate(enum ipa_mhi_mstate mstate_info); #else /* IS_ENABLED(CONFIG_IPA3) */ static inline int ipa_mhi_init(struct ipa_mhi_init_params *params) Loading Loading @@ -149,6 +159,12 @@ static inline void ipa_mhi_destroy(void) } static inline int ipa_mhi_update_mstate (enum ipa_mhi_mstate mstate_info) { return -EPERM; } #endif /* IS_ENABLED(CONFIG_IPA3) */ #endif /* IPA_MHI_H_ */