Deleted Added
full compact
oce_if.h (252869) oce_if.h (257007)
1/*-
2 * Copyright (C) 2013 Emulex
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met:
7 *
8 * 1. Redistributions of source code must retain the above copyright notice,

--- 22 unchanged lines hidden (view full) ---

31 * Contact Information:
32 * freebsd-drivers@emulex.com
33 *
34 * Emulex
35 * 3333 Susan Street
36 * Costa Mesa, CA 92626
37 */
38
1/*-
2 * Copyright (C) 2013 Emulex
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met:
7 *
8 * 1. Redistributions of source code must retain the above copyright notice,

--- 22 unchanged lines hidden (view full) ---

31 * Contact Information:
32 * freebsd-drivers@emulex.com
33 *
34 * Emulex
35 * 3333 Susan Street
36 * Costa Mesa, CA 92626
37 */
38
39/* $FreeBSD: head/sys/dev/oce/oce_if.h 257007 2013-10-23 18:58:38Z delphij $ */
39
40
40/* $FreeBSD: head/sys/dev/oce/oce_if.h 252869 2013-07-06 08:30:45Z delphij $ */
41
42#include <sys/param.h>
43#include <sys/endian.h>
44#include <sys/module.h>
45#include <sys/kernel.h>
46#include <sys/bus.h>
47#include <sys/mbuf.h>
48#include <sys/rman.h>
49#include <sys/socket.h>

--- 33 unchanged lines hidden (view full) ---

83#include <netinet/tcp.h>
84#include <netinet/sctp.h>
85#include <netinet/tcp_lro.h>
86
87#include <machine/bus.h>
88
89#include "oce_hw.h"
90
41#include <sys/param.h>
42#include <sys/endian.h>
43#include <sys/module.h>
44#include <sys/kernel.h>
45#include <sys/bus.h>
46#include <sys/mbuf.h>
47#include <sys/rman.h>
48#include <sys/socket.h>

--- 33 unchanged lines hidden (view full) ---

82#include <netinet/tcp.h>
83#include <netinet/sctp.h>
84#include <netinet/tcp_lro.h>
85
86#include <machine/bus.h>
87
88#include "oce_hw.h"
89
91#define COMPONENT_REVISION "4.6.95.0"
90/* OCE device driver module component revision informaiton */
91#define COMPONENT_REVISION "10.0.664.0"
92
93/* OCE devices supported by this driver */
94#define PCI_VENDOR_EMULEX 0x10df /* Emulex */
95#define PCI_VENDOR_SERVERENGINES 0x19a2 /* ServerEngines (BE) */
96#define PCI_PRODUCT_BE2 0x0700 /* BE2 network adapter */
97#define PCI_PRODUCT_BE3 0x0710 /* BE3 network adapter */
98#define PCI_PRODUCT_XE201 0xe220 /* XE201 network adapter */
99#define PCI_PRODUCT_XE201_VF 0xe228 /* XE201 with VF in Lancer */

--- 45 unchanged lines hidden (view full) ---

145#define OCE_MAX_JUMBO_FRAME_SIZE 9018
146#define OCE_MAX_MTU (OCE_MAX_JUMBO_FRAME_SIZE - \
147 ETHER_VLAN_ENCAP_LEN - \
148 ETHER_HDR_LEN)
149
150#define OCE_MAX_TX_ELEMENTS 29
151#define OCE_MAX_TX_DESC 1024
152#define OCE_MAX_TX_SIZE 65535
92
93/* OCE devices supported by this driver */
94#define PCI_VENDOR_EMULEX 0x10df /* Emulex */
95#define PCI_VENDOR_SERVERENGINES 0x19a2 /* ServerEngines (BE) */
96#define PCI_PRODUCT_BE2 0x0700 /* BE2 network adapter */
97#define PCI_PRODUCT_BE3 0x0710 /* BE3 network adapter */
98#define PCI_PRODUCT_XE201 0xe220 /* XE201 network adapter */
99#define PCI_PRODUCT_XE201_VF 0xe228 /* XE201 with VF in Lancer */

--- 45 unchanged lines hidden (view full) ---

