Browse Source

usb: dwc3: gadget: add sg and num_pending_sgs to dwc3_request

These two fields will be used in a follow-up patch
to track how many entries of request's sglist we
have already processed. The reason is that if a
gadget driver sends an sglist with more entries then
we can fit in the ring, we will have to continue
processing remaining afterwards.

Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Felipe Balbi 9 years ago
parent
commit
0b3e4af3c7
1 changed files with 4 additions and 0 deletions
  1. 4 0
      drivers/usb/dwc3/core.h

+ 4 - 0
drivers/usb/dwc3/core.h

@@ -685,6 +685,8 @@ struct dwc3_hwparams {
  * @request: struct usb_request to be transferred
  * @request: struct usb_request to be transferred
  * @list: a list_head used for request queueing
  * @list: a list_head used for request queueing
  * @dep: struct dwc3_ep owning this request
  * @dep: struct dwc3_ep owning this request
+ * @sg: pointer to first incomplete sg
+ * @num_pending_sgs: counter to pending sgs
  * @first_trb_index: index to first trb used by this request
  * @first_trb_index: index to first trb used by this request
  * @epnum: endpoint number to which this request refers
  * @epnum: endpoint number to which this request refers
  * @trb: pointer to struct dwc3_trb
  * @trb: pointer to struct dwc3_trb
@@ -697,7 +699,9 @@ struct dwc3_request {
 	struct usb_request	request;
 	struct usb_request	request;
 	struct list_head	list;
 	struct list_head	list;
 	struct dwc3_ep		*dep;
 	struct dwc3_ep		*dep;
+	struct scatterlist	*sg;
 
 
+	unsigned		num_pending_sgs;
 	u8			first_trb_index;
 	u8			first_trb_index;
 	u8			epnum;
 	u8			epnum;
 	struct dwc3_trb		*trb;
 	struct dwc3_trb		*trb;