Lines Matching full:rchan

289 	struct udma_rchan *rchan;  member
382 if (!uc->rchan) in udma_rchanrt_read()
384 return udma_read(uc->rchan->reg_rt, reg); in udma_rchanrt_read()
389 if (!uc->rchan) in udma_rchanrt_write()
391 udma_write(uc->rchan->reg_rt, reg, val); in udma_rchanrt_write()
397 if (!uc->rchan) in udma_rchanrt_update_bits()
399 udma_update_bits(uc->rchan->reg_rt, reg, mask, val); in udma_rchanrt_update_bits()
484 dev_dbg(dev, "RCHAN State data:\n"); in udma_dump_chan_stdata()
610 if (uc->rchan) in udma_is_chan_running()
733 if (uc->rchan) { in udma_reset_rings()
797 if (uc->rchan) { in udma_reset_counters()
850 * the rchan. in udma_reset_chan()
1365 UDMA_RESERVE_RESOURCE(rchan);
1454 if (uc->rchan) { in udma_get_rchan()
1455 dev_dbg(ud->dev, "chan%d: already have rchan%d allocated\n", in udma_get_rchan()
1456 uc->id, uc->rchan->id); in udma_get_rchan()
1465 uc->rchan = __udma_reserve_rchan(ud, uc->config.channel_tpl, in udma_get_rchan()
1467 if (IS_ERR(uc->rchan)) { in udma_get_rchan()
1468 ret = PTR_ERR(uc->rchan); in udma_get_rchan()
1469 uc->rchan = NULL; in udma_get_rchan()
1481 if ((uc->tchan && uc->rchan) && uc->tchan->id == uc->rchan->id) { in udma_get_chan_pair()
1491 } else if (uc->rchan) { in udma_get_chan_pair()
1492 dev_err(ud->dev, "chan%d: already have rchan%d allocated\n", in udma_get_chan_pair()
1493 uc->id, uc->rchan->id); in udma_get_chan_pair()
1501 * Note: in UDMAP the channel TPL is symmetric between tchan and rchan in udma_get_chan_pair()
1516 uc->rchan = &ud->rchans[chan_id]; in udma_get_chan_pair()
1529 if (!uc->rchan) { in udma_get_rflow()
1530 dev_err(ud->dev, "chan%d: does not have rchan??\n", uc->id); in udma_get_rflow()
1567 if (uc->rchan) { in udma_put_rchan()
1568 dev_dbg(ud->dev, "chan%d: put rchan%d\n", uc->id, in udma_put_rchan()
1569 uc->rchan->id); in udma_put_rchan()
1570 clear_bit(uc->rchan->id, ud->rchan_map); in udma_put_rchan()
1571 uc->rchan = NULL; in udma_put_rchan()
1734 if (!uc->rchan) in udma_free_rx_resources()
1770 ret = udma_get_rflow(uc, uc->rchan->id); in udma_alloc_rx_resources()
1782 uc->rchan->id; in udma_alloc_rx_resources()
1871 struct udma_rchan *rchan = uc->rchan; in udma_tisci_m2m_channel_config() local
1907 req_rx.index = rchan->id; in udma_tisci_m2m_channel_config()
1919 dev_err(ud->dev, "rchan%d alloc failed %d\n", rchan->id, ret); in udma_tisci_m2m_channel_config()
2034 struct udma_rchan *rchan = uc->rchan; in udma_tisci_rx_channel_config() local
2053 req_rx.index = rchan->id; in udma_tisci_rx_channel_config()
2061 dev_err(ud->dev, "rchan%d cfg failed %d\n", rchan->id, ret); in udma_tisci_rx_channel_config()
2081 flow_req.flow_index = rchan->id; in udma_tisci_rx_channel_config()
2105 dev_err(ud->dev, "flow%d config failed: %d\n", rchan->id, ret); in udma_tisci_rx_channel_config()
2115 struct udma_rchan *rchan = uc->rchan; in bcdma_tisci_rx_channel_config() local
2121 req_rx.index = rchan->id; in bcdma_tisci_rx_channel_config()
2125 dev_err(ud->dev, "rchan%d cfg failed %d\n", rchan->id, ret); in bcdma_tisci_rx_channel_config()
2141 req_rx.index = uc->rchan->id; in pktdma_tisci_rx_channel_config()
2145 dev_err(ud->dev, "rchan%d cfg failed %d\n", uc->rchan->id, ret); in pktdma_tisci_rx_channel_config()
2242 uc->config.dst_thread = (ud->psil_base + uc->rchan->id) | in udma_alloc_chan_resources()
2278 uc->config.dst_thread = (ud->psil_base + uc->rchan->id) | in udma_alloc_chan_resources()
2282 irq_udma_idx = soc_data->oes.udma_rchan + uc->rchan->id; in udma_alloc_chan_resources()
2447 uc->config.dst_thread = (ud->psil_base + uc->rchan->id) | in bcdma_alloc_chan_resources()
2450 irq_ring_idx = uc->rchan->id + oes->bcdma_rchan_ring; in bcdma_alloc_chan_resources()
2451 irq_udma_idx = uc->rchan->id + oes->bcdma_rchan_data; in bcdma_alloc_chan_resources()
2641 uc->config.dst_thread = (ud->psil_base + uc->rchan->id) | in pktdma_alloc_chan_resources()
2720 else if (uc->rchan) in pktdma_alloc_chan_resources()
2722 "chan%d: rchan%d, rflow%d, Remote thread: 0x%04x\n", in pktdma_alloc_chan_resources()
2723 uc->id, uc->rchan->id, uc->rflow->id, in pktdma_alloc_chan_resources()
4339 .psil_base = 0x2000, /* for tchan and rchan, not applicable to bchan */
4521 [RM_RANGE_RCHAN] = "ti,sci-rm-range-rchan",
4619 /* rchan and matching default flow ranges */ in udma_setup_resources()
4628 &rm_res->desc[i], "rchan"); in udma_setup_resources()
4808 /* rchan ranges */ in bcdma_setup_resources()
4819 "rchan"); in bcdma_setup_resources()
4963 /* rchan ranges */ in pktdma_setup_resources()
4971 &rm_res->desc[i], "rchan"); in pktdma_setup_resources()
5076 "Channels: %d (tchan: %u, rchan: %u, gp-rflow: %u)\n", in setup_resources()
5087 "Channels: %d (bchan: %u, tchan: %u, rchan: %u)\n", in setup_resources()
5098 "Channels: %d (tchan: %u, rchan: %u)\n", in setup_resources()
5233 seq_printf(s, "rchan%d [0x%04x -> 0x%04x], ", uc->rchan->id, in udma_dbg_summary_show_chan()
5507 struct udma_rchan *rchan = &ud->rchans[i]; in udma_probe() local
5509 rchan->id = i; in udma_probe()
5510 rchan->reg_rt = ud->mmrs[MMR_RCHANRT] + i * 0x1000; in udma_probe()
5527 uc->rchan = NULL; in udma_probe()