Hello! On 1/19/2017 1:06 PM, Alexandre Bailon wrote:
Currently, the CPPI 4.1 driver is not completely generic and only work on dsps. This is because of IRQ management.
Works. DSPS.
Add a callback to dma_controller that could be invoked on DMA completion to acknodlege the IRQ.
Acknowledge.
Signed-off-by: Alexandre Bailon <abailon@xxxxxxxxxxxx>
[...]
diff --git a/drivers/usb/musb/musb_dma.h b/drivers/usb/musb/musb_dma.h index 46357e1..8bea0cd 100644 --- a/drivers/usb/musb/musb_dma.h +++ b/drivers/usb/musb/musb_dma.h @@ -181,10 +181,13 @@ dma_channel_status(struct dma_channel *c) * @channel_release: call this to release a DMA channel * @channel_abort: call this to abort a pending DMA transaction, * returning it to FREE (but allocated) state + * @platform_dma_callback: invoked on DMA completion, useful to run platform
It's called just dma_callback below.
+ * code such IRQ acknowledgment. * * Controllers manage dma channels. */ struct dma_controller { + struct musb *musb;
You forgot to document this above.
struct dma_channel *(*channel_alloc)(struct dma_controller *, struct musb_hw_ep *, u8 is_tx); void (*channel_release)(struct dma_channel *); @@ -196,6 +199,7 @@ struct dma_controller { int (*is_compatible)(struct dma_channel *channel, u16 maxpacket, void *buf, u32 length); + void (*dma_callback)(struct dma_controller *); }; /* called after channel_program(), may indicate a fault */
MBR, Sergei -- To unsubscribe from this list: send the line "unsubscribe dmaengine" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html