145#define OCE_MAX_JUMBO_FRAME_SIZE 9018
146#define OCE_MAX_MTU (OCE_MAX_JUMBO_FRAME_SIZE - \
147 ETHER_VLAN_ENCAP_LEN - \
148 ETHER_HDR_LEN)
149
150#define OCE_MAX_TX_ELEMENTS 29
151#define OCE_MAX_TX_DESC 1024
152#define OCE_MAX_TX_SIZE 65535
153#define OCE_MAX_TSO_SIZE (65535 - ETHER_HDR_LEN)
153#define OCE_MAX_RX_SIZE 4096
154#define OCE_MAX_RQ_POSTS 255
155#define OCE_DEFAULT_PROMISCUOUS 0
156
157
158#define RSS_ENABLE_IPV4 0x1
159#define RSS_ENABLE_TCP_IPV4 0x2
160#define RSS_ENABLE_IPV6 0x4

--- 7 unchanged lines hidden (view full) ---

168#define OCE_FC_RX 0x00000002
169#define OCE_DEFAULT_FLOW_CONTROL (OCE_FC_TX | OCE_FC_RX)
170
171
172/* Interface capabilities to give device when creating interface */
173#define OCE_CAPAB_FLAGS (MBX_RX_IFACE_FLAGS_BROADCAST | \
174 MBX_RX_IFACE_FLAGS_UNTAGGED | \
175 MBX_RX_IFACE_FLAGS_PROMISCUOUS | \
154#define OCE_MAX_RX_SIZE 4096
155#define OCE_MAX_RQ_POSTS 255
156#define OCE_DEFAULT_PROMISCUOUS 0
157
158
159#define RSS_ENABLE_IPV4 0x1
160#define RSS_ENABLE_TCP_IPV4 0x2
161#define RSS_ENABLE_IPV6 0x4

--- 7 unchanged lines hidden (view full) ---

169#define OCE_FC_RX 0x00000002
170#define OCE_DEFAULT_FLOW_CONTROL (OCE_FC_TX | OCE_FC_RX)
171
172
173/* Interface capabilities to give device when creating interface */
174#define OCE_CAPAB_FLAGS (MBX_RX_IFACE_FLAGS_BROADCAST | \
175 MBX_RX_IFACE_FLAGS_UNTAGGED | \
176 MBX_RX_IFACE_FLAGS_PROMISCUOUS | \
177 MBX_RX_IFACE_FLAGS_VLAN_PROMISCUOUS | \
176 MBX_RX_IFACE_FLAGS_MCAST_PROMISCUOUS | \
177 MBX_RX_IFACE_FLAGS_RSS | \
178 MBX_RX_IFACE_FLAGS_PASS_L3L4_ERR)
179
180/* Interface capabilities to enable by default (others set dynamically) */
181#define OCE_CAPAB_ENABLE (MBX_RX_IFACE_FLAGS_BROADCAST | \
182 MBX_RX_IFACE_FLAGS_UNTAGGED | \
183 MBX_RX_IFACE_FLAGS_PASS_L3L4_ERR)

--- 674 unchanged lines hidden (view full) ---

858
859 uint32_t if_id; /* interface ID */
860 uint32_t nifs; /* number of adapter interfaces, 0 or 1 */
861 uint32_t pmac_id; /* PMAC id */
862
863 uint32_t if_cap_flags;
864
865 uint32_t flow_control;
178 MBX_RX_IFACE_FLAGS_MCAST_PROMISCUOUS | \
179 MBX_RX_IFACE_FLAGS_RSS | \
180 MBX_RX_IFACE_FLAGS_PASS_L3L4_ERR)
181
182/* Interface capabilities to enable by default (others set dynamically) */
183#define OCE_CAPAB_ENABLE (MBX_RX_IFACE_FLAGS_BROADCAST | \
184 MBX_RX_IFACE_FLAGS_UNTAGGED | \
185 MBX_RX_IFACE_FLAGS_PASS_L3L4_ERR)

--- 674 unchanged lines hidden (view full) ---

