mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-10 21:14:56 -04:00
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:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user