Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
[linux-2.6] / drivers / net / sfc / mac.h
1 /****************************************************************************
2  * Driver for Solarflare Solarstorm network controllers and boards
3  * Copyright 2005-2006 Fen Systems Ltd.
4  * Copyright 2006-2007 Solarflare Communications Inc.
5  *
6  * This program is free software; you can redistribute it and/or modify it
7  * under the terms of the GNU General Public License version 2 as published
8  * by the Free Software Foundation, incorporated herein by reference.
9  */
10
11 #ifndef EFX_MAC_H
12 #define EFX_MAC_H
13
14 #include "net_driver.h"
15
16 extern void falcon_xmac_writel(struct efx_nic *efx,
17                                efx_dword_t *value, unsigned int mac_reg);
18 extern void falcon_xmac_readl(struct efx_nic *efx,
19                               efx_dword_t *value, unsigned int mac_reg);
20 extern int falcon_init_xmac(struct efx_nic *efx);
21 extern void falcon_reconfigure_xmac(struct efx_nic *efx);
22 extern void falcon_update_stats_xmac(struct efx_nic *efx);
23 extern void falcon_fini_xmac(struct efx_nic *efx);
24 extern int falcon_check_xmac(struct efx_nic *efx);
25 extern void falcon_xmac_sim_phy_event(struct efx_nic *efx);
26 extern int falcon_xmac_get_settings(struct efx_nic *efx,
27                                     struct ethtool_cmd *ecmd);
28 extern int falcon_xmac_set_settings(struct efx_nic *efx,
29                                     struct ethtool_cmd *ecmd);
30 extern int falcon_xmac_set_pause(struct efx_nic *efx,
31                                  enum efx_fc_type pause_params);
32
33 #endif