@@ -1109,6 +1109,23 @@ dma_addr_t omap_get_dma_dst_pos(int lch)
}
EXPORT_SYMBOL(omap_get_dma_dst_pos);
+/**
+ * omap_set_dma_dst_pos() - Set DMA channel destination address
+ * @arg1: lch DMA logical channel number
+ * @arg2: value Value to write into CDAC register
+ *
+ * Writes "value" into the register CPC/CDAC
+ */
+void omap_set_dma_dst_pos(int lch, int value)
+{
+ if (cpu_is_omap15xx())
+ dma_write(CPC(lch), value);
+ else
+ dma_write(CDAC(lcd), value);
+
+}
+EXPORT_SYMBOL(omap_set_dma_dst_pos);
+
int omap_get_dma_active_status(int lch)
{
return (dma_read(CCR(lch)) & OMAP_DMA_CCR_EN) != 0;
@@ -509,6 +509,7 @@ extern int omap_set_dma_callback(int lch,
void *data);
extern dma_addr_t omap_get_dma_src_pos(int lch);
extern dma_addr_t omap_get_dma_dst_pos(int lch);
+extern void omap_set_dma_dst_pos(int lch, int value);
extern void omap_clear_dma(int lch);
extern int omap_get_dma_active_status(int lch);
extern int omap_dma_running(void);