All of lore.kernel.org
 help / color / mirror / Atom feed
* [GIT PATCH] USB fixes for .38
@ 2011-01-31 18:10 Greg KH
  2011-01-31 18:12 ` [PATCH 31/42] USB: ehci-fsl: Fix 'have_sysif_regs' detection Greg Kroah-Hartman
  0 siblings, 1 reply; 2+ messages in thread
From: Greg KH @ 2011-01-31 18:10 UTC (permalink / raw)
  To: Linus Torvalds, Andrew Morton; +Cc: linux-kernel, linux-usb

Here are some USB fixes for your .38 tree.

Nothing major here, lots of little things and some xhci fixes that are
needed to resolve some reported bugs as well as a number of new device
ids and usb-storage quirks.

Please pull from:
	master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6.git/ usb-linus

All of these patches have been in the linux-next and mm trees for a
while.

The full patches will be sent to the linux-usb mailing list, if anyone
wants to see them.

thanks,

greg k-h

------------

 MAINTAINERS                           |    6 +
 drivers/usb/class/cdc-wdm.c           |    2 +-
 drivers/usb/core/endpoint.c           |    2 +-
 drivers/usb/core/hcd-pci.c            |    7 +-
 drivers/usb/core/hub.c                |   21 +++
 drivers/usb/gadget/Kconfig            |    7 +-
 drivers/usb/gadget/ci13xxx_udc.c      |  268 +++++++++++++++++----------------
 drivers/usb/gadget/ci13xxx_udc.h      |    9 +-
 drivers/usb/gadget/composite.c        |    5 +-
 drivers/usb/gadget/pch_udc.c          |  127 +++++++++------
 drivers/usb/gadget/printer.c          |   19 +--
 drivers/usb/host/ehci-fsl.c           |   13 --
 drivers/usb/host/ehci-fsl.h           |    3 -
 drivers/usb/host/ehci-hcd.c           |   19 ++-
 drivers/usb/host/ehci-mxc.c           |   25 +++-
 drivers/usb/host/ehci-pci.c           |   33 +++--
 drivers/usb/host/fsl-mph-dr-of.c      |   11 +-
 drivers/usb/host/xhci-ring.c          |   91 ++++++-----
 drivers/usb/host/xhci.c               |   60 +++-----
 drivers/usb/host/xhci.h               |   16 +--
 drivers/usb/misc/usbled.c             |    2 +-
 drivers/usb/misc/uss720.c             |    1 -
 drivers/usb/otg/nop-usb-xceiv.c       |    2 +
 drivers/usb/otg/ulpi.c                |    2 +-
 drivers/usb/serial/ch341.c            |   10 ++
 drivers/usb/serial/cp210x.c           |   16 +--
 drivers/usb/serial/digi_acceleport.c  |   10 --
 drivers/usb/serial/ftdi_sio.c         |   12 ++-
 drivers/usb/serial/ftdi_sio_ids.h     |   22 ++-
 drivers/usb/serial/generic.c          |   20 +++
 drivers/usb/serial/io_tables.h        |    1 +
 drivers/usb/serial/iuu_phoenix.c      |    1 +
 drivers/usb/serial/keyspan.h          |    4 +
 drivers/usb/serial/keyspan_pda.c      |   17 --
 drivers/usb/serial/moto_modem.c       |    1 +
 drivers/usb/serial/option.c           |   23 +++-
 drivers/usb/serial/oti6858.c          |    1 +
 drivers/usb/serial/pl2303.c           |   12 ++
 drivers/usb/serial/pl2303.h           |    1 +
 drivers/usb/serial/qcaux.c            |    3 +
 drivers/usb/serial/siemens_mpi.c      |    1 +
 drivers/usb/serial/spcp8x5.c          |    7 +-
 drivers/usb/serial/usb-serial.c       |    8 +-
 drivers/usb/serial/usb_debug.c        |    1 +
 drivers/usb/storage/unusual_cypress.h |    5 +
 drivers/usb/storage/unusual_devs.h    |   18 +++
 include/linux/usb/hcd.h               |    1 +
 include/linux/usb/serial.h            |    3 +
 48 files changed, 568 insertions(+), 381 deletions(-)

---------------

Alan Stern (5):
      USB: usb-storage: unusual_devs entry for CamSport Evo
      USB: EHCI: fix DMA deallocation bug
      USB: g_printer: fix bug in unregistration
      USB: g_printer: fix bug in module parameter definitions
      USB serial: add missing .usb_driver field in serial drivers

Alex He (1):
      USB: EHCI: ASPM quirk of ISOC on AMD Hudson

Andiry Xu (6):
      xHCI: synchronize irq in xhci_suspend()
      xHCI: fix queue_trb in isoc transfer
      xHCI: remove redundant parameter in giveback_first_trb()
      xHCI: fix cycle bit set in giveback_first_trb()
      xHCI: replace dev_dbg() with xhci_dbg()
      xHCI: fix printk_ratelimit() usage

Arnaud Patard (1):
      USB: ehci-mxc: add work-around for efika mx/sb bug

Craig Shelley (2):
      USB: CP210x Add two device IDs
      USB: CP210x Removed incorrect device ID

Dan Williams (1):
      USB: qcaux: add Pantech UML290 device ID

Dario Lombardo (1):
      drivers: update to pl2303 usb-serial to support Motorola cables

David Sterba (1):
      USB: cdc-wdm: fix misuse of logical operation in place of bitop

Eric Bénard (1):
      USB: unbreak ehci-mxc on otg port of i.MX27

Fabio Estevam (1):
      usb: otg: Make USB3319 ULPI ID generic

Libor Pechacek (1):
      USB: serial: handle Data Carrier Detect changes

Matthew Wilcox (1):
      xhci: Remove more doorbell-related reads

Maulik Mankad (1):
      usb: gadget: composite: avoid access beyond array max length

Melchior FRANZ (1):
      USB: DL100B webmail notifier: initialize return value

Ming Lei (1):
      usb: otg: nop: fix oops triggered by otg_register_notifier

Nicolaus Colberg (1):
      USB: adding USB support for Cinterion's HC2x, EU3 and PH8 products

Pavankumar Kondeti (2):
      USB: gadget: Fix error path in ci13xxx_udc gadget probe function
      USB: gadget: Fix endpoint representation in ci13xxx_udc

Peter Chen (1):
      usb: set ep_dev async suspend should be later than device_initialize

Peter Tyser (1):
      USB: ehci-fsl: Fix 'have_sysif_regs' detection

Pieter Maes (1):
      USB: serial: Updated support for ICOM devices

Richard Schütz (2):
      USB: usb-storage: unusual_devs update for Cypress ATACB
      USB: usb-storage: unusual_devs update for TrekStor DataStation maxi g.u external hard drive enclosure

Sarah Sharp (3):
      xhci: Resume bus on any port status change.
      usb: Realloc xHCI structures after a hub is verified.
      xhci: Use GFP_NOIO during device reset.

Sergei Shtylyov (1):
      USB: uss720: remove duplicate USB device

Stanislaw Gruszka (1):
      MAINTAINERS: add ueagle-atm entry

Tomoya MORINAGA (1):
      USB: pch_udc: support new device ML7213 IOH

Toshiharu Okada (2):
      usb: pch_udc: Fixed issue which does not work with g_serial
      usb: pch_udc: Fix the worning log issue at gadget driver remove

Zhang Rui (1):
      xhci: Do not run xhci_cleanup_msix with irq disabled


^ permalink raw reply	[flat|nested] 2+ messages in thread

* [PATCH 31/42] USB: ehci-fsl: Fix 'have_sysif_regs' detection
  2011-01-31 18:10 [GIT PATCH] USB fixes for .38 Greg KH
@ 2011-01-31 18:12 ` Greg Kroah-Hartman
  0 siblings, 0 replies; 2+ messages in thread
