Lines Matching refs:chan
374 struct dma_chan *chan; member
526 static inline const char *dma_chan_name(struct dma_chan *chan) in dma_chan_name() argument
528 return dev_name(&chan->dev->device); in dma_chan_name()
542 typedef bool (*dma_filter_fn)(struct dma_chan *chan, void *filter_param);
615 struct dma_chan *chan; member
899 int (*device_alloc_chan_resources)(struct dma_chan *chan);
900 int (*device_router_config)(struct dma_chan *chan);
901 void (*device_free_chan_resources)(struct dma_chan *chan);
904 struct dma_chan *chan, dma_addr_t dst, dma_addr_t src,
907 struct dma_chan *chan, dma_addr_t dst, dma_addr_t *src,
910 struct dma_chan *chan, dma_addr_t *src, unsigned int src_cnt,
913 struct dma_chan *chan, dma_addr_t *dst, dma_addr_t *src,
917 struct dma_chan *chan, dma_addr_t *pq, dma_addr_t *src,
921 struct dma_chan *chan, dma_addr_t dest, int value, size_t len,
924 struct dma_chan *chan, struct scatterlist *sg,
927 struct dma_chan *chan, unsigned long flags);
930 struct dma_chan *chan, const struct dma_vec *vecs,
934 struct dma_chan *chan, struct scatterlist *sgl,
938 struct dma_chan *chan, dma_addr_t buf_addr, size_t buf_len,
942 struct dma_chan *chan, struct dma_interleaved_template *xt,
945 struct dma_chan *chan, dma_addr_t dst, u64 data,
948 void (*device_caps)(struct dma_chan *chan, struct dma_slave_caps *caps);
949 int (*device_config)(struct dma_chan *chan, struct dma_slave_config *config);
950 int (*device_pause)(struct dma_chan *chan);
951 int (*device_resume)(struct dma_chan *chan);
952 int (*device_terminate_all)(struct dma_chan *chan);
953 void (*device_synchronize)(struct dma_chan *chan);
955 enum dma_status (*device_tx_status)(struct dma_chan *chan,
958 void (*device_issue_pending)(struct dma_chan *chan);
965 static inline int dmaengine_slave_config(struct dma_chan *chan, in dmaengine_slave_config() argument
968 if (chan->device->device_config) in dmaengine_slave_config()
969 return chan->device->device_config(chan, config); in dmaengine_slave_config()
981 struct dma_chan *chan, dma_addr_t buf, size_t len, in dmaengine_prep_slave_single() argument
989 if (!chan || !chan->device || !chan->device->device_prep_slave_sg) in dmaengine_prep_slave_single()
992 return chan->device->device_prep_slave_sg(chan, &sg, 1, in dmaengine_prep_slave_single()
1005 struct dma_chan *chan, const struct dma_vec *vecs, size_t nents, in dmaengine_prep_peripheral_dma_vec() argument
1008 if (!chan || !chan->device || !chan->device->device_prep_peripheral_dma_vec) in dmaengine_prep_peripheral_dma_vec()
1011 return chan->device->device_prep_peripheral_dma_vec(chan, vecs, nents, in dmaengine_prep_peripheral_dma_vec()
1016 struct dma_chan *chan, struct scatterlist *sgl, unsigned int sg_len, in dmaengine_prep_slave_sg() argument
1019 if (!chan || !chan->device || !chan->device->device_prep_slave_sg) in dmaengine_prep_slave_sg()
1022 return chan->device->device_prep_slave_sg(chan, sgl, sg_len, in dmaengine_prep_slave_sg()
1029 struct dma_chan *chan, struct scatterlist *sgl, unsigned int sg_len, in dmaengine_prep_rio_sg() argument
1033 if (!chan || !chan->device || !chan->device->device_prep_slave_sg) in dmaengine_prep_rio_sg()
1036 return chan->device->device_prep_slave_sg(chan, sgl, sg_len, in dmaengine_prep_rio_sg()
1042 struct dma_chan *chan, dma_addr_t buf_addr, size_t buf_len, in dmaengine_prep_dma_cyclic() argument
1046 if (!chan || !chan->device || !chan->device->device_prep_dma_cyclic) in dmaengine_prep_dma_cyclic()
1049 return chan->device->device_prep_dma_cyclic(chan, buf_addr, buf_len, in dmaengine_prep_dma_cyclic()
1054 struct dma_chan *chan, struct dma_interleaved_template *xt, in dmaengine_prep_interleaved_dma() argument
1057 if (!chan || !chan->device || !chan->device->device_prep_interleaved_dma) in dmaengine_prep_interleaved_dma()
1060 !test_bit(DMA_REPEAT, chan->device->cap_mask.bits)) in dmaengine_prep_interleaved_dma()
1063 return chan->device->device_prep_interleaved_dma(chan, xt, flags); in dmaengine_prep_interleaved_dma()
1075 struct dma_chan *chan, dma_addr_t dest, int value, size_t len, in dmaengine_prep_dma_memset() argument
1078 if (!chan || !chan->device || !chan->device->device_prep_dma_memset) in dmaengine_prep_dma_memset()
1081 return chan->device->device_prep_dma_memset(chan, dest, value, in dmaengine_prep_dma_memset()
1086 struct dma_chan *chan, dma_addr_t dest, dma_addr_t src, in dmaengine_prep_dma_memcpy() argument
1089 if (!chan || !chan->device || !chan->device->device_prep_dma_memcpy) in dmaengine_prep_dma_memcpy()
1092 return chan->device->device_prep_dma_memcpy(chan, dest, src, in dmaengine_prep_dma_memcpy()
1096 static inline bool dmaengine_is_metadata_mode_supported(struct dma_chan *chan, in dmaengine_is_metadata_mode_supported() argument
1099 if (!chan) in dmaengine_is_metadata_mode_supported()
1102 return !!(chan->device->desc_metadata_modes & mode); in dmaengine_is_metadata_mode_supported()
1138 static inline int dmaengine_terminate_all(struct dma_chan *chan) in dmaengine_terminate_all() argument
1140 if (chan->device->device_terminate_all) in dmaengine_terminate_all()
1141 return chan->device->device_terminate_all(chan); in dmaengine_terminate_all()
1167 static inline int dmaengine_terminate_async(struct dma_chan *chan) in dmaengine_terminate_async() argument
1169 if (chan->device->device_terminate_all) in dmaengine_terminate_async()
1170 return chan->device->device_terminate_all(chan); in dmaengine_terminate_async()
1193 static inline void dmaengine_synchronize(struct dma_chan *chan) in dmaengine_synchronize() argument
1197 if (chan->device->device_synchronize) in dmaengine_synchronize()
1198 chan->device->device_synchronize(chan); in dmaengine_synchronize()
1215 static inline int dmaengine_terminate_sync(struct dma_chan *chan) in dmaengine_terminate_sync() argument
1219 ret = dmaengine_terminate_async(chan); in dmaengine_terminate_sync()
1223 dmaengine_synchronize(chan); in dmaengine_terminate_sync()
1228 static inline int dmaengine_pause(struct dma_chan *chan) in dmaengine_pause() argument
1230 if (chan->device->device_pause) in dmaengine_pause()
1231 return chan->device->device_pause(chan); in dmaengine_pause()
1236 static inline int dmaengine_resume(struct dma_chan *chan) in dmaengine_resume() argument
1238 if (chan->device->device_resume) in dmaengine_resume()
1239 return chan->device->device_resume(chan); in dmaengine_resume()
1244 static inline enum dma_status dmaengine_tx_status(struct dma_chan *chan, in dmaengine_tx_status() argument
1247 return chan->device->device_tx_status(chan, cookie, state); in dmaengine_tx_status()
1402 struct dma_chan *chan);
1456 static inline void dma_async_issue_pending(struct dma_chan *chan) in dma_async_issue_pending() argument
1458 chan->device->device_issue_pending(chan); in dma_async_issue_pending()
1472 static inline enum dma_status dma_async_is_tx_complete(struct dma_chan *chan, in dma_async_is_tx_complete() argument
1478 status = chan->device->device_tx_status(chan, cookie, &state); in dma_async_is_tx_complete()
1521 enum dma_status dma_sync_wait(struct dma_chan *chan, dma_cookie_t cookie);
1531 void dma_release_channel(struct dma_chan *chan);
1532 int dma_get_slave_caps(struct dma_chan *chan, struct dma_slave_caps *caps);
1538 static inline enum dma_status dma_sync_wait(struct dma_chan *chan, dma_cookie_t cookie) in dma_sync_wait() argument
1566 static inline void dma_release_channel(struct dma_chan *chan) in dma_release_channel() argument
1569 static inline int dma_get_slave_caps(struct dma_chan *chan, in dma_get_slave_caps() argument
1581 ret = dma_get_slave_caps(tx->chan, &caps); in dmaengine_desc_set_reuse()
1617 struct dma_chan *chan,
1620 struct dma_chan *chan);
1639 struct dma_chan *chan; in dma_request_slave_channel_compat() local
1641 chan = dma_request_slave_channel(dev, name); in dma_request_slave_channel_compat()
1642 if (chan) in dma_request_slave_channel_compat()
1643 return chan; in dma_request_slave_channel_compat()
1668 static inline struct device *dmaengine_get_dma_device(struct dma_chan *chan) in dmaengine_get_dma_device() argument
1670 if (chan->dev->chan_dma_dev) in dmaengine_get_dma_device()
1671 return &chan->dev->device; in dmaengine_get_dma_device()
1673 return chan->device->dev; in dmaengine_get_dma_device()