This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

request dma channel on dm6467

hi:

I need to request three DMA channels, but the system starts with only two DMA channels are free, and specific operations are as follows:

In the kernel source "arch / arm / mach-davinci / dma.c", use "alloc_resource" function to request  EDMA_DMA_CHANNEL_ANY types of DMA channels, found that only two channels are free

Theory DM6467 has 64 DMA channels, why is the system starts with only two channels are available?


thank you

  • I do not have all the details as it relates to DM6467, but I figure I would share what I know and hopefully it will help point you in the right direction.

    The DMA channels are split among ARM and DSP.  There should be a header file in the kernel that describes the DMA resources allocated to ARM and a DSP server .cfg file describing the DMA resources allocated to the DSP.  If we focus on the ARM side, there are a few peripherals such as MMC driver, audio driver, possibly Ethernet and USB drivers that use up some of the DMA channels allocated to ARM.  Bottom line, as a system integrator, you can decide based on how many channels you have available in hardware, how you want to use these DMA channels; you can disable/enable drivers accordingly and also change the DMA header file and cfg file suggested above.  Apologies that I could only provide this top-level overview at this time.