From: Greg Kroah-Hartman @ 2011-01-31 18:12 UTC (permalink / raw)
  To: linux-usb
  Cc: David Brownell, Greg Kroah-Hartman, Peter Tyser,
	Anatolij Gustschin, linuxppc-dev

From: Peter Tyser <ptyser@xes-inc.com>

Previously a check was done on an ID register at the base of a CPU's
internal USB registers to determine if system interface regsiters were
present.  The check looked for an ID register that had the format
ID[0:5] == ~ID[8:13] as described in the MPC5121 User's Manual to
determine if a MPC5121 or MPC83xx/85xx was being used.

There are two issues with this method:
- The ID register is not defined on the MPC83xx/85xx CPUs, so its
  unclear what is being checked on them.
- Newer CPUs such as the P4080 also don't document the ID register, but
  do share the same format as the MPC5121.  Thus the previous code did
  not set 'have_sysif_regs' properly which results in the P4080 not
  properly initializing its USB ports.

Using the device tree 'compatible' node is a cleaner way to determine if
'have_sysif_regs' should be set and resolves the USB initialization issue
seen on the P4080.

Tested on a P4080-based system and compile tested on mpc512x_defconfig
with Freescale EHCI driver enabled.

Cc: Anatolij Gustschin <agust@denx.de>
Cc: David Brownell <dbrownell@users.sourceforge.net>
Cc: Kumar Gala <galak@kernel.crashing.org>
Cc: linuxppc-dev@lists.ozlabs.org
Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
 drivers/usb/host/ehci-fsl.c      |   13 -------------
 drivers/usb/host/ehci-fsl.h      |    3 ---
 drivers/usb/host/fsl-mph-dr-of.c |   11 ++++++++---
 3 files changed, 8 insertions(+), 19 deletions(-)

