Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6] / drivers / net / sfc / rx.h
1 /****************************************************************************
2  * Driver for Solarflare Solarstorm network controllers and boards
3  * Copyright 2006 Solarflare Communications Inc.
4  *
5  * This program is free software; you can redistribute it and/or modify it
6  * under the terms of the GNU General Public License version 2 as published
7  * by the Free Software Foundation, incorporated herein by reference.
8  */
9
10 #ifndef EFX_RX_H
11 #define EFX_RX_H
12
13 #include "net_driver.h"
14
15 int efx_probe_rx_queue(struct efx_rx_queue *rx_queue);
16 void efx_remove_rx_queue(struct efx_rx_queue *rx_queue);
17 void efx_init_rx_queue(struct efx_rx_queue *rx_queue);
18 void efx_fini_rx_queue(struct efx_rx_queue *rx_queue);
19
20 int efx_lro_init(struct net_lro_mgr *lro_mgr, struct efx_nic *efx);
21 void efx_lro_fini(struct net_lro_mgr *lro_mgr);
22 void efx_flush_lro(struct efx_channel *channel);
23 void efx_rx_strategy(struct efx_channel *channel);
24 void efx_fast_push_rx_descriptors(struct efx_rx_queue *rx_queue);
25 void efx_rx_work(struct work_struct *data);
26 void __efx_rx_packet(struct efx_channel *channel,
27                      struct efx_rx_buffer *rx_buf, bool checksummed);
28
29 #endif /* EFX_RX_H */