diff options
Diffstat (limited to 'drivers/usb/dwc2/hcd_queue.c')
-rw-r--r-- | drivers/usb/dwc2/hcd_queue.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/usb/dwc2/hcd_queue.c b/drivers/usb/dwc2/hcd_queue.c index ea3aa640c15c..68bbac64b753 100644 --- a/drivers/usb/dwc2/hcd_queue.c +++ b/drivers/usb/dwc2/hcd_queue.c | |||
@@ -708,7 +708,7 @@ static void dwc2_hs_pmap_unschedule(struct dwc2_hsotg *hsotg, | |||
708 | static int dwc2_uframe_schedule_split(struct dwc2_hsotg *hsotg, | 708 | static int dwc2_uframe_schedule_split(struct dwc2_hsotg *hsotg, |
709 | struct dwc2_qh *qh) | 709 | struct dwc2_qh *qh) |
710 | { | 710 | { |
711 | int bytecount = dwc2_hb_mult(qh->maxp) * dwc2_max_packet(qh->maxp); | 711 | int bytecount = qh->maxp_mult * qh->maxp; |
712 | int ls_search_slice; | 712 | int ls_search_slice; |
713 | int err = 0; | 713 | int err = 0; |
714 | int host_interval_in_sched; | 714 | int host_interval_in_sched; |
@@ -1332,7 +1332,7 @@ static int dwc2_check_max_xfer_size(struct dwc2_hsotg *hsotg, | |||
1332 | u32 max_channel_xfer_size; | 1332 | u32 max_channel_xfer_size; |
1333 | int status = 0; | 1333 | int status = 0; |
1334 | 1334 | ||
1335 | max_xfer_size = dwc2_max_packet(qh->maxp) * dwc2_hb_mult(qh->maxp); | 1335 | max_xfer_size = qh->maxp * qh->maxp_mult; |
1336 | max_channel_xfer_size = hsotg->params.max_transfer_size; | 1336 | max_channel_xfer_size = hsotg->params.max_transfer_size; |
1337 | 1337 | ||
1338 | if (max_xfer_size > max_channel_xfer_size) { | 1338 | if (max_xfer_size > max_channel_xfer_size) { |
@@ -1517,8 +1517,9 @@ static void dwc2_qh_init(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh, | |||
1517 | u32 prtspd = (hprt & HPRT0_SPD_MASK) >> HPRT0_SPD_SHIFT; | 1517 | u32 prtspd = (hprt & HPRT0_SPD_MASK) >> HPRT0_SPD_SHIFT; |
1518 | bool do_split = (prtspd == HPRT0_SPD_HIGH_SPEED && | 1518 | bool do_split = (prtspd == HPRT0_SPD_HIGH_SPEED && |
1519 | dev_speed != USB_SPEED_HIGH); | 1519 | dev_speed != USB_SPEED_HIGH); |
1520 | int maxp = dwc2_hcd_get_mps(&urb->pipe_info); | 1520 | int maxp = dwc2_hcd_get_maxp(&urb->pipe_info); |
1521 | int bytecount = dwc2_hb_mult(maxp) * dwc2_max_packet(maxp); | 1521 | int maxp_mult = dwc2_hcd_get_maxp_mult(&urb->pipe_info); |
1522 | int bytecount = maxp_mult * maxp; | ||
1522 | char *speed, *type; | 1523 | char *speed, *type; |
1523 | 1524 | ||
1524 | /* Initialize QH */ | 1525 | /* Initialize QH */ |
@@ -1531,6 +1532,7 @@ static void dwc2_qh_init(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh, | |||
1531 | 1532 | ||
1532 | qh->data_toggle = DWC2_HC_PID_DATA0; | 1533 | qh->data_toggle = DWC2_HC_PID_DATA0; |
1533 | qh->maxp = maxp; | 1534 | qh->maxp = maxp; |
1535 | qh->maxp_mult = maxp_mult; | ||
1534 | INIT_LIST_HEAD(&qh->qtd_list); | 1536 | INIT_LIST_HEAD(&qh->qtd_list); |
1535 | INIT_LIST_HEAD(&qh->qh_list_entry); | 1537 | INIT_LIST_HEAD(&qh->qh_list_entry); |
1536 | 1538 | ||