16 Dec, 2009

1 commit


12 Dec, 2009

19 commits

  • Fix the following sparse warning:

    drivers/usb/musb/musb_host.c:1642:9: warning: symbol 'status' shadows an earlier one

    Signed-off-by: Felipe Balbi
    Signed-off-by: Greg Kroah-Hartman

    Felipe Balbi
     
  • Fix the following sparse warnings:

    drivers/usb/musb/musb_gadget.c:1161:5: warning: symbol 'musb_gadget_set_halt' was not declared. Should it be static?

    drivers/usb/musb/musb_gadget.c:1244:5: warning: symbol 'musb_gadget_set_wedge' was not declared. Should it be static?

    Signed-off-by: Felipe Balbi
    Signed-off-by: Greg Kroah-Hartman

    Felipe Balbi
     
  • Fix the following sparse warning:

    drivers/usb/musb/omap2430.c:314:16: warning: Using plain integer as NULL pointer

    Signed-off-by: Felipe Balbi
    Signed-off-by: Greg Kroah-Hartman

    Felipe Balbi
     
  • Remove the pointless 'do () while (0)' loop from musb_g_tx() -- it
    makes this function symmetric to musb_g_rx()...

    Signed-off-by: Sergei Shtylyov
    Signed-off-by: Greg Kroah-Hartman

    Sergei Shtylyov
     
  • Stop playing with musb->lock and abusing musb_gadget_set_halt() in
    the code clearing the endpoint halt feature -- instead, manipulate
    the registers directly.

    While at it, get rid uf unneeded line breaks and over-indentation in
    the code setting the endpoint halt feature.

    Signed-off-by: Sergei Shtylyov
    Signed-off-by: Greg Kroah-Hartman

    Sergei Shtylyov
     
  • Implement the driver's set_wedge() method by adding the 'wedged' flag
    to the 'struct musb_ep'.

    Signed-off-by: Sergei Shtylyov
    Signed-off-by: Greg Kroah-Hartman

    Sergei Shtylyov
     
  • Commit a5073b52833e4df8e16c93dc4cbb7e0c558c74a2 (musb_gadget: fix
    unhandled endpoint 0 IRQs) somehow missed its key change:

    "The gadget EP0 code routinely ignores an interrupt at end of
    the data phase because of musb_g_ep0_giveback() resetting the
    state machine to "idle, waiting for SETUP" phase prematurely."

    So, the majority of the cases of unhandled IRQs is still unfixed...

    Signed-off-by: Sergei Shtylyov
    Signed-off-by: Anand Gadiyar
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Sergei Shtylyov
     
  • MUSB: save hardware revision at init

    This can be used later to flag workarounds for issues affecting
    particular revisions. Saving this at init avoids having to
    read the HWVERS register multiple times in code.

    While at it, use macros to extract the version information
    instead of using hardcoded values.

    Signed-off-by: Anand Gadiyar
    Cc: Ajay Kumar Gupta
    Acked-by: Felipe Balbi
    Cc: David Brownell
    Cc: Sergei Shtylyov
    Signed-off-by: Greg Kroah-Hartman

    Anand Gadiyar
     
  • The debug code in the DMA ISR uses a %d for a size_t when it should be
    using %zu. Otherwise gcc whines with:

    drivers/usb/musb/musbhsdma.c: In function 'dma_controller_irq':
    drivers/usb/musb/musbhsdma.c:288: warning: format '%d' expects type 'int',
    but argument 7 has type 'size_t'

    Signed-off-by: Mike Frysinger
    Signed-off-by: Anand Gadiyar
    Signed-off-by: Greg Kroah-Hartman

    Mike Frysinger
     
  • Otherwise we get the link failure:
    drivers/built-in.o: In function 'musb_platform_init':
    drivers/usb/musb/blackfin.c:300: undefined reference to 'usb_nop_xceiv_register'
    make: *** [.tmp_vmlinux1] Error 1

    Signed-off-by: Cliff Cai
    Signed-off-by: Mike Frysinger
    Signed-off-by: Anand Gadiyar
    Signed-off-by: Greg Kroah-Hartman

    Cliff Cai
     
  • Since we can't work around anomaly 05000380, throw a build error up and
    instruct the user to use a different mode.

    Signed-off-by: Sonic Zhang
    Signed-off-by: Mike Frysinger
    Signed-off-by: Anand Gadiyar
    Signed-off-by: Greg Kroah-Hartman

    Sonic Zhang
     
  • If we clear the interrupt pending bits at the end, we sometimes return too
    fast and have the same interrupt assert itself. There is no way in a
    Blackfin system to force a sync of this state, so the hardware manual
    instructs people to clear interrupt flags early in their ISR.

    Signed-off-by: Cliff Cai
    Signed-off-by: Mike Frysinger
    Signed-off-by: Anand Gadiyar
    Signed-off-by: Greg Kroah-Hartman

    Cliff Cai
     
  • Update function definition to match latest MUSB framework.

    Signed-off-by: Bryan Wu
    Signed-off-by: Cliff Cai
    Signed-off-by: Mike Frysinger
    Signed-off-by: Anand Gadiyar
    Signed-off-by: Greg Kroah-Hartman

    Bryan Wu
     
  • Only allow USE_MODE1 when the Blackfin part is not affected by anomaly
    05000456 (USB Receive Interrupt Is Not Generated in DMA Mode 1) since we
    can't support the mode in that case.

    Signed-off-by: Sonic Zhang
    Signed-off-by: Cliff Cai
    Signed-off-by: Mike Frysinger
    Signed-off-by: Anand Gadiyar
    Signed-off-by: Greg Kroah-Hartman

    Sonic Zhang
     
  • Add some helpful notes about how the driver works around different
    anomalies that exist in the on-chip host controller.

    Signed-off-by: Sonic Zhang
    Signed-off-by: Cliff Cai
    Signed-off-by: Mike Frysinger
    Signed-off-by: Anand Gadiyar
    Signed-off-by: Greg Kroah-Hartman

    Sonic Zhang
     
  • Do not allow MUSB driver to be selected on derivatives that don't have the
    MUSB controller on them.

    Signed-off-by: Sonic Zhang
    Signed-off-by: Bryan Wu
    Signed-off-by: Cliff Cai
    Signed-off-by: Mike Frysinger
    Signed-off-by: Anand Gadiyar
    Signed-off-by: Greg Kroah-Hartman

    Sonic Zhang
     
  • Signed-off-by: Bryan Wu
    Signed-off-by: Cliff Cai
    Signed-off-by: Mike Frysinger
    Signed-off-by: Anand Gadiyar
    Signed-off-by: Greg Kroah-Hartman

    Bryan Wu
     
  • The Blackfin version of musb_read_target_reg_base() returns a u16 when the
    common code expects a (void __iomem *), so update the Blackfin function to
    return the right value. This fixes the compile warning:

    drivers/usb/musb/musb_core.c: In function 'musb_core_init':
    drivers/usb/musb/musb_core.c:1448: warning: assignment makes pointer from
    integer without a cast

    Signed-off-by: Bryan Wu
    Signed-off-by: Mike Frysinger
    Signed-off-by: Anand Gadiyar
    Signed-off-by: Greg Kroah-Hartman

    Bryan Wu
     
  • Otherwise gcc will whine about epnum/dma_reg being unused when building
    for BF54x parts.

    Signed-off-by: Mike Frysinger
    Signed-off-by: Bryan Wu
    Signed-off-by: Cliff Cai
    Signed-off-by: Anand Gadiyar
    Acked-by: Felipe Balbi
    Signed-off-by: Greg Kroah-Hartman

    Mike Frysinger
     

09 Dec, 2009

1 commit

  • * 'omap-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6: (149 commits)
    arm: omap: Add omap3_defconfig
    AM35xx: Defconfig for AM3517 EVM board
    AM35xx: Add support for AM3517 EVM board
    omap: 3630sdp: defconfig creation
    omap: 3630sdp: introduce 3630 sdp board support
    omap3: Add defconfig for IGEP v2 board
    omap3: Add minimal IGEP v2 support
    omap3: Add CompuLab CM-T35 defconfig
    omap3: Add CompuLab CM-T35 board support
    omap3: rx51: Add wl1251 wlan driver support
    omap3: rx51: Add SDRAM init
    omap1: Add default kernel configuration for Herald
    omap1: Add board support and LCD for HTC Herald
    omap: zoom2: update defconfig for LL_DEBUG_NONE
    omap: zoom3: defconfig creation
    omap3: zoom: Introduce zoom3 board support
    omap3: zoom: Drop i2c-1 speed to 2400
    omap3: zoom: rename zoom2 name to generic zoom
    omap3: zoom: split board file for software reuse
    omap3evm: MIgrate to smsc911x ethernet driver
    ...

    Fix trivial conflict (two unrelated config options added next to each
    other) in arch/arm/mach-omap2/Makefile

    Linus Torvalds
     

01 Dec, 2009

5 commits

  • On tx channel abort a cppi interrupt is generated for a short time by
    setting the lowest bit of the TCPPICOMPPTR register. It is then reset
    immediately by clearing the bit. When the interrupt handler is run,
    it does not detect an interrupt in the TCPPIMSKSR or RCPPIMSKSR
    registers and thus exits early without writing the TCPPIEOIR register.
    It appears that this inhibits further cppi interrupts until the handler
    is called by chance, f.ex. from davinci_interrupt().

    By moving the unmasking of the interrupt below the writes to
    TCPPICOMPPTR, no interrupt is generated and no write to TCPPIEOIR is
    necessary.

    Signed-off-by: Daniel Glöckner
    Signed-off-by: Ajay Kumar Gupta
    Signed-off-by: Greg Kroah-Hartman

    Daniel Glöckner
     
  • In gadget mode the answer to a control request should be followed by
    a zero-length packet if the amount transferred is an exact multiple of
    the endpoint's packet size and the requests has its "zero" flag set.

    This patch prevents the request from being immediately removed from the
    queue when a control IN transfer ends on a full packet and "zero" is set.
    The next time ep0_txstate is entered, a zero-length packet is queued and
    the request is removed as fifo_count is 0.

    Signed-off-by: Daniel Glöckner
    Signed-off-by: Ajay Kumar Gupta
    Signed-off-by: Greg Kroah-Hartman

    Daniel Glöckner
     
  • Isochronous Tx DMA is getting programmed but never getting started
    for CPPI and TUSB DMAs and thus Isochronous Tx doesn't work.

    Fixing it by starting DMAs using musb_h_tx_dma_start().

    Signed-off-by: Swaminathan S
    Signed-off-by: Babu Ravi
    Signed-off-by: Ajay Kumar Gupta
    Signed-off-by: Greg Kroah-Hartman

    Ajay Kumar Gupta
     
  • Removes below unnecessary log of almost 28 lines during boot.

    musb_hdrc: hw_ep 0shared, max 64
    musb_hdrc: hw_ep 1tx, max 512
    musb_hdrc: hw_ep 1rx, max 512
    ...
    ...
    musb_hdrc: hw_ep 13shared, max 4096
    musb_hdrc: hw_ep 14shared, max 1024
    musb_hdrc: hw_ep 15shared, max 1024

    Signed-off-by: Ajay Kumar Gupta
    Acked-by: Felipe Balbi
    Signed-off-by: Greg Kroah-Hartman

    Ajay Kumar Gupta
     
  • The driver incorrectly cancels the mass-storage device CSW request
    (which leads to device reset) due to giving back URB at the head of
    endpoint's queue after sending each STALL handshake; stop doing that
    and start checking for the queue being non-empty before stalling an
    endpoint and disallowing stall in such case in musb_gadget_set_halt()
    like the other gadget drivers do.

    Moreover, the driver starts Rx request despite of the endpoint being
    halted -- fix this by moving the SendStall bit check from musb_g_rx()
    to rxstate(). And we also sometimes get into rxstate() with DMA still
    active after clearing an endpoint's halt (not clear why), so bail out
    in this case, similarly to what txstate() does...

    While at it, also do the following changes :

    - in musb_gadget_set_halt(), remove pointless Tx FIFO flushing (the
    driver does not allow stalling with non-empty Tx FIFO anyway);

    - in rxstate(), stop pointlessly zeroing the 'csr' variable;

    - in musb_gadget_set_halt(), move the 'done' label to a more proper
    place;

    - in musb_g_rx(), eliminate the 'done' label completely...

    Signed-off-by: Sergei Shtylyov
    Cc:
    Signed-off-by: Greg Kroah-Hartman

    Sergei Shtylyov
     

