(please, always Cc linux-usb)

Raveendra Padasalagi <raveendra.padasal...@broadcom.com> 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

Reply via email to