(please, always Cc linux-usb) Raveendra Padasalagi <raveendra.padasalagi@xxxxxxxxxxxx> writes: > Hi Felipe, > > The driver present at location: drivers/usb/gadget/udc/snps_udc_core.c > handles Synopsys UDC controller implementation and it's currently used by > AMD SoC's. > > In Broadcom SoC's we use same Synopsys UDC Controller on ARM 32 bit and > 64 bit SoC's. With the current driver snps_udc_core.c many issues exists, > > 1. Driver crashes during enumeration due to bus_to_virt() used in > driver to convert Physical address of dma descriptors to Virtual > address on 32 bit ARM SoC's and the same thing works on ARM 64 bit. > bus_to_virt() is not giving the correct virtual address from physical > address. okay, send me a patch fixing it. > 2. After fixing issue mentioned in 1 above, SETCONFIG usb standard > control requests goes through and fails to recieve SETUP packet after > USB control out data transfer. Problem identified to be Receive > DMA[RxDMA] is not enabled. > Driver has timer function and global variable to decide on enabling > RxDMA, due some race condition RxDMA is not enabled. > > In Broadcom we have a well tested driver for the same controller > working on ARM 32 bit and 64 bit SoC's. > > So wanted to check if it's ok to replace snps_udc_core.c with updated > driver from Broadcom to make it work generically on any SoC. Please > suggest your opinion on the same. No huge replacements, sorry. We need patches to fix individual issues as you find them. Best of luck -- balbi
Attachment:
signature.asc
Description: PGP signature