All of lore.kernel.org
 help / color / mirror / Atom feed
From: Felipe Balbi <balbi@ti.com>
To: Linux USB Mailing List <linux-usb@vger.kernel.org>
Cc: Felipe Balbi <balbi@ti.com>,
	Greg Kroah-Hartman <gregkh@suse.de> (supporter:USB SUBSYSTEM 
	,commit_signer:28/51=55%),
	Thomas Dahlmann <dahlmann.thomas@arcor.de> (supporter:AMD GEODE
	CS5536...),
	Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
	(commit_signer:43/51=84%),
	linux-omap@vger.kernel.org (open list:DESIGNWARE USB3 D...),
	linux-kernel@vger.kernel.org (open list),
	linux-geode@lists.infradead.org (open list:AMD GEODE CS5536...)
Subject: [PATCH 9/9] usb: gadget: goku: use generic map/unmap routines
Date: Tue, 24 Jan 2012 13:45:30 +0200	[thread overview]
Message-ID: <1327405543-27589-10-git-send-email-balbi@ti.com> (raw)
In-Reply-To: <1327405543-27589-1-git-send-email-balbi@ti.com>

those routines have everything we need to map/unmap
USB requests and it's better to use them.

Signed-off-by: Felipe Balbi <balbi@ti.com>
---
 drivers/usb/gadget/goku_udc.c |   18 ++++++++----------
 1 files changed, 8 insertions(+), 10 deletions(-)

diff --git a/drivers/usb/gadget/goku_udc.c b/drivers/usb/gadget/goku_udc.c
index 5af70fcc..5e1b766 100644
--- a/drivers/usb/gadget/goku_udc.c
+++ b/drivers/usb/gadget/goku_udc.c
@@ -310,12 +310,9 @@ done(struct goku_ep *ep, struct goku_request *req, int status)
 		status = req->req.status;
 
 	dev = ep->dev;
-	if (req->mapped) {
-		pci_unmap_single(dev->pdev, req->req.dma, req->req.length,
-			ep->is_in ? PCI_DMA_TODEVICE : PCI_DMA_FROMDEVICE);
-		req->req.dma = DMA_ADDR_INVALID;
-		req->mapped = 0;
-	}
+
+	if (ep->dma)
+		usb_gadget_unmap_request(&dev->gadget, &req->req, ep->is_in);
 
 #ifndef USB_TRACE
 	if (status && status != -ESHUTDOWN)
@@ -736,10 +733,11 @@ goku_queue(struct usb_ep *_ep, struct usb_request *_req, gfp_t gfp_flags)
 		return -EBUSY;
 
 	/* set up dma mapping in case the caller didn't */
