On Wednesday 23 May 2007 04:12, you wrote:
> This patch is really mangled, can you try fixing your email client and
> try again?
Sure.
The second try after changing encoding to "us-ascii"
Vladimir
============= CUT HERE
This patch fixes the endianness select for transfer buffers in EHCI controllers
that have Transaction Translator built in the hub.
Also I cleaned it up to make rid of magic numbers.
Signed-off-by: Vladimir Barinov <[EMAIL PROTECTED]>
------
--- usb-2.6.orig/drivers/usb/host/ehci.h 2007-05-02 17:31:10.000000000
+0400
+++ usb-2.6.new/drivers/usb/host/ehci.h 2007-05-02 18:15:11.000000000 +0400
@@ -299,6 +299,12 @@ struct ehci_regs {
#define PORT_RWC_BITS (PORT_CSC | PORT_PEC | PORT_OCC)
} __attribute__ ((packed));
+#define USBMODE 0x68 /* USB Device mode */
+#define USBMODE_SDIS (1<<3) /* Stream disable */
+#define USBMODE_BE (1<<2) /* BE/LE endianness select */
+#define USBMODE_CM_HC (3<<0) /* host controller mode */
+#define USBMODE_CM_IDLE (0<<0) /* idle state */
+
/* Appendix C, Debug port ... intended for use with special "debug devices"
* that can help if there's no serial console. (nonstandard enumeration.)
*/
diff -pruN usb-2.6.orig/drivers/usb/host/ehci-hcd.c
usb-2.6.new/drivers/usb/host/ehci-hcd.c
--- usb-2.6.orig/drivers/usb/host/ehci-hcd.c 2007-05-02 17:31:18.000000000
+0400
+++ usb-2.6.new/drivers/usb/host/ehci-hcd.c 2007-05-02 18:14:49.000000000
+0400
@@ -202,9 +202,15 @@ static void tdi_reset (struct ehci_hcd *
u32 __iomem *reg_ptr;
u32 tmp;
- reg_ptr = (u32 __iomem *)(((u8 __iomem *)ehci->regs) + 0x68);
+ reg_ptr = (u32 __iomem *)(((u8 __iomem *)ehci->regs) + USBMODE);
tmp = ehci_readl(ehci, reg_ptr);
- tmp |= 0x3;
+ tmp |= USBMODE_CM_HC;
+ /* The default byte access to MMR space is LE after
+ * controller reset. Set the required endian mode
+ * for transfer buffers to match the host microprocessor
+ */
+ if (ehci_big_endian_mmio(ehci))
+ tmp |= USBMODE_BE;
ehci_writel(ehci, tmp, reg_ptr);
}
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel