drivers/dma/sh/rcar-dmac.c
1056
struct rcar_dmac_chan *rchan = to_rcar_dmac_chan(chan);
drivers/dma/sh/rcar-dmac.c
1059
INIT_LIST_HEAD(&rchan->desc.chunks_free);
drivers/dma/sh/rcar-dmac.c
1060
INIT_LIST_HEAD(&rchan->desc.pages);
drivers/dma/sh/rcar-dmac.c
1063
ret = rcar_dmac_xfer_chunk_alloc(rchan, GFP_KERNEL);
drivers/dma/sh/rcar-dmac.c
1067
ret = rcar_dmac_desc_alloc(rchan, GFP_KERNEL);
drivers/dma/sh/rcar-dmac.c
1076
struct rcar_dmac_chan *rchan = to_rcar_dmac_chan(chan);
drivers/dma/sh/rcar-dmac.c
1078
struct rcar_dmac_chan_map *map = &rchan->map;
drivers/dma/sh/rcar-dmac.c
1084
spin_lock_irq(&rchan->lock);
drivers/dma/sh/rcar-dmac.c
1085
rcar_dmac_chan_halt(rchan);
drivers/dma/sh/rcar-dmac.c
1086
spin_unlock_irq(&rchan->lock);
drivers/dma/sh/rcar-dmac.c
1092
synchronize_irq(rchan->irq);
drivers/dma/sh/rcar-dmac.c
1094
if (rchan->mid_rid >= 0) {
drivers/dma/sh/rcar-dmac.c
1096
clear_bit(rchan->mid_rid, dmac->modules);
drivers/dma/sh/rcar-dmac.c
1097
rchan->mid_rid = -EINVAL;
drivers/dma/sh/rcar-dmac.c
1100
list_splice_init(&rchan->desc.free, &list);
drivers/dma/sh/rcar-dmac.c
1101
list_splice_init(&rchan->desc.pending, &list);
drivers/dma/sh/rcar-dmac.c
1102
list_splice_init(&rchan->desc.active, &list);
drivers/dma/sh/rcar-dmac.c
1103
list_splice_init(&rchan->desc.done, &list);
drivers/dma/sh/rcar-dmac.c
1104
list_splice_init(&rchan->desc.wait, &list);
drivers/dma/sh/rcar-dmac.c
1106
rchan->desc.running = NULL;
drivers/dma/sh/rcar-dmac.c
1109
rcar_dmac_realloc_hwdesc(rchan, desc, 0);
drivers/dma/sh/rcar-dmac.c
1111
list_for_each_entry_safe(page, _page, &rchan->desc.pages, node) {
drivers/dma/sh/rcar-dmac.c
1130
struct rcar_dmac_chan *rchan = to_rcar_dmac_chan(chan);
drivers/dma/sh/rcar-dmac.c
1142
return rcar_dmac_chan_prep_sg(rchan, &sgl, 1, dma_dest,
drivers/dma/sh/rcar-dmac.c
1149
struct rcar_dmac_chan *rchan = to_rcar_dmac_chan(chan);
drivers/dma/sh/rcar-dmac.c
1150
struct rcar_dmac_chan_map *map = &rchan->map;
drivers/dma/sh/rcar-dmac.c
1156
dev_addr = rchan->src.slave_addr;
drivers/dma/sh/rcar-dmac.c
1157
dev_size = rchan->src.xfer_size;
drivers/dma/sh/rcar-dmac.c
1160
dev_addr = rchan->dst.slave_addr;
drivers/dma/sh/rcar-dmac.c
1161
dev_size = rchan->dst.xfer_size;
drivers/dma/sh/rcar-dmac.c
1183
"chan%u: failed to map %zx@%pap", rchan->index,
drivers/dma/sh/rcar-dmac.c
1189
rchan->index, dev_size, &dev_addr, &map->addr,
drivers/dma/sh/rcar-dmac.c
1204
struct rcar_dmac_chan *rchan = to_rcar_dmac_chan(chan);
drivers/dma/sh/rcar-dmac.c
1207
if (rchan->mid_rid < 0 || !sg_len || !sg_dma_len(sgl)) {
drivers/dma/sh/rcar-dmac.c
1210
__func__, sg_len, rchan->mid_rid);
drivers/dma/sh/rcar-dmac.c
1217
return rcar_dmac_chan_prep_sg(rchan, sgl, sg_len, rchan->map.addr,
drivers/dma/sh/rcar-dmac.c
1228
struct rcar_dmac_chan *rchan = to_rcar_dmac_chan(chan);
drivers/dma/sh/rcar-dmac.c
1235
if (rchan->mid_rid < 0 || buf_len < period_len) {
drivers/dma/sh/rcar-dmac.c
1238
__func__, buf_len, period_len, rchan->mid_rid);
drivers/dma/sh/rcar-dmac.c
1249
rchan->index, sg_len, RCAR_DMAC_MAX_SG_LEN);
drivers/dma/sh/rcar-dmac.c
1272
desc = rcar_dmac_chan_prep_sg(rchan, sgl, sg_len, rchan->map.addr,
drivers/dma/sh/rcar-dmac.c
1282
struct rcar_dmac_chan *rchan = to_rcar_dmac_chan(chan);
drivers/dma/sh/rcar-dmac.c
1288
rchan->src.slave_addr = cfg->src_addr;
drivers/dma/sh/rcar-dmac.c
1289
rchan->dst.slave_addr = cfg->dst_addr;
drivers/dma/sh/rcar-dmac.c
1290
rchan->src.xfer_size = cfg->src_addr_width;
drivers/dma/sh/rcar-dmac.c
1291
rchan->dst.xfer_size = cfg->dst_addr_width;
drivers/dma/sh/rcar-dmac.c
1298
struct rcar_dmac_chan *rchan = to_rcar_dmac_chan(chan);
drivers/dma/sh/rcar-dmac.c
1301
spin_lock_irqsave(&rchan->lock, flags);
drivers/dma/sh/rcar-dmac.c
1302
rcar_dmac_chan_halt(rchan);
drivers/dma/sh/rcar-dmac.c
1303
spin_unlock_irqrestore(&rchan->lock, flags);
drivers/dma/sh/rcar-dmac.c
1310
rcar_dmac_chan_reinit(rchan);
drivers/dma/sh/rcar-dmac.c
1426
struct rcar_dmac_chan *rchan = to_rcar_dmac_chan(chan);
drivers/dma/sh/rcar-dmac.c
1436
spin_lock_irqsave(&rchan->lock, flags);
drivers/dma/sh/rcar-dmac.c
1437
residue = rcar_dmac_chan_get_residue(rchan, cookie);
drivers/dma/sh/rcar-dmac.c
1438
cyclic = rchan->desc.running ? rchan->desc.running->cyclic : false;
drivers/dma/sh/rcar-dmac.c
1439
spin_unlock_irqrestore(&rchan->lock, flags);
drivers/dma/sh/rcar-dmac.c
1452
struct rcar_dmac_chan *rchan = to_rcar_dmac_chan(chan);
drivers/dma/sh/rcar-dmac.c
1455
spin_lock_irqsave(&rchan->lock, flags);
drivers/dma/sh/rcar-dmac.c
1457
if (list_empty(&rchan->desc.pending))
drivers/dma/sh/rcar-dmac.c
1461
list_splice_tail_init(&rchan->desc.pending, &rchan->desc.active);
drivers/dma/sh/rcar-dmac.c
1467
if (!rchan->desc.running) {
drivers/dma/sh/rcar-dmac.c
1470
desc = list_first_entry(&rchan->desc.active,
drivers/dma/sh/rcar-dmac.c
1472
rchan->desc.running = desc;
drivers/dma/sh/rcar-dmac.c
1474
rcar_dmac_chan_start_xfer(rchan);
drivers/dma/sh/rcar-dmac.c
1478
spin_unlock_irqrestore(&rchan->lock, flags);
drivers/dma/sh/rcar-dmac.c
1483
struct rcar_dmac_chan *rchan = to_rcar_dmac_chan(chan);
drivers/dma/sh/rcar-dmac.c
1485
synchronize_irq(rchan->irq);
drivers/dma/sh/rcar-dmac.c
1705
struct rcar_dmac_chan *rchan;
drivers/dma/sh/rcar-dmac.c
1721
rchan = to_rcar_dmac_chan(chan);
drivers/dma/sh/rcar-dmac.c
1722
rchan->mid_rid = dma_spec->args[0];
drivers/dma/sh/rcar-dmac.c
1754
struct rcar_dmac_chan *rchan)
drivers/dma/sh/rcar-dmac.c
1757
struct dma_chan *chan = &rchan->chan;
drivers/dma/sh/rcar-dmac.c
1762
rchan->mid_rid = -EINVAL;
drivers/dma/sh/rcar-dmac.c
1764
spin_lock_init(&rchan->lock);
drivers/dma/sh/rcar-dmac.c
1766
INIT_LIST_HEAD(&rchan->desc.free);
drivers/dma/sh/rcar-dmac.c
1767
INIT_LIST_HEAD(&rchan->desc.pending);
drivers/dma/sh/rcar-dmac.c
1768
INIT_LIST_HEAD(&rchan->desc.active);
drivers/dma/sh/rcar-dmac.c
1769
INIT_LIST_HEAD(&rchan->desc.done);
drivers/dma/sh/rcar-dmac.c
1770
INIT_LIST_HEAD(&rchan->desc.wait);
drivers/dma/sh/rcar-dmac.c
1773
sprintf(pdev_irqname, "ch%u", rchan->index);
drivers/dma/sh/rcar-dmac.c
1774
rchan->irq = platform_get_irq_byname(pdev, pdev_irqname);
drivers/dma/sh/rcar-dmac.c
1775
if (rchan->irq < 0)
drivers/dma/sh/rcar-dmac.c
1779
dev_name(dmac->dev), rchan->index);
drivers/dma/sh/rcar-dmac.c
1792
ret = devm_request_threaded_irq(dmac->dev, rchan->irq,
drivers/dma/sh/rcar-dmac.c
1795
irqname, rchan);
drivers/dma/sh/rcar-dmac.c
1798
rchan->irq, ret);
drivers/dma/sh/rcar-dmac.c
866
struct rcar_dmac_chan *rchan = to_rcar_dmac_chan(chan);
drivers/dma/sh/rcar-dmac.c
868
spin_lock_irqsave(&rchan->lock, flags);
drivers/dma/sh/rcar-dmac.c
869
rcar_dmac_clear_chcr_de(rchan);
drivers/dma/sh/rcar-dmac.c
870
spin_unlock_irqrestore(&rchan->lock, flags);
drivers/dma/ti/k3-udma-private.c
113
XUDMA_GET_PUT_RESOURCE(rchan);
drivers/dma/ti/k3-udma-private.c
140
XUDMA_GET_RESOURCE_ID(rchan);
drivers/dma/ti/k3-udma-private.c
161
XUDMA_RT_IO_FUNCTIONS(rchan);
drivers/dma/ti/k3-udma.c
1372
UDMA_RESERVE_RESOURCE(rchan);
drivers/dma/ti/k3-udma.c
1461
if (uc->rchan) {
drivers/dma/ti/k3-udma.c
1463
uc->id, uc->rchan->id);
drivers/dma/ti/k3-udma.c
1472
uc->rchan = __udma_reserve_rchan(ud, uc->config.channel_tpl,
drivers/dma/ti/k3-udma.c
1474
if (IS_ERR(uc->rchan)) {
drivers/dma/ti/k3-udma.c
1475
ret = PTR_ERR(uc->rchan);
drivers/dma/ti/k3-udma.c
1476
uc->rchan = NULL;
drivers/dma/ti/k3-udma.c
1488
if ((uc->tchan && uc->rchan) && uc->tchan->id == uc->rchan->id) {
drivers/dma/ti/k3-udma.c
1498
} else if (uc->rchan) {
drivers/dma/ti/k3-udma.c
1500
uc->id, uc->rchan->id);
drivers/dma/ti/k3-udma.c
1523
uc->rchan = &ud->rchans[chan_id];
drivers/dma/ti/k3-udma.c
1536
if (!uc->rchan) {
drivers/dma/ti/k3-udma.c
1574
if (uc->rchan) {
drivers/dma/ti/k3-udma.c
1576
uc->rchan->id);
drivers/dma/ti/k3-udma.c
1577
clear_bit(uc->rchan->id, ud->rchan_map);
drivers/dma/ti/k3-udma.c
1578
uc->rchan = NULL;
drivers/dma/ti/k3-udma.c
1741
if (!uc->rchan)
drivers/dma/ti/k3-udma.c
1777
ret = udma_get_rflow(uc, uc->rchan->id);
drivers/dma/ti/k3-udma.c
1789
uc->rchan->id;
drivers/dma/ti/k3-udma.c
1878
struct udma_rchan *rchan = uc->rchan;
drivers/dma/ti/k3-udma.c
1914
req_rx.index = rchan->id;
drivers/dma/ti/k3-udma.c
1926
dev_err(ud->dev, "rchan%d alloc failed %d\n", rchan->id, ret);
drivers/dma/ti/k3-udma.c
2041
struct udma_rchan *rchan = uc->rchan;
drivers/dma/ti/k3-udma.c
2060
req_rx.index = rchan->id;
drivers/dma/ti/k3-udma.c
2068
dev_err(ud->dev, "rchan%d cfg failed %d\n", rchan->id, ret);
drivers/dma/ti/k3-udma.c
2088
flow_req.flow_index = rchan->id;
drivers/dma/ti/k3-udma.c
2112
dev_err(ud->dev, "flow%d config failed: %d\n", rchan->id, ret);
drivers/dma/ti/k3-udma.c
2122
struct udma_rchan *rchan = uc->rchan;
drivers/dma/ti/k3-udma.c
2128
req_rx.index = rchan->id;
drivers/dma/ti/k3-udma.c
2132
dev_err(ud->dev, "rchan%d cfg failed %d\n", rchan->id, ret);
drivers/dma/ti/k3-udma.c
2148
req_rx.index = uc->rchan->id;
drivers/dma/ti/k3-udma.c
2152
dev_err(ud->dev, "rchan%d cfg failed %d\n", uc->rchan->id, ret);
drivers/dma/ti/k3-udma.c
2249
uc->config.dst_thread = (ud->psil_base + uc->rchan->id) |
drivers/dma/ti/k3-udma.c
2285
uc->config.dst_thread = (ud->psil_base + uc->rchan->id) |
drivers/dma/ti/k3-udma.c
2289
irq_udma_idx = soc_data->oes.udma_rchan + uc->rchan->id;
drivers/dma/ti/k3-udma.c
2454
uc->config.dst_thread = (ud->psil_base + uc->rchan->id) |
drivers/dma/ti/k3-udma.c
2457
irq_ring_idx = uc->rchan->id + oes->bcdma_rchan_ring;
drivers/dma/ti/k3-udma.c
2458
irq_udma_idx = uc->rchan->id + oes->bcdma_rchan_data;
drivers/dma/ti/k3-udma.c
2648
uc->config.dst_thread = (ud->psil_base + uc->rchan->id) |
drivers/dma/ti/k3-udma.c
2727
else if (uc->rchan)
drivers/dma/ti/k3-udma.c
2730
uc->id, uc->rchan->id, uc->rflow->id,
drivers/dma/ti/k3-udma.c
289
struct udma_rchan *rchan;
drivers/dma/ti/k3-udma.c
382
if (!uc->rchan)
drivers/dma/ti/k3-udma.c
384
return udma_read(uc->rchan->reg_rt, reg);
drivers/dma/ti/k3-udma.c
389
if (!uc->rchan)
drivers/dma/ti/k3-udma.c
391
udma_write(uc->rchan->reg_rt, reg, val);
drivers/dma/ti/k3-udma.c
397
if (!uc->rchan)
drivers/dma/ti/k3-udma.c
399
udma_update_bits(uc->rchan->reg_rt, reg, mask, val);
drivers/dma/ti/k3-udma.c
5326
seq_printf(s, "rchan%d [0x%04x -> 0x%04x], ", uc->rchan->id,
drivers/dma/ti/k3-udma.c
5600
struct udma_rchan *rchan = &ud->rchans[i];
drivers/dma/ti/k3-udma.c
5602
rchan->id = i;
drivers/dma/ti/k3-udma.c
5603
rchan->reg_rt = ud->mmrs[MMR_RCHANRT] + i * 0x1000;
drivers/dma/ti/k3-udma.c
5620
uc->rchan = NULL;
drivers/dma/ti/k3-udma.c
610
if (uc->rchan)
drivers/dma/ti/k3-udma.c
733
if (uc->rchan) {
drivers/dma/ti/k3-udma.c
797
if (uc->rchan) {
drivers/dma/ti/k3-udma.h
154
u32 xudma_rchanrt_read(struct udma_rchan *rchan, int reg);
drivers/dma/ti/k3-udma.h
155
void xudma_rchanrt_write(struct udma_rchan *rchan, int reg, u32 val);
drivers/gpu/drm/i915/gt/uc/intel_guc_log.c
529
struct rchan *guc_log_relay_chan;
drivers/gpu/drm/i915/gt/uc/intel_guc_log.h
71
struct rchan *channel;
drivers/net/wireless/ath/ath10k/core.h
1243
struct rchan *rfs_chan_spec_scan;
drivers/net/wireless/ath/ath11k/cfr.h
184
struct rchan *rfs_cfr_capture;
drivers/net/wireless/ath/ath11k/spectral.h
31
struct rchan *rfs_scan; /* relay(fs) channel for spectral scan */
drivers/net/wireless/ath/ath9k/common-spectral.c
454
struct rchan *rc = spec_priv->rfs_chan_spec_scan;
drivers/net/wireless/ath/ath9k/common-spectral.h
100
struct rchan *rfs_chan_spec_scan;
drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h
307
struct rchan *relay_fwlog;
drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h
508
struct rchan *relay_fwlog;
drivers/net/wwan/iosm/iosm_ipc_trace.h
38
struct rchan *ipc_rchan;
drivers/net/wwan/t7xx/t7xx_port.h
138
struct rchan *relaych;
drivers/net/wwan/t7xx/t7xx_port_trace.c
55
struct rchan *relaych = port->log.relaych;
drivers/net/wwan/t7xx/t7xx_port_trace.c
67
struct rchan *relaych = port->log.relaych;
drivers/net/wwan/t7xx/t7xx_port_trace.c
79
struct rchan *relaych = port->log.relaych;
include/linux/blktrace_api.h
19
struct rchan *rchan;
include/linux/relay.h
169
struct rchan *relay_open(const char *base_filename,
include/linux/relay.h
175
extern void relay_close(struct rchan *chan);
include/linux/relay.h
176
extern void relay_flush(struct rchan *chan);
include/linux/relay.h
177
size_t relay_stats(struct rchan *chan, int flags);
include/linux/relay.h
178
extern void relay_subbufs_consumed(struct rchan *chan,
include/linux/relay.h
181
extern void relay_reset(struct rchan *chan);
include/linux/relay.h
200
static inline void relay_write(struct rchan *chan,
include/linux/relay.h
228
static inline void __relay_write(struct rchan *chan,
include/linux/relay.h
253
static inline void *relay_reserve(struct rchan *chan, size_t length)
include/linux/relay.h
57
struct rchan *chan; /* associated channel */
kernel/relay.c
146
static struct rchan_buf *relay_create_buf(struct rchan *chan)
kernel/relay.c
182
struct rchan *chan = container_of(kref, struct rchan, kref);
kernel/relay.c
193
struct rchan *chan = buf->chan;
kernel/relay.c
324
void relay_reset(struct rchan *chan)
kernel/relay.c
352
static struct dentry *relay_create_buf_file(struct rchan *chan,
kernel/relay.c
380
static struct rchan_buf *relay_open_buf(struct rchan *chan, unsigned int cpu)
kernel/relay.c
439
struct rchan *chan;
kernel/relay.c
474
struct rchan *relay_open(const char *base_filename,
kernel/relay.c
482
struct rchan *chan;
kernel/relay.c
492
chan = kzalloc_obj(struct rchan);
kernel/relay.c
623
void relay_subbufs_consumed(struct rchan *chan,
kernel/relay.c
649
void relay_close(struct rchan *chan)
kernel/relay.c
677
void relay_flush(struct rchan *chan)
kernel/relay.c
705
size_t relay_stats(struct rchan *chan, int flags)
kernel/trace/blktrace.c
124
t = relay_reserve(bt->rchan, trace_len);
kernel/trace/blktrace.c
144
t = relay_reserve(bt->rchan, trace_len);
kernel/trace/blktrace.c
202
if (!bt->rchan)
kernel/trace/blktrace.c
471
relay_close(bt->rchan);
kernel/trace/blktrace.c
530
relay_flush(bt->rchan);
kernel/trace/blktrace.c
573
size_t dropped = relay_stats(bt->rchan, RELAY_STATS_BUF_FULL);
kernel/trace/blktrace.c
715
bt->rchan = relay_open("trace", dir, buf_size, buf_nr,
kernel/trace/blktrace.c
717
if (!bt->rchan)