-	if (ep->dma && _req->dma == DMA_ADDR_INVALID) {
-		_req->dma = pci_map_single(dev->pdev, _req->buf, _req->length,
-			ep->is_in ? PCI_DMA_TODEVICE : PCI_DMA_FROMDEVICE);
-		req->mapped = 1;
+	if (ep->dma) {
+		status = usb_gadget_map_request(&dev->gadget, &req->req,
+				ep->is_in);
+		if (status)
+			return status;
 	}
 
 #ifdef USB_TRACE
-- 
1.7.8.2


WARNING: multiple messages have this Message-ID (diff)
From: Felipe Balbi <balbi@ti.com>
To: Linux USB Mailing List <linux-usb@vger.kernel.org>
Cc: Felipe Balbi <balbi@ti.com>, Greg Kroah-Hartman <gregkh@suse.de>,
	Thomas Dahlmann <dahlmann.thomas@arcor.de>,
	Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>,
	"open list:DESIGNWARE USB3 D..." <linux-omap@vger.kernel.org>,
	open list <linux-kernel@vger.kernel.org>,
	"open list:AMD GEODE CS5536..." <linux-geode@lists.infradead.org>
Subject: [PATCH 9/9] usb: gadget: goku: use generic map/unmap routines
Date: Tue, 24 Jan 2012 13:45:30 +0200	[thread overview]
Message-ID: <1327405543-27589-10-git-send-email-balbi@ti.com> (raw)
In-Reply-To: <1327405543-27589-1-git-send-email-balbi@ti.com>

those routines have everything we need to map/unmap
USB requests and it's better to use them.

Signed-off-by: Felipe Balbi <balbi@ti.com>
---
 drivers/usb/gadget/goku_udc.c |   18 ++++++++----------
 1 files changed, 8 insertions(+), 10 deletions(-)

diff --git a/drivers/usb/gadget/goku_udc.c b/drivers/usb/gadget/goku_udc.c
index 5af70fcc..5e1b766 100644
--- a/drivers/usb/gadget/goku_udc.c
+++ b/drivers/usb/gadget/goku_udc.c
@@ -310,12 +310,9 @@ done(struct goku_ep *ep, struct goku_request *req, int status)
 		status = req->req.status;
 
 	dev = ep->dev;
-	if (req->mapped) {
-		pci_unmap_single(dev->pdev, req->req.dma, req->req.length,
-			ep->is_in ? PCI_DMA_TODEVICE : PCI_DMA_FROMDEVICE);
-		req->req.dma = DMA_ADDR_INVALID;
-		req->mapped = 0;
-	}
+
+	if (ep->dma)
+		usb_gadget_unmap_request(&dev->gadget, &req->req, ep->is_in);
 
 #ifndef USB_TRACE
 	if (status && status != -ESHUTDOWN)
@@ -736,10 +733,11 @@ goku_queue(struct usb_ep *_ep, struct usb_request *_req, gfp_t gfp_flags)
 		return -EBUSY;
 
 	/* set up dma mapping in case the caller didn't */
-	if (ep->dma && _req->dma == DMA_ADDR_INVALID) {
-		_req->dma = pci_map_single(dev->pdev, _req->buf, _req->length,
-			ep->is_in ? PCI_DMA_TODEVICE : PCI_DMA_FROMDEVICE);
-		req->mapped = 1;
+	if (ep->dma) {
+		status = usb_gadget_map_request(&dev->gadget, &req->req,
+				ep->is_in);
+		if (status)
+			return status;
 	}
 
 #ifdef USB_TRACE
-- 
1.7.8.2


  parent reply	other threads:[~2012-01-24 11:48 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-01-24 11:45 [PATCH 0/9] usb: gadget: generic map/unmap routines Felipe Balbi
2012-01-24 11:45 ` Felipe Balbi
2012-01-24 11:45 ` [PATCH 1/9] usb: gadget: add generic map/unmap request utilities Felipe Balbi
2012-01-24 11:45   ` Felipe Balbi
2012-01-24 11:45 ` [PATCH 2/9] usb: dwc3: gadget: use generic map/unmap routines Felipe Balbi
2012-01-24 11:45   ` Felipe Balbi
2012-01-24 11:45 ` [PATCH 3/9] usb: gadget: langwell: use generic map/unmap functions Felipe Balbi
2012-01-24 11:45   ` Felipe Balbi
2012-01-24 11:45 ` [PATCH 4/9] usb: renesas: gadget: use generic map/unmap routines Felipe Balbi
2012-01-24 11:45   ` Felipe Balbi
2012-01-24 11:45 ` [PATCH 5/9] usb: gadget: amd5536: " Felipe Balbi
2012-01-24 11:45   ` Felipe Balbi
2012-01-24 11:45 ` [PATCH 6/9] usb: gadget: r8a66597: " Felipe Balbi
2012-01-24 11:45   ` Felipe Balbi
2012-01-24 11:45 ` [PATCH 7/9] usb: gadget: net2272: use generic map/umap routines Felipe Balbi
2012-01-24 11:45   ` Felipe Balbi
2012-01-24 11:45 ` [PATCH 8/9] usb: gadget: net2280: use generic map/unmap routines Felipe Balbi
2012-01-24 11:45   ` Felipe Balbi
2012-01-24 11:45 ` Felipe Balbi [this message]
2012-01-24 11:45   ` [PATCH 9/9] usb: gadget: goku: " Felipe Balbi
2012-02-13 13:08 ` [PATCH 0/9] usb: gadget: " Felipe Balbi
  -- strict thread matches above, loose matches on Subject: below --
2011-12-19 10:30 [PATCH 0/9] Add a generic request map/unmap routine Felipe Balbi
2011-12-19 10:30 ` [PATCH 9/9] usb: gadget: goku: use generic map/unmap routines Felipe Balbi
2011-12-19 10:30   ` Felipe Balbi
2011-12-19 13:02   ` Sergei Shtylyov
2011-12-19 13:02     ` Sergei Shtylyov
2011-12-19 13:05     ` Sergei Shtylyov
2011-12-19 13:05       ` Sergei Shtylyov
2011-12-19 13:09     ` Felipe Balbi
2011-12-19 13:09       ` Felipe Balbi
2011-12-19 13:10       ` Sergei Shtylyov
2011-12-19 13:10         ` Sergei Shtylyov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1327405543-27589-10-git-send-email-balbi@ti.com \
    --to=balbi@ti.com \
    --cc=dahlmann.thomas@arcor.de \
    --cc=gregkh@suse.de \
    --cc=kuninori.morimoto.gx@renesas.com \
    --cc=linux-geode@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.