|
|
@@ -2805,7 +2805,7 @@ static int dwc2_assign_and_init_hc(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh)
|
|
|
chan->dev_addr = dwc2_hcd_get_dev_addr(&urb->pipe_info);
|
|
|
chan->ep_num = dwc2_hcd_get_ep_num(&urb->pipe_info);
|
|
|
chan->speed = qh->dev_speed;
|
|
|
- chan->max_packet = dwc2_max_packet(qh->maxp);
|
|
|
+ chan->max_packet = qh->maxp;
|
|
|
|
|
|
chan->xfer_started = 0;
|
|
|
chan->halt_status = DWC2_HC_XFER_NO_HALT_STATUS;
|
|
|
@@ -2883,7 +2883,7 @@ static int dwc2_assign_and_init_hc(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh)
|
|
|
* This value may be modified when the transfer is started
|
|
|
* to reflect the actual transfer length
|
|
|
*/
|
|
|
- chan->multi_count = dwc2_hb_mult(qh->maxp);
|
|
|
+ chan->multi_count = qh->maxp_mult;
|
|
|
|
|
|
if (hsotg->params.dma_desc_enable) {
|
|
|
chan->desc_list_addr = qh->desc_list_dma;
|
|
|
@@ -3995,19 +3995,21 @@ static struct dwc2_hcd_urb *dwc2_hcd_urb_alloc(struct dwc2_hsotg *hsotg,
|
|
|
|
|
|
static void dwc2_hcd_urb_set_pipeinfo(struct dwc2_hsotg *hsotg,
|
|
|
struct dwc2_hcd_urb *urb, u8 dev_addr,
|
|
|
- u8 ep_num, u8 ep_type, u8 ep_dir, u16 mps)
|
|
|
+ u8 ep_num, u8 ep_type, u8 ep_dir,
|
|
|
+ u16 maxp, u16 maxp_mult)
|
|
|
{
|
|
|
if (dbg_perio() ||
|
|
|
ep_type == USB_ENDPOINT_XFER_BULK ||
|
|
|
ep_type == USB_ENDPOINT_XFER_CONTROL)
|
|
|
dev_vdbg(hsotg->dev,
|
|
|
- "addr=%d, ep_num=%d, ep_dir=%1x, ep_type=%1x, mps=%d\n",
|
|
|
- dev_addr, ep_num, ep_dir, ep_type, mps);
|
|
|
+ "addr=%d, ep_num=%d, ep_dir=%1x, ep_type=%1x, maxp=%d (%d mult)\n",
|
|
|
+ dev_addr, ep_num, ep_dir, ep_type, maxp, maxp_mult);
|
|
|
urb->pipe_info.dev_addr = dev_addr;
|
|
|
urb->pipe_info.ep_num = ep_num;
|
|
|
urb->pipe_info.pipe_type = ep_type;
|
|
|
urb->pipe_info.pipe_dir = ep_dir;
|
|
|
- urb->pipe_info.mps = mps;
|
|
|
+ urb->pipe_info.maxp = maxp;
|
|
|
+ urb->pipe_info.maxp_mult = maxp_mult;
|
|
|
}
|
|
|
|
|
|
/*
|
|
|
@@ -4098,8 +4100,9 @@ void dwc2_hcd_dump_state(struct dwc2_hsotg *hsotg)
|
|
|
dwc2_hcd_is_pipe_in(&urb->pipe_info) ?
|
|
|
"IN" : "OUT");
|
|
|
dev_dbg(hsotg->dev,
|
|
|
- " Max packet size: %d\n",
|
|
|
- dwc2_hcd_get_mps(&urb->pipe_info));
|
|
|
+ " Max packet size: %d (%d mult)\n",
|
|
|
+ dwc2_hcd_get_maxp(&urb->pipe_info),
|
|
|
+ dwc2_hcd_get_maxp_mult(&urb->pipe_info));
|
|
|
dev_dbg(hsotg->dev,
|
|
|
" transfer_buffer: %p\n",
|
|
|
urb->buf);
|
|
|
@@ -4657,8 +4660,10 @@ static void dwc2_dump_urb_info(struct usb_hcd *hcd, struct urb *urb,
|
|
|
}
|
|
|
|
|
|
dev_vdbg(hsotg->dev, " Speed: %s\n", speed);
|
|
|
- dev_vdbg(hsotg->dev, " Max packet size: %d\n",
|
|
|
- usb_maxpacket(urb->dev, urb->pipe, usb_pipeout(urb->pipe)));
|
|
|
+ dev_vdbg(hsotg->dev, " Max packet size: %d (%d mult)\n",
|
|
|
+ usb_endpoint_maxp(&urb->ep->desc),
|
|
|
+ usb_endpoint_maxp_mult(&urb->ep->desc));
|
|
|
+
|
|
|
dev_vdbg(hsotg->dev, " Data buffer length: %d\n",
|
|
|
urb->transfer_buffer_length);
|
|
|
dev_vdbg(hsotg->dev, " Transfer buffer: %p, Transfer DMA: %08lx\n",
|
|
|
@@ -4741,8 +4746,8 @@ static int _dwc2_hcd_urb_enqueue(struct usb_hcd *hcd, struct urb *urb,
|
|
|
dwc2_hcd_urb_set_pipeinfo(hsotg, dwc2_urb, usb_pipedevice(urb->pipe),
|
|
|
usb_pipeendpoint(urb->pipe), ep_type,
|
|
|
usb_pipein(urb->pipe),
|
|
|
- usb_maxpacket(urb->dev, urb->pipe,
|
|
|
- !(usb_pipein(urb->pipe))));
|
|
|
+ usb_endpoint_maxp(&ep->desc),
|
|
|
+ usb_endpoint_maxp_mult(&ep->desc));
|
|
|
|
|
|
buf = urb->transfer_buffer;
|
|
|
|