aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/s2io.h
diff options
context:
space:
mode:
authorSreenivasa Honnur <sreenivasa.honnur@neterion.com>2008-01-24 04:45:43 -0500
committerDavid S. Miller <davem@davemloft.net>2008-01-28 18:03:52 -0500
commitfaa4f7969f3340606f46515560ce193d9bd74ea4 (patch)
tree31bd54a2162dd35767baaeaaf4ae55ada2dd7958 /drivers/net/s2io.h
parentdb0ce50d3792e993a1b24f16fb70153eccf38f33 (diff)
[S2IO]: Support for add/delete/store/restore ethernet addresses
- Support to add/delete/store/restore 64 and 128 Ethernet addresses for Xframe I and Xframe II respectively. Signed-off-by: Sreenivasa Honnur <sreenivasa.honnur@neterion.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/s2io.h')
-rw-r--r--drivers/net/s2io.h14
1 files changed, 12 insertions, 2 deletions
diff --git a/drivers/net/s2io.h b/drivers/net/s2io.h
index cc1797a071aa..b944a948f19d 100644
--- a/drivers/net/s2io.h
+++ b/drivers/net/s2io.h
@@ -31,6 +31,7 @@
31#define SUCCESS 0 31#define SUCCESS 0
32#define FAILURE -1 32#define FAILURE -1
33#define S2IO_MINUS_ONE 0xFFFFFFFFFFFFFFFFULL 33#define S2IO_MINUS_ONE 0xFFFFFFFFFFFFFFFFULL
34#define S2IO_DISABLE_MAC_ENTRY 0xFFFFFFFFFFFFULL
34#define S2IO_MAX_PCI_CONFIG_SPACE_REINIT 100 35#define S2IO_MAX_PCI_CONFIG_SPACE_REINIT 100
35#define S2IO_BIT_RESET 1 36#define S2IO_BIT_RESET 1
36#define S2IO_BIT_SET 2 37#define S2IO_BIT_SET 2
@@ -458,6 +459,9 @@ struct config_param {
458#define MAX_MTU_JUMBO (MAX_PYLD_JUMBO+18) 459#define MAX_MTU_JUMBO (MAX_PYLD_JUMBO+18)
459#define MAX_MTU_JUMBO_VLAN (MAX_PYLD_JUMBO+22) 460#define MAX_MTU_JUMBO_VLAN (MAX_PYLD_JUMBO+22)
460 u16 bus_speed; 461 u16 bus_speed;
462 int max_mc_addr; /* xena=64 herc=256 */
463 int max_mac_addr; /* xena=16 herc=64 */
464 int mc_start_offset; /* xena=16 herc=64 */
461}; 465};
462 466
463/* Structure representing MAC Addrs */ 467/* Structure representing MAC Addrs */
@@ -826,7 +830,7 @@ struct s2io_nic {
826#define MAX_MAC_SUPPORTED 16 830#define MAX_MAC_SUPPORTED 16
827#define MAX_SUPPORTED_MULTICASTS MAX_MAC_SUPPORTED 831#define MAX_SUPPORTED_MULTICASTS MAX_MAC_SUPPORTED
828 832
829 struct mac_addr def_mac_addr[MAX_MAC_SUPPORTED]; 833 struct mac_addr def_mac_addr[256];
830 834
831 struct net_device_stats stats; 835 struct net_device_stats stats;
832 int high_dma_flag; 836 int high_dma_flag;
@@ -853,7 +857,7 @@ struct s2io_nic {
853#define MAX_ADDRS_SUPPORTED 64 857#define MAX_ADDRS_SUPPORTED 64
854 u16 usr_addr_count; 858 u16 usr_addr_count;
855 u16 mc_addr_count; 859 u16 mc_addr_count;
856 struct usr_addr usr_addrs[MAX_ADDRS_SUPPORTED]; 860 struct usr_addr usr_addrs[256];
857 861
858 u16 m_cast_flg; 862 u16 m_cast_flg;
859 u16 all_multi_pos; 863 u16 all_multi_pos;
@@ -1066,6 +1070,12 @@ static int s2io_add_isr(struct s2io_nic * sp);
1066static void s2io_rem_isr(struct s2io_nic * sp); 1070static void s2io_rem_isr(struct s2io_nic * sp);
1067 1071
1068static void restore_xmsi_data(struct s2io_nic *nic); 1072static void restore_xmsi_data(struct s2io_nic *nic);
1073static void do_s2io_store_unicast_mc(struct s2io_nic *sp);
1074static void do_s2io_restore_unicast_mc(struct s2io_nic *sp);
1075static u64 do_s2io_read_unicast_mc(struct s2io_nic *sp, int offset);
1076static int do_s2io_add_mc(struct s2io_nic *sp, u8 *addr);
1077static int do_s2io_add_mac(struct s2io_nic *sp, u64 addr, int offset);
1078static int do_s2io_delete_unicast_mc(struct s2io_nic *sp, u64 addr);
1069 1079
1070static int 1080static int
1071s2io_club_tcp_session(u8 *buffer, u8 **tcp, u32 *tcp_len, struct lro **lro, 1081s2io_club_tcp_session(u8 *buffer, u8 **tcp, u32 *tcp_len, struct lro **lro,