Commit 84305309 authored by Felipe Balbi's avatar Felipe Balbi

usb: dwc3: gadget: simplify dwc3_prepare_one_trb()

We are already passing struct dwc3_request * to dwc3_prepare_one_trb(),
because of that there's no need to extract dma address and length in the
caller. We can let dwc3_prepare_one_trb() itself handle that part.

This simplifies the prototype of the function by removing two arguments.
Signed-off-by: default avatarFelipe Balbi <felipe.balbi@linux.intel.com>
parent 88f950a6
...@@ -839,13 +839,14 @@ static u32 dwc3_calc_trbs_left(struct dwc3_ep *dep); ...@@ -839,13 +839,14 @@ static u32 dwc3_calc_trbs_left(struct dwc3_ep *dep);
* @req: dwc3_request pointer * @req: dwc3_request pointer
*/ */
static void dwc3_prepare_one_trb(struct dwc3_ep *dep, static void dwc3_prepare_one_trb(struct dwc3_ep *dep,
struct dwc3_request *req, dma_addr_t dma, struct dwc3_request *req, unsigned chain, unsigned node)
unsigned length, unsigned chain, unsigned node)
{ {
struct dwc3_trb *trb; struct dwc3_trb *trb;
struct dwc3 *dwc = dep->dwc; struct dwc3 *dwc = dep->dwc;
struct usb_gadget *gadget = &dwc->gadget; struct usb_gadget *gadget = &dwc->gadget;
enum usb_device_speed speed = gadget->speed; enum usb_device_speed speed = gadget->speed;
unsigned length = req->request.length;
dma_addr_t dma = req->request.dma;
trb = &dep->trb_pool[dep->trb_enqueue]; trb = &dep->trb_pool[dep->trb_enqueue];
...@@ -974,21 +975,15 @@ static void dwc3_prepare_one_trb_sg(struct dwc3_ep *dep, ...@@ -974,21 +975,15 @@ static void dwc3_prepare_one_trb_sg(struct dwc3_ep *dep,
{ {
struct scatterlist *sg = req->sg; struct scatterlist *sg = req->sg;
struct scatterlist *s; struct scatterlist *s;
unsigned int length;
dma_addr_t dma;
int i; int i;
for_each_sg(sg, s, req->num_pending_sgs, i) { for_each_sg(sg, s, req->num_pending_sgs, i) {
unsigned chain = true; unsigned chain = true;
length = sg_dma_len(s);
dma = sg_dma_address(s);
if (sg_is_last(s)) if (sg_is_last(s))
chain = false; chain = false;
dwc3_prepare_one_trb(dep, req, dma, length, dwc3_prepare_one_trb(dep, req, chain, i);
chain, i);
if (!dwc3_calc_trbs_left(dep)) if (!dwc3_calc_trbs_left(dep))
break; break;
...@@ -998,14 +993,7 @@ static void dwc3_prepare_one_trb_sg(struct dwc3_ep *dep, ...@@ -998,14 +993,7 @@ static void dwc3_prepare_one_trb_sg(struct dwc3_ep *dep,
static void dwc3_prepare_one_trb_linear(struct dwc3_ep *dep, static void dwc3_prepare_one_trb_linear(struct dwc3_ep *dep,
struct dwc3_request *req) struct dwc3_request *req)
{ {
unsigned int length; dwc3_prepare_one_trb(dep, req, false, 0);
dma_addr_t dma;
dma = req->request.dma;
length = req->request.length;
dwc3_prepare_one_trb(dep, req, dma, length,
false, 0);
} }
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment