16 Dec, 2009
1 commit
-
Signed-off-by: Alexey Dobriyan
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 1Signed-off-by: Cliff Cai
Signed-off-by: Mike Frysinger
Signed-off-by: Anand Gadiyar
Signed-off-by: Greg Kroah-Hartman -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 castSigned-off-by: Bryan Wu
Signed-off-by: Mike Frysinger
Signed-off-by: Anand Gadiyar
Signed-off-by: Greg Kroah-Hartman -
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
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
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 -
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 -
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 -
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 1024Signed-off-by: Ajay Kumar Gupta
Acked-by: Felipe Balbi
Signed-off-by: Greg Kroah-Hartman -
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
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
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
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
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
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_defconfigSigned-off-by: Ajay Kumar Gupta
Signed-off-by: Eino-Ville Talvala
Acked-by: David Brownell
Signed-off-by: Greg Kroah-Hartman
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 -
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 -
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
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
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
...
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 -
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