mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-12 19:36:43 +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);
|
||||
}
|
||||
|
||||
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,
|
||||
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);
|
||||
}
|
||||
|
||||
/**
|
||||
* 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,
|
||||
struct dwc3_request *req)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user