]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/net/netxen/netxen_nic.h
netxen: fix promisc mode, mtu setting
[linux-2.6-omap-h63xx.git] / drivers / net / netxen / netxen_nic.h
index 07a59dc83dba7a78370afd3e835e09518dd3f244..93a7b9b668d5a745ea873d686e26eb1976570647 100644 (file)
@@ -1172,6 +1172,36 @@ typedef struct {
        nx_nic_intr_coalesce_data_t     irq;
 } nx_nic_intr_coalesce_t;
 
+#define NX_HOST_REQUEST                0x13
+#define NX_NIC_REQUEST         0x14
+
+#define NX_MAC_EVENT           0x1
+
+enum {
+       NX_NIC_H2C_OPCODE_START = 0,
+       NX_NIC_H2C_OPCODE_CONFIG_RSS,
+       NX_NIC_H2C_OPCODE_CONFIG_RSS_TBL,
+       NX_NIC_H2C_OPCODE_CONFIG_INTR_COALESCE,
+       NX_NIC_H2C_OPCODE_CONFIG_LED,
+       NX_NIC_H2C_OPCODE_CONFIG_PROMISCUOUS,
+       NX_NIC_H2C_OPCODE_CONFIG_L2_MAC,
+       NX_NIC_H2C_OPCODE_LRO_REQUEST,
+       NX_NIC_H2C_OPCODE_GET_SNMP_STATS,
+       NX_NIC_H2C_OPCODE_PROXY_START_REQUEST,
+       NX_NIC_H2C_OPCODE_PROXY_STOP_REQUEST,
+       NX_NIC_H2C_OPCODE_PROXY_SET_MTU,
+       NX_NIC_H2C_OPCODE_PROXY_SET_VPORT_MISS_MODE,
+       NX_H2P_OPCODE_GET_FINGER_PRINT_REQUEST,
+       NX_H2P_OPCODE_INSTALL_LICENSE_REQUEST,
+       NX_H2P_OPCODE_GET_LICENSE_CAPABILITY_REQUEST,
+       NX_NIC_H2C_OPCODE_GET_NET_STATS,
+       NX_NIC_H2C_OPCODE_LAST
+};
+
+#define VPORT_MISS_MODE_DROP           0 /* drop all unmatched */
+#define VPORT_MISS_MODE_ACCEPT_ALL     1 /* accept all packets */
+#define VPORT_MISS_MODE_ACCEPT_MULTI   2 /* accept unmatched multicast */
+
 typedef struct {
        u64 qhdr;
        u64 req_hdr;
@@ -1290,7 +1320,7 @@ struct netxen_adapter {
        int (*disable_phy_interrupts) (struct netxen_adapter *);
        int (*macaddr_set) (struct netxen_adapter *, netxen_ethernet_macaddr_t);
        int (*set_mtu) (struct netxen_adapter *, int);
-       int (*set_promisc) (struct netxen_adapter *, netxen_niu_prom_mode_t);
+       int (*set_promisc) (struct netxen_adapter *, u32);
        int (*phy_read) (struct netxen_adapter *, long reg, u32 *);
        int (*phy_write) (struct netxen_adapter *, long reg, u32 val);
        int (*init_port) (struct netxen_adapter *, int);
@@ -1467,9 +1497,10 @@ int netxen_process_cmd_ring(struct netxen_adapter *adapter);
 u32 netxen_process_rcv_ring(struct netxen_adapter *adapter, int ctx, int max);
 void netxen_p2_nic_set_multi(struct net_device *netdev);
 void netxen_p3_nic_set_multi(struct net_device *netdev);
+int netxen_p3_nic_set_promisc(struct netxen_adapter *adapter, u32);
 int netxen_config_intr_coalesce(struct netxen_adapter *adapter);
 
-u32 nx_fw_cmd_set_mtu(struct netxen_adapter *adapter, u32 mtu);
+int nx_fw_cmd_set_mtu(struct netxen_adapter *adapter, int mtu);
 int netxen_nic_change_mtu(struct net_device *netdev, int new_mtu);
 
 int netxen_nic_set_mac(struct net_device *netdev, void *p);