Loading drivers/usb/gadget/function/u_data_ipa.c +36 −18 Original line number Diff line number Diff line Loading @@ -217,6 +217,7 @@ void ipa_data_disconnect(struct gadget_ipa_port *gp, u8 port_num) * complete function will be called, where we try * to obtain the spinlock as well. */ if (gadget_is_dwc3(gadget)) msm_ep_unconfig(port->port_usb->in); spin_unlock_irqrestore(&port->port_lock, flags); usb_ep_disable(port->port_usb->in); Loading @@ -225,6 +226,7 @@ void ipa_data_disconnect(struct gadget_ipa_port *gp, u8 port_num) } if (port->port_usb->out) { if (gadget_is_dwc3(gadget)) msm_ep_unconfig(port->port_usb->out); spin_unlock_irqrestore(&port->port_lock, flags); usb_ep_disable(port->port_usb->out); Loading Loading @@ -334,6 +336,7 @@ static void ipa_data_connect_work(struct work_struct *w) /* update IPA Parameteres here. */ port->ipa_params.usb_connection_speed = gadget->speed; if (gadget_is_dwc3(gadget)) port->ipa_params.reset_pipe_after_lpm = msm_dwc3_reset_ep_after_lpm(gadget); port->ipa_params.skip_ep_cfg = true; Loading @@ -359,9 +362,14 @@ static void ipa_data_connect_work(struct work_struct *w) gport->ipa_consumer_ep = port->ipa_params.ipa_cons_ep_idx; if (gadget_is_dwc3(gadget)) { sps_params = MSM_SPS_MODE | MSM_DISABLE_WB | MSM_PRODUCER | port->src_pipe_idx; port->rx_req->length = 32*1024; } else { sps_params = (MSM_SPS_MODE | port->src_pipe_idx | MSM_VENDOR_ID) & ~MSM_IS_FINITE_TRANSFER; } port->rx_req->udc_priv = sps_params; port->src_bam_idx = usb_bam_get_connection_idx( Loading @@ -373,12 +381,14 @@ static void ipa_data_connect_work(struct work_struct *w) goto disconnect_usb_bam_ipa_out; } if (gadget_is_dwc3(gadget)) { configure_fifo(port->src_bam_idx, port->port_usb->out); ret = msm_ep_config(port->port_usb->out); if (ret) { pr_err("msm_ep_config() failed for OUT EP\n"); goto disconnect_usb_bam_ipa_out; } } is_ipa_disconnected = false; } Loading @@ -393,8 +403,14 @@ static void ipa_data_connect_work(struct work_struct *w) } gport->ipa_producer_ep = port->ipa_params.ipa_prod_ep_idx; sps_params = MSM_SPS_MODE | MSM_DISABLE_WB | port->dst_pipe_idx; if (gadget_is_dwc3(gadget)) { sps_params = MSM_SPS_MODE | MSM_DISABLE_WB | port->dst_pipe_idx; port->tx_req->length = 32*1024; } else { sps_params = (MSM_SPS_MODE | port->dst_pipe_idx | MSM_VENDOR_ID) & ~MSM_IS_FINITE_TRANSFER; } port->tx_req->udc_priv = sps_params; port->dst_bam_idx = usb_bam_get_connection_idx(gadget->name, Loading @@ -404,12 +420,14 @@ static void ipa_data_connect_work(struct work_struct *w) pr_err("dst_bam: get_connection_idx failed\n"); goto disconnect_usb_bam_ipa_in; } if (gadget_is_dwc3(gadget)) { configure_fifo(port->dst_bam_idx, gport->in); ret = msm_ep_config(gport->in); if (ret) { pr_err("msm_ep_config() failed for IN EP\n"); goto disconnect_usb_bam_ipa_in; } } is_ipa_disconnected = false; } Loading Loading
drivers/usb/gadget/function/u_data_ipa.c +36 −18 Original line number Diff line number Diff line Loading @@ -217,6 +217,7 @@ void ipa_data_disconnect(struct gadget_ipa_port *gp, u8 port_num) * complete function will be called, where we try * to obtain the spinlock as well. */ if (gadget_is_dwc3(gadget)) msm_ep_unconfig(port->port_usb->in); spin_unlock_irqrestore(&port->port_lock, flags); usb_ep_disable(port->port_usb->in); Loading @@ -225,6 +226,7 @@ void ipa_data_disconnect(struct gadget_ipa_port *gp, u8 port_num) } if (port->port_usb->out) { if (gadget_is_dwc3(gadget)) msm_ep_unconfig(port->port_usb->out); spin_unlock_irqrestore(&port->port_lock, flags); usb_ep_disable(port->port_usb->out); Loading Loading @@ -334,6 +336,7 @@ static void ipa_data_connect_work(struct work_struct *w) /* update IPA Parameteres here. */ port->ipa_params.usb_connection_speed = gadget->speed; if (gadget_is_dwc3(gadget)) port->ipa_params.reset_pipe_after_lpm = msm_dwc3_reset_ep_after_lpm(gadget); port->ipa_params.skip_ep_cfg = true; Loading @@ -359,9 +362,14 @@ static void ipa_data_connect_work(struct work_struct *w) gport->ipa_consumer_ep = port->ipa_params.ipa_cons_ep_idx; if (gadget_is_dwc3(gadget)) { sps_params = MSM_SPS_MODE | MSM_DISABLE_WB | MSM_PRODUCER | port->src_pipe_idx; port->rx_req->length = 32*1024; } else { sps_params = (MSM_SPS_MODE | port->src_pipe_idx | MSM_VENDOR_ID) & ~MSM_IS_FINITE_TRANSFER; } port->rx_req->udc_priv = sps_params; port->src_bam_idx = usb_bam_get_connection_idx( Loading @@ -373,12 +381,14 @@ static void ipa_data_connect_work(struct work_struct *w) goto disconnect_usb_bam_ipa_out; } if (gadget_is_dwc3(gadget)) { configure_fifo(port->src_bam_idx, port->port_usb->out); ret = msm_ep_config(port->port_usb->out); if (ret) { pr_err("msm_ep_config() failed for OUT EP\n"); goto disconnect_usb_bam_ipa_out; } } is_ipa_disconnected = false; } Loading @@ -393,8 +403,14 @@ static void ipa_data_connect_work(struct work_struct *w) } gport->ipa_producer_ep = port->ipa_params.ipa_prod_ep_idx; sps_params = MSM_SPS_MODE | MSM_DISABLE_WB | port->dst_pipe_idx; if (gadget_is_dwc3(gadget)) { sps_params = MSM_SPS_MODE | MSM_DISABLE_WB | port->dst_pipe_idx; port->tx_req->length = 32*1024; } else { sps_params = (MSM_SPS_MODE | port->dst_pipe_idx | MSM_VENDOR_ID) & ~MSM_IS_FINITE_TRANSFER; } port->tx_req->udc_priv = sps_params; port->dst_bam_idx = usb_bam_get_connection_idx(gadget->name, Loading @@ -404,12 +420,14 @@ static void ipa_data_connect_work(struct work_struct *w) pr_err("dst_bam: get_connection_idx failed\n"); goto disconnect_usb_bam_ipa_in; } if (gadget_is_dwc3(gadget)) { configure_fifo(port->dst_bam_idx, gport->in); ret = msm_ep_config(gport->in); if (ret) { pr_err("msm_ep_config() failed for IN EP\n"); goto disconnect_usb_bam_ipa_in; } } is_ipa_disconnected = false; } Loading