public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Milan Svoboda <msvoboda@ra.rockwell.com>
To: linux-kernel@vger.kernel.org
Subject: [PATCH 3/5] usb gadget: update pxa2xx_udc.c driver to fully support IXP4xx platform
Date: Thu, 25 May 2006 09:22:25 +0200	[thread overview]
Message-ID: <44755B31.9020204@ra.rockwell.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 622 bytes --]

From: Milan Svoboda <msvoboda@ra.rockwell.com>

This patch adds IXP465 into the list of known devices and
adds IXP465 to the list of devices that have cfr. This
is not described in the hardware documentation, but without
it driver don't work.

Workaround (#if 1) that seemed to get rid of lost
status irqs is disabled for IXP4XX as it caused freezes
during testing of control messages. No lost irqs are
visible on IXP4XX.

Driver survived tests running over night without any
visible problems.

This patch is against 2.6.16.13 with previous patches applied.

Signed-off-by: Milan Svoboda <msvoboda@ra.rockwell.com>
---




[-- Attachment #2: work_with_ixp465.patch --]
[-- Type: text/plain, Size: 1121 bytes --]

--- orig/drivers/usb/gadget/pxa2xx_udc.c	2006-05-15 16:08:27.000000000 +0000
+++ new_gadget/drivers/usb/gadget/pxa2xx_udc.c	2006-05-15 15:59:13.000000000 +0000
@@ -548,6 +548,7 @@ write_ep0_fifo (struct pxa2xx_ep *ep, st
 		count = req->req.length;
 		done (ep, req, 0);
 		ep0_idle(ep->dev);
+#ifndef CONFIG_ARCH_IXP4XX
 #if 1
 		/* This seems to get rid of lost status irqs in some cases:
 		 * host responds quickly, or next request involves config
@@ -568,6 +569,7 @@ write_ep0_fifo (struct pxa2xx_ep *ep, st
 			} while (count);
 		}
 #endif
+#endif
 	} else if (ep->dev->req_pending)
 		ep0start(ep->dev, 0, "IN");
 	return is_short;
@@ -2430,6 +2432,7 @@ static struct pxa2xx_udc memory = {
 #define PXA210_B1		0x00000123
 #define PXA210_B0		0x00000122
 #define IXP425_A0		0x000001c1
+#define IXP465_AD		0x00000200
 
 /*
  * 	probe - binds to the platform device
@@ -2465,6 +2468,9 @@ static int pxa2xx_udc_probe(struct platf
 	case PXA250_C0: case PXA210_C0:
 		break;
 #elif	defined(CONFIG_ARCH_IXP4XX)
+	case IXP465_AD:
+		dev->has_cfr = 1;
+		/* fall through */
 	case IXP425_A0:
 		out_dma = 0;
 		break;





                 reply	other threads:[~2006-05-25  7:22 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=44755B31.9020204@ra.rockwell.com \
    --to=msvoboda@ra.rockwell.com \
    --cc=linux-kernel@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox