- 18 2月, 2014 1 次提交
-
-
由 George Cherian 提交于
Enable the isochrounous IN handling for AM335x HOST. Reprogram CPPI to receive consecutive ISOCH frames in the same URB. Signed-off-by: NGeorge Cherian <george.cherian@ti.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
- 09 1月, 2014 1 次提交
-
-
由 Paul Gortmaker 提交于
None of these files are actually using any __init type directives and hence don't need to include <linux/init.h>. Most are just a left over from __devinit and __cpuinit removal, or simply due to code getting copied from one driver to the next. Signed-off-by: NPaul Gortmaker <paul.gortmaker@windriver.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 04 1月, 2014 1 次提交
-
-
由 Rahul Bedarkar 提交于
Signed-off-by: NRahul Bedarkar <rahulbedarkar89@gmail.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 09 12月, 2013 1 次提交
-
-
由 Peter Chen 提交于
Individual controller driver has different requirement for wakeup setting, so move it from core to itself. In order to align with current etting the default wakeup setting is enabled (except for chipidea host). Pass compile test with below commands: make O=outout/all allmodconfig make -j$CPU_NUM O=outout/all drivers/usb Signed-off-by: NPeter Chen <peter.chen@freescale.com> Acked-by: NAlan Stern <stern@rowland.harvard.edu> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 27 11月, 2013 2 次提交
-
-
由 Daniel Mack 提交于
The dsps platform needs to save save some registers at suspend time and restore them after resume. This patch adds a struct for these registers, and also lets the musb core know that the core registers need to be saved as well. We also have to explicitly de-assert the port reset upon resume on this platform, but musb_port_reset() should not be called from glue layers. Hence, introduce a flag in struct musb_hdrc_config for this. Signed-off-by: NDaniel Mack <zonque@gmail.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
由 Daniel Mack 提交于
Make musb_port_suspend() externally available, and call it when to host goes into suspend. This allows the core to go into suspend while a device is connected. Signed-off-by: NDaniel Mack <zonque@gmail.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
- 12 10月, 2013 1 次提交
-
-
由 Joe Perches 提交于
These aren't necessary after switch and if blocks. Signed-off-by: NJoe Perches <joe@perches.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 28 8月, 2013 1 次提交
-
-
musb_shutdown() removes always USB host and device. musb_init_controller() adds host and device depending on port_mode. If port mode is set to HOST then the removal of UDC leads only to: |(NULL device *): gadget not registered. and nothing else happens. If port mode is set to DEVICE and we remove the host then we oops in usb_remove_hcd(). This patch ensures that we only remove host in OTG/host mode and device only in OTG/device mode to avoid any trouble. Signed-off-by: NSebastian Andrzej Siewior <bigeasy@linutronix.de> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
- 30 5月, 2013 2 次提交
-
-
由 Alan Stern 提交于
This patch attempts to fix the isochonour API in the musb host driver. In particular, the urb->start_frame field should always be set by the driver; it isn't an input parameter. The simplest way to accomplish this is to treat all URBs as though the URB_ISO_ASAP flag was set. This won't give the right behavior when an underrun occurs, but I don't know enough about the musb driver to handle that case. Unfortunately, I have no way to test this change. Signed-off-by: NAlan Stern <stern@rowland.harvard.edu> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 Felipe Balbi 提交于
very minor patch fixing the following build warning on a debug message: drivers/usb/musb/musb_host.c: In function ‘musb_host_rx’: drivers/usb/musb/musb_host.c:1763:4: warning: format ‘%x’ \ expects argument of type ‘unsigned int’, but argument \ 6 has type ‘dma_addr_t’ [-Wformat] Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
- 29 5月, 2013 6 次提交
-
-
由 Virupax Sadashivpetimath 提交于
Since highmem PIO URB handling was introduced in: 8e8a5516 usb: musb: host: Handle highmem in PIO mode when a URB is being handled it may happen that the static use_sg flag was set by a previous URB with buffer in highmem. This leads to error in handling the present URB. Fix this by making the use_sg flag URB specific. Cc: stable <stable@vger.kernel.org> # 3.7+ Acked-by: NLinus Walleij <linus.walleij@linaro.org> Signed-off-by: NVirupax Sadashivpetimath <virupax.sadashivpetimath@stericsson.com> Signed-off-by: NFabio Baltieri <fabio.baltieri@linaro.org> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
由 Mian Yousaf Kaukab 提交于
Host side dma support for ux500 is enabled by piggybacking on Inventra dma support. Acked-by: NLinus Walleij <linus.walleij@linaro.org> Signed-off-by: NMian Yousaf Kaukab <mian.yousaf.kaukab@stericsson.com> Signed-off-by: NFabio Baltieri <fabio.baltieri@linaro.org> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
由 Daniel Mack 提交于
With the hcd is now a direct member of struct musb, we can now simply eliminate the musb_to_hcd() macro. There aren't that many users left anyway, as some where already fixed up when parts were factored out to musb_host.c Signed-off-by: NDaniel Mack <zonque@gmail.com> Acked-by: NPeter Korsgaard <jacmet@sunsite.dk> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
由 Daniel Mack 提交于
This patch re-introduces the bits that are necessary to use the musb controller in host mode. Signed-off-by: NDaniel Mack <zonque@gmail.com> Acked-by: NPeter Korsgaard <jacmet@sunsite.dk> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
由 Daniel Mack 提交于
The musb struct is currently allocated along with the hcd, which makes it difficult to build a driver that only acts as gadget device. Fix this by allocating musb directly, and keep the hcd around as a pointer in the musb struct. struct hc_driver musb_hc_driver can now also be static to musb_host.c, and the macro musb_to_hcd() is just a pointer dereferencer for now, and will be eliminated later. Signed-off-by: NDaniel Mack <zonque@gmail.com> Acked-by: NPeter Korsgaard <jacmet@sunsite.dk> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
由 Daniel Mack 提交于
In particular, this introduces musb_host_resume_root_hub()and musb_host_poke_root_hub() which will be stubbed out later. Signed-off-by: NDaniel Mack <zonque@gmail.com> Acked-by: NPeter Korsgaard <jacmet@sunsite.dk> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
- 02 4月, 2013 1 次提交
-
-
由 Ruslan Bilovol 提交于
MUSB controller cannot work in DMA mode with misaligned buffers, switching in PIO mode. HCD core has hooks that allow to override the default DMA mapping and unmapping routines for host controllers that have special DMA requirements, such as alignment constraints. It is observed that work in PIO mode is slow and it's better to align buffers properly before passing them to MUSB This increased throughput 80->120 MBits/s over musb@omap4 with USB Gigabit Ethernet adapter attached. Some ideas are taken from ehci-tegra.c Signed-off-by: NRuslan Bilovol <ruslan.bilovol@ti.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
- 18 3月, 2013 1 次提交
-
-
由 Felipe Balbi 提交于
all other functions under drivers/usb/ start with usb_, let's do the same thing. This patch is in preparation for moving otg_state_string to usb-common.c and deleting otg.c completely. Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
- 17 1月, 2013 1 次提交
-
-
由 supriya karanth 提交于
Whenever an URB is programmed for transfer, the TXFIFO is flushed. This results in valid packets of the previous transfer to get flushed when double buffering is enabled (The MUSB_TXCSR_FIFONOTEMPTY bit in TXCSR is set indicating that a packet in the FIFO is yet to be sent) For ex:- In Host mode Audio, noise is heard in the headset when double buffering is enabled on the ISO endpoint. The fifo flush is removed for double buffering case. The fifo is now flushed only in cases of error or when aborting a transfer. Also, In Host MSC case, data toggle errors are seen when double buffering is enabled on the bulk endpoint. Whenever an URB is programmed for transfer, the data toggle is set manually resulting in data toggle errors on the bus. Leave the data toggle handling upto the hardware in the double buffering case. Signed-off-by: Nsupriya karanth <supriya.karanth@stericsson.com> Signed-off-by: NPraveena NADAHALLY <praveen.nadahally@stericsson.com> Acked-by: NLinus Walleij <linus.walleij@linaro.org> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
- 10 1月, 2013 1 次提交
-
-
由 supriya karanth 提交于
The "mult" factor is not updated properly for the can_bulk_split() case. The AUTOSET bit in the TXCSR is not being set if the "mult" factor is greater than 1 for the High Bandwidth ISO case. But the "mult" factor is also greater than 1 in case of Full speed bulk transfers with the packet splitting in TXMAXP register enabled with can_bulk_split(). Without the AUTOSET the DMA transfers will not progress in mode1 [ balbi@ti.com : fix braces placement ] Signed-off-by: Nsupriya karanth <supriya.karanth@stericsson.com> Signed-off-by: NPraveena NADAHALLY <praveen.nadahally@stericsson.com> Acked-by: NLinus Walleij <linus.walleij@linaro.org> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
- 31 10月, 2012 1 次提交
-
-
This is part of the workaround for AM35x advisory Advisory 1.1.20. The advisory says that the IPSS bridge can't handle 8 & 16 bit read access. An 16bit read access to MUSB_INTRTXE results in an 32bit read access which also reads INTRRX and therefore may lose interrupts. This patch uses a shadow register of MUSB_INTRTXE so we only perform write access to it. Signed-off-by: NSebastian Andrzej Siewior <bigeasy@linutronix.de> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
- 07 9月, 2012 1 次提交
-
-
由 yuzheng ma 提交于
when using musb_urb_enqueue to submit three urbs to the same endpoint, when hep->hcpriv is NULL, qh will be allocated when the first urb is completed. When the IRQ completes the next two urbs, qh->hep->hcpriv will be set to NULL. Now the second urb get musb->lock and executes musb_schedule(), but next_urb(qh) is NULL, so musb_start_urb will Oops. [ balbi@ti.com : practically rewrote commit log so it makes sense ] Signed-off-by: Nmayuzheng <myz147@gmail.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
- 07 8月, 2012 1 次提交
-
-
由 Virupax Sadashivpetimath 提交于
In case of USB bulk transfer, when himem page is received, the usb_sg_init function sets the urb transfer buffer to NULL. When such URB transfer is handled, kernel crashes in PIO mode. Handle this by mapping the highmem buffer in PIO mode. Signed-off-by: NVirupax Sadashivpetimath <virupax.sadashivpetimath@stericsson.com> Signed-off-by: NPraveena NADAHALLY <praveen.nadahally@stericsson.com> Acked-by: NLinus Walleij <linus.walleij@linaro.org> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
- 03 8月, 2012 2 次提交
-
-
由 Ajay Kumar Gupta 提交于
Fixes endpoint starvation issue when more than one bulk QH is multiplexed on the reserved bulk TX endpoint. This patch sets the NAK timeout interval for such QHs, and when a timeout triggers the next QH will be scheduled. This scheme doesn't work for devices which are connected to a high to full speed tree (transaction translator) as there is no NAK timeout interrupt from the musb controller from such devices. Signed-off-by: NAjay Kumar Gupta <ajay.gupta@ti.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
由 Ajay Kumar Gupta 提交于
This is to reduce the overhead of dma programming for zero byte transmit as same can be done using pio mode. Signed-off-by: NAjay Kumar Gupta <ajay.gupta@ti.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
- 22 6月, 2012 1 次提交
-
-
由 Ajay Kumar Gupta 提交于
Currently DMA channels are allocated and they remain allocated even if there is no active data transfer. Added channel_release() whenever there is no pending request. Signed-off-by: NAjay Kumar Gupta <ajay.gupta@ti.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
- 04 6月, 2012 1 次提交
-
-
由 Mantesh Sarasetti 提交于
Currently in case of MUSB DMA channel request failure we are not clearing MUSB_RXCSR_DMAENAB, MUSB_RXCSR_H_AUTOREQ and MUSB_RXCSR_AUTOCLEAR bits of MUSB RXCSR of MUSB DMA. Which is causing failure in receipt of data packets in next transfer. Fix is to disable the MUSB DMA mode and related bits incase of DMA channel request fails Signed-off-by: NMantesh Sarashetti <mantesh@ti.com> Signed-off-by: NRuslan Bilovol <ruslan.bilovol@ti.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
- 11 4月, 2012 1 次提交
-
-
由 Ajay Kumar Gupta 提交于
Control transfers with data expected from device to host will use usb_rcvctrlpipe() for urb->pipe so for such urbs 'is_in' will be set causing control urb to fall into the first "if" condition in musb_cleanup_urb(). Fixed by adding logic to check for non control endpoints. Signed-off-by: NAjay Kumar Gupta <ajay.gupta@ti.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
- 14 12月, 2011 1 次提交
-
-
由 Ajay Kumar Gupta 提交于
TXMAXP register is not getting programmed correctly for a full speed device as can_bulk_split() have been removed by "06624818: usb: musb: disable double buffering when it's broken" patch. Adding back the case for can_bulk_split() to fix the reset message seen with a full speed stick. Signed-off-by: NAjay Kumar Gupta <ajay.gupta@ti.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
- 24 8月, 2011 1 次提交
-
-
由 Kuninori Morimoto 提交于
Now ${LINUX}/drivers/usb/* can use usb_endpoint_maxp(desc) to get maximum packet size instead of le16_to_cpu(desc->wMaxPacketSize). This patch fix it up Cc: Armin Fuerst <fuerst@in.tum.de> Cc: Pavel Machek <pavel@ucw.cz> Cc: Johannes Erdfelt <johannes@erdfelt.com> Cc: Vojtech Pavlik <vojtech@suse.cz> Cc: Oliver Neukum <oliver@neukum.name> Cc: David Kubicek <dave@awk.cz> Cc: Johan Hovold <jhovold@gmail.com> Cc: Brad Hards <bhards@bigpond.net.au> Acked-by: NFelipe Balbi <balbi@ti.com> Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Cc: Thomas Dahlmann <dahlmann.thomas@arcor.de> Cc: David Brownell <david-b@pacbell.net> Cc: David Lopo <dlopo@chipidea.mips.com> Cc: Alan Stern <stern@rowland.harvard.edu> Cc: Michal Nazarewicz <m.nazarewicz@samsung.com> Cc: Xie Xiaobo <X.Xie@freescale.com> Cc: Li Yang <leoli@freescale.com> Cc: Jiang Bo <tanya.jiang@freescale.com> Cc: Yuan-hsin Chen <yhchen@faraday-tech.com> Cc: Darius Augulis <augulis.darius@gmail.com> Cc: Xiaochen Shen <xiaochen.shen@intel.com> Cc: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> Cc: OKI SEMICONDUCTOR, <toshiharu-linux@dsn.okisemi.com> Cc: Robert Jarzmik <robert.jarzmik@free.fr> Cc: Ben Dooks <ben@simtec.co.uk> Cc: Thomas Abraham <thomas.ab@samsung.com> Cc: Herbert Pötzl <herbert@13thfloor.at> Cc: Arnaud Patard <arnaud.patard@rtp-net.org> Cc: Roman Weissgaerber <weissg@vienna.at> Acked-by: NSarah Sharp <sarah.a.sharp@linux.intel.com> Cc: Tony Olech <tony.olech@elandigitalsystems.com> Cc: Florian Floe Echtler <echtler@fs.tum.de> Cc: Christian Lucht <lucht@codemercs.com> Cc: Juergen Stuber <starblue@sourceforge.net> Cc: Georges Toth <g.toth@e-biz.lu> Cc: Bill Ryder <bryder@sgi.com> Cc: Kuba Ober <kuba@mareimbrium.org> Cc: Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com> Signed-off-by: NKuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
- 09 6月, 2011 1 次提交
-
-
由 Márton Németh 提交于
Variable d is a struct usb_iso_packet_descriptor. The status filed is usually negative when an error happens. Signed-off-by: NMárton Németh <nm127@freemail.hu> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
- 13 5月, 2011 2 次提交
-
-
由 Sergei Shtylyov 提交于
musb_ep_program() contains obviously duplicate check for 'dma_channel' in its IN/receive path -- removing it allows to save one level of indentation. While at it, improve the comment style... Signed-off-by: NSergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
由 Felipe Balbi 提交于
We have a generic way of enabling/disabling different debug messages on a driver called DYNAMIC_PRINTK. Anyone interested in enabling just part of the debug messages, please read the documentation under: Documentation/dynamic-debug-howto.txt for information on how to use that great infrastructure. Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
- 07 5月, 2011 1 次提交
-
-
由 Anatolij Gustschin 提交于
Commit 3dacdf11 "usb: factor out state_string() on otg drivers" broke building musb drivers since there is already another otg_state_string() function in musb drivers, but with different prototype. Fix musb drivers to use common otg_state_string(), too. Also provide a nop for otg_state_string() if CONFIG_USB_OTG_UTILS is not defined. Signed-off-by: NAnatolij Gustschin <agust@denx.de> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
- 05 2月, 2011 1 次提交
-
-
由 Robert Morell 提交于
The convention is to prefix symbols exported from the USB HCD core with "usb_hcd". This change makes unmap_urb_setup_for_dma() and unmap_urb_for_dma() consistent with that. Signed-off-by: NRobert Morell <rmorell@nvidia.com> Acked-by: NAlan Stern <stern@rowland.harvard.edu> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
- 01 2月, 2011 1 次提交
-
-
由 Felipe Balbi 提交于
We know that blackfin doesn't support double buffering feature as of today. So we add a flag set by musb_platform_init() to forcefully disable that feature. Such flag is created and marked as deprecated to force us to find a solution for the missing double buffering support on blackfin. Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
- 23 10月, 2010 2 次提交
-
-
由 T. S., Anil Kumar 提交于
Add support for MUSB Host DMA transfers greater than max channel length, so that such transfers won't be truncated. Signed-off-by: NAnil Shetty <anil@ti.com> Signed-off-by: NFelipe Balbi <balbi@ti.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
由 Maulik Mankad 提交于
The USB stack maps the buffer for DMA if the controller supports DMA. MUSB controller can perform DMA as well as PIO transfers. The buffer needs to be unmapped before CPU can perform PIO data transfers. Export unmap_urb_for_dma() so that drivers can perform the DMA unmapping in a sane way. Signed-off-by: NMaulik Mankad <x0082077@ti.com> Acked-by: NAlan Stern <stern@rowland.harvard.edu> Signed-off-by: NFelipe Balbi <balbi@ti.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
- 25 9月, 2010 1 次提交
-
-
由 Santosh Shilimkar 提交于
This patch fixes the issue which was observed while transfering a large file ( > 20MB) over USB (OMAP MUSB controller acts as USB host) to an attached USB thumb drive. It was found that CDB field of CBW packet was set to 0x0. This was due to missing a barrier before DMA engine starts transfer. This buffer is allocated using dma_alloc_coherent which gives non-cacheble but bufferable memory and hence needed a write memory barrier to flush the write buffer. More info on this thread is here: http://www.spinics.net/lists/linux-omap/msg33987.htmlSigned-off-by: NSantosh Shilimkar <santosh.shilimkar@ti.com> Signed-off-by: NMaulik Mankad <x0082077@ti.com> Cc: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: NFelipe Balbi <balbi@ti.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
- 01 5月, 2010 1 次提交
-
-
由 Dan Carpenter 提交于
We assign "urb->hcpriv = qh;" a few lines down. I'm pretty sure we want it "urb->hcpriv" to be NULL not a freed value. Signed-off-by: NDan Carpenter <error27@gmail.com> Signed-off-by: NFelipe Balbi <felipe.balbi@nokia.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-