xref: /linux/drivers/net/ethernet/sfc/ef100_tx.h (revision ae22a94997b8a03dcb3c922857c203246711f9d4)
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /****************************************************************************
3  * Driver for Solarflare network controllers and boards
4  * Copyright 2019 Solarflare Communications Inc.
5  * Copyright 2019-2020 Xilinx Inc.
6  *
7  * This program is free software; you can redistribute it and/or modify it
8  * under the terms of the GNU General Public License version 2 as published
9  * by the Free Software Foundation, incorporated herein by reference.
10  */
11 
12 #ifndef EFX_EF100_TX_H
13 #define EFX_EF100_TX_H
14 
15 #include "net_driver.h"
16 #include "ef100_rep.h"
17 
18 int ef100_tx_probe(struct efx_tx_queue *tx_queue);
19 void ef100_tx_init(struct efx_tx_queue *tx_queue);
20 void ef100_tx_write(struct efx_tx_queue *tx_queue);
21 unsigned int ef100_tx_max_skb_descs(struct efx_nic *efx);
22 
23 int ef100_ev_tx(struct efx_channel *channel, const efx_qword_t *p_event);
24 
25 netdev_tx_t ef100_enqueue_skb(struct efx_tx_queue *tx_queue, struct sk_buff *skb);
26 int __ef100_enqueue_skb(struct efx_tx_queue *tx_queue, struct sk_buff *skb,
27 			struct efx_rep *efv);
28 #endif
29