Lines Matching refs:lch_head
1187 * lch_queue DMA will start right after lch_head one is finished.
1191 void omap_dma_link_lch(int lch_head, int lch_queue)
1194 if (lch_head == lch_queue) {
1195 dma_write(dma_read(CCR(lch_head)) | (3 << 8),
1196 CCR(lch_head));
1204 if ((dma_chan[lch_head].dev_id == -1) ||
1211 dma_chan[lch_head].next_lch = lch_queue;
1218 void omap_dma_unlink_lch(int lch_head, int lch_queue)
1221 if (lch_head == lch_queue) {
1222 dma_write(dma_read(CCR(lch_head)) & ~(3 << 8),
1223 CCR(lch_head));
1231 if (dma_chan[lch_head].next_lch != lch_queue ||
1232 dma_chan[lch_head].next_lch == -1) {
1238 if ((dma_chan[lch_head].flags & OMAP_DMA_ACTIVE) ||
1245 dma_chan[lch_head].next_lch = -1;
1253 static void create_dma_lch_chain(int lch_head, int lch_queue)
1258 if (dma_chan[lch_head].next_linked_ch == -1) {
1259 dma_chan[lch_head].next_linked_ch = lch_queue;
1260 dma_chan[lch_head].prev_linked_ch = lch_queue;
1261 dma_chan[lch_queue].next_linked_ch = lch_head;
1262 dma_chan[lch_queue].prev_linked_ch = lch_head;
1268 dma_chan[lch_head].next_linked_ch;
1269 dma_chan[lch_queue].prev_linked_ch = lch_head;
1270 dma_chan[lch_head].next_linked_ch = lch_queue;
1275 l = dma_read(CLNK_CTRL(lch_head));
1278 dma_write(l, CLNK_CTRL(lch_head));