Loading drivers/platform/msm/usb_bam.c +21 −0 Original line number Diff line number Diff line Loading @@ -3277,6 +3277,27 @@ int usb_bam_get_bam_type(const char *core_name) } EXPORT_SYMBOL(usb_bam_get_bam_type); bool msm_usb_bam_enable(enum usb_ctrl bam, bool bam_enable) { struct msm_usb_bam_platform_data *pdata; struct usb_bam_ctx_type *ctx = &msm_usb_bam[bam]; if (!ctx->usb_bam_pdev) return 0; pdata = ctx->usb_bam_pdev->dev.platform_data; if ((bam != CI_CTRL) || !(bam_enable || pdata->enable_hsusb_bam_on_boot)) return 0; msm_hw_bam_disable(1); sps_device_reset(ctx->h_bam); msm_hw_bam_disable(0); return 0; } EXPORT_SYMBOL(msm_usb_bam_enable); /** * msm_bam_hsic_host_pipe_empty - Check all HSIC host BAM pipe state * Loading drivers/usb/gadget/function/u_bam.c +1 −0 Original line number Diff line number Diff line Loading @@ -1391,6 +1391,7 @@ static void gbam2bam_connect_work(struct work_struct *w) __func__, ret); return; } gadget->bam2bam_func_enabled = true; if (gadget_is_dwc3(gadget)) { if (!port) { Loading drivers/usb/gadget/function/u_bam_data.c +1 −0 Original line number Diff line number Diff line Loading @@ -949,6 +949,7 @@ static void bam2bam_data_connect_work(struct work_struct *w) __func__, ret); return; } gadget->bam2bam_func_enabled = true; spin_lock_irqsave(&port->port_lock, flags); if (port->last_event == U_BAM_DATA_DISCONNECT_E) { Loading drivers/usb/gadget/function/u_data_ipa.c +2 −0 Original line number Diff line number Diff line Loading @@ -359,6 +359,7 @@ static void ipa_data_connect_work(struct work_struct *w) pr_err("usb_bam_connect_ipa out failed err:%d\n", ret); goto free_rx_tx_req; } gadget->bam2bam_func_enabled = true; gport->ipa_consumer_ep = port->ipa_params.ipa_cons_ep_idx; Loading Loading @@ -395,6 +396,7 @@ static void ipa_data_connect_work(struct work_struct *w) pr_err("usb_bam_connect_ipa IN failed err:%d\n", ret); goto unconfig_msm_ep_out; } gadget->bam2bam_func_enabled = true; gport->ipa_producer_ep = port->ipa_params.ipa_prod_ep_idx; if (gadget_is_dwc3(gadget)) { Loading drivers/usb/gadget/function/u_qdss.c +1 −0 Original line number Diff line number Diff line Loading @@ -82,6 +82,7 @@ static int set_qdss_data_connection(struct usb_gadget *gadget, if (enable) { res = usb_bam_connect(usb_bam_type, idx, &(bam_info.usb_bam_pipe_idx)); gadget->bam2bam_func_enabled = true; bam_info.data_fifo = kzalloc(sizeof(struct sps_mem_buffer), GFP_KERNEL); if (!bam_info.data_fifo) { Loading Loading
drivers/platform/msm/usb_bam.c +21 −0 Original line number Diff line number Diff line Loading @@ -3277,6 +3277,27 @@ int usb_bam_get_bam_type(const char *core_name) } EXPORT_SYMBOL(usb_bam_get_bam_type); bool msm_usb_bam_enable(enum usb_ctrl bam, bool bam_enable) { struct msm_usb_bam_platform_data *pdata; struct usb_bam_ctx_type *ctx = &msm_usb_bam[bam]; if (!ctx->usb_bam_pdev) return 0; pdata = ctx->usb_bam_pdev->dev.platform_data; if ((bam != CI_CTRL) || !(bam_enable || pdata->enable_hsusb_bam_on_boot)) return 0; msm_hw_bam_disable(1); sps_device_reset(ctx->h_bam); msm_hw_bam_disable(0); return 0; } EXPORT_SYMBOL(msm_usb_bam_enable); /** * msm_bam_hsic_host_pipe_empty - Check all HSIC host BAM pipe state * Loading
drivers/usb/gadget/function/u_bam.c +1 −0 Original line number Diff line number Diff line Loading @@ -1391,6 +1391,7 @@ static void gbam2bam_connect_work(struct work_struct *w) __func__, ret); return; } gadget->bam2bam_func_enabled = true; if (gadget_is_dwc3(gadget)) { if (!port) { Loading
drivers/usb/gadget/function/u_bam_data.c +1 −0 Original line number Diff line number Diff line Loading @@ -949,6 +949,7 @@ static void bam2bam_data_connect_work(struct work_struct *w) __func__, ret); return; } gadget->bam2bam_func_enabled = true; spin_lock_irqsave(&port->port_lock, flags); if (port->last_event == U_BAM_DATA_DISCONNECT_E) { Loading
drivers/usb/gadget/function/u_data_ipa.c +2 −0 Original line number Diff line number Diff line Loading @@ -359,6 +359,7 @@ static void ipa_data_connect_work(struct work_struct *w) pr_err("usb_bam_connect_ipa out failed err:%d\n", ret); goto free_rx_tx_req; } gadget->bam2bam_func_enabled = true; gport->ipa_consumer_ep = port->ipa_params.ipa_cons_ep_idx; Loading Loading @@ -395,6 +396,7 @@ static void ipa_data_connect_work(struct work_struct *w) pr_err("usb_bam_connect_ipa IN failed err:%d\n", ret); goto unconfig_msm_ep_out; } gadget->bam2bam_func_enabled = true; gport->ipa_producer_ep = port->ipa_params.ipa_prod_ep_idx; if (gadget_is_dwc3(gadget)) { Loading
drivers/usb/gadget/function/u_qdss.c +1 −0 Original line number Diff line number Diff line Loading @@ -82,6 +82,7 @@ static int set_qdss_data_connection(struct usb_gadget *gadget, if (enable) { res = usb_bam_connect(usb_bam_type, idx, &(bam_info.usb_bam_pipe_idx)); gadget->bam2bam_func_enabled = true; bam_info.data_fifo = kzalloc(sizeof(struct sps_mem_buffer), GFP_KERNEL); if (!bam_info.data_fifo) { Loading