Lines Matching refs:dma_chan

125 static struct omap_dma_lch *dma_chan;  variable
576 p->dma_write(dma_chan[lch].enabled_irqs, CICR, lch); in omap_enable_channel_irq()
587 dma_chan[lch].enabled_irqs |= bits; in omap_enable_dma_irq()
593 dma_chan[lch].enabled_irqs &= ~bits; in omap_disable_dma_irq()
607 if (dma_chan[lch].next_lch != -1) in enable_lnk()
608 l = dma_chan[lch].next_lch | (1 << 15); in enable_lnk()
612 if (dma_chan[lch].next_linked_ch != -1) in enable_lnk()
613 l = dma_chan[lch].next_linked_ch | (1 << 15); in enable_lnk()
639 dma_chan[lch].flags &= ~OMAP_DMA_ACTIVE; in disable_lnk()
682 if (free_ch == -1 && dma_chan[ch].dev_id == -1) { in omap_request_dma()
692 chan = dma_chan + free_ch; in omap_request_dma()
756 if (dma_chan[lch].dev_id == -1) { in omap_free_dma()
785 dma_chan[lch].dev_id = -1; in omap_free_dma()
786 dma_chan[lch].next_lch = -1; in omap_free_dma()
787 dma_chan[lch].callback = NULL; in omap_free_dma()
884 if (!omap_dma_in_1510_mode() && dma_chan[lch].next_lch != -1) { in omap_start_dma()
893 cur_lch = dma_chan[lch].next_lch; in omap_start_dma()
895 next_lch = dma_chan[cur_lch].next_lch; in omap_start_dma()
928 dma_chan[lch].flags |= OMAP_DMA_ACTIVE; in omap_start_dma()
982 if (!omap_dma_in_1510_mode() && dma_chan[lch].next_lch != -1) { in omap_stop_dma()
996 next_lch = dma_chan[cur_lch].next_lch; in omap_stop_dma()
1001 dma_chan[lch].flags &= ~OMAP_DMA_ACTIVE; in omap_stop_dma()
1019 if (dma_chan[lch].dev_id == -1) { in omap_set_dma_callback()
1024 dma_chan[lch].callback = callback; in omap_set_dma_callback()
1025 dma_chan[lch].data = data; in omap_set_dma_callback()
1149 if ((dma_chan[lch_head].dev_id == -1) || in omap_dma_link_lch()
1150 (dma_chan[lch_queue].dev_id == -1)) { in omap_dma_link_lch()
1156 dma_chan[lch_head].next_lch = lch_queue; in omap_dma_link_lch()
1176 if (dma_chan[lch_head].next_lch != lch_queue || in omap_dma_unlink_lch()
1177 dma_chan[lch_head].next_lch == -1) { in omap_dma_unlink_lch()
1183 if ((dma_chan[lch_head].flags & OMAP_DMA_ACTIVE) || in omap_dma_unlink_lch()
1184 (dma_chan[lch_queue].flags & OMAP_DMA_ACTIVE)) { in omap_dma_unlink_lch()
1190 dma_chan[lch_head].next_lch = -1; in omap_dma_unlink_lch()
1201 if (dma_chan[lch_head].next_linked_ch == -1) { in create_dma_lch_chain()
1202 dma_chan[lch_head].next_linked_ch = lch_queue; in create_dma_lch_chain()
1203 dma_chan[lch_head].prev_linked_ch = lch_queue; in create_dma_lch_chain()
1204 dma_chan[lch_queue].next_linked_ch = lch_head; in create_dma_lch_chain()
1205 dma_chan[lch_queue].prev_linked_ch = lch_head; in create_dma_lch_chain()
1210 dma_chan[lch_queue].next_linked_ch = in create_dma_lch_chain()
1211 dma_chan[lch_head].next_linked_ch; in create_dma_lch_chain()
1212 dma_chan[lch_queue].prev_linked_ch = lch_head; in create_dma_lch_chain()
1213 dma_chan[lch_head].next_linked_ch = lch_queue; in create_dma_lch_chain()
1214 dma_chan[dma_chan[lch_queue].next_linked_ch].prev_linked_ch = in create_dma_lch_chain()
1225 l |= (dma_chan[lch_queue].next_linked_ch); in create_dma_lch_chain()
1288 dma_chan[channels[i]].prev_linked_ch = -1; in omap_request_dma_chain()
1289 dma_chan[channels[i]].state = DMA_CH_NOTSTARTED; in omap_request_dma_chain()
1306 dma_chan[channels[i]].chain_id = *chain_id; in omap_request_dma_chain()
1393 dma_chan[channels[i]].next_linked_ch = -1; in omap_free_dma_chain()
1394 dma_chan[channels[i]].prev_linked_ch = -1; in omap_free_dma_chain()
1395 dma_chan[channels[i]].chain_id = -1; in omap_free_dma_chain()
1396 dma_chan[channels[i]].state = DMA_CH_NOTSTARTED; in omap_free_dma_chain()
1495 dma_chan[lch].data = callbk_data; in omap_dma_chain_a_transfer()
1523 if (dma_chan[dma_chan[lch].prev_linked_ch].state == in omap_dma_chain_a_transfer()
1525 enable_lnk(dma_chan[lch].prev_linked_ch); in omap_dma_chain_a_transfer()
1526 dma_chan[lch].state = DMA_CH_QUEUED; in omap_dma_chain_a_transfer()
1536 if (dma_chan[dma_chan[lch].prev_linked_ch].state == in omap_dma_chain_a_transfer()
1538 enable_lnk(dma_chan[lch].prev_linked_ch); in omap_dma_chain_a_transfer()
1539 dma_chan[lch].state = DMA_CH_QUEUED; in omap_dma_chain_a_transfer()
1542 CCR, dma_chan[lch].prev_linked_ch))) { in omap_dma_chain_a_transfer()
1543 disable_lnk(dma_chan[lch]. in omap_dma_chain_a_transfer()
1550 else if (dma_chan[dma_chan[lch].prev_linked_ch].state in omap_dma_chain_a_transfer()
1552 enable_lnk(dma_chan[lch].prev_linked_ch); in omap_dma_chain_a_transfer()
1553 dma_chan[lch].state = DMA_CH_QUEUED; in omap_dma_chain_a_transfer()
1567 dma_chan[lch].state = DMA_CH_STARTED; in omap_dma_chain_a_transfer()
1576 dma_chan[lch].flags |= OMAP_DMA_ACTIVE; in omap_dma_chain_a_transfer()
1622 dma_chan[channels[0]].state = DMA_CH_STARTED; in omap_start_dma_chain_transfers()
1630 dma_chan[channels[0]].flags |= OMAP_DMA_ACTIVE; in omap_start_dma_chain_transfers()
1680 dma_chan[channels[i]].state = DMA_CH_NOTSTARTED; in omap_stop_dma_chain_transfers()
1817 csr = dma_chan[ch].saved_csr; in omap1_dma_handle_ch()
1818 dma_chan[ch].saved_csr = 0; in omap1_dma_handle_ch()
1822 dma_chan[ch + 6].saved_csr = csr >> 7; in omap1_dma_handle_ch()
1827 if (unlikely(dma_chan[ch].dev_id == -1)) { in omap1_dma_handle_ch()
1834 dma_chan[ch].dev_id); in omap1_dma_handle_ch()
1837 "with device %d\n", dma_chan[ch].dev_id); in omap1_dma_handle_ch()
1839 dma_chan[ch].flags &= ~OMAP_DMA_ACTIVE; in omap1_dma_handle_ch()
1840 if (likely(dma_chan[ch].callback != NULL)) in omap1_dma_handle_ch()
1841 dma_chan[ch].callback(ch, csr, dma_chan[ch].data); in omap1_dma_handle_ch()
1855 if (enable_1510_mode && dma_chan[ch + 6].saved_csr) in omap1_dma_irq_handler()
1882 if (unlikely(dma_chan[ch].dev_id == -1)) { in omap2_dma_handle_ch()
1891 "%d\n", dma_chan[ch].dev_id); in omap2_dma_handle_ch()
1894 dma_chan[ch].dev_id); in omap2_dma_handle_ch()
1901 dma_chan[ch].flags &= ~OMAP_DMA_ACTIVE; in omap2_dma_handle_ch()
1906 dma_chan[ch].dev_id); in omap2_dma_handle_ch()
1909 dma_chan[ch].dev_id); in omap2_dma_handle_ch()
1917 if (dma_chan[ch].chain_id != -1) { in omap2_dma_handle_ch()
1918 int chain_id = dma_chan[ch].chain_id; in omap2_dma_handle_ch()
1919 dma_chan[ch].state = DMA_CH_NOTSTARTED; in omap2_dma_handle_ch()
1921 dma_chan[dma_chan[ch].next_linked_ch].state = in omap2_dma_handle_ch()
1934 if (likely(dma_chan[ch].callback != NULL)) in omap2_dma_handle_ch()
1935 dma_chan[ch].callback(ch, status, dma_chan[ch].data); in omap2_dma_handle_ch()
1998 if (dma_chan[ch].dev_id != -1) in omap_dma_global_context_restore()
2025 dma_chan = d->chan; in omap_system_dma_probe()
2043 dma_chan[ch].dev_id = -1; in omap_system_dma_probe()
2044 dma_chan[ch].next_lch = -1; in omap_system_dma_probe()
2098 dma_chan[0].dev_id = 0; in omap_system_dma_probe()
2099 dma_chan[1].dev_id = 1; in omap_system_dma_probe()
2115 kfree(dma_chan); in omap_system_dma_probe()
2137 kfree(dma_chan); in omap_system_dma_remove()