Loading drivers/usb/dwc3/dwc3-msm.c +9 −0 Original line number Diff line number Diff line Loading @@ -1673,6 +1673,7 @@ static void gsi_set_clear_dbell(struct usb_ep *ep, struct dwc3 *dwc = dep->dwc; struct dwc3_msm *mdwc = dev_get_drvdata(dwc->dev->parent); dbg_log_string("block_db(%d)", block_db); dwc3_msm_write_reg_field(mdwc->base, GSI_GENERAL_CFG_REG(mdwc->gsi_reg), BLOCK_GSI_WR_GO_MASK, block_db); } Loading Loading @@ -1807,6 +1808,14 @@ int usb_gsi_ep_op(struct usb_ep *ep, void *op_data, enum gsi_ep_op op) break; case GSI_EP_OP_SET_CLR_BLOCK_DBL: block_db = *((bool *)op_data); spin_lock_irqsave(&dwc->lock, flags); if (!dwc->pullups_connected && !block_db) { dbg_log_string("No Pullup\n"); spin_unlock_irqrestore(&dwc->lock, flags); return -ESHUTDOWN; } spin_unlock_irqrestore(&dwc->lock, flags); gsi_set_clear_dbell(ep, block_db); break; case GSI_EP_OP_CHECK_FOR_SUSPEND: Loading Loading
drivers/usb/dwc3/dwc3-msm.c +9 −0 Original line number Diff line number Diff line Loading @@ -1673,6 +1673,7 @@ static void gsi_set_clear_dbell(struct usb_ep *ep, struct dwc3 *dwc = dep->dwc; struct dwc3_msm *mdwc = dev_get_drvdata(dwc->dev->parent); dbg_log_string("block_db(%d)", block_db); dwc3_msm_write_reg_field(mdwc->base, GSI_GENERAL_CFG_REG(mdwc->gsi_reg), BLOCK_GSI_WR_GO_MASK, block_db); } Loading Loading @@ -1807,6 +1808,14 @@ int usb_gsi_ep_op(struct usb_ep *ep, void *op_data, enum gsi_ep_op op) break; case GSI_EP_OP_SET_CLR_BLOCK_DBL: block_db = *((bool *)op_data); spin_lock_irqsave(&dwc->lock, flags); if (!dwc->pullups_connected && !block_db) { dbg_log_string("No Pullup\n"); spin_unlock_irqrestore(&dwc->lock, flags); return -ESHUTDOWN; } spin_unlock_irqrestore(&dwc->lock, flags); gsi_set_clear_dbell(ep, block_db); break; case GSI_EP_OP_CHECK_FOR_SUSPEND: Loading