Hi, Grygorii Strashko writes: >> if of_dma_configure() does what you want, why don't you just stick it in >> dwc3-keystone.c and let the driver continue to copy things for now ? >> Something like below, perhaps ? >> > > I know (and i have patch to fix that which I'm going to send) that DMA config > in dwc3-keystone.c is not correct and we are good till now just > because dwc3_keystone is not used for DMA operations directly. > > Now about xhci and friends: > dwc3_keystone *is created* from DT : of_platform_device_create() -> of_platform_device_create_pdata() -> of_dma_configure() > |- dwc3 *is created* from DT : of_platform_device_create() -> of_platform_device_create_pdata() -> of_dma_configure() > |- [1] *creates* xhci dev manually : DMA configuration copied manually in dwc3_host_init() > |- [2] *creates* usb_gadget dev manually: DMA configuration copied manually in usb_add_gadget_udc_release() > |- *creates* usb_udc dev manually : not used for DMA operations directly (as I've checked) > > Now cases [1] & [2] introduces failures, because DMA configuration is not complete for > these devices. right, then we just copy whatever's missing, right ? Until there's a generic way of copying these bits, I want to avoid introducing any of_* specific methodologies and prefer to have the manual copy. > I can confirm that if I fix [1] & [2] as above USB Device/Dual modes will start > working on K2E. cool, I'd be happy to take both patches ;-) -- balbi