diff --git a/drivers/usb/host/ehci-fsl.c b/drivers/usb/host/ehci-fsl.c
index 86e4289..5c761df 100644
--- a/drivers/usb/host/ehci-fsl.c
+++ b/drivers/usb/host/ehci-fsl.c
@@ -52,7 +52,6 @@ static int usb_hcd_fsl_probe(const struct hc_driver *driver,
 	struct resource *res;
 	int irq;
 	int retval;
-	unsigned int temp;
 
 	pr_debug("initializing FSL-SOC USB Controller\n");
 
@@ -126,18 +125,6 @@ static int usb_hcd_fsl_probe(const struct hc_driver *driver,
 		goto err3;
 	}
 
-	/*
-	 * Check if it is MPC5121 SoC, otherwise set pdata->have_sysif_regs
-	 * flag for 83xx or 8536 system interface registers.
-	 */
-	if (pdata->big_endian_mmio)
-		temp = in_be32(hcd->regs + FSL_SOC_USB_ID);
-	else
-		temp = in_le32(hcd->regs + FSL_SOC_USB_ID);
-
-	if ((temp & ID_MSK) != (~((temp & NID_MSK) >> 8) & ID_MSK))
-		pdata->have_sysif_regs = 1;
-
 	/* Enable USB controller, 83xx or 8536 */
 	if (pdata->have_sysif_regs)
 		setbits32(hcd->regs + FSL_SOC_USB_CTRL, 0x4);
diff --git a/drivers/usb/host/ehci-fsl.h b/drivers/usb/host/ehci-fsl.h
index 2c83537..3fabed3 100644
--- a/drivers/usb/host/ehci-fsl.h
+++ b/drivers/usb/host/ehci-fsl.h
@@ -19,9 +19,6 @@
 #define _EHCI_FSL_H
 
 /* offsets for the non-ehci registers in the FSL SOC USB controller */
-#define FSL_SOC_USB_ID		0x0
-#define ID_MSK			0x3f
-#define NID_MSK			0x3f00
 #define FSL_SOC_USB_ULPIVP	0x170
 #define FSL_SOC_USB_PORTSC1	0x184
 #define PORT_PTS_MSK		(3<<30)
diff --git a/drivers/usb/host/fsl-mph-dr-of.c b/drivers/usb/host/fsl-mph-dr-of.c
index 574b99e..79a66d6 100644
--- a/drivers/usb/host/fsl-mph-dr-of.c
+++ b/drivers/usb/host/fsl-mph-dr-of.c
@@ -262,19 +262,24 @@ static void fsl_usb2_mpc5121_exit(struct platform_device *pdev)
 	}
 }
 
-struct fsl_usb2_platform_data fsl_usb2_mpc5121_pd = {
+static struct fsl_usb2_platform_data fsl_usb2_mpc5121_pd = {
 	.big_endian_desc = 1,
 	.big_endian_mmio = 1,
 	.es = 1,
+	.have_sysif_regs = 0,
 	.le_setup_buf = 1,
 	.init = fsl_usb2_mpc5121_init,
 	.exit = fsl_usb2_mpc5121_exit,
 };
 #endif /* CONFIG_PPC_MPC512x */
 
+static struct fsl_usb2_platform_data fsl_usb2_mpc8xxx_pd = {
+	.have_sysif_regs = 1,
+};
+
 static const struct of_device_id fsl_usb2_mph_dr_of_match[] = {
-	{ .compatible = "fsl-usb2-mph", },
-	{ .compatible = "fsl-usb2-dr", },
+	{ .compatible = "fsl-usb2-mph", .data = &fsl_usb2_mpc8xxx_pd, },
+	{ .compatible = "fsl-usb2-dr", .data = &fsl_usb2_mpc8xxx_pd, },
 #ifdef CONFIG_PPC_MPC512x
 	{ .compatible = "fsl,mpc5121-usb2-dr", .data = &fsl_usb2_mpc5121_pd, },
 #endif
-- 
1.7.1

^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2011-01-31 18:14 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-01-31 18:10 [GIT PATCH] USB fixes for .38 Greg KH
2011-01-31 18:12 ` [PATCH 31/42] USB: ehci-fsl: Fix 'have_sysif_regs' detection Greg Kroah-Hartman

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.