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()
1372 UDMA_RESERVE_RESOURCE(rchan);
1461 if (uc->rchan) { in udma_get_rchan()
1462 dev_dbg(ud->dev, "chan%d: already have rchan%d allocated\n", in udma_get_rchan()
1463 uc->id, uc->rchan->id); in udma_get_rchan()
1472 uc->rchan = __udma_reserve_rchan(ud, uc->config.channel_tpl, in udma_get_rchan()
1474 if (IS_ERR(uc->rchan)) { in udma_get_rchan()
1475 ret = PTR_ERR(uc->rchan); in udma_get_rchan()
1476 uc->rchan = NULL; in udma_get_rchan()
1488 if ((uc->tchan && uc->rchan) && uc->tchan->id == uc->rchan->id) { in udma_get_chan_pair()
1498 } else if (uc->rchan) { in udma_get_chan_pair()
1499 dev_err(ud->dev, "chan%d: already have rchan%d allocated\n", in udma_get_chan_pair()
1500 uc->id, uc->rchan->id); in udma_get_chan_pair()
1508 * Note: in UDMAP the channel TPL is symmetric between tchan and rchan in udma_get_chan_pair()
1523 uc->rchan = &ud->rchans[chan_id]; in udma_get_chan_pair()
1536 if (!uc->rchan) { in udma_get_rflow()
1537 dev_err(ud->dev, "chan%d: does not have rchan??\n", uc->id); in udma_get_rflow()
1574 if (uc->rchan) { in udma_put_rchan()
1575 dev_dbg(ud->dev, "chan%d: put rchan%d\n", uc->id, in udma_put_rchan()
1576 uc->rchan->id); in udma_put_rchan()
1577 clear_bit(uc->rchan->id, ud->rchan_map); in udma_put_rchan()
1578 uc->rchan = NULL; in udma_put_rchan()
1741 if (!uc->rchan) in udma_free_rx_resources()
1777 ret = udma_get_rflow(uc, uc->rchan->id); in udma_alloc_rx_resources()
1789 uc->rchan->id; in udma_alloc_rx_resources()
1878 struct udma_rchan *rchan = uc->rchan; in udma_tisci_m2m_channel_config() local
1914 req_rx.index = rchan->id; in udma_tisci_m2m_channel_config()
1926 dev_err(ud->dev, "rchan%d alloc failed %d\n", rchan->id, ret); in udma_tisci_m2m_channel_config()
2041 struct udma_rchan *rchan = uc->rchan; in udma_tisci_rx_channel_config() local
2060 req_rx.index = rchan->id; in udma_tisci_rx_channel_config()
2068 dev_err(ud->dev, "rchan%d cfg failed %d\n", rchan->id, ret); in udma_tisci_rx_channel_config()
2088 flow_req.flow_index = rchan->id; in udma_tisci_rx_channel_config()
2112 dev_err(ud->dev, "flow%d config failed: %d\n", rchan->id, ret); in udma_tisci_rx_channel_config()
2122 struct udma_rchan *rchan = uc->rchan; in bcdma_tisci_rx_channel_config() local
2128 req_rx.index = rchan->id; in bcdma_tisci_rx_channel_config()
2132 dev_err(ud->dev, "rchan%d cfg failed %d\n", rchan->id, ret); in bcdma_tisci_rx_channel_config()
2148 req_rx.index = uc->rchan->id; in pktdma_tisci_rx_channel_config()
2152 dev_err(ud->dev, "rchan%d cfg failed %d\n", uc->rchan->id, ret); in pktdma_tisci_rx_channel_config()
2249 uc->config.dst_thread = (ud->psil_base + uc->rchan->id) | in udma_alloc_chan_resources()
2285 uc->config.dst_thread = (ud->psil_base + uc->rchan->id) | in udma_alloc_chan_resources()
2289 irq_udma_idx = soc_data->oes.udma_rchan + uc->rchan->id; in udma_alloc_chan_resources()
2454 uc->config.dst_thread = (ud->psil_base + uc->rchan->id) | in bcdma_alloc_chan_resources()
2457 irq_ring_idx = uc->rchan->id + oes->bcdma_rchan_ring; in bcdma_alloc_chan_resources()
2458 irq_udma_idx = uc->rchan->id + oes->bcdma_rchan_data; in bcdma_alloc_chan_resources()
2648 uc->config.dst_thread = (ud->psil_base + uc->rchan->id) | in pktdma_alloc_chan_resources()
2727 else if (uc->rchan) in pktdma_alloc_chan_resources()
2729 "chan%d: rchan%d, rflow%d, Remote thread: 0x%04x\n", in pktdma_alloc_chan_resources()
2730 uc->id, uc->rchan->id, uc->rflow->id, in pktdma_alloc_chan_resources()
4377 .psil_base = 0x2000, /* for tchan and rchan, not applicable to bchan */
4578 [RM_RANGE_RCHAN] = "ti,sci-rm-range-rchan",
4676 /* rchan and matching default flow ranges */ in udma_setup_resources()
4685 &rm_res->desc[i], "rchan"); in udma_setup_resources()
4865 /* rchan ranges */ in bcdma_setup_resources()
4876 "rchan"); in bcdma_setup_resources()
5044 /* rchan ranges */ in pktdma_setup_resources()
5052 &rm_res->desc[i], "rchan"); in pktdma_setup_resources()
5169 "Channels: %d (tchan: %u, rchan: %u, gp-rflow: %u)\n", in setup_resources()
5180 "Channels: %d (bchan: %u, tchan: %u, rchan: %u)\n", in setup_resources()
5191 "Channels: %d (tchan: %u, rchan: %u)\n", in setup_resources()
5326 seq_printf(s, "rchan%d [0x%04x -> 0x%04x], ", uc->rchan->id, in udma_dbg_summary_show_chan()
5600 struct udma_rchan *rchan = &ud->rchans[i]; in udma_probe() local
5602 rchan->id = i; in udma_probe()
5603 rchan->reg_rt = ud->mmrs[MMR_RCHANRT] + i * 0x1000; in udma_probe()
5620 uc->rchan = NULL; in udma_probe()