Lines Matching refs:ch
615 int ch, free_ch = -1; in omap_request_dma() local
622 for (ch = 0; ch < dma_chan_count; ch++) { in omap_request_dma()
623 if (free_ch == -1 && dma_chan[ch].dev_id == -1) { in omap_request_dma()
624 free_ch = ch; in omap_request_dma()
1091 static int omap1_dma_handle_ch(int ch) in omap1_dma_handle_ch() argument
1095 if (enable_1510_mode && ch >= 6) { in omap1_dma_handle_ch()
1096 csr = dma_chan[ch].saved_csr; in omap1_dma_handle_ch()
1097 dma_chan[ch].saved_csr = 0; in omap1_dma_handle_ch()
1099 csr = p->dma_read(CSR, ch); in omap1_dma_handle_ch()
1100 if (enable_1510_mode && ch <= 2 && (csr >> 7) != 0) { in omap1_dma_handle_ch()
1101 dma_chan[ch + 6].saved_csr = csr >> 7; in omap1_dma_handle_ch()
1106 if (unlikely(dma_chan[ch].dev_id == -1)) { in omap1_dma_handle_ch()
1108 ch, csr); in omap1_dma_handle_ch()
1112 pr_warn("DMA timeout with device %d\n", dma_chan[ch].dev_id); in omap1_dma_handle_ch()
1115 dma_chan[ch].dev_id); in omap1_dma_handle_ch()
1117 dma_chan[ch].flags &= ~OMAP_DMA_ACTIVE; in omap1_dma_handle_ch()
1118 if (likely(dma_chan[ch].callback != NULL)) in omap1_dma_handle_ch()
1119 dma_chan[ch].callback(ch, csr, dma_chan[ch].data); in omap1_dma_handle_ch()
1126 int ch = ((int) dev_id) - 1; in omap1_dma_irq_handler() local
1132 handled_now += omap1_dma_handle_ch(ch); in omap1_dma_irq_handler()
1133 if (enable_1510_mode && dma_chan[ch + 6].saved_csr) in omap1_dma_irq_handler()
1134 handled_now += omap1_dma_handle_ch(ch + 6); in omap1_dma_irq_handler()
1149 static int omap2_dma_handle_ch(int ch) in omap2_dma_handle_ch() argument
1151 u32 status = p->dma_read(CSR, ch); in omap2_dma_handle_ch()
1155 pr_warn("Spurious DMA IRQ for lch %d\n", ch); in omap2_dma_handle_ch()
1156 p->dma_write(1 << ch, IRQSTATUS_L0, ch); in omap2_dma_handle_ch()
1159 if (unlikely(dma_chan[ch].dev_id == -1)) { in omap2_dma_handle_ch()
1162 status, ch); in omap2_dma_handle_ch()
1167 dma_chan[ch].dev_id); in omap2_dma_handle_ch()
1170 dma_chan[ch].dev_id); in omap2_dma_handle_ch()
1174 ccr = p->dma_read(CCR, ch); in omap2_dma_handle_ch()
1176 p->dma_write(ccr, CCR, ch); in omap2_dma_handle_ch()
1177 dma_chan[ch].flags &= ~OMAP_DMA_ACTIVE; in omap2_dma_handle_ch()
1182 dma_chan[ch].dev_id); in omap2_dma_handle_ch()
1185 dma_chan[ch].dev_id); in omap2_dma_handle_ch()
1187 p->dma_write(status, CSR, ch); in omap2_dma_handle_ch()
1188 p->dma_write(1 << ch, IRQSTATUS_L0, ch); in omap2_dma_handle_ch()
1190 p->dma_read(IRQSTATUS_L0, ch); in omap2_dma_handle_ch()
1193 if (dma_chan[ch].chain_id != -1) { in omap2_dma_handle_ch()
1194 int chain_id = dma_chan[ch].chain_id; in omap2_dma_handle_ch()
1195 dma_chan[ch].state = DMA_CH_NOTSTARTED; in omap2_dma_handle_ch()
1196 if (p->dma_read(CLNK_CTRL, ch) & (1 << 15)) in omap2_dma_handle_ch()
1197 dma_chan[dma_chan[ch].next_linked_ch].state = in omap2_dma_handle_ch()
1201 disable_lnk(ch); in omap2_dma_handle_ch()
1206 status = p->dma_read(CSR, ch); in omap2_dma_handle_ch()
1207 p->dma_write(status, CSR, ch); in omap2_dma_handle_ch()
1210 if (likely(dma_chan[ch].callback != NULL)) in omap2_dma_handle_ch()
1211 dma_chan[ch].callback(ch, status, dma_chan[ch].data); in omap2_dma_handle_ch()
1268 int ch; in omap_dma_global_context_restore() local
1281 for (ch = 0; ch < dma_chan_count; ch++) in omap_dma_global_context_restore()
1282 if (dma_chan[ch].dev_id != -1) in omap_dma_global_context_restore()
1283 omap_clear_dma(ch); in omap_dma_global_context_restore()
1294 int ch, ret = 0; in omap_system_dma_probe() local
1336 for (ch = 0; ch < dma_chan_count; ch++) { in omap_system_dma_probe()
1337 omap_clear_dma(ch); in omap_system_dma_probe()
1339 omap2_disable_irq_lch(ch); in omap_system_dma_probe()
1341 dma_chan[ch].dev_id = -1; in omap_system_dma_probe()
1342 dma_chan[ch].next_lch = -1; in omap_system_dma_probe()
1344 if (ch >= 6 && enable_1510_mode) in omap_system_dma_probe()
1352 sprintf(&irq_name[0], "%d", ch); in omap_system_dma_probe()
1366 (void *) (ch + 1)); in omap_system_dma_probe()
1404 for (irq_rel = 0; irq_rel < ch; irq_rel++) { in omap_system_dma_probe()