summaryrefslogtreecommitdiffstats
path: root/include/linux/dmaengine.h
diff options
context:
space:
mode:
authorVinod Koul <vinod.koul@intel.com>2015-06-24 23:51:43 -0400
committerVinod Koul <vinod.koul@intel.com>2015-06-24 23:51:43 -0400
commit0e0fa66e39db6b2c72dbc0d8975fc2a45533a8eb (patch)
tree1b538ba40d301ba70a645d405e37e74bb5d70119 /include/linux/dmaengine.h
parent9324fdf5267b12f6db660fe52e882bbfffcc109a (diff)
parenta074ae38f859b90bd259f5df43784834b44412d1 (diff)
Merge branch 'topic/omap' into for-linus
Diffstat (limited to 'include/linux/dmaengine.h')
-rw-r--r--include/linux/dmaengine.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h
index 5d99229c2f95..2882a201c1cb 100644
--- a/include/linux/dmaengine.h
+++ b/include/linux/dmaengine.h
@@ -231,6 +231,16 @@ struct dma_chan_percpu {
231}; 231};
232 232
233/** 233/**
234 * struct dma_router - DMA router structure
235 * @dev: pointer to the DMA router device
236 * @route_free: function to be called when the route can be disconnected
237 */
238struct dma_router {
239 struct device *dev;
240 void (*route_free)(struct device *dev, void *route_data);
241};
242
243/**
234 * struct dma_chan - devices supply DMA channels, clients use them 244 * struct dma_chan - devices supply DMA channels, clients use them
235 * @device: ptr to the dma device who supplies this channel, always !%NULL 245 * @device: ptr to the dma device who supplies this channel, always !%NULL
236 * @cookie: last cookie value returned to client 246 * @cookie: last cookie value returned to client
@@ -241,6 +251,8 @@ struct dma_chan_percpu {
241 * @local: per-cpu pointer to a struct dma_chan_percpu 251 * @local: per-cpu pointer to a struct dma_chan_percpu
242 * @client_count: how many clients are using this channel 252 * @client_count: how many clients are using this channel
243 * @table_count: number of appearances in the mem-to-mem allocation table 253 * @table_count: number of appearances in the mem-to-mem allocation table
254 * @router: pointer to the DMA router structure
255 * @route_data: channel specific data for the router
244 * @private: private data for certain client-channel associations 256 * @private: private data for certain client-channel associations
245 */ 257 */
246struct dma_chan { 258struct dma_chan {
@@ -256,6 +268,11 @@ struct dma_chan {
256 struct dma_chan_percpu __percpu *local; 268 struct dma_chan_percpu __percpu *local;
257 int client_count; 269 int client_count;
258 int table_count; 270 int table_count;
271
272 /* DMA router */
273 struct dma_router *router;
274 void *route_data;
275
259 void *private; 276 void *private;
260}; 277};
261 278