Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8a26ac7043b0cb3b446ad9f9a3ec0992d0fea1f7
Commit:     8a26ac7043b0cb3b446ad9f9a3ec0992d0fea1f7
Parent:     2cbfe107434b9651168afb21015f3285e02beed3
Author:     Sonic Zhang <[EMAIL PROTECTED]>
AuthorDate: Sun Aug 5 16:14:58 2007 +0800
Committer:  Bryan Wu <[EMAIL PROTECTED]>
CommitDate: Sun Aug 5 16:14:58 2007 +0800

    Blackfin arch: Add DMA API to set curr descriptor address
    
    This API is necessary for DMA descriptor array mode.
    
    Signed-off-by: Sonic Zhang <[EMAIL PROTECTED]>
    Signed-off-by: Bryan Wu <[EMAIL PROTECTED]>
---
 arch/blackfin/kernel/bfin_dma_5xx.c |   15 ++++++++++++++-
 include/asm-blackfin/dma.h          |    1 +
 2 files changed, 15 insertions(+), 1 deletions(-)

diff --git a/arch/blackfin/kernel/bfin_dma_5xx.c 
b/arch/blackfin/kernel/bfin_dma_5xx.c
index 62f5a35..f0db6c5 100644
--- a/arch/blackfin/kernel/bfin_dma_5xx.c
+++ b/arch/blackfin/kernel/bfin_dma_5xx.c
@@ -270,10 +270,23 @@ void set_dma_next_desc_addr(unsigned int channel, 
unsigned long addr)
 
        dma_ch[channel].regs->next_desc_ptr = addr;
        SSYNC();
-       pr_debug("set_dma_start_addr() : END\n");
+       pr_debug("set_dma_next_desc_addr() : END\n");
 }
 EXPORT_SYMBOL(set_dma_next_desc_addr);
 
+void set_dma_curr_desc_addr(unsigned int channel, unsigned long addr)
+{
+       pr_debug("set_dma_curr_desc_addr() : BEGIN \n");
+
+       BUG_ON(!(dma_ch[channel].chan_status != DMA_CHANNEL_FREE
+              && channel < MAX_BLACKFIN_DMA_CHANNEL));
+
+       dma_ch[channel].regs->curr_desc_ptr = addr;
+       SSYNC();
+       pr_debug("set_dma_curr_desc_addr() : END\n");
+}
+EXPORT_SYMBOL(set_dma_curr_desc_addr);
+
 void set_dma_x_count(unsigned int channel, unsigned short x_count)
 {
        BUG_ON(!(dma_ch[channel].chan_status != DMA_CHANNEL_FREE
diff --git a/include/asm-blackfin/dma.h b/include/asm-blackfin/dma.h
index 4269082..b42a531 100644
--- a/include/asm-blackfin/dma.h
+++ b/include/asm-blackfin/dma.h
@@ -152,6 +152,7 @@ struct dma_channel {
 /* functions to set register mode */
 void set_dma_start_addr(unsigned int channel, unsigned long addr);
 void set_dma_next_desc_addr(unsigned int channel, unsigned long addr);
+void set_dma_curr_desc_addr(unsigned int channel, unsigned long addr);
 void set_dma_x_count(unsigned int channel, unsigned short x_count);
 void set_dma_x_modify(unsigned int channel, short x_modify);
 void set_dma_y_count(unsigned int channel, unsigned short y_count);
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to