Re: [PATCH] usb: gadget: fsl_udc_core: remove mapped flag

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello.

On 04-09-2012 21:24, Enrico Scholz wrote:

The 'mapped' flag in 'struct fsl_req' flag is redundant with checking
for 'req.dma != DMA_ADDR_INVALID' and it was also set to a wrong value
(see 2nd hunk of patch).

Replacing it in the way described above saves 60 bytes:

   function                                     old     new   delta
   fsl_udc_irq                                 2952    2940     -12
   ep0_prime_status                             380     368     -12
   done                                         448     432     -16
   fsl_ep_queue                                 668     648     -20

and has same (or less) runtime costs like evaluating 'req->mapped'.

Signed-off-by: Enrico Scholz <enrico.scholz@xxxxxxxxxxxxxxxxx>
---
  drivers/usb/gadget/fsl_udc_core.c | 10 ++--------
  drivers/usb/gadget/fsl_usb2_udc.h |  1 -
  2 files changed, 2 insertions(+), 9 deletions(-)

diff --git a/drivers/usb/gadget/fsl_udc_core.c b/drivers/usb/gadget/fsl_udc_core.c
index 55c4a61..1282a11 100644
--- a/drivers/usb/gadget/fsl_udc_core.c
+++ b/drivers/usb/gadget/fsl_udc_core.c
@@ -195,14 +195,13 @@ static void done(struct fsl_ep *ep, struct fsl_req *req, int status)
  		dma_pool_free(udc->td_pool, curr_td, curr_td->td_dma);
  	}

-	if (req->mapped) {
+	if (req->req.dma != DMA_ADDR_INVALID) {
  		dma_unmap_single(ep->udc->gadget.dev.parent,
  			req->req.dma, req->req.length,
  			ep_is_in(ep)
  				? DMA_TO_DEVICE
  				: DMA_FROM_DEVICE);
  		req->req.dma = DMA_ADDR_INVALID;
-		req->mapped = 0;
  	} else
  		dma_sync_single_for_cpu(ep->udc->gadget.dev.parent,
  			req->req.dma, req->req.length,
@@ -915,15 +914,12 @@ fsl_ep_queue(struct usb_ep *_ep, struct usb_request *_req, gfp_t gfp_flags)
  					req->req.length, ep_is_in(ep)
  						? DMA_TO_DEVICE
  						: DMA_FROM_DEVICE);
-		req->mapped = 1;
-	} else {
+	} else

   You should keep the { here, according to the Documentation/CodingStyle.
If one branch of the *if* statement uses {}, so should the other.

WBR, Sergei

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux