xref: /linux/arch/powerpc/include/asm/async_tx.h (revision 58e16d792a6a8c6b750f637a4649967fcac853dc)
1*e62d9491SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-or-later */
212458ea0SAnatolij Gustschin /*
312458ea0SAnatolij Gustschin  * Copyright (C) 2008-2009 DENX Software Engineering.
412458ea0SAnatolij Gustschin  *
512458ea0SAnatolij Gustschin  * Author: Yuri Tikhonov <yur@emcraft.com>
612458ea0SAnatolij Gustschin  */
712458ea0SAnatolij Gustschin #ifndef _ASM_POWERPC_ASYNC_TX_H_
812458ea0SAnatolij Gustschin #define _ASM_POWERPC_ASYNC_TX_H_
912458ea0SAnatolij Gustschin 
1012458ea0SAnatolij Gustschin #if defined(CONFIG_440SPe) || defined(CONFIG_440SP)
1112458ea0SAnatolij Gustschin extern struct dma_chan *
1212458ea0SAnatolij Gustschin ppc440spe_async_tx_find_best_channel(enum dma_transaction_type cap,
1312458ea0SAnatolij Gustschin 	struct page **dst_lst, int dst_cnt, struct page **src_lst,
1412458ea0SAnatolij Gustschin 	int src_cnt, size_t src_sz);
1512458ea0SAnatolij Gustschin 
1612458ea0SAnatolij Gustschin #define async_tx_find_channel(dep, cap, dst_lst, dst_cnt, src_lst, \
1712458ea0SAnatolij Gustschin 			      src_cnt, src_sz) \
1812458ea0SAnatolij Gustschin 	ppc440spe_async_tx_find_best_channel(cap, dst_lst, dst_cnt, src_lst, \
1912458ea0SAnatolij Gustschin 					     src_cnt, src_sz)
2012458ea0SAnatolij Gustschin #else
2112458ea0SAnatolij Gustschin 
2212458ea0SAnatolij Gustschin #define async_tx_find_channel(dep, type, dst, dst_count, src, src_count, len) \
2312458ea0SAnatolij Gustschin 	__async_tx_find_channel(dep, type)
2412458ea0SAnatolij Gustschin 
2512458ea0SAnatolij Gustschin struct dma_chan *
2612458ea0SAnatolij Gustschin __async_tx_find_channel(struct async_submit_ctl *submit,
2712458ea0SAnatolij Gustschin 			enum dma_transaction_type tx_type);
2812458ea0SAnatolij Gustschin 
2912458ea0SAnatolij Gustschin #endif
3012458ea0SAnatolij Gustschin 
3112458ea0SAnatolij Gustschin #endif
32