|
@@ -1235,6 +1235,23 @@ void edma_resume(unsigned channel)
|
|
|
}
|
|
|
EXPORT_SYMBOL(edma_resume);
|
|
|
|
|
|
+int edma_trigger_channel(unsigned channel)
|
|
|
+{
|
|
|
+ unsigned ctlr;
|
|
|
+ unsigned int mask;
|
|
|
+
|
|
|
+ ctlr = EDMA_CTLR(channel);
|
|
|
+ channel = EDMA_CHAN_SLOT(channel);
|
|
|
+ mask = BIT(channel & 0x1f);
|
|
|
+
|
|
|
+ edma_shadow0_write_array(ctlr, SH_ESR, (channel >> 5), mask);
|
|
|
+
|
|
|
+ pr_debug("EDMA: ESR%d %08x\n", (channel >> 5),
|
|
|
+ edma_shadow0_read_array(ctlr, SH_ESR, (channel >> 5)));
|
|
|
+ return 0;
|
|
|
+}
|
|
|
+EXPORT_SYMBOL(edma_trigger_channel);
|
|
|
+
|
|
|
/**
|
|
|
* edma_start - start dma on a channel
|
|
|
* @channel: channel being activated
|