Blackfin arch: Add DMA API to set curr descriptor address
This API is necessary for DMA descriptor array mode. Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
This commit is contained in:
parent
2cbfe10743
commit
8a26ac7043
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue