- 08 9月, 2016 1 次提交
-
-
由 Jim Baxter 提交于
The struct ffs_data::private_data has a pointer to ffs_dev stored in it during the ffs_fs_mount() function however it is not cleared when the ffs_dev is freed later which causes the ffs_closed function to crash with "Unable to handle kernel NULL pointer dereference" error when using the data in ffs_data::private_data. This clears this pointer during the ffs_free_dev clean up function. Signed-off-by: NJim Baxter <jim_baxter@mentor.com> Signed-off-by: NJiada Wang <jiada_wang@mentor.com> Signed-off-by: NHarish Jenny K N <harish_kandiga@mentor.com> Signed-off-by: NFelipe Balbi <felipe.balbi@linux.intel.com>
-
- 07 9月, 2016 1 次提交
-
-
由 Thinh Nguyen 提交于
This patch follows the similar fix in dwc2. See commit 5268ed9d ("usb: dwc2: Fix dr_mode validation") Currently, the dr_mode is only checked against the module configuration. It also needs to be checked against the hardware capablities. The driver now checks if both the module configuration and hardware are capable of the dr_mode value. If not, then it will issue a warning and fall back to a supported value. If it is unable to fall back to a suitable value, then the probe will fail. Behavior summary: module : actual HW config dr_mode : dr_mode --------------------------------- host host any : host host dev any : INVALID host otg any : host dev host any : INVALID dev dev any : dev dev otg any : dev otg host any : host otg dev any : dev otg otg any : dr_mode Signed-off-by: NThinh Nguyen <thinhn@synopsys.com> Signed-off-by: NJohn Youn <johnyoun@synopsys.com> Signed-off-by: NFelipe Balbi <felipe.balbi@linux.intel.com>
-
- 06 9月, 2016 9 次提交
-
-
由 Tal Shorer 提交于
ulpi_register_interface() accepts a const struct ulpi_ops and dwc3 doesn't perform any changes to this struct at runtime, so there's no reason it shouldn't be constant. Reviewed-by: NHeikki Krogerus <heikki.krogerus@linux.intel.com> Signed-off-by: NTal Shorer <tal.shorer@gmail.com> Signed-off-by: NFelipe Balbi <felipe.balbi@linux.intel.com>
-
由 Tal Shorer 提交于
None of the core ulpi functions perform any changes to the operations struct, and logically as a struct that contains function pointers there's no reason it shouldn't be constant. Acked-by: NHeikki Krogerus <heikki.krogerus@linux.intel.com> Signed-off-by: NTal Shorer <tal.shorer@gmail.com> Signed-off-by: NFelipe Balbi <felipe.balbi@linux.intel.com>
-
由 Tal Shorer 提交于
Operations now use ulpi->dev.parent directly instead of via the ulpi_ops struct, making this field unused. Remove it. Acked-by: NHeikki Krogerus <heikki.krogerus@linux.intel.com> Signed-off-by: NTal Shorer <tal.shorer@gmail.com> Signed-off-by: NFelipe Balbi <felipe.balbi@linux.intel.com>
-
由 Tal Shorer 提交于
With the removal of the old {read|write} operations, we can now safely rename the new api operations {read|write}_dev to use the shorter and clearer names {read|write}, respectively. Acked-by: NHeikki Krogerus <heikki.krogerus@linux.intel.com> Signed-off-by: NTal Shorer <tal.shorer@gmail.com> Signed-off-by: NFelipe Balbi <felipe.balbi@linux.intel.com>
-
由 Tal Shorer 提交于
Now that all users use the new api callbacks, remove the old api callbacks and force new interface drivers to use the new api. Acked-by: NHeikki Krogerus <heikki.krogerus@linux.intel.com> Signed-off-by: NTal Shorer <tal.shorer@gmail.com> Signed-off-by: NFelipe Balbi <felipe.balbi@linux.intel.com>
-
由 Tal Shorer 提交于
The old read, write callbacks in struct ulpi_ops have been deprecated in favor of new callbacks that pass the parent device directly. Replace the used callbacks in dwc3's ulpi component with the new api. Reviewed-by: NHeikki Krogerus <heikki.krogerus@linux.intel.com> Signed-off-by: NTal Shorer <tal.shorer@gmail.com> Signed-off-by: NFelipe Balbi <felipe.balbi@linux.intel.com>
-
由 Tal Shorer 提交于
Add these two new api callbacks to struct ulpi_ops. These are different than read, write in that they pass the parent device directly instead of via the ops argument. They are intended to replace the old api functions. If the new api callbacks are missing, revert to calling the old ones as before. Acked-by: NHeikki Krogerus <heikki.krogerus@linux.intel.com> Signed-off-by: NTal Shorer <tal.shorer@gmail.com> Signed-off-by: NFelipe Balbi <felipe.balbi@linux.intel.com>
-
由 Tal Shorer 提交于
Once ulpi operations use the parent device directly, this will be needed during the operations used in ulpi_register() itself, so set the parent field before calling any ulpi operations. Acked-by: NHeikki Krogerus <heikki.krogerus@linux.intel.com> Signed-off-by: NTal Shorer <tal.shorer@gmail.com> Signed-off-by: NFelipe Balbi <felipe.balbi@linux.intel.com>
-
由 John Youn 提交于
This property is not needed because the periodic fifos are not configurable. So it was incorrect to add this property in the first place. Acked-by: NRob Herring <robh@kernel.org> Signed-off-by: NJohn Youn <johnyoun@synopsys.com> Signed-off-by: NFelipe Balbi <felipe.balbi@linux.intel.com>
-
- 31 8月, 2016 13 次提交
-
-
由 Robert Baldyga 提交于
As kill_all_requests() potentially flushes TX FIFO, we should should free FIFO after calling it. Otherwise FIFO could stay unflushed properly. Signed-off-by: NRobert Baldyga <r.baldyga@samsung.com> Signed-off-by: NJohn Youn <johnyoun@synopsys.com> Signed-off-by: NFelipe Balbi <felipe.balbi@linux.intel.com>
-
由 Robert Baldyga 提交于
Since FIFO is always freed in dwc2_hsotg_ep_disable(), ep->fifo_index is always 0 in dwc2_hsotg_ep_enable(), hence code inside if() block is never executed. Signed-off-by: NRobert Baldyga <r.baldyga@samsung.com> Signed-off-by: NJohn Youn <johnyoun@synopsys.com> Signed-off-by: NFelipe Balbi <felipe.balbi@linux.intel.com>
-
由 Robert Baldyga 提交于
Since we handle FIFOs and endpoint separately, using variable named 'ep' in context of FIFO is misleading, hence we rename it to 'fifo'. Signed-off-by: NRobert Baldyga <r.baldyga@samsung.com> Signed-off-by: NJohn Youn <johnyoun@synopsys.com> Signed-off-by: NFelipe Balbi <felipe.balbi@linux.intel.com>
-
由 Robert Baldyga 提交于
According to DWC2 documentation, DPTxFSize field of DPTXFSIZn register is read only, which means that software cannot change FIFO size. Register description says: "The value of this register is the Largest Device Mode Periodic Tx Data FIFO Depth (parameter OTG_TX_DPERIO_DFIFO_DEPTH_n), as specified during coreConsultant configuration." That means, that we have to setup only FIFO start addresses (DPTxFStAddr), taking into account reset values of DPTxFSize. Initialize FIFO start addresses properly and remove unneeded core related to incorrect FIFO size initialization. Signed-off-by: NRobert Baldyga <r.baldyga@samsung.com> Signed-off-by: NJohn Youn <johnyoun@synopsys.com> Signed-off-by: NFelipe Balbi <felipe.balbi@linux.intel.com>
-
由 Robert Baldyga 提交于
In context of FIFO registers we use ep->fifo_index instead of ep->index. Signed-off-by: NRobert Baldyga <r.baldyga@samsung.com> Signed-off-by: NJohn Youn <johnyoun@synopsys.com> Signed-off-by: NFelipe Balbi <felipe.balbi@linux.intel.com>
-
由 Romain Izard 提交于
Disabling USB gadget functions configured through configfs is something that can happen in normal use cases. Keep the existing log for this type of event, but only as debug, not as an error. Signed-off-by: NRomain Izard <romain.izard.pro@gmail.com> Signed-off-by: NFelipe Balbi <felipe.balbi@linux.intel.com>
-
由 Petr Cvek 提交于
Some UVC commands require additional data (non zero uvc->event_length). Add usb_ep_queue() call, so uvc_function_ep0_complete() can be called and send received data to the userspace. Signed-off-by: NPetr Cvek <petr.cvek@tul.cz> Signed-off-by: NFelipe Balbi <felipe.balbi@linux.intel.com>
-
由 Yoshihiro Shimoda 提交于
This patch sets the quirk_avoids_skb_reserve flag to improve performance of a network gadget driver (e.g. f_ncm.c) if USB-DMAC is used. For example (on r8a7795 board + f_ncm.c + iperf udp mode / receiving): - without this patch: 90.3 Mbits/sec - with this patch: 273 Mbits/sec Signed-off-by: NYoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> Signed-off-by: NFelipe Balbi <felipe.balbi@linux.intel.com>
-
由 Yoshihiro Shimoda 提交于
This patch adds to support no_skb_reserve function to improve performance for some platforms. About the detail, please refer to the commit log of "quirk_avoids_skb_reserve" in include/linux/usb/gadget.h. Signed-off-by: NYoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> Signed-off-by: NFelipe Balbi <felipe.balbi@linux.intel.com>
-
由 Yoshihiro Shimoda 提交于
This patch adds a flag "no_skb_reserve" in struct eth_dev. So, if a peripheral driver sets the quirk_avoids_skb_reserve flag, upper network gadget drivers (e.g. f_ncm.c) can avoid skb_reserve() calling using the flag as well. Signed-off-by: NYoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> Signed-off-by: NFelipe Balbi <felipe.balbi@linux.intel.com>
-
由 Yoshihiro Shimoda 提交于
Some platforms (e.g. USB-DMAC on R-Car SoCs) has memory alignment restriction. If memory alignment is not match, the usb peripheral driver decides not to use the DMA controller. Then, the performance is not good. In the case of u_ether.c, since it calls skb_reserve() in rx_submit(), it is possible to cause memory alignment mismatch. So, this patch adds a new quirk "quirk_avoids_skb_reserve" to avoid skb_reserve() calling in u_ether.c to improve performance. A peripheral driver will set this flag and network gadget drivers (e.g. f_ncm.c) will reference the flag via gadget_avoids_skb_reserve(). Signed-off-by: NYoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> Signed-off-by: NFelipe Balbi <felipe.balbi@linux.intel.com>
-
由 Colin Ian King 提交于
trivial typo fix in dev_err message Signed-off-by: NColin Ian King <colin.king@canonical.com> Signed-off-by: NFelipe Balbi <felipe.balbi@linux.intel.com>
-
由 Yoshihiro Shimoda 提交于
This patch adds support for r8a7796 (R-Car M3-W). Acked-by: NGeert Uytterhoeven <geert+renesas@glider.be> Acked-by: NRob Herring <robh@kernel.org> Signed-off-by: NYoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> Signed-off-by: NFelipe Balbi <felipe.balbi@linux.intel.com>
-
- 29 8月, 2016 9 次提交
-
-
由 Alexey Khoroshilov 提交于
Memory allocated for goku_udc device is not deallocated at error paths in goku_probe(), because gadget_release() destructor is not registered yet. Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: NAlexey Khoroshilov <khoroshilov@ispras.ru> Signed-off-by: NFelipe Balbi <felipe.balbi@linux.intel.com>
-
由 Wolfram Sang 提交于
All kmalloc-based functions print enough information on failures. Signed-off-by: NWolfram Sang <wsa-dev@sang-engineering.com> Signed-off-by: NFelipe Balbi <felipe.balbi@linux.intel.com>
-
由 Wolfram Sang 提交于
All kmalloc-based functions print enough information on failures. Signed-off-by: NWolfram Sang <wsa-dev@sang-engineering.com> Signed-off-by: NFelipe Balbi <felipe.balbi@linux.intel.com>
-
由 Wolfram Sang 提交于
All kmalloc-based functions print enough information on failures. Signed-off-by: NWolfram Sang <wsa-dev@sang-engineering.com> Signed-off-by: NFelipe Balbi <felipe.balbi@linux.intel.com>
-
由 Wolfram Sang 提交于
All kmalloc-based functions print enough information on failures. Signed-off-by: NWolfram Sang <wsa-dev@sang-engineering.com> Signed-off-by: NFelipe Balbi <felipe.balbi@linux.intel.com>
-
由 Wolfram Sang 提交于
All kmalloc-based functions print enough information on failures. Signed-off-by: NWolfram Sang <wsa-dev@sang-engineering.com> Signed-off-by: NFelipe Balbi <felipe.balbi@linux.intel.com>
-
由 Wolfram Sang 提交于
All kmalloc-based functions print enough information on failures. Signed-off-by: NWolfram Sang <wsa-dev@sang-engineering.com> Signed-off-by: NFelipe Balbi <felipe.balbi@linux.intel.com>
-
由 Wolfram Sang 提交于
All kmalloc-based functions print enough information on failures. Signed-off-by: NWolfram Sang <wsa-dev@sang-engineering.com> Signed-off-by: NFelipe Balbi <felipe.balbi@linux.intel.com>
-
由 Colin Ian King 提交于
Trivial fix to spelling mistakes in dev_err messages. Signed-off-by: NColin Ian King <colin.king@canonical.com> Signed-off-by: NFelipe Balbi <felipe.balbi@linux.intel.com>
-
- 26 8月, 2016 1 次提交
-
-
由 Felipe Balbi 提交于
It's perfectly fine to have all configfs functions built-in while having modular legacy gadgets. Let's allow for that. Signed-off-by: NFelipe Balbi <felipe.balbi@linux.intel.com>
-
- 25 8月, 2016 6 次提交
-
-
由 Felipe Balbi 提交于
In case our TRB ring is full, we can avoid trying to kick transfers which won't start and just add requests to the queue. Signed-off-by: NFelipe Balbi <felipe.balbi@linux.intel.com>
-
由 Felipe Balbi 提交于
Instead, we can always rely on dwc3_calc_trbs_left() directly. Signed-off-by: NFelipe Balbi <felipe.balbi@linux.intel.com>
-
由 Felipe F. Tonello 提交于
Use gadget's framework allocation function instead of directly calling usb_ep_alloc_request(). Signed-off-by: NFelipe F. Tonello <eu@felipetonello.com> Signed-off-by: NFelipe Balbi <felipe.balbi@linux.intel.com>
-
由 Felipe F. Tonello 提交于
We should always use free_ep_req() when allocating requests with alloc_ep_req(). Signed-off-by: NFelipe F. Tonello <eu@felipetonello.com> Signed-off-by: NFelipe Balbi <felipe.balbi@linux.intel.com>
-
由 Felipe F. Tonello 提交于
The default_length parameter of alloc_ep_req was not really necessary and gadget drivers would almost always create an inline function to pass the same value to len and default_len. This patch removes that parameter and updates all calls to alloc_ep_req() to use the new API. Signed-off-by: NFelipe F. Tonello <eu@felipetonello.com> Signed-off-by: NFelipe Balbi <felipe.balbi@linux.intel.com>
-
由 John Youn 提交于
ENDXFER polling is available on version 3.10a and later of the DWC_usb3 (USB 3.0) controller. With this feature, the software can poll the CMDACT bit in the DEPCMD register after issuing an ENDXFER command. This feature is enabled by writing GUCTL2[14]. This feature is NOT available on the DWC_usb31 (USB 3.1) IP. Signed-off-by: NJohn Youn <johnyoun@synopsys.com> Signed-off-by: NFelipe Balbi <felipe.balbi@linux.intel.com>
-