Hello. On 31-01-2012 8:41, Gupta, Ajay Kumar wrote:
As a next step to dma-engine based cppi4.1 driver implementation this RFC has the overview of changes in the musb driver. RFC on CPPI slave driver changes will follow next.
Overview of changes in the musb driver ======================================
1)Add a dma-engine.c file in the drivers/usb/musb folder 2)This file will host the current musb dma APIs and translates them to dmaengine APIs. 3)This will help to keep the changes in drivers/usb/musb/musb* files minimal and also to retain compatibility other DMA (Mentor etc.) drivers which are yet to be moved to drivers/dma 4)drivers/usb/musb/dma-engine.c, will wrap the dmaengine APIs to make existing musb APIs compatible. 5)drivers/usb/musb/dma-engine.c file will implement the filter functions and also implement .dma_controller_create (allocates & provides "dma_controller" object) and .dma_controller_delete 6)CPPI4.1 DMA specific queue and buffer management will be internal to slave CPPI DMA driver implementation.
You mean drivers/dma/ driver?
yes.
I think you are forgotting that CPPI 4.1 MUSB has some registers controlling DMA/interrupts beside those of CPPI 4.1 controller and MUSB core itself. How do they fit in your scheme?
We have been discussing on how to handle these in slave driver and
These certainly cannot be handled in the slave driver because the registers are different for every controller implementation and, the main thing, they don't belong to CPPI 4.1 as such.
would post our proposal in RFC for slave driver design. Do you have any proposal?
I think this will need hooks from dma-engine.c to the glue layers. I was going to implement such in my version of MUSB CPPI 4.1 driver (in order to also support AM35x) but lacked time.
Regards, Ajay
WBR, Sergei -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html