Skip to content

Commit

Permalink
Add functions to dma.c to set address and length for src and dest.
Browse files Browse the repository at this point in the history
  • Loading branch information
balister committed Apr 12, 2011
1 parent 01e460b commit 5ae9f37
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 0 deletions.
30 changes: 30 additions & 0 deletions arch/arm/plat-omap/dma.c
Expand Up @@ -524,6 +524,21 @@ void omap_set_dma_src_burst_mode(int lch, enum omap_dma_burst_mode burst_mode)
}
EXPORT_SYMBOL(omap_set_dma_src_burst_mode);

void omap_set_dma_src_addr_size(int lch, unsigned int addr, int elem_count)
{

if (cpu_class_is_omap1()) {
dma_write(addr >> 16, CSSA_U(lch));
dma_write((u16)addr, CSSA_L(lch));
}

if (cpu_class_is_omap2())
dma_write(addr, CSSA(lch));

dma_write(elem_count, CEN(lch));
}
EXPORT_SYMBOL(omap_set_dma_src_addr_size);

/* Note that dest_port is only for OMAP1 */
void omap_set_dma_dest_params(int lch, int dest_port, int dest_amode,
unsigned long dest_start,
Expand Down Expand Up @@ -620,6 +635,21 @@ void omap_set_dma_dest_burst_mode(int lch, enum omap_dma_burst_mode burst_mode)
}
EXPORT_SYMBOL(omap_set_dma_dest_burst_mode);

void omap_set_dma_dest_addr_size(int lch, unsigned int addr, int elem_count)
{

if (cpu_class_is_omap1()) {
dma_write(addr >> 16, CDSA_U(lch));
dma_write((u16)addr, CDSA_L(lch));
}

if (cpu_class_is_omap2())
dma_write(addr, CDSA(lch));

dma_write(elem_count, CEN(lch));
}
EXPORT_SYMBOL(omap_set_dma_dest_addr_size);

static inline void omap_enable_channel_irq(int lch)
{
u32 status;
Expand Down
4 changes: 4 additions & 0 deletions arch/arm/plat-omap/include/plat/dma.h
Expand Up @@ -489,6 +489,8 @@ extern void omap_set_dma_src_index(int lch, int eidx, int fidx);
extern void omap_set_dma_src_data_pack(int lch, int enable);
extern void omap_set_dma_src_burst_mode(int lch,
enum omap_dma_burst_mode burst_mode);
extern void omap_set_dma_src_addr_size(int lch, unsigned int addr,
int elem_count);

extern void omap_set_dma_dest_params(int lch, int dest_port, int dest_amode,
unsigned long dest_start,
Expand All @@ -497,6 +499,8 @@ extern void omap_set_dma_dest_index(int lch, int eidx, int fidx);
extern void omap_set_dma_dest_data_pack(int lch, int enable);
extern void omap_set_dma_dest_burst_mode(int lch,
enum omap_dma_burst_mode burst_mode);
extern void omap_set_dma_dest_addr_size(int lch, unsigned int addr,
int elem_count);

extern void omap_set_dma_params(int lch,
struct omap_dma_channel_params *params);
Expand Down

0 comments on commit 5ae9f37

Please sign in to comment.