xref: /openbmc/linux/drivers/net/ethernet/sfc/tx.h (revision e9117e5099ea29592c2a6180f368951948837a8b)
1*e9117e50SBert Kenward /****************************************************************************
2*e9117e50SBert Kenward  * Driver for Solarflare network controllers and boards
3*e9117e50SBert Kenward  * Copyright 2005-2006 Fen Systems Ltd.
4*e9117e50SBert Kenward  * Copyright 2006-2015 Solarflare Communications Inc.
5*e9117e50SBert Kenward  *
6*e9117e50SBert Kenward  * This program is free software; you can redistribute it and/or modify it
7*e9117e50SBert Kenward  * under the terms of the GNU General Public License version 2 as published
8*e9117e50SBert Kenward  * by the Free Software Foundation, incorporated herein by reference.
9*e9117e50SBert Kenward  */
10*e9117e50SBert Kenward 
11*e9117e50SBert Kenward #ifndef EFX_TX_H
12*e9117e50SBert Kenward #define EFX_TX_H
13*e9117e50SBert Kenward 
14*e9117e50SBert Kenward #include <linux/types.h>
15*e9117e50SBert Kenward 
16*e9117e50SBert Kenward /* Driver internal tx-path related declarations. */
17*e9117e50SBert Kenward 
18*e9117e50SBert Kenward unsigned int efx_tx_limit_len(struct efx_tx_queue *tx_queue,
19*e9117e50SBert Kenward 			      dma_addr_t dma_addr, unsigned int len);
20*e9117e50SBert Kenward 
21*e9117e50SBert Kenward u8 *efx_tx_get_copy_buffer_limited(struct efx_tx_queue *tx_queue,
22*e9117e50SBert Kenward 				   struct efx_tx_buffer *buffer, size_t len);
23*e9117e50SBert Kenward 
24*e9117e50SBert Kenward int efx_enqueue_skb_tso(struct efx_tx_queue *tx_queue, struct sk_buff *skb,
25*e9117e50SBert Kenward 			bool *data_mapped);
26*e9117e50SBert Kenward 
27*e9117e50SBert Kenward #endif /* EFX_TX_H */
28