blob: 0e88a9ddc1c64ae967337fa218a5d24388b479f3 [file] [log] [blame]
Ben Hutchings8ceee662008-04-27 12:55:59 +01001/****************************************************************************
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
15int efx_probe_rx_queue(struct efx_rx_queue *rx_queue);
16void efx_remove_rx_queue(struct efx_rx_queue *rx_queue);
Ben Hutchingsbc3c90a2008-09-01 12:48:46 +010017void efx_init_rx_queue(struct efx_rx_queue *rx_queue);
Ben Hutchings8ceee662008-04-27 12:55:59 +010018void efx_fini_rx_queue(struct efx_rx_queue *rx_queue);
19
20int efx_lro_init(struct net_lro_mgr *lro_mgr, struct efx_nic *efx);
21void efx_lro_fini(struct net_lro_mgr *lro_mgr);
22void efx_flush_lro(struct efx_channel *channel);
23void efx_rx_strategy(struct efx_channel *channel);
24void efx_fast_push_rx_descriptors(struct efx_rx_queue *rx_queue);
25void efx_rx_work(struct work_struct *data);
26void __efx_rx_packet(struct efx_channel *channel,
Ben Hutchingsdc8cfa52008-09-01 12:46:50 +010027 struct efx_rx_buffer *rx_buf, bool checksummed);
Ben Hutchings8ceee662008-04-27 12:55:59 +010028
29#endif /* EFX_RX_H */