860
861 uint32_t if_id; /* interface ID */
862 uint32_t nifs; /* number of adapter interfaces, 0 or 1 */
863 uint32_t pmac_id; /* PMAC id */
864
865 uint32_t if_cap_flags;
866
867 uint32_t flow_control;
866 uint32_t promisc;
868 uint8_t promisc;
867
868 struct oce_aic_obj aic_obj[OCE_MAX_EQ];
869
870 /*Vlan Filtering related */
871 eventhandler_tag vlan_attach;
872 eventhandler_tag vlan_detach;
873 uint16_t vlans_added;
874 uint8_t vlan_tag[MAX_VLANS];
875 /*stats */
876 OCE_DMA_MEM stats_mem;
877 struct oce_drv_stats oce_stats_info;
878 struct callout timer;
879 int8_t be3_native;
869
870 struct oce_aic_obj aic_obj[OCE_MAX_EQ];
871
872 /*Vlan Filtering related */
873 eventhandler_tag vlan_attach;
874 eventhandler_tag vlan_detach;
875 uint16_t vlans_added;
876 uint8_t vlan_tag[MAX_VLANS];
877 /*stats */
878 OCE_DMA_MEM stats_mem;
879 struct oce_drv_stats oce_stats_info;
880 struct callout timer;
881 int8_t be3_native;
882 uint8_t hw_error;
880 uint16_t qnq_debug_event;
881 uint16_t qnqid;
882 uint16_t pvid;
883 uint16_t qnq_debug_event;
884 uint16_t qnqid;
885 uint16_t pvid;
886 uint16_t max_vlans;
883
884} OCE_SOFTC, *POCE_SOFTC;
885
886
887
888/**************************************************
889 * BUS memory read/write macros
890 * BE3: accesses three BAR spaces (CFG, CSR, DB)

--- 114 unchanged lines hidden (view full) ---

1005int oce_if_create(POCE_SOFTC sc, uint32_t cap_flags, uint32_t en_flags,
1006 uint16_t vlan_tag, uint8_t *mac_addr, uint32_t *if_id);
1007int oce_if_del(POCE_SOFTC sc, uint32_t if_id);
1008int oce_config_vlan(POCE_SOFTC sc, uint32_t if_id,
1009 struct normal_vlan *vtag_arr, uint8_t vtag_cnt,
1010 uint32_t untagged, uint32_t enable_promisc);
1011int oce_set_flow_control(POCE_SOFTC sc, uint32_t flow_control);
1012int oce_config_nic_rss(POCE_SOFTC sc, uint32_t if_id, uint16_t enable_rss);
887
888} OCE_SOFTC, *POCE_SOFTC;
889
890
891
892/**************************************************
893 * BUS memory read/write macros
894 * BE3: accesses three BAR spaces (CFG, CSR, DB)

--- 114 unchanged lines hidden (view full) ---

1009int oce_if_create(POCE_SOFTC sc, uint32_t cap_flags, uint32_t en_flags,
1010 uint16_t vlan_tag, uint8_t *mac_addr, uint32_t *if_id);
1011int oce_if_del(POCE_SOFTC sc, uint32_t if_id);
1012int oce_config_vlan(POCE_SOFTC sc, uint32_t if_id,
1013 struct normal_vlan *vtag_arr, uint8_t vtag_cnt,
1014 uint32_t untagged, uint32_t enable_promisc);
1015int oce_set_flow_control(POCE_SOFTC sc, uint32_t flow_control);
1016int oce_config_nic_rss(POCE_SOFTC sc, uint32_t if_id, uint16_t enable_rss);
1013int oce_rxf_set_promiscuous(POCE_SOFTC sc, uint32_t enable);
1017int oce_rxf_set_promiscuous(POCE_SOFTC sc, uint8_t enable);
1014int oce_set_common_iface_rx_filter(POCE_SOFTC sc, POCE_DMA_MEM sgl);
1015int oce_get_link_status(POCE_SOFTC sc, struct link_status *link);
1016int oce_mbox_get_nic_stats_v0(POCE_SOFTC sc, POCE_DMA_MEM pstats_dma_mem);
1017int oce_mbox_get_nic_stats(POCE_SOFTC sc, POCE_DMA_MEM pstats_dma_mem);
1018int oce_mbox_get_pport_stats(POCE_SOFTC sc, POCE_DMA_MEM pstats_dma_mem,
1019 uint32_t reset_stats);
1020int oce_mbox_get_vport_stats(POCE_SOFTC sc, POCE_DMA_MEM pstats_dma_mem,
1021 uint32_t req_size, uint32_t reset_stats);

--- 136 unchanged lines hidden ---
1018int oce_set_common_iface_rx_filter(POCE_SOFTC sc, POCE_DMA_MEM sgl);
1019int oce_get_link_status(POCE_SOFTC sc, struct link_status *link);
1020int oce_mbox_get_nic_stats_v0(POCE_SOFTC sc, POCE_DMA_MEM pstats_dma_mem);
1021int oce_mbox_get_nic_stats(POCE_SOFTC sc, POCE_DMA_MEM pstats_dma_mem);
1022int oce_mbox_get_pport_stats(POCE_SOFTC sc, POCE_DMA_MEM pstats_dma_mem,
1023 uint32_t reset_stats);
1024int oce_mbox_get_vport_stats(POCE_SOFTC sc, POCE_DMA_MEM pstats_dma_mem,
1025 uint32_t req_size, uint32_t reset_stats);

--- 136 unchanged lines hidden ---