ia64/linux-2.6.18-xen.hg

view drivers/net/sfc/sfc_resource/ci/driver/resource/linux_efhw_nic.h @ 847:ad4d307bf9ce

net sfc: Update sfc and sfc_resource driver to latest release

...and update sfc_netfront, sfc_netback, sfc_netutil for any API changes

sfc_netback: Fix asymmetric use of SFC buffer table alloc and free
sfc_netback: Clean up if no SFC accel device found
sfc_netback: Gracefully handle case where page grant fails
sfc_netback: Disable net acceleration if the physical link goes down
sfc_netfront: Less verbose error messages, more verbose counters for
rx discard errors
sfc_netfront: Gracefully handle case where SFC netfront fails during
initialisation

Signed-off-by: Kieran Mansley <kmansley@solarflare.com>
author Keir Fraser <keir.fraser@citrix.com>
date Tue Mar 31 11:59:10 2009 +0100 (2009-03-31)
parents e4dd072db259
children
line source
1 /****************************************************************************
2 * Driver for Solarflare network controllers -
3 * resource management for Xen backend, OpenOnload, etc
4 * (including support for SFE4001 10GBT NIC)
5 *
6 * This file contains definition of the public type struct linux_efhw_nic.
7 *
8 * Copyright 2005-2007: Solarflare Communications Inc,
9 * 9501 Jeronimo Road, Suite 250,
10 * Irvine, CA 92618, USA
11 *
12 * Developed and maintained by Solarflare Communications:
13 * <linux-xen-drivers@solarflare.com>
14 * <onload-dev@solarflare.com>
15 *
16 * Certain parts of the driver were implemented by
17 * Alexandra Kossovsky <Alexandra.Kossovsky@oktetlabs.ru>
18 * OKTET Labs Ltd, Russia,
19 * http://oktetlabs.ru, <info@oktetlabs.ru>
20 * by request of Solarflare Communications
21 *
22 *
23 * This program is free software; you can redistribute it and/or modify it
24 * under the terms of the GNU General Public License version 2 as published
25 * by the Free Software Foundation, incorporated herein by reference.
26 *
27 * This program is distributed in the hope that it will be useful,
28 * but WITHOUT ANY WARRANTY; without even the implied warranty of
29 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
30 * GNU General Public License for more details.
31 *
32 * You should have received a copy of the GNU General Public License
33 * along with this program; if not, write to the Free Software
34 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
35 ****************************************************************************
36 */
38 #ifndef __CI_DRIVER_RESOURCE_LINUX_RESOURCE__
39 #define __CI_DRIVER_RESOURCE_LINUX_RESOURCE__
42 #include <ci/efhw/efhw_types.h>
43 #include <linux/interrupt.h>
46 /************************************************************************
47 * Per-nic structure in the resource driver *
48 ************************************************************************/
50 struct linux_efhw_nic {
51 struct efhw_nic nic;
53 struct pci_dev *pci_dev; /*!< pci descriptor */
54 struct tasklet_struct tasklet; /*!< for interrupt bottom half */
56 /* Physical addresses of the control aperture bar. */
57 unsigned long ctr_ap_pci_addr;
59 /*! Callbacks for driverlink, when needed. */
60 struct efx_dl_callbacks *dl_callbacks;
62 /*! Event handlers. */
63 struct efhw_ev_handler *ev_handlers;
65 };
67 #define linux_efhw_nic(efhw_nic) \
68 container_of(efhw_nic, struct linux_efhw_nic, nic)
70 #endif /* __CI_DRIVER_RESOURCE_LINUX_RESOURCE__ */