diff options
author | Roy Huang <roy.huang@analog.com> | 2007-10-10 11:31:19 -0400 |
---|---|---|
committer | Bryan Wu <bryan.wu@analog.com> | 2007-10-10 11:31:19 -0400 |
commit | 1d945e2b3e421f2ce01b2eb260392f888406933f (patch) | |
tree | 306716a6ebba2e17af352ece0bad9af34c9a7843 | |
parent | 518039bc24cbb9ce34665814fe120eac50bedd9a (diff) |
Blackfin arch: add set_dma_curr_addr DMA API to support sound driver recording function
Signed-off-by: Roy Huang <roy.huang@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
-rw-r--r-- | arch/blackfin/kernel/bfin_dma_5xx.c | 10 | ||||
-rw-r--r-- | include/asm-blackfin/dma.h | 1 |
2 files changed, 11 insertions, 0 deletions
diff --git a/arch/blackfin/kernel/bfin_dma_5xx.c b/arch/blackfin/kernel/bfin_dma_5xx.c index 7cf02f02a1db..7e2201908356 100644 --- a/arch/blackfin/kernel/bfin_dma_5xx.c +++ b/arch/blackfin/kernel/bfin_dma_5xx.c | |||
@@ -345,6 +345,16 @@ void set_dma_sg(unsigned int channel, struct dmasg *sg, int nr_sg) | |||
345 | } | 345 | } |
346 | EXPORT_SYMBOL(set_dma_sg); | 346 | EXPORT_SYMBOL(set_dma_sg); |
347 | 347 | ||
348 | void set_dma_curr_addr(unsigned int channel, unsigned long addr) | ||
349 | { | ||
350 | BUG_ON(!(dma_ch[channel].chan_status != DMA_CHANNEL_FREE | ||
351 | && channel < MAX_BLACKFIN_DMA_CHANNEL)); | ||
352 | |||
353 | dma_ch[channel].regs->curr_addr_ptr = addr; | ||
354 | SSYNC(); | ||
355 | } | ||
356 | EXPORT_SYMBOL(set_dma_curr_addr); | ||
357 | |||
348 | /*------------------------------------------------------------------------------ | 358 | /*------------------------------------------------------------------------------ |
349 | * Get the DMA status of a specific DMA channel from the system. | 359 | * Get the DMA status of a specific DMA channel from the system. |
350 | *-----------------------------------------------------------------------------*/ | 360 | *-----------------------------------------------------------------------------*/ |
diff --git a/include/asm-blackfin/dma.h b/include/asm-blackfin/dma.h index be0d913e5516..4269082b154a 100644 --- a/include/asm-blackfin/dma.h +++ b/include/asm-blackfin/dma.h | |||
@@ -159,6 +159,7 @@ void set_dma_y_modify(unsigned int channel, short y_modify); | |||
159 | void set_dma_config(unsigned int channel, unsigned short config); | 159 | void set_dma_config(unsigned int channel, unsigned short config); |
160 | unsigned short set_bfin_dma_config(char direction, char flow_mode, | 160 | unsigned short set_bfin_dma_config(char direction, char flow_mode, |
161 | char intr_mode, char dma_mode, char width); | 161 | char intr_mode, char dma_mode, char width); |
162 | void set_dma_curr_addr(unsigned int channel, unsigned long addr); | ||
162 | 163 | ||
163 | /* get curr status for polling */ | 164 | /* get curr status for polling */ |
164 | unsigned short get_dma_curr_irqstat(unsigned int channel); | 165 | unsigned short get_dma_curr_irqstat(unsigned int channel); |