davinci: EDMA: multiple CCs, channel mapping and API changes
- restructure to support multiple channel controllers by using additional struct resources for each CC - interface changes visible to EDMA clients Introduce macros to build IDs from controller and channel number, and to extract them. Modify the edma_alloc_slot function to take an extra argument for the controller. Also update ASoC drivers to use API. ASoC changes Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> - Move queue related mappings to dm<soc>.c EDMA in DM355 and DM644x has two transfer controllers while DM646x has four transfer controllers. Moving the queue to tc mapping and queue priority mapping to dm<soc>.c will be helpful to probe these mappings from platform device so that the machine_is_* testing will be avoided. - add channel mapping logic Channel mapping logic is introduced in dm646x EDMA. This implies that there is no fixed association for a channel number to a parameter entry number. In other words, using the DMA channel mapping registers (DCHMAPn), a PaRAM entry can be mapped to any channel. While in the case of dm644x and dm355 there is a fixed mapping between the EDMA channel and Param entry number. Signed-off-by: Naresh Medisetty <naresh@ti.com> Signed-off-by: Sudhakar Rajashekhara <sudhakar.raj@ti.com> Reviewed-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
This commit is contained in:
committed by
Kevin Hilman
parent
4c5adde794
commit
60902a2cb1
@ -82,10 +82,10 @@ static struct resource mmcsd0_resources[] = {
|
||||
},
|
||||
/* DMA channels: RX, then TX */
|
||||
{
|
||||
.start = DAVINCI_DMA_MMCRXEVT,
|
||||
.start = EDMA_CTLR_CHAN(0, DAVINCI_DMA_MMCRXEVT),
|
||||
.flags = IORESOURCE_DMA,
|
||||
}, {
|
||||
.start = DAVINCI_DMA_MMCTXEVT,
|
||||
.start = EDMA_CTLR_CHAN(0, DAVINCI_DMA_MMCTXEVT),
|
||||
.flags = IORESOURCE_DMA,
|
||||
},
|
||||
};
|
||||
@ -119,10 +119,10 @@ static struct resource mmcsd1_resources[] = {
|
||||
},
|
||||
/* DMA channels: RX, then TX */
|
||||
{
|
||||
.start = 30, /* rx */
|
||||
.start = EDMA_CTLR_CHAN(0, 30), /* rx */
|
||||
.flags = IORESOURCE_DMA,
|
||||
}, {
|
||||
.start = 31, /* tx */
|
||||
.start = EDMA_CTLR_CHAN(0, 31), /* tx */
|
||||
.flags = IORESOURCE_DMA,
|
||||
},
|
||||
};
|
||||
|
Reference in New Issue
Block a user