]> Git Repo - linux.git/blobdiff - drivers/usb/dwc3/core.h
usb: dwc3: gadget: Correct the logic for queuing sgs
[linux.git] / drivers / usb / dwc3 / core.h
index 4f3b43809917407efc64db6a548154aa8f0dc2d4..ab93d22b69656663a6af068959669c7292503625 100644 (file)
@@ -832,7 +832,9 @@ struct dwc3_hwparams {
  * @list: a list_head used for request queueing
  * @dep: struct dwc3_ep owning this request
  * @sg: pointer to first incomplete sg
+ * @start_sg: pointer to the sg which should be queued next
  * @num_pending_sgs: counter to pending sgs
+ * @num_queued_sgs: counter to the number of sgs which already got queued
  * @remaining: amount of data remaining
  * @epnum: endpoint number to which this request refers
  * @trb: pointer to struct dwc3_trb
@@ -848,8 +850,10 @@ struct dwc3_request {
        struct list_head        list;
        struct dwc3_ep          *dep;
        struct scatterlist      *sg;
+       struct scatterlist      *start_sg;
 
        unsigned                num_pending_sgs;
+       unsigned int            num_queued_sgs;
        unsigned                remaining;
        u8                      epnum;
        struct dwc3_trb         *trb;
@@ -891,6 +895,9 @@ struct dwc3_scratchpad_array {
  * @eps: endpoint array
  * @gadget: device side representation of the peripheral controller
  * @gadget_driver: pointer to the gadget driver
+ * @clks: array of clocks
+ * @num_clks: number of clocks
+ * @reset: reset control
  * @regs: base address for our registers
  * @regs_size: address space size
  * @fladj: frame length adjustment
@@ -1013,6 +1020,11 @@ struct dwc3 {
        struct usb_gadget       gadget;
        struct usb_gadget_driver *gadget_driver;
 
+       struct clk_bulk_data    *clks;
+       int                     num_clks;
+
+       struct reset_control    *reset;
+
        struct usb_phy          *usb2_phy;
        struct usb_phy          *usb3_phy;
 
This page took 0.031572 seconds and 4 git commands to generate.