ia64/linux-2.6.18-xen.hg

view drivers/net/sfc/sfc_resource/linux_resource_internal.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 Linux-specific API internal for the resource driver.
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 __LINUX_RESOURCE_INTERNAL__
39 #define __LINUX_RESOURCE_INTERNAL__
41 #include <ci/driver/resource/linux_efhw_nic.h>
42 #include <ci/efrm/debug.h>
43 #include <ci/efrm/driver_private.h>
44 #include <ci/driver/efab/hardware.h>
47 /*! Linux specific EtherFabric initialisation */
48 extern int
49 linux_efrm_nic_ctor(struct linux_efhw_nic *, struct pci_dev *,
50 spinlock_t *reg_lock,
51 unsigned nic_flags, unsigned nic_options);
53 /*! Linux specific EtherFabric initialisation */
54 extern void linux_efrm_nic_dtor(struct linux_efhw_nic *);
56 /*! Linux specific EtherFabric initialisation -- interrupt registration */
57 extern int linux_efrm_irq_ctor(struct linux_efhw_nic *);
59 /*! Linux specific EtherFabric initialisation -- interrupt deregistration */
60 extern void linux_efrm_irq_dtor(struct linux_efhw_nic *);
62 extern int efrm_driverlink_register(void);
63 extern void efrm_driverlink_unregister(void);
65 extern int
66 efrm_nic_add(struct pci_dev *dev, unsigned int opts, const uint8_t *mac_addr,
67 struct linux_efhw_nic **lnic_out, spinlock_t *reg_lock,
68 int bt_min, int bt_max, int non_irq_evq,
69 const struct vi_resource_dimensions *);
70 extern void efrm_nic_del(struct linux_efhw_nic *);
73 extern int efrm_install_proc_entries(void);
74 extern void efrm_uninstall_proc_entries(void);
76 #endif /* __LINUX_RESOURCE_INTERNAL__ */