Loading drivers/platform/msm/ipa/ipa_v3/ipa_uc_wdi.c +16 −3 Original line number Diff line number Diff line /* Copyright (c) 2012-2017, The Linux Foundation. All rights reserved. /* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -1207,8 +1207,6 @@ int ipa3_connect_wdi_pipe(struct ipa_wdi_in_params *in, IPADBG("Skipping endpoint configuration.\n"); } ipa3_enable_data_path(ipa_ep_idx); out->clnt_hdl = ipa_ep_idx; if (!ep->skip_ep_cfg && IPA_CLIENT_IS_PROD(in->sys.client)) Loading Loading @@ -1314,6 +1312,7 @@ int ipa3_enable_wdi_pipe(u32 clnt_hdl) struct ipa3_ep_context *ep; union IpaHwWdiCommonChCmdData_t enable; struct ipa_ep_cfg_holb holb_cfg; struct ipahal_reg_endp_init_rsrc_grp rsrc_grp; if (clnt_hdl >= ipa3_ctx->ipa_num_pipes || ipa3_ctx->ep[clnt_hdl].valid == 0) { Loading Loading @@ -1346,6 +1345,20 @@ int ipa3_enable_wdi_pipe(u32 clnt_hdl) goto uc_timeout; } /* Assign the resource group for pipe */ memset(&rsrc_grp, 0, sizeof(rsrc_grp)); rsrc_grp.rsrc_grp = ipa_get_ep_group(ep->client); if (rsrc_grp.rsrc_grp == -1) { IPAERR("invalid group for client %d\n", ep->client); WARN_ON(1); return -EFAULT; } IPADBG("Setting group %d for pipe %d\n", rsrc_grp.rsrc_grp, clnt_hdl); ipahal_write_reg_n_fields(IPA_ENDP_INIT_RSRC_GRP_n, clnt_hdl, &rsrc_grp); if (IPA_CLIENT_IS_CONS(ep->client)) { memset(&holb_cfg, 0 , sizeof(holb_cfg)); holb_cfg.en = IPA_HOLB_TMR_DIS; Loading Loading
drivers/platform/msm/ipa/ipa_v3/ipa_uc_wdi.c +16 −3 Original line number Diff line number Diff line /* Copyright (c) 2012-2017, The Linux Foundation. All rights reserved. /* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -1207,8 +1207,6 @@ int ipa3_connect_wdi_pipe(struct ipa_wdi_in_params *in, IPADBG("Skipping endpoint configuration.\n"); } ipa3_enable_data_path(ipa_ep_idx); out->clnt_hdl = ipa_ep_idx; if (!ep->skip_ep_cfg && IPA_CLIENT_IS_PROD(in->sys.client)) Loading Loading @@ -1314,6 +1312,7 @@ int ipa3_enable_wdi_pipe(u32 clnt_hdl) struct ipa3_ep_context *ep; union IpaHwWdiCommonChCmdData_t enable; struct ipa_ep_cfg_holb holb_cfg; struct ipahal_reg_endp_init_rsrc_grp rsrc_grp; if (clnt_hdl >= ipa3_ctx->ipa_num_pipes || ipa3_ctx->ep[clnt_hdl].valid == 0) { Loading Loading @@ -1346,6 +1345,20 @@ int ipa3_enable_wdi_pipe(u32 clnt_hdl) goto uc_timeout; } /* Assign the resource group for pipe */ memset(&rsrc_grp, 0, sizeof(rsrc_grp)); rsrc_grp.rsrc_grp = ipa_get_ep_group(ep->client); if (rsrc_grp.rsrc_grp == -1) { IPAERR("invalid group for client %d\n", ep->client); WARN_ON(1); return -EFAULT; } IPADBG("Setting group %d for pipe %d\n", rsrc_grp.rsrc_grp, clnt_hdl); ipahal_write_reg_n_fields(IPA_ENDP_INIT_RSRC_GRP_n, clnt_hdl, &rsrc_grp); if (IPA_CLIENT_IS_CONS(ep->client)) { memset(&holb_cfg, 0 , sizeof(holb_cfg)); holb_cfg.en = IPA_HOLB_TMR_DIS; Loading