Loading drivers/platform/msm/ipa/ipa_v3/ipa_client.c +14 −12 Original line number Original line Diff line number Diff line Loading @@ -367,13 +367,11 @@ int ipa3_smmu_map_peer_buff(u64 iova, u32 size, bool map, struct sg_table *sgt, return 0; return 0; } } static enum ipa_client_cb_type ipa_get_client_cb_type(u32 ipa_ep_idx) static enum ipa_client_cb_type ipa_get_client_cb_type( enum ipa_client_type client_type) { { enum ipa_client_type client_type; enum ipa_client_cb_type client_cb; enum ipa_client_cb_type client_cb; client_type = ipa3_get_client_by_pipe(ipa_ep_idx); if (client_type == IPA_CLIENT_USB_PROD || if (client_type == IPA_CLIENT_USB_PROD || client_type == IPA_CLIENT_USB_CONS) { client_type == IPA_CLIENT_USB_CONS) { IPADBG("USB Client registered\n"); IPADBG("USB Client registered\n"); Loading @@ -393,10 +391,12 @@ void ipa3_register_lock_unlock_callback(int (*client_cb)(bool is_lock), u32 ipa_ep_idx) u32 ipa_ep_idx) { { enum ipa_client_cb_type client; enum ipa_client_cb_type client; enum ipa_client_type client_type; IPADBG("entry\n"); IPADBG("entry\n"); client = ipa_get_client_cb_type(ipa_ep_idx); client_type = ipa3_get_client_by_pipe(ipa_ep_idx); client = ipa_get_client_cb_type(client_type); if (client == IPA_MAX_CLNT) if (client == IPA_MAX_CLNT) return; return; Loading @@ -413,10 +413,12 @@ void ipa3_register_lock_unlock_callback(int (*client_cb)(bool is_lock), void ipa3_deregister_lock_unlock_callback(u32 ipa_ep_idx) void ipa3_deregister_lock_unlock_callback(u32 ipa_ep_idx) { { enum ipa_client_cb_type client_cb; enum ipa_client_cb_type client_cb; enum ipa_client_type client_type; IPADBG("entry\n"); IPADBG("entry\n"); client_cb = ipa_get_client_cb_type(ipa_ep_idx); client_type = ipa3_get_client_by_pipe(ipa_ep_idx); client_cb = ipa_get_client_cb_type(client_type); if (client_cb == IPA_MAX_CLNT) if (client_cb == IPA_MAX_CLNT) return; return; Loading @@ -429,13 +431,13 @@ void ipa3_deregister_lock_unlock_callback(u32 ipa_ep_idx) IPADBG("exit\n"); IPADBG("exit\n"); } } static void client_lock_unlock_cb(u32 ipa_ep_idx, bool is_lock) static void client_lock_unlock_cb(enum ipa_client_type client, bool is_lock) { { enum ipa_client_cb_type client_cb; enum ipa_client_cb_type client_cb; IPADBG("entry\n"); IPADBG("entry\n"); client_cb = ipa_get_client_cb_type(ipa_ep_idx); client_cb = ipa_get_client_cb_type(client); if (client_cb == IPA_MAX_CLNT) if (client_cb == IPA_MAX_CLNT) return; return; Loading Loading @@ -1120,7 +1122,7 @@ int ipa3_set_reset_client_prod_pipe_delay(bool set_reset, ep = &ipa3_ctx->ep[pipe_idx]; ep = &ipa3_ctx->ep[pipe_idx]; /* Setting delay on USB_PROD with skip_ep_cfg */ /* Setting delay on USB_PROD with skip_ep_cfg */ client_lock_unlock_cb(pipe_idx, true); client_lock_unlock_cb(client, true); if (ep->valid && ep->skip_ep_cfg) { if (ep->valid && ep->skip_ep_cfg) { ep->ep_delay_set = ep_ctrl.ipa_ep_delay; ep->ep_delay_set = ep_ctrl.ipa_ep_delay; result = ipa3_cfg_ep_ctrl(pipe_idx, &ep_ctrl); result = ipa3_cfg_ep_ctrl(pipe_idx, &ep_ctrl); Loading @@ -1130,7 +1132,7 @@ int ipa3_set_reset_client_prod_pipe_delay(bool set_reset, else else IPADBG("client (ep: %d) success\n", pipe_idx); IPADBG("client (ep: %d) success\n", pipe_idx); } } client_lock_unlock_cb(pipe_idx, false); client_lock_unlock_cb(client, false); return result; return result; } } Loading Loading @@ -1163,7 +1165,7 @@ int ipa3_set_reset_client_cons_pipe_sus_holb(bool set_reset, ep = &ipa3_ctx->ep[pipe_idx]; ep = &ipa3_ctx->ep[pipe_idx]; /* Setting sus/holb on MHI_CONS with skip_ep_cfg */ /* Setting sus/holb on MHI_CONS with skip_ep_cfg */ client_lock_unlock_cb(pipe_idx, true); client_lock_unlock_cb(client, true); if (ep->valid && ep->skip_ep_cfg) { if (ep->valid && ep->skip_ep_cfg) { if (ipa3_ctx->ipa_hw_type < IPA_HW_v4_0) if (ipa3_ctx->ipa_hw_type < IPA_HW_v4_0) ipahal_write_reg_n_fields( ipahal_write_reg_n_fields( Loading @@ -1182,7 +1184,7 @@ int ipa3_set_reset_client_cons_pipe_sus_holb(bool set_reset, IPA_ENDP_INIT_HOL_BLOCK_EN_n, IPA_ENDP_INIT_HOL_BLOCK_EN_n, pipe_idx, &ep_holb); pipe_idx, &ep_holb); } } client_lock_unlock_cb(pipe_idx, false); client_lock_unlock_cb(client, false); return 0; return 0; } } Loading Loading
drivers/platform/msm/ipa/ipa_v3/ipa_client.c +14 −12 Original line number Original line Diff line number Diff line Loading @@ -367,13 +367,11 @@ int ipa3_smmu_map_peer_buff(u64 iova, u32 size, bool map, struct sg_table *sgt, return 0; return 0; } } static enum ipa_client_cb_type ipa_get_client_cb_type(u32 ipa_ep_idx) static enum ipa_client_cb_type ipa_get_client_cb_type( enum ipa_client_type client_type) { { enum ipa_client_type client_type; enum ipa_client_cb_type client_cb; enum ipa_client_cb_type client_cb; client_type = ipa3_get_client_by_pipe(ipa_ep_idx); if (client_type == IPA_CLIENT_USB_PROD || if (client_type == IPA_CLIENT_USB_PROD || client_type == IPA_CLIENT_USB_CONS) { client_type == IPA_CLIENT_USB_CONS) { IPADBG("USB Client registered\n"); IPADBG("USB Client registered\n"); Loading @@ -393,10 +391,12 @@ void ipa3_register_lock_unlock_callback(int (*client_cb)(bool is_lock), u32 ipa_ep_idx) u32 ipa_ep_idx) { { enum ipa_client_cb_type client; enum ipa_client_cb_type client; enum ipa_client_type client_type; IPADBG("entry\n"); IPADBG("entry\n"); client = ipa_get_client_cb_type(ipa_ep_idx); client_type = ipa3_get_client_by_pipe(ipa_ep_idx); client = ipa_get_client_cb_type(client_type); if (client == IPA_MAX_CLNT) if (client == IPA_MAX_CLNT) return; return; Loading @@ -413,10 +413,12 @@ void ipa3_register_lock_unlock_callback(int (*client_cb)(bool is_lock), void ipa3_deregister_lock_unlock_callback(u32 ipa_ep_idx) void ipa3_deregister_lock_unlock_callback(u32 ipa_ep_idx) { { enum ipa_client_cb_type client_cb; enum ipa_client_cb_type client_cb; enum ipa_client_type client_type; IPADBG("entry\n"); IPADBG("entry\n"); client_cb = ipa_get_client_cb_type(ipa_ep_idx); client_type = ipa3_get_client_by_pipe(ipa_ep_idx); client_cb = ipa_get_client_cb_type(client_type); if (client_cb == IPA_MAX_CLNT) if (client_cb == IPA_MAX_CLNT) return; return; Loading @@ -429,13 +431,13 @@ void ipa3_deregister_lock_unlock_callback(u32 ipa_ep_idx) IPADBG("exit\n"); IPADBG("exit\n"); } } static void client_lock_unlock_cb(u32 ipa_ep_idx, bool is_lock) static void client_lock_unlock_cb(enum ipa_client_type client, bool is_lock) { { enum ipa_client_cb_type client_cb; enum ipa_client_cb_type client_cb; IPADBG("entry\n"); IPADBG("entry\n"); client_cb = ipa_get_client_cb_type(ipa_ep_idx); client_cb = ipa_get_client_cb_type(client); if (client_cb == IPA_MAX_CLNT) if (client_cb == IPA_MAX_CLNT) return; return; Loading Loading @@ -1120,7 +1122,7 @@ int ipa3_set_reset_client_prod_pipe_delay(bool set_reset, ep = &ipa3_ctx->ep[pipe_idx]; ep = &ipa3_ctx->ep[pipe_idx]; /* Setting delay on USB_PROD with skip_ep_cfg */ /* Setting delay on USB_PROD with skip_ep_cfg */ client_lock_unlock_cb(pipe_idx, true); client_lock_unlock_cb(client, true); if (ep->valid && ep->skip_ep_cfg) { if (ep->valid && ep->skip_ep_cfg) { ep->ep_delay_set = ep_ctrl.ipa_ep_delay; ep->ep_delay_set = ep_ctrl.ipa_ep_delay; result = ipa3_cfg_ep_ctrl(pipe_idx, &ep_ctrl); result = ipa3_cfg_ep_ctrl(pipe_idx, &ep_ctrl); Loading @@ -1130,7 +1132,7 @@ int ipa3_set_reset_client_prod_pipe_delay(bool set_reset, else else IPADBG("client (ep: %d) success\n", pipe_idx); IPADBG("client (ep: %d) success\n", pipe_idx); } } client_lock_unlock_cb(pipe_idx, false); client_lock_unlock_cb(client, false); return result; return result; } } Loading Loading @@ -1163,7 +1165,7 @@ int ipa3_set_reset_client_cons_pipe_sus_holb(bool set_reset, ep = &ipa3_ctx->ep[pipe_idx]; ep = &ipa3_ctx->ep[pipe_idx]; /* Setting sus/holb on MHI_CONS with skip_ep_cfg */ /* Setting sus/holb on MHI_CONS with skip_ep_cfg */ client_lock_unlock_cb(pipe_idx, true); client_lock_unlock_cb(client, true); if (ep->valid && ep->skip_ep_cfg) { if (ep->valid && ep->skip_ep_cfg) { if (ipa3_ctx->ipa_hw_type < IPA_HW_v4_0) if (ipa3_ctx->ipa_hw_type < IPA_HW_v4_0) ipahal_write_reg_n_fields( ipahal_write_reg_n_fields( Loading @@ -1182,7 +1184,7 @@ int ipa3_set_reset_client_cons_pipe_sus_holb(bool set_reset, IPA_ENDP_INIT_HOL_BLOCK_EN_n, IPA_ENDP_INIT_HOL_BLOCK_EN_n, pipe_idx, &ep_holb); pipe_idx, &ep_holb); } } client_lock_unlock_cb(pipe_idx, false); client_lock_unlock_cb(client, false); return 0; return 0; } } Loading