- 15 12月, 2015 1 次提交
-
-
由 Mian Yousaf Kaukab 提交于
As descriptor dma mode does not support split transfers, it can't be enabled for high speed devices. Add a core parameter to enable it for full speed devices. Ensure frame list and descriptor list are correctly freed during disconnect. Acked-by: NJohn Youn <johnyoun@synopsys.com> Signed-off-by: NMian Yousaf Kaukab <yousaf.kaukab@intel.com> Signed-off-by: NGregory Herrero <gregory.herrero@intel.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
- 20 11月, 2015 4 次提交
-
-
由 Stefan Wahren 提交于
This patch make sure that all necessary members of dwc2_hsotg are initialized before the irq handler is requested. So the kernel oops triggered by dwc2_handle_common_intr has been fixed. dwc2 20980000.usb: Configuration mismatch. Forcing host mode dwc2 20980000.usb: no platform data or transceiver defined Unable to handle kernel paging request at virtual address cc860040 pgd = c0004000 [cc860040] *pgd=0b41e811, *pte=00000000, *ppte=00000000 Internal error: Oops: 7 [#1] ARM CPU: 0 PID: 1 Comm: swapper Not tainted 4.3.0-rc3+ #19 Hardware name: BCM2835 task: cb494000 ti: cb4d0000 task.ti: cb4d0000 PC is at dwc2_is_controller_alive+0x18/0x34 LR is at dwc2_handle_common_intr+0x24/0xb60 Acked-by: NJohn Youn <johnyoun@synopsys.com> Tested-by: NMarek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: NStefan Wahren <stefan.wahren@i2se.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
由 Stefan Wahren 提交于
Fixes commit 09a75e85 ("usb: dwc2: refactor common low-level hw code to platform.c") The above commit consolidated the low-level phy access into a common location. This change made the otg clk a requirement and broke some platforms when it was moved into platform.c. So make clk handling optional again. Acked-by: NEric Anholt <eric@anholt.net> Signed-off-by: NStefan Wahren <stefan.wahren@i2se.com> Cc: Marek Szyprowski <m.szyprowski@samsung.com> Acked-by: NJohn Youn <johnyoun@synopsys.com> Tested-by: NMarek Szyprowski <m.szyprowski@samsung.com> Fixes: 09a75e85 ("usb: dwc2: refactor common low-level hw code to platform.c") Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
由 Stefan Wahren 提交于
When searching for PHYs, any error was treated as if the PHY did not exist or was not specified. Thus the probe function did not correctly return error conditions such as -EPROBE_DEFER. Fixed so that only a non-existing PHY is ignored and any other error is returned. Acked-by: NEric Anholt <eric@anholt.net> Reported-by: NAlexander Aring <alex.aring@gmail.com> Signed-off-by: NJohn Youn <johnyoun@synopsys.com> Signed-off-by: NStefan Wahren <stefan.wahren@i2se.com> Tested-by: NMarek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
由 John Youn 提交于
Fixes commit 09a75e85 ("usb: dwc2: refactor common low-level hw code to platform.c") The above commit consolidated the low-level phy access into a common location. This change introduced a check from the gadget requiring that a PHY is specified. This requirement never existed on the host side and broke some platforms when it was moved into platform.c. The gadget doesn't require the PHY either so remove the check. Acked-by: NEric Anholt <eric@anholt.net> Reported-by: NStefan Wahren <info@lategoodbye.de> Cc: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: NJohn Youn <johnyoun@synopsys.com> Tested-by: NMarek Szyprowski <m.szyprowski@samsung.com> Fixes: 09a75e85 ("usb: dwc2: refactor common low-level hw code to platform.c") Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
- 18 11月, 2015 1 次提交
-
-
由 Douglas Anderson 提交于
The comment for ahbcfg for rk3066 parameters (also used for rk3288) claimed that ahbcfg was INCR16, but it wasn't. Since the bits weren't shifted properly, the 0x7 ended up being masked and we ended up programming 0x3 for the HBstLen. Let's set it to INCR16 properly. As per Wu Liang Feng at Rockchip this may increase transmission efficiency. I did blackbox tests with writing 0s to a USB-based SD reader (forcefully capping CPU Freq to try to measure efficiency): cd /sys/devices/system/cpu/cpu0/cpufreq echo userspace > scaling_governor echo 126000 > scaling_setspeed for i in $(seq 10); do dd if=/dev/zero of=/dev/sdb bs=1M count=750 done With the above tests I found that speeds went from ~15MB/s to ~18MB/s. Note that most other tests I did (including reading from the same USB reader) didn't show any difference in performance. Tested-by: NHeiko Stuebner <heiko@sntech.de> Acked-by: NJohn Youn <johnyoun@synopsys.com> Reviewed-by: NLiangfeng Wu <wulf@rock-chips.com> Signed-off-by: NDouglas Anderson <dianders@chromium.org> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
- 14 10月, 2015 2 次提交
-
-
由 Marek Szyprowski 提交于
DWC2 module on some platforms needs three additional hardware resources: phy controller, clock and power supply. All of them must be enabled/activated to properly initialize and operate. This was initially handled in s3c-hsotg driver, which has been converted to 'gadget' part of dwc2 driver. Unfortunately, not all of this code got moved to common platform code, what resulted in accessing DWC2 registers without enabling low-level hardware resources. This fails for example on Exynos SoCs. This patch moves all the code for managing those resources to common platform.c file and provides convenient wrappers for controlling them. Signed-off-by: NMarek Szyprowski <m.szyprowski@samsung.com> Acked-by: NJohn Youn <johnyoun@synopsys.com> Tested-by: NJohn Youn <johnyoun@synopsys.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
由 Marek Szyprowski 提交于
init_mutex is a leftover from the time, when s3c-hsotg driver did not implement proper pull up/down control and emulated it by enabling enabling/disabling usb phy. Proper pull up/down control has been added by commit 5b9451f8 ("usb: dwc2: gadget: use soft-disconnect udc feature in pullup() method"), so init_muxtex can be removed now to avoid potential deadlocks with other locks. Signed-off-by: NMarek Szyprowski <m.szyprowski@samsung.com> Acked-by: NJohn Youn <johnyoun@synopsys.com> Tested-by: NJohn Youn <johnyoun@synopsys.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
- 02 10月, 2015 2 次提交
-
-
由 Marek Szyprowski 提交于
Even when DWC2 is in (internal) suspended state, it should disable PHY in suspend and then enable it in resume. This patch fixes unbalanced PHY control sequence. Tested-by: NJohn Youn <johnyoun@synopsys.com> Acked-by: NJohn Youn <johnyoun@synopsys.com> Signed-off-by: NMarek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
由 Mian Yousaf Kaukab 提交于
If dual role configuration is not selected, check and force dr_mode based on the selected configuration. Signed-off-by: NMian Yousaf Kaukab <yousaf.kaukab@intel.com> Tested-by: NRobert Baldyga <r.baldyga@samsung.com> Tested-by: NDinh Nguyen <dinguyen@opensource.altera.com> Tested-by: NJohn Youn <johnyoun@synopsys.com> Acked-by: NJohn Youn <johnyoun@synopsys.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
- 27 9月, 2015 2 次提交
-
-
由 Heikki Krogerus 提交于
By using the unified device property interface, the function can be made available for all platforms and not just the ones using DT. Signed-off-by: NHeikki Krogerus <heikki.krogerus@linux.intel.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
由 Felipe Balbi 提交于
this driver has long ago became dwc2.ko with both peripheral and host roles, there's no point in keeping the old function names. Acked-by: NJohn Youn <johnyoun@synopsys.com> Tested-by: NJohn Youn <johnyoun@synopsys.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
- 30 4月, 2015 4 次提交
-
-
由 Gregory Herrero 提交于
dwc2 may not be able to exit from hibernation if the hardware does not provide a way to detect resume signalling in this state. Thus, add the possibility to disable hibernation feature. Acked-by: NJohn Youn <johnyoun@synopsys.com> Signed-off-by: NGregory Herrero <gregory.herrero@intel.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
由 Mian Yousaf Kaukab 提交于
So the parameters can be used in both host and gadget modes. Also consolidate param functions in the core.h Acked-by: NJohn Youn <johnyoun@synopsys.com> Signed-off-by: NMian Yousaf Kaukab <yousaf.kaukab@intel.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
由 Gregory Herrero 提交于
This is required due to an Intel specific hardware issue. Where id- pin setup causes glitches on the interrupt line when CONIDSTSCHG interrupt is enabled. Specify external_id_pin_ctl when an external driver (for example phy) can handle id change, so that CONIDSTSCHG interrupt can be disabled from the controller. Acked-by: NJohn Youn <johnyoun@synopsys.com> Signed-off-by: NGregory Herrero <gregory.herrero@intel.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
由 Mian Yousaf Kaukab 提交于
Prepare to add more debug code. Moreover, don't save dentry * for each file in struct dwc2_hsotg as clean up is done with debugfs_remove_recursive(). s3c_hsotg_delete_debug() is removed altogether for the same reason. Acked-by: NJohn Youn <johnyoun@synopsys.com> Signed-off-by: NMian Yousaf Kaukab <yousaf.kaukab@intel.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
- 13 3月, 2015 1 次提交
-
-
由 Marek Szyprowski 提交于
If device is configured to work only in HOST or DEVICE mode, there is no point in initializing both subdrivers. This patch also fixes resource leakage if host subdriver fails to initialize. Acked-by: NJohn Youn <johnyoun@synopsys.com> Signed-off-by: NMarek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
- 13 1月, 2015 1 次提交
-
-
由 Yunzhi Li 提交于
Get PHY parameters from devicetree and power off usb PHY during system suspend. Acked-by: NPaul Zimmerman <paulz@synopsys.com> Signed-off-by: NYunzhi Li <lyz@rock-chips.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
- 25 11月, 2014 1 次提交
-
-
由 Fabio Estevam 提交于
Building with bcm2835_defconfig, which has CONFIG_PM_SLEEP=n causes the following build warning: drivers/usb/dwc2/platform.c:227:12: warning: 'dwc2_suspend' defined but not used [-Wunused-function] drivers/usb/dwc2/platform.c:237:12: warning: 'dwc2_resume' defined but not used [-Wunused-function] Annotate these functions with '__maybe_unused' to prevent the warnings. Reported-by: NOlof's autobuilder <build@lixom.net> Signed-off-by: NFabio Estevam <fabio.estevam@freescale.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
- 21 11月, 2014 1 次提交
-
-
由 Marek Szyprowski 提交于
This patch adds mutex, which protects initialization and deinitialization procedures against suspend/resume methods. This mutex will be needed by the updated suspend/resume calls, which tracks gadget state. Signed-off-by: NMarek Szyprowski <m.szyprowski@samsung.com> Acked-by: NPaul Zimmerman <paulz@synopsys.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
- 15 11月, 2014 4 次提交
-
-
由 Dinh Nguyen 提交于
Since platform.c will get built for both Host and Gadget, if we leave the usb_disabled() call in platform.c, it results in the following build error when (!USB && USB_GADGET) condition is met. ERROR: "usb_disabled" [drivers/usb/dwc2/dwc2_platform.ko] undefined! Since usb_disabled() is mostly used to disable USB host functionality, move the call the host portion for the DWC2 driver. Acked-by: NPaul Zimmerman <paulz@synopsys.com> Signed-off-by: NDinh Nguyen <dinguyen@opensource.altera.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
由 Dinh Nguyen 提交于
Make dwc2_handle_common_intr call the gadget interrupt function when operating in peripheral mode. Remove the spinlock functions in s3c_hsotg_irq as dwc2_handle_common_intr() already has the spinlocks. Move the registeration of the IRQ to common code for platform and PCI. Remove duplicate interrupt conditions that was in gadget, as those are handled by dwc2 common interrupt handler. Acked-by: NPaul Zimmerman <paulz@synopsys.com> Signed-off-by: NDinh Nguyen <dinguyen@opensource.altera.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
由 Dinh Nguyen 提交于
Update suspend/resume to use dev_pm_ops API. Acked-by: NPaul Zimmerman <paulz@synopsys.com> Signed-off-by: NDinh Nguyen <dinguyen@opensource.altera.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
由 Dinh Nguyen 提交于
This patch will aggregate the probing of gadget/hcd driver into platform.c. The gadget probe funtion is converted into gadget_init that is now only responsible for gadget only initialization. All the gadget resources are now handled by platform.c Since the host workqueue will not get initialized if the driver is configured for peripheral mode only. Thus we need to check for wq_otg before calling queue_work(). Also, we move spin_lock_init to common location for both host and gadget that is either in platform.c or pci.c. We also move suspend/resume code to common platform code. Lastly, move the "samsung,s3c6400-hsotg" binding into dwc2_of_match_table. Signed-off-by: NDinh Nguyen <dinguyen@opensource.altera.com> Acked-by: NPaul Zimmerman <paulz@synopsys.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
- 12 9月, 2014 1 次提交
-
-
由 Robert Baldyga 提交于
This reverts commit 8df43857. This patch breaks building dwc2 driver in gadget mode at samsung platforms. Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 09 9月, 2014 3 次提交
-
-
由 Dinh Nguyen 提交于
Move the "samsung,s3c6400-hsotg" binding as the probe function in the gadget driver will get removed when the dual-role driver is implemented. Signed-off-by: NDinh Nguyen <dinguyen@opensource.altera.com> Acked-by: NPaul Zimmerman <paulz@synopsys.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 Kever Yang 提交于
According to the "dr_mode", the otg controller can work as device role and host role. Some boards always want to use host mode and some other boards want to use gadget mode. We use the dts setting to set dwc2's mode, rather than fixing it to whatever hardware says. Signed-off-by: NKever Yang <kever.yang@rock-chips.com> Acked-by: NPaul Zimmerman <paulz@synopsys.com> Tested-by: NDoug Anderson <dianders@chromium.org> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 Kever Yang 提交于
This patch add compatible data for dwc2 controller found on rk3066, rk3188 and rk3288 processors from rockchip. Signed-off-by: NKever Yang <kever.yang@rock-chips.com> Acked-by: NPaul Zimmerman <paulz@synopsys.com> Reviewed-by: NDoug Anderson <dianders@chromium.org> Tested-by: NDoug Anderson <dianders@chromium.org> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 28 5月, 2014 1 次提交
-
-
由 Dinh Nguyen 提交于
Even though the IP supports Descriptor DMA mode, it does not support SPLIT transactions in this mode. So the driver, in its currently form, will not support LS/FS devices when connected to a HS Hub if Descriptor DMA mode is enabled. So we should just default to disable descriptor dma mode. Signed-off-by: NDinh Nguyen <dinguyen@altera.com> Acked-by: NPaul Zimmerman <paulz@synopsys.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 05 2月, 2014 1 次提交
-
-
由 Andre Heider 提交于
Add usb_disabled() check to prevent kernel oops when booting with "nousb" in the cmdline: Unable to handle kernel NULL pointer dereference at virtual address 00000030 ... PC is at bus_add_device+0xe0/0x18c LR is at device_add_groups+0x1c/0x20 ... [<c02191c0>] (bus_add_device) from [<c0217130>] (device_add+0x41c/0x538) [<c0217130>] (device_add) from [<c023b1d4>] (usb_new_device+0x270/0x35c) [<c023b1d4>] (usb_new_device) from [<c0241174>] (usb_add_hcd+0x4fc/0x760) [<c0241174>] (usb_add_hcd) from [<c0254ce0>] (dwc2_hcd_init+0x434/0x510) [<c0254ce0>] (dwc2_hcd_init) from [<c02594f4>] (dwc2_driver_probe+0x130/0x170) [<c02594f4>] (dwc2_driver_probe) from [<c021bbd0>] (platform_drv_probe+0x28/0x58) Signed-off-by: NAndre Heider <a.heider@gmail.com> Acked-by: NPaul Zimmerman <paulz@synopsys.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 14 1月, 2014 1 次提交
-
-
由 Paul Zimmerman 提交于
The DWC2 driver should now be in good enough shape to move out of staging. I have stress tested it overnight on RPI running mass storage and Ethernet transfers in parallel, and for several days on our proprietary PCI-based platform. Signed-off-by: NPaul Zimmerman <paulz@synopsys.com> Cc: Felipe Balbi <balbi@ti.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 05 12月, 2013 1 次提交
-
-
由 Stephen Warren 提交于
While Paul said that .uframe_sched should be enabled on the BCM2835, and doing so works fine with the built-in wired Ethernet, it prevents my WiFi dongle from operating correctly. Hence, disable the option so that everything works. Signed-off-by: NStephen Warren <swarren@wwwdotorg.org> Acked-by: NPaul Zimmerman <paulz@synopsys.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 04 12月, 2013 1 次提交
-
-
由 Stephen Warren 提交于
The DWC2 USB controller in the BCM2835 (Raspberry Pi) needs some non- default parameters. Select these based on the compatible value from the DT node. For all other HW, fall back to the default parameters currently in use. The values in params_bcm2835[] were posted to the mailing list by Paul quite some time ago. I made a couple of minor modifications since then; to set ahbcfg instead of ahb_single, and to set uframe_sched. Signed-off-by: NStephen Warren <swarren@wwwdotorg.org> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 20 11月, 2013 1 次提交
-
-
由 Geert Uytterhoeven 提交于
device_driver.name is "const char *" Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 31 10月, 2013 1 次提交
-
-
由 Russell King 提交于
The correct way for a driver to specify the coherent DMA mask is not to directly access the field in the struct device, but to use dma_set_coherent_mask(). Only arch and bus code should access this member directly. Convert all direct write accesses to using the correct API. Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
- 29 10月, 2013 1 次提交
-
-
由 Rashika Kheria 提交于
This patch fixes the following smatch warning in platform.c- drivers/staging/dwc2/platform.c:109 dwc2_driver_probe() info: why not propagate 'irq' from platform_get_irq() instead of (-22)? Signed-off-by: NRashika Kheria <rashika.kheria@gmail.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 18 5月, 2013 2 次提交
-
-
由 Wolfram Sang 提交于
devm_ioremap_resource does sanity checks on the given resource. No need to duplicate this in the driver. Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Matthijs Kooijman 提交于
Platform devices added through OF usually do not have any dma_mask pointer set. If the hardware advertises DMA support, the driver will expect DMA buffers to be passed in, but the USB core will not do this due to lack of a dma mask, breaking all connectiviy. To fix this, set a default dma_mask by pointing it at the coherent_dma_mask and set their value to a 32 bit mask. This still allows any platform code to set any more specific mask if needed, but makes the driver work for most dma-enabled hardware. It would be great if this patch could be included in 3.10, since it is needed to make the dwc2 driver work on the ralink rt3052 target. Before, the plan was to set up the dma mask in MIPS platform code, but because of a similar change in ehci and the uglyness of the code for that, the plan for that infrastructure was dropped. This patch makes the setting of the dma_mask happen in the same way as the patch Stephen Warren (set device dma_mask without reference to global data). Signed-off-by: NMatthijs Kooijman <matthijs@stdin.nl> Acked-by: NPaul Zimmerman <paulz@synopsys.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 17 5月, 2013 1 次提交
-
-
由 Wolfram Sang 提交于
devm_ioremap_resource does sanity checks on the given resource. No need to duplicate this in the driver. Signed-off-by: NWolfram Sang <wsa@the-dreams.de> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 24 4月, 2013 1 次提交
-
-
由 Matthijs Kooijman 提交于
This adds a dwc_platform.ko module that can be loaded by using compatible = "snps,dwc2" in a device tree. Signed-off-by: NMatthijs Kooijman <matthijs@stdin.nl> Signed-off-by: NPaul Zimmerman <paulz@synopsys.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-