mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-22 14:41:27 +00:00
usb: xhci: remove duplicate function xhci_urb_to_transfer_ring
Remove duplicate function xhci_urb_to_transfer_ring from xhci.c. We have same function in xhci-ring.c. Signed-off-by: Alexandr Ivanov <alexandr.sky@gmail.com> Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
d2510342fe
commit
75b040ec60
3 changed files with 16 additions and 53 deletions
|
@ -373,7 +373,11 @@ static void ring_doorbell_for_active_rings(struct xhci_hcd *xhci,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct xhci_ring *xhci_triad_to_transfer_ring(struct xhci_hcd *xhci,
|
/* Get the right ring for the given slot_id, ep_index and stream_id.
|
||||||
|
* If the endpoint supports streams, boundary check the URB's stream ID.
|
||||||
|
* If the endpoint doesn't support streams, return the singular endpoint ring.
|
||||||
|
*/
|
||||||
|
struct xhci_ring *xhci_triad_to_transfer_ring(struct xhci_hcd *xhci,
|
||||||
unsigned int slot_id, unsigned int ep_index,
|
unsigned int slot_id, unsigned int ep_index,
|
||||||
unsigned int stream_id)
|
unsigned int stream_id)
|
||||||
{
|
{
|
||||||
|
@ -405,17 +409,6 @@ static struct xhci_ring *xhci_triad_to_transfer_ring(struct xhci_hcd *xhci,
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Get the right ring for the given URB.
|
|
||||||
* If the endpoint supports streams, boundary check the URB's stream ID.
|
|
||||||
* If the endpoint doesn't support streams, return the singular endpoint ring.
|
|
||||||
*/
|
|
||||||
static struct xhci_ring *xhci_urb_to_transfer_ring(struct xhci_hcd *xhci,
|
|
||||||
struct urb *urb)
|
|
||||||
{
|
|
||||||
return xhci_triad_to_transfer_ring(xhci, urb->dev->slot_id,
|
|
||||||
xhci_get_endpoint_index(&urb->ep->desc), urb->stream_id);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Move the xHC's endpoint ring dequeue pointer past cur_td.
|
* Move the xHC's endpoint ring dequeue pointer past cur_td.
|
||||||
* Record the new state of the xHC's endpoint ring dequeue segment,
|
* Record the new state of the xHC's endpoint ring dequeue segment,
|
||||||
|
|
|
@ -1459,47 +1459,6 @@ free_priv:
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Get the right ring for the given URB.
|
|
||||||
* If the endpoint supports streams, boundary check the URB's stream ID.
|
|
||||||
* If the endpoint doesn't support streams, return the singular endpoint ring.
|
|
||||||
*/
|
|
||||||
static struct xhci_ring *xhci_urb_to_transfer_ring(struct xhci_hcd *xhci,
|
|
||||||
struct urb *urb)
|
|
||||||
{
|
|
||||||
unsigned int slot_id;
|
|
||||||
unsigned int ep_index;
|
|
||||||
unsigned int stream_id;
|
|
||||||
struct xhci_virt_ep *ep;
|
|
||||||
|
|
||||||
slot_id = urb->dev->slot_id;
|
|
||||||
ep_index = xhci_get_endpoint_index(&urb->ep->desc);
|
|
||||||
stream_id = urb->stream_id;
|
|
||||||
ep = &xhci->devs[slot_id]->eps[ep_index];
|
|
||||||
/* Common case: no streams */
|
|
||||||
if (!(ep->ep_state & EP_HAS_STREAMS))
|
|
||||||
return ep->ring;
|
|
||||||
|
|
||||||
if (stream_id == 0) {
|
|
||||||
xhci_warn(xhci,
|
|
||||||
"WARN: Slot ID %u, ep index %u has streams, "
|
|
||||||
"but URB has no stream ID.\n",
|
|
||||||
slot_id, ep_index);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (stream_id < ep->stream_info->num_streams)
|
|
||||||
return ep->stream_info->stream_rings[stream_id];
|
|
||||||
|
|
||||||
xhci_warn(xhci,
|
|
||||||
"WARN: Slot ID %u, ep index %u has "
|
|
||||||
"stream IDs 1 to %u allocated, "
|
|
||||||
"but stream ID %u is requested.\n",
|
|
||||||
slot_id, ep_index,
|
|
||||||
ep->stream_info->num_streams - 1,
|
|
||||||
stream_id);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Remove the URB's TD from the endpoint ring. This may cause the HC to stop
|
* Remove the URB's TD from the endpoint ring. This may cause the HC to stop
|
||||||
* USB transfers, potentially stopping in the middle of a TRB buffer. The HC
|
* USB transfers, potentially stopping in the middle of a TRB buffer. The HC
|
||||||
|
|
|
@ -1968,4 +1968,15 @@ struct xhci_input_control_ctx *xhci_get_input_control_ctx(struct xhci_container_
|
||||||
struct xhci_slot_ctx *xhci_get_slot_ctx(struct xhci_hcd *xhci, struct xhci_container_ctx *ctx);
|
struct xhci_slot_ctx *xhci_get_slot_ctx(struct xhci_hcd *xhci, struct xhci_container_ctx *ctx);
|
||||||
struct xhci_ep_ctx *xhci_get_ep_ctx(struct xhci_hcd *xhci, struct xhci_container_ctx *ctx, unsigned int ep_index);
|
struct xhci_ep_ctx *xhci_get_ep_ctx(struct xhci_hcd *xhci, struct xhci_container_ctx *ctx, unsigned int ep_index);
|
||||||
|
|
||||||
|
struct xhci_ring *xhci_triad_to_transfer_ring(struct xhci_hcd *xhci,
|
||||||
|
unsigned int slot_id, unsigned int ep_index,
|
||||||
|
unsigned int stream_id);
|
||||||
|
static inline struct xhci_ring *xhci_urb_to_transfer_ring(struct xhci_hcd *xhci,
|
||||||
|
struct urb *urb)
|
||||||
|
{
|
||||||
|
return xhci_triad_to_transfer_ring(xhci, urb->dev->slot_id,
|
||||||
|
xhci_get_endpoint_index(&urb->ep->desc),
|
||||||
|
urb->stream_id);
|
||||||
|
}
|
||||||
|
|
||||||
#endif /* __LINUX_XHCI_HCD_H */
|
#endif /* __LINUX_XHCI_HCD_H */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue