All of lore.kernel.org
 help / color / mirror / Atom feed
From: ben-linux@fluff.org (Ben Dooks)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 05/11] USB: s3c-hsotg: Re-initialise all FIFOs on USB bus reset
Date: Fri, 11 Jun 2010 09:20:51 +0100	[thread overview]
Message-ID: <1276244457-4072-6-git-send-email-ben-linux@fluff.org> (raw)
In-Reply-To: <1276244457-4072-1-git-send-email-ben-linux@fluff.org>

The USB documentation suggest that the FIFOs should be reset when a
bus reset event happens. Use the s3c_hsotg_init_fifo() to ensure that
the FIFO layout is correct and that the FIFOs are flushed before
acknowledging the reset.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
---
 drivers/usb/gadget/s3c-hsotg.c |   13 ++++---------
 1 files changed, 4 insertions(+), 9 deletions(-)

diff --git a/drivers/usb/gadget/s3c-hsotg.c b/drivers/usb/gadget/s3c-hsotg.c
index df3e8d1..5b61bcf 100644
--- a/drivers/usb/gadget/s3c-hsotg.c
+++ b/drivers/usb/gadget/s3c-hsotg.c
@@ -2083,17 +2083,12 @@ irq_retry:
 		kill_all_requests(hsotg, &hsotg->eps[0], -ECONNRESET, true);
 
 		/* it seems after a reset we can end up with a situation
-		 * where the TXFIFO still has data in it... try flushing
-		 * it to remove anything that may still be in it.
+		 * where the TXFIFO still has data in it... the docs
+		 * suggest resetting all the fifos, so use the init_fifo
+		 * code to relayout and flush the fifos.
 		 */
 
-		if (1) {
-			writel(S3C_GRSTCTL_TxFNum(0) | S3C_GRSTCTL_TxFFlsh,
-			       hsotg->regs + S3C_GRSTCTL);
-
-			dev_info(hsotg->dev, "GNPTXSTS=%08x\n",
-				 readl(hsotg->regs + S3C_GNPTXSTS));
-		}
+		s3c_hsotg_init_fifo(hsotg);
 
 		s3c_hsotg_enqueue_setup(hsotg);
 
-- 
1.7.0.4

  parent reply	other threads:[~2010-06-11  8:20 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-06-11  8:20 s3c-hsotg fixes Ben Dooks
2010-06-11  8:20 ` [PATCH 01/11] USB: s3c_hsotg: Add support for external USB clock Ben Dooks
2010-06-11  9:35   ` Marek Szyprowski
2010-06-11  9:46     ` Maurus Cuelenaere
2010-06-11  8:20 ` [PATCH 02/11] USB: s3c-hsotg: Increase TX fifo limit Ben Dooks
2010-06-11  8:20 ` [PATCH 03/11] USB: s3c-hsotg: The NPTX/PTX FIFO sizes are in words, not bytes Ben Dooks
2010-06-11  8:20 ` [PATCH 04/11] USB: s3c-hsotg: Avoid overwriting contents of perodic in 'fifo' Ben Dooks
2010-06-11  8:20 ` Ben Dooks [this message]
2010-06-11  8:20 ` [PATCH 06/11] USB: s3c-hsotg: Add initial detection and setup for dedicated FIFO mode Ben Dooks
2010-06-11  8:54   ` Maurus Cuelenaere
2010-06-11  8:54     ` Maurus Cuelenaere
2010-06-11  8:20 ` [PATCH 07/11] USB: s3c-hsotg: Only load packet per fifo write Ben Dooks
2010-06-11  8:20 ` [PATCH 08/11] USB: s3c-hsotg: Check for new request before enqueing new setup Ben Dooks
2010-06-11  8:20 ` [PATCH 09/11] USB: s3c-hsotg: Fix max EP0 IN request length Ben Dooks
2010-06-11  8:20 ` [PATCH 10/11] USB: s3c-hsotg: Fix the OUT EP0 limit Ben Dooks
2010-06-11  9:01   ` Maurus Cuelenaere
2010-06-11  9:07   ` Marek Szyprowski
2010-06-11  8:20 ` [PATCH 11/11] USB: s3c-hsotg: Fix OUT packet request retry Ben Dooks
2010-06-11 10:25 ` s3c-hsotg fixes Marek Szyprowski
2010-06-12  3:34   ` Ben Dooks
2010-06-14  5:40     ` Marek Szyprowski

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=1276244457-4072-6-git-send-email-ben-linux@fluff.org \
    --to=ben-linux@fluff.org \
    --cc=linux-arm-kernel@lists.infradead.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.