21 Oct, 2009

1 commit

  • Move the remaining headers under plat-omap/include/mach
    to plat-omap/include/plat. Also search and replace the
    files using these headers to include using the right path.

    This was done with:

    #!/bin/bash
    mach_dir_old="arch/arm/plat-omap/include/mach"
    plat_dir_new="arch/arm/plat-omap/include/plat"
    headers=$(cd $mach_dir_old && ls *.h)
    omap_dirs="arch/arm/*omap*/ \
    drivers/video/omap \
    sound/soc/omap"
    other_files="drivers/leds/leds-ams-delta.c \
    drivers/mfd/menelaus.c \
    drivers/mfd/twl4030-core.c \
    drivers/mtd/nand/ams-delta.c"

    for header in $headers; do
    old="#include

    Tony Lindgren
     

13 Oct, 2009

1 commit

  • The MUSB code relies on platform implementations that currently only
    exists for Arm and Blackfin processors, so have the MUSB Kconfig depend
    upon those arches.

    This should prevent other arches from building MUSB via randconfig.

    Reported-by: Ingo Molnar
    Signed-off-by: Mike Frysinger
    Signed-off-by: Linus Torvalds

    Mike Frysinger
     

10 Oct, 2009

1 commit

  • The Blackfin port doesn't support HAVE_CLK and the musb driver works fine
    with support stubbed out, so take the existing Blackfin clk stubs and move
    them to common musb code so we can drop the Kconfig dependency.

    Signed-off-by: Bryan Wu
    Signed-off-by: Mike Frysinger
    Signed-off-by: Greg Kroah-Hartman

    Mike Frysinger
     

23 Sep, 2009

1 commit

  • Invoke put_device(musb->xceiv->dev) before musb_platform_exit()as
    xceiv is getting unregistered in musb_platform_exit().

    Fixes put_device() panic when module insert/removal is performed
    multiple times.

    Signed-off-by: Ajay Kumar Gupta
    Acked-by: David Brownell
    Signed-off-by: Greg Kroah-Hartman

    Ajay Kumar Gupta
     

11 Aug, 2009

1 commit


08 Aug, 2009

1 commit

  • OMAP3EVM uses ISP1504 phy which doesn't require any programming and
    thus has to use NOP otg transceiver.

    Cleanups being done:
    - Remove unwanted code in usb-musb.c file
    - Register NOP in OMAP3EVM board file using
    usb_nop_xceiv_register().
    - Select NOP_USB_XCEIV for OMAP3EVM boards.
    - Don't enable TWL4030_USB in omap3_evm_defconfig

    Signed-off-by: Ajay Kumar Gupta
    Signed-off-by: Eino-Ville Talvala
    Acked-by: David Brownell
    Signed-off-by: Greg Kroah-Hartman

    Gupta, Ajay Kumar
     

31 Jul, 2009

1 commit


29 Jul, 2009

3 commits

  • INDEX register has to be set to '0' before reading
    CONFIGDATA register which is only present in TI musb
    platforms.

    Currently the default register access mode is set to
    FLAT_MODE thus INDEX register is not getting set
    properly with musb_ep_select() which is just a nop
    operation in FLAT_MODE.This invalid register read is
    causing module reinset failure.

    Fixing the issue by moving INDEX register write part to
    musb_read_configdata() function itself.

    Signed-off-by: Vikram Pandita
    Signed-off-by: Anand Gadiyar
    Signed-off-by: Ajay Kumar Gupta
    Acked-by: David Brownell
    Signed-off-by: Greg Kroah-Hartman

    Ajay Kumar Gupta
     
  • musb_otg_timer_func() is defined under #ifdef CONFIG_USB_MUSB_OTG.
    Make sure any reference to it is also under the same #ifdef.

    Without this fix, the driver failes to compile when USB_OTG is defined
    but USB_MUSB_OTG isn't.

    Signed-off-by: Amit Kucheria
    Cc: Felipe Balbi
    Cc: David Brownell
    Signed-off-by: Greg Kroah-Hartman

    Amit Kucheria
     
  • This function uses wrong bit mask to prevent clearing RXCSR status
    bits when halting an endpoint -- which results in clearing SentStall
    and RxPktRdy bits (that the code actually tries to avoid); must be
    a result of cut-and-paste...

    Signed-off-by: Sergei Shtylyov
    Acked-by: David Brownell
    Signed-off-by: Greg Kroah-Hartman

    Sergei Shtylyov
     

22 Jul, 2009

1 commit

  • This patch reworks platform driver power management code
    for musb from legacy callbacks to dev_pm_ops.

    The callbacks are converted for CONFIG_SUSPEND like this:
    suspend() -> suspend()
    resume_early() -> resume_noirq()

    Signed-off-by: Magnus Damm
    Acked-by: Greg Kroah-Hartman
    Acked-by: Pavel Machek
    Signed-off-by: Rafael J. Wysocki

    Magnus Damm
     

14 Jul, 2009

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (48 commits)
    USB: otg: fix module reinsert issue
    USB: handle zero-length usbfs submissions correctly
    USB: EHCI: report actual_length for iso transfers
    USB: option: remove unnecessary and erroneous code
    USB: cypress_m8: remove invalid Clear-Halt
    USB: musb_host: undo incorrect change in musb_advance_schedule()
    USB: fix LANGID=0 regression
    USB: serial: sierra driver id_table additions
    USB serial: Add ID for Turtelizer, an FT2232L-based JTAG/RS-232 adapter.
    USB: fix race leading to a write after kfree in usbfs
    USB: Sierra: fix oops upon device close
    USB: option.c: add A-Link 3GU device id
    USB: Serial: Add support for Arkham Technology adapters
    USB: Fix option_ms regression in 2.6.31-rc2
    USB: gadget audio: select SND_PCM
    USB: ftdi: support NDI devices
    Revert USB: usbfs: deprecate and hide option for !embedded
    USB: usb.h: fix kernel-doc notation
    USB: RNDIS gadget, fix issues talking from PXA
    USB: serial: FTDI with product code FB80 and vendor id 0403
    ...

    Linus Torvalds
     

13 Jul, 2009

2 commits

  • Commit c9cd06b3d6ea825c62e277def929cc4315802b48 (musb_host: refactor
    URB giveback) included due to my overlook the change incorrect in the
    context of the current kernel -- undo it.

    Signed-off-by: Sergei Shtylyov
    Acked-by: David Brownell
    Signed-off-by: Greg Kroah-Hartman

    Sergei Shtylyov
     
  • Get rid of some obnoxious and inappropriate messaging, mostly on
    DaVinci, when usbcore tries to autosuspend a root hub if just a
    mini/micro-A connector is connected. Symptom: endless stream of
    messages reading like:

    musb_bus_suspend 2221: trying to suspend as a_wait_vrise is_active=1

    Improve that musb bus suspend primitive a bit. Take advantage of
    this call to update the OTG state machine if appropriate, moving
    the device out of the A_WAIT_VRISE state. There's basically no
    timer for that state transition just now, except with tusb6010;
    that can make trouble.

    Signed-off-by: David Brownell
    Signed-off-by: Greg Kroah-Hartman

    David Brownell