Refactor so other DMACs can be used for IPC purposes.
Signed-off-by: Liam Girdwood liam.r.girdwood@linux.intel.com --- src/include/reef/intel-ipc.h | 2 +- src/ipc/apl-ipc.c | 2 +- src/ipc/byt-ipc.c | 3 +-- src/ipc/cnl-ipc.c | 2 +- src/ipc/hsw-ipc.c | 2 +- src/ipc/intel-ipc.c | 6 +++--- src/platform/haswell/include/platform/platform.h | 2 +- 7 files changed, 9 insertions(+), 10 deletions(-)
diff --git a/src/include/reef/intel-ipc.h b/src/include/reef/intel-ipc.h index c884e44..f89e9b5 100644 --- a/src/include/reef/intel-ipc.h +++ b/src/include/reef/intel-ipc.h @@ -36,7 +36,7 @@ /* private data for IPC */ struct intel_ipc_data { /* DMA */ - struct dma *dmac0; + struct dma *dmac; uint8_t *page_table; completion_t complete;
diff --git a/src/ipc/apl-ipc.c b/src/ipc/apl-ipc.c index 1332639..167423b 100644 --- a/src/ipc/apl-ipc.c +++ b/src/ipc/apl-ipc.c @@ -198,7 +198,7 @@ int platform_ipc_init(struct ipc *ipc) bzero(iipc->page_table, HOST_PAGE_SIZE);
/* dma */ - iipc->dmac0 = dma_get(DMA_GP_LP_DMAC0); + iipc->dmac = dma_get(DMA_GP_LP_DMAC0);
/* PM */ iipc->pm_prepare_D3 = 0; diff --git a/src/ipc/byt-ipc.c b/src/ipc/byt-ipc.c index e7c1d78..91d8f1b 100644 --- a/src/ipc/byt-ipc.c +++ b/src/ipc/byt-ipc.c @@ -86,7 +86,6 @@ out: shim_write(SHIM_IMRD, shim_read(SHIM_IMRD) & ~SHIM_IMRD_DONE); }
-/* test code to check working IRQ */ static void irq_handler(void *arg) { uint32_t isr; @@ -226,7 +225,7 @@ int platform_ipc_init(struct ipc *ipc) bzero(iipc->page_table, PLATFORM_PAGE_TABLE_SIZE);
/* dma */ - iipc->dmac0 = dma_get(DMA_ID_DMAC0); + iipc->dmac = dma_get(DMA_ID_DMAC0);
/* PM */ iipc->pm_prepare_D3 = 0; diff --git a/src/ipc/cnl-ipc.c b/src/ipc/cnl-ipc.c index 5ccc345..0fcc5be 100644 --- a/src/ipc/cnl-ipc.c +++ b/src/ipc/cnl-ipc.c @@ -198,7 +198,7 @@ int platform_ipc_init(struct ipc *ipc) bzero(iipc->page_table, HOST_PAGE_SIZE);
/* dma */ - iipc->dmac0 = dma_get(DMA_GP_LP_DMAC0); + iipc->dmac = dma_get(DMA_GP_LP_DMAC0);
/* PM */ iipc->pm_prepare_D3 = 0; diff --git a/src/ipc/hsw-ipc.c b/src/ipc/hsw-ipc.c index 7a1dd72..6867be4 100644 --- a/src/ipc/hsw-ipc.c +++ b/src/ipc/hsw-ipc.c @@ -215,7 +215,7 @@ int platform_ipc_init(struct ipc *ipc) bzero(iipc->page_table, PLATFORM_PAGE_TABLE_SIZE);
/* dma */ - iipc->dmac0 = dma_get(DMA_ID_DMAC0); + iipc->dmac = dma_get(DMA_ID_DMAC1);
/* PM */ iipc->pm_prepare_D3 = 0; diff --git a/src/ipc/intel-ipc.c b/src/ipc/intel-ipc.c index 0cfec42..5e14653 100644 --- a/src/ipc/intel-ipc.c +++ b/src/ipc/intel-ipc.c @@ -104,13 +104,13 @@ static int get_page_descriptors(struct intel_ipc_data *iipc, int chan; int ret = 0;
- /* get DMA channel from DMAC0 */ - chan = dma_channel_get(iipc->dmac0, 0); + /* get DMA channel from DMAC */ + chan = dma_channel_get(iipc->dmac, 0); if (chan < 0) { trace_ipc_error("ePC"); return chan; } - dma = iipc->dmac0; + dma = iipc->dmac;
/* set up DMA configuration */ config.direction = DMA_DIR_HMEM_TO_LMEM; diff --git a/src/platform/haswell/include/platform/platform.h b/src/platform/haswell/include/platform/platform.h index 8475e31..2d9315e 100644 --- a/src/platform/haswell/include/platform/platform.h +++ b/src/platform/haswell/include/platform/platform.h @@ -91,7 +91,7 @@ struct reef; #define DMA_TRACE_RESCHEDULE_TIME 5000
/* DMAC used for trace DMA */ -#define PLATFORM_TRACE_DMAC DMA_ID_DMAC0 +#define PLATFORM_TRACE_DMAC DMA_ID_DMAC1
/* DSP should be idle in this time frame */ #define PLATFORM_IDLE_TIME 750000