Lines Matching full:tchan

221 	struct udma_tchan *tchan;  member
292 if (!uc->tchan) in udma_tchanrt_read()
294 return udma_read(uc->tchan->reg_rt, reg); in udma_tchanrt_read()
299 if (!uc->tchan) in udma_tchanrt_write()
301 udma_write(uc->tchan->reg_rt, reg, val); in udma_tchanrt_write()
307 if (!uc->tchan) in udma_tchanrt_update_bits()
309 udma_update_bits(uc->tchan->reg_rt, reg, mask, val); in udma_tchanrt_update_bits()
370 dev_dbg(dev, "TCHAN State data:\n"); in udma_dump_chan_stdata()
505 if (uc->tchan) in udma_is_chan_running()
560 ring = uc->tchan->t_ring; in udma_push_to_ring()
600 ring = uc->tchan->tc_ring; in udma_pop_from_ring()
637 if (uc->tchan) { in udma_reset_rings()
638 ring1 = uc->tchan->t_ring; in udma_reset_rings()
639 ring2 = uc->tchan->tc_ring; in udma_reset_rings()
663 if (uc->tchan) { in udma_reset_counters()
1234 UDMA_RESERVE_RESOURCE(tchan);
1241 if (uc->tchan) { in udma_get_tchan()
1242 dev_dbg(ud->dev, "chan%d: already have tchan%d allocated\n", in udma_get_tchan()
1243 uc->id, uc->tchan->id); in udma_get_tchan()
1247 uc->tchan = __udma_reserve_tchan(ud, uc->config.channel_tpl, -1); in udma_get_tchan()
1249 return PTR_ERR_OR_ZERO(uc->tchan); in udma_get_tchan()
1272 if ((uc->tchan && uc->rchan) && uc->tchan->id == uc->rchan->id) { in udma_get_chan_pair()
1274 uc->id, uc->tchan->id); in udma_get_chan_pair()
1278 if (uc->tchan) { in udma_get_chan_pair()
1279 dev_err(ud->dev, "chan%d: already have tchan%d allocated\n", in udma_get_chan_pair()
1280 uc->id, uc->tchan->id); in udma_get_chan_pair()
1303 uc->tchan = &ud->tchans[chan_id]; in udma_get_chan_pair()
1345 if (uc->tchan) { in udma_put_tchan()
1346 dev_dbg(ud->dev, "chan%d: put tchan%d\n", uc->id, in udma_put_tchan()
1347 uc->tchan->id); in udma_put_tchan()
1348 clear_bit(uc->tchan->id, ud->tchan_map); in udma_put_tchan()
1349 uc->tchan = NULL; in udma_put_tchan()
1367 if (!uc->tchan) in udma_free_tx_resources()
1370 k3_ringacc_ring_free(uc->tchan->t_ring); in udma_free_tx_resources()
1371 k3_ringacc_ring_free(uc->tchan->tc_ring); in udma_free_tx_resources()
1372 uc->tchan->t_ring = NULL; in udma_free_tx_resources()
1373 uc->tchan->tc_ring = NULL; in udma_free_tx_resources()
1388 ret = k3_ringacc_request_rings_pair(ud->ringacc, uc->tchan->id, -1, in udma_alloc_tx_resources()
1389 &uc->tchan->t_ring, in udma_alloc_tx_resources()
1390 &uc->tchan->tc_ring); in udma_alloc_tx_resources()
1401 ret = k3_ringacc_ring_cfg(uc->tchan->t_ring, &ring_cfg); in udma_alloc_tx_resources()
1402 ret |= k3_ringacc_ring_cfg(uc->tchan->tc_ring, &ring_cfg); in udma_alloc_tx_resources()
1410 k3_ringacc_ring_free(uc->tchan->tc_ring); in udma_alloc_tx_resources()
1411 uc->tchan->tc_ring = NULL; in udma_alloc_tx_resources()
1412 k3_ringacc_ring_free(uc->tchan->t_ring); in udma_alloc_tx_resources()
1413 uc->tchan->t_ring = NULL; in udma_alloc_tx_resources()
1528 struct udma_tchan *tchan = uc->tchan; in udma_tisci_m2m_channel_config() local
1533 int tc_ring = k3_ringacc_get_ring_id(tchan->tc_ring); in udma_tisci_m2m_channel_config()
1539 req_tx.index = tchan->id; in udma_tisci_m2m_channel_config()
1547 dev_err(ud->dev, "tchan%d cfg failed %d\n", tchan->id, ret); in udma_tisci_m2m_channel_config()
1571 struct udma_tchan *tchan = uc->tchan; in udma_tisci_tx_channel_config() local
1572 int tc_ring = k3_ringacc_get_ring_id(tchan->tc_ring); in udma_tisci_tx_channel_config()
1588 req_tx.index = tchan->id; in udma_tisci_tx_channel_config()
1597 dev_err(ud->dev, "tchan%d cfg failed %d\n", tchan->id, ret); in udma_tisci_tx_channel_config()
1746 uc->config.src_thread = ud->psil_base + uc->tchan->id; in udma_alloc_chan_resources()
1750 irq_ring = uc->tchan->tc_ring; in udma_alloc_chan_resources()
1751 irq_udma_idx = uc->tchan->id; in udma_alloc_chan_resources()
1764 uc->config.src_thread = ud->psil_base + uc->tchan->id; in udma_alloc_chan_resources()
1768 irq_ring = uc->tchan->tc_ring; in udma_alloc_chan_resources()
1769 irq_udma_idx = uc->tchan->id; in udma_alloc_chan_resources()
1963 ring_id = k3_ringacc_get_ring_id(uc->tchan->tc_ring); in udma_alloc_tr_desc()
2170 ring_id = k3_ringacc_get_ring_id(uc->tchan->tc_ring); in udma_prep_slave_sg_pkt()
2481 ring_id = k3_ringacc_get_ring_id(uc->tchan->tc_ring); in udma_prep_dma_cyclic_pkt()
3179 static const char * const range_names[] = { "ti,sci-rm-range-tchan", in udma_setup_resources()
3255 /* tchan ranges */ in udma_setup_resources()
3265 dev_dbg(dev, "ti-sci-res: tchan: %d:%d\n", in udma_setup_resources()
3332 dev_info(dev, "Channels: %d (tchan: %u, rchan: %u, gp-rflow: %u)\n", in udma_setup_resources()
3450 seq_printf(s, "chan%d pair [0x%04x -> 0x%04x], ", uc->tchan->id, in udma_dbg_summary_show_chan()
3458 seq_printf(s, "tchan%d [0x%04x -> 0x%04x], ", uc->tchan->id, in udma_dbg_summary_show_chan()
3632 struct udma_tchan *tchan = &ud->tchans[i]; in udma_probe() local
3634 tchan->id = i; in udma_probe()
3635 tchan->reg_rt = ud->mmrs[MMR_TCHANRT] + i * 0x1000; in udma_probe()
3657 uc->tchan = NULL; in udma_probe()