mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-12 21:16:44 +07:00
usb: dwc3: gadget: move dwc3_calc_trbs_left() in place of prototype
Avoid a prototype when the function can be defined earlier. No functional changes, cleanup only. Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
This commit is contained in:
parent
20d1d43fa0
commit
42626919ef
@ -853,7 +853,53 @@ static void dwc3_gadget_ep_free_request(struct usb_ep *ep,
|
|||||||
kfree(req);
|
kfree(req);
|
||||||
}
|
}
|
||||||
|
|
||||||
static u32 dwc3_calc_trbs_left(struct dwc3_ep *dep);
|
/**
|
||||||
|
* dwc3_ep_prev_trb - returns the previous TRB in the ring
|
||||||
|
* @dep: The endpoint with the TRB ring
|
||||||
|
* @index: The index of the current TRB in the ring
|
||||||
|
*
|
||||||
|
* Returns the TRB prior to the one pointed to by the index. If the
|
||||||
|
* index is 0, we will wrap backwards, skip the link TRB, and return
|
||||||
|
* the one just before that.
|
||||||
|
*/
|
||||||
|
static struct dwc3_trb *dwc3_ep_prev_trb(struct dwc3_ep *dep, u8 index)
|
||||||
|
{
|
||||||
|
u8 tmp = index;
|
||||||
|
|
||||||
|
if (!tmp)
|
||||||
|
tmp = DWC3_TRB_NUM - 1;
|
||||||
|
|
||||||
|
return &dep->trb_pool[tmp - 1];
|
||||||
|
}
|
||||||
|
|
||||||
|
static u32 dwc3_calc_trbs_left(struct dwc3_ep *dep)
|
||||||
|
{
|
||||||
|
struct dwc3_trb *tmp;
|
||||||
|
u8 trbs_left;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* If enqueue & dequeue are equal than it is either full or empty.
|
||||||
|
*
|
||||||
|
* One way to know for sure is if the TRB right before us has HWO bit
|
||||||
|
* set or not. If it has, then we're definitely full and can't fit any
|
||||||
|
* more transfers in our ring.
|
||||||
|
*/
|
||||||
|
if (dep->trb_enqueue == dep->trb_dequeue) {
|
||||||
|
tmp = dwc3_ep_prev_trb(dep, dep->trb_enqueue);
|
||||||
|
if (tmp->ctrl & DWC3_TRB_CTRL_HWO)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
return DWC3_TRB_NUM - 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
trbs_left = dep->trb_dequeue - dep->trb_enqueue;
|
||||||
|
trbs_left &= (DWC3_TRB_NUM - 1);
|
||||||
|
|
||||||
|
if (dep->trb_dequeue < dep->trb_enqueue)
|
||||||
|
trbs_left--;
|
||||||
|
|
||||||
|
return trbs_left;
|
||||||
|
}
|
||||||
|
|
||||||
static void __dwc3_prepare_one_trb(struct dwc3_ep *dep, struct dwc3_trb *trb,
|
static void __dwc3_prepare_one_trb(struct dwc3_ep *dep, struct dwc3_trb *trb,
|
||||||
dma_addr_t dma, unsigned length, unsigned chain, unsigned node,
|
dma_addr_t dma, unsigned length, unsigned chain, unsigned node,
|
||||||
@ -994,54 +1040,6 @@ static void dwc3_prepare_one_trb(struct dwc3_ep *dep,
|
|||||||
stream_id, short_not_ok, no_interrupt);
|
stream_id, short_not_ok, no_interrupt);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* dwc3_ep_prev_trb - returns the previous TRB in the ring
|
|
||||||
* @dep: The endpoint with the TRB ring
|
|
||||||
* @index: The index of the current TRB in the ring
|
|
||||||
*
|
|
||||||
* Returns the TRB prior to the one pointed to by the index. If the
|
|
||||||
* index is 0, we will wrap backwards, skip the link TRB, and return
|
|
||||||
* the one just before that.
|
|
||||||
*/
|
|
||||||
static struct dwc3_trb *dwc3_ep_prev_trb(struct dwc3_ep *dep, u8 index)
|
|
||||||
{
|
|
||||||
u8 tmp = index;
|
|
||||||
|
|
||||||
if (!tmp)
|
|
||||||
tmp = DWC3_TRB_NUM - 1;
|
|
||||||
|
|
||||||
return &dep->trb_pool[tmp - 1];
|
|
||||||
}
|
|
||||||
|
|
||||||
static u32 dwc3_calc_trbs_left(struct dwc3_ep *dep)
|
|
||||||
{
|
|
||||||
struct dwc3_trb *tmp;
|
|
||||||
u8 trbs_left;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* If enqueue & dequeue are equal than it is either full or empty.
|
|
||||||
*
|
|
||||||
* One way to know for sure is if the TRB right before us has HWO bit
|
|
||||||
* set or not. If it has, then we're definitely full and can't fit any
|
|
||||||
* more transfers in our ring.
|
|
||||||
*/
|
|
||||||
if (dep->trb_enqueue == dep->trb_dequeue) {
|
|
||||||
tmp = dwc3_ep_prev_trb(dep, dep->trb_enqueue);
|
|
||||||
if (tmp->ctrl & DWC3_TRB_CTRL_HWO)
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
return DWC3_TRB_NUM - 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
trbs_left = dep->trb_dequeue - dep->trb_enqueue;
|
|
||||||
trbs_left &= (DWC3_TRB_NUM - 1);
|
|
||||||
|
|
||||||
if (dep->trb_dequeue < dep->trb_enqueue)
|
|
||||||
trbs_left--;
|
|
||||||
|
|
||||||
return trbs_left;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void dwc3_prepare_one_trb_sg(struct dwc3_ep *dep,
|
static void dwc3_prepare_one_trb_sg(struct dwc3_ep *dep,
|
||||||
struct dwc3_request *req)
|
struct dwc3_request *req)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user