author | Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM> |
Fri, 19 Feb 2010 18:04:10 -0800 | |
changeset 11723 | b7b5ccb8e5c5 |
parent 11374 | b345d20da176 |
child 13032 | 1b6086d6d5a1 |
permissions | -rw-r--r-- |
11374
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
1 |
/* |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
2 |
* CDDL HEADER START |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
3 |
* |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
4 |
* The contents of this file are subject to the terms of the |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
5 |
* Common Development and Distribution License (the "License"). |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
6 |
* You may not use this file except in compliance with the License. |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
7 |
* |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
8 |
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
9 |
* or http://www.opensolaris.org/os/licensing. |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
10 |
* See the License for the specific language governing permissions |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
11 |
* and limitations under the License. |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
12 |
* |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
13 |
* When distributing Covered Code, include this CDDL HEADER in each |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
14 |
* file and include the License file at usr/src/OPENSOLARIS.LICENSE. |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
15 |
* If applicable, add the following below this CDDL HEADER, with the |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
16 |
* fields enclosed by brackets "[]" replaced with your own identifying |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
17 |
* information: Portions Copyright [yyyy] [name of copyright owner] |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
18 |
* |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
19 |
* CDDL HEADER END |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
20 |
*/ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
21 |
|
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
22 |
/* |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
23 |
* Copyright 2009 Emulex. All rights reserved. |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
24 |
* Use is subject to license terms. |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
25 |
*/ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
26 |
|
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
27 |
/* |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
28 |
* Header file defining the HW IO elements |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
29 |
*/ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
30 |
|
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
31 |
#ifndef _OCE_IO_H_ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
32 |
#define _OCE_IO_H_ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
33 |
|
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
34 |
#ifdef __cplusplus |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
35 |
extern "C" { |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
36 |
#endif |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
37 |
|
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
38 |
#include <sys/types.h> |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
39 |
#include <sys/dditypes.h> |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
40 |
#include <sys/mutex.h> |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
41 |
#include <sys/stream.h> |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
42 |
#include <sys/debug.h> |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
43 |
#include <sys/byteorder.h> |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
44 |
#include <oce_hw.h> |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
45 |
#include <oce_buf.h> |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
46 |
|
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
47 |
#define DEFAULT_MQ_MBOX_TIMEOUT (5 * 1000 * 1000) /* 5 sec (in usec) */ |
11723
b7b5ccb8e5c5
6907671 oce driver should make MAC_PROP_ADV_10GFDX_CAP property as MAC_PROP_PERM_RW
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
11374
diff
changeset
|
48 |
#define DEFAULT_DRAIN_TIME 200 /* Default Drain Time */ |
11374
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
49 |
#define MBX_TIMEOUT_SEC 5 |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
50 |
#define STAT_TIMEOUT 2000000 /* update stats every 2 sec */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
51 |
|
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
52 |
struct oce_dev; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
53 |
|
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
54 |
enum eq_len { |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
55 |
EQ_LEN_256 = 256, |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
56 |
EQ_LEN_512 = 512, |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
57 |
EQ_LEN_1024 = 1024, |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
58 |
EQ_LEN_2048 = 2048, |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
59 |
EQ_LEN_4096 = 4096 |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
60 |
}; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
61 |
|
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
62 |
enum eqe_size { |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
63 |
EQE_SIZE_4 = 4, |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
64 |
EQE_SIZE_16 = 16 |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
65 |
}; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
66 |
|
11723
b7b5ccb8e5c5
6907671 oce driver should make MAC_PROP_ADV_10GFDX_CAP property as MAC_PROP_PERM_RW
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
11374
diff
changeset
|
67 |
enum qtype { |
b7b5ccb8e5c5
6907671 oce driver should make MAC_PROP_ADV_10GFDX_CAP property as MAC_PROP_PERM_RW
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
11374
diff
changeset
|
68 |
QTYPE_EQ, |
b7b5ccb8e5c5
6907671 oce driver should make MAC_PROP_ADV_10GFDX_CAP property as MAC_PROP_PERM_RW
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
11374
diff
changeset
|
69 |
QTYPE_MQ, |
b7b5ccb8e5c5
6907671 oce driver should make MAC_PROP_ADV_10GFDX_CAP property as MAC_PROP_PERM_RW
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
11374
diff
changeset
|
70 |
QTYPE_WQ, |
b7b5ccb8e5c5
6907671 oce driver should make MAC_PROP_ADV_10GFDX_CAP property as MAC_PROP_PERM_RW
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
11374
diff
changeset
|
71 |
QTYPE_RQ, |
b7b5ccb8e5c5
6907671 oce driver should make MAC_PROP_ADV_10GFDX_CAP property as MAC_PROP_PERM_RW
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
11374
diff
changeset
|
72 |
QTYPE_CQ, |
b7b5ccb8e5c5
6907671 oce driver should make MAC_PROP_ADV_10GFDX_CAP property as MAC_PROP_PERM_RW
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
11374
diff
changeset
|
73 |
QTYPE_RSS |
b7b5ccb8e5c5
6907671 oce driver should make MAC_PROP_ADV_10GFDX_CAP property as MAC_PROP_PERM_RW
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
11374
diff
changeset
|
74 |
}; |
b7b5ccb8e5c5
6907671 oce driver should make MAC_PROP_ADV_10GFDX_CAP property as MAC_PROP_PERM_RW
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
11374
diff
changeset
|
75 |
|
b7b5ccb8e5c5
6907671 oce driver should make MAC_PROP_ADV_10GFDX_CAP property as MAC_PROP_PERM_RW
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
11374
diff
changeset
|
76 |
typedef enum qstate_e { |
b7b5ccb8e5c5
6907671 oce driver should make MAC_PROP_ADV_10GFDX_CAP property as MAC_PROP_PERM_RW
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
11374
diff
changeset
|
77 |
QDELETED = 0x0, |
b7b5ccb8e5c5
6907671 oce driver should make MAC_PROP_ADV_10GFDX_CAP property as MAC_PROP_PERM_RW
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
11374
diff
changeset
|
78 |
QCREATED = 0x1 |
b7b5ccb8e5c5
6907671 oce driver should make MAC_PROP_ADV_10GFDX_CAP property as MAC_PROP_PERM_RW
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
11374
diff
changeset
|
79 |
}qstate_t; |
b7b5ccb8e5c5
6907671 oce driver should make MAC_PROP_ADV_10GFDX_CAP property as MAC_PROP_PERM_RW
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
11374
diff
changeset
|
80 |
|
11374
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
81 |
struct eq_config { |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
82 |
/* number of entries in the eq */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
83 |
enum eq_len q_len; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
84 |
/* size of each entry */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
85 |
enum eqe_size item_size; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
86 |
/* vector associated with this eq */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
87 |
uint32_t q_vector_num; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
88 |
/* minimum possible eq delay i usec */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
89 |
uint8_t min_eqd; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
90 |
/* max eq delay in usec */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
91 |
uint8_t max_eqd; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
92 |
/* currently configured eq delay in usec */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
93 |
uint8_t cur_eqd; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
94 |
/* pad */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
95 |
uint8_t pad; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
96 |
}; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
97 |
|
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
98 |
struct oce_eq { |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
99 |
/* configuration of this eq */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
100 |
struct eq_config eq_cfg; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
101 |
/* id assigned by the hw to this eq */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
102 |
uint32_t eq_id; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
103 |
/* handle to the creating parent dev */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
104 |
void *parent; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
105 |
/* callback context */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
106 |
void *cb_context; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
107 |
/* reference count of this structure */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
108 |
uint32_t ref_count; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
109 |
/* ring buffer for this eq */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
110 |
oce_ring_buffer_t *ring; |
11723
b7b5ccb8e5c5
6907671 oce driver should make MAC_PROP_ADV_10GFDX_CAP property as MAC_PROP_PERM_RW
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
11374
diff
changeset
|
111 |
/* Queue state */ |
b7b5ccb8e5c5
6907671 oce driver should make MAC_PROP_ADV_10GFDX_CAP property as MAC_PROP_PERM_RW
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
11374
diff
changeset
|
112 |
qstate_t qstate; |
11374
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
113 |
/* Lock for this queue */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
114 |
kmutex_t lock; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
115 |
}; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
116 |
|
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
117 |
enum cq_len { |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
118 |
CQ_LEN_256 = 256, |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
119 |
CQ_LEN_512 = 512, |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
120 |
CQ_LEN_1024 = 1024 |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
121 |
}; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
122 |
|
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
123 |
struct cq_config { |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
124 |
/* length of queue */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
125 |
enum cq_len q_len; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
126 |
/* size of each item */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
127 |
uint32_t item_size; |
11723
b7b5ccb8e5c5
6907671 oce driver should make MAC_PROP_ADV_10GFDX_CAP property as MAC_PROP_PERM_RW
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
11374
diff
changeset
|
128 |
/* is eventable */ |
b7b5ccb8e5c5
6907671 oce driver should make MAC_PROP_ADV_10GFDX_CAP property as MAC_PROP_PERM_RW
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
11374
diff
changeset
|
129 |
boolean_t is_eventable; |
11374
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
130 |
/* solicited eventable? */ |
11723
b7b5ccb8e5c5
6907671 oce driver should make MAC_PROP_ADV_10GFDX_CAP property as MAC_PROP_PERM_RW
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
11374
diff
changeset
|
131 |
boolean_t sol_eventable; |
11374
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
132 |
/* no delay? */ |
11723
b7b5ccb8e5c5
6907671 oce driver should make MAC_PROP_ADV_10GFDX_CAP property as MAC_PROP_PERM_RW
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
11374
diff
changeset
|
133 |
boolean_t nodelay; |
11374
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
134 |
/* dma coalescing */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
135 |
uint16_t dma_coalescing; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
136 |
}; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
137 |
|
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
138 |
typedef uint16_t (*cq_handler_t)(void *arg1); |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
139 |
|
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
140 |
struct oce_cq { |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
141 |
/* configuration of this cq */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
142 |
struct cq_config cq_cfg; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
143 |
/* reference count of this structure */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
144 |
uint32_t ref_count; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
145 |
/* id given by the hardware */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
146 |
uint32_t cq_id; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
147 |
/* parent device to which this cq belongs */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
148 |
void *parent; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
149 |
/* event queue associated with this cq */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
150 |
struct oce_eq *eq; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
151 |
cq_handler_t cq_handler; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
152 |
/* placeholder for callback context */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
153 |
void *cb_arg; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
154 |
/* ring buffer for this cq */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
155 |
oce_ring_buffer_t *ring; |
11723
b7b5ccb8e5c5
6907671 oce driver should make MAC_PROP_ADV_10GFDX_CAP property as MAC_PROP_PERM_RW
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
11374
diff
changeset
|
156 |
/* Queue state */ |
b7b5ccb8e5c5
6907671 oce driver should make MAC_PROP_ADV_10GFDX_CAP property as MAC_PROP_PERM_RW
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
11374
diff
changeset
|
157 |
qstate_t qstate; |
11374
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
158 |
/* lock */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
159 |
kmutex_t lock; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
160 |
}; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
161 |
|
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
162 |
struct mq_config { |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
163 |
uint32_t eqd; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
164 |
uint8_t q_len; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
165 |
uint8_t pad[3]; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
166 |
|
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
167 |
}; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
168 |
|
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
169 |
struct oce_mq { |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
170 |
/* configuration of this mq */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
171 |
struct mq_config cfg; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
172 |
/* handle to the parent device */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
173 |
void *parent; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
174 |
/* send queue */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
175 |
oce_ring_buffer_t *ring; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
176 |
/* idnetifier for the mq */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
177 |
uint32_t mq_id; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
178 |
struct oce_cq *cq; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
179 |
struct oce_cq *async_cq; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
180 |
/* free entries in Queue */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
181 |
uint32_t mq_free; |
11723
b7b5ccb8e5c5
6907671 oce driver should make MAC_PROP_ADV_10GFDX_CAP property as MAC_PROP_PERM_RW
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
11374
diff
changeset
|
182 |
/* Queue state */ |
b7b5ccb8e5c5
6907671 oce driver should make MAC_PROP_ADV_10GFDX_CAP property as MAC_PROP_PERM_RW
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
11374
diff
changeset
|
183 |
qstate_t qstate; |
b7b5ccb8e5c5
6907671 oce driver should make MAC_PROP_ADV_10GFDX_CAP property as MAC_PROP_PERM_RW
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
11374
diff
changeset
|
184 |
/* lock for the mq */ |
b7b5ccb8e5c5
6907671 oce driver should make MAC_PROP_ADV_10GFDX_CAP property as MAC_PROP_PERM_RW
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
11374
diff
changeset
|
185 |
kmutex_t lock; |
11374
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
186 |
}; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
187 |
|
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
188 |
|
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
189 |
/* |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
190 |
* utility structure that handles context of mbx |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
191 |
*/ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
192 |
struct oce_mbx_ctx { |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
193 |
/* pointer to mbx */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
194 |
struct oce_mbx *mbx; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
195 |
/* call back functioin [optional] */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
196 |
void (*cb)(void *ctx); |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
197 |
/* call back context [optional] */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
198 |
void *cb_ctx; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
199 |
}; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
200 |
|
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
201 |
struct wq_config { |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
202 |
/* qtype */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
203 |
uint8_t wq_type; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
204 |
uint8_t pad[3]; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
205 |
uint32_t q_len; /* number of wqes */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
206 |
uint16_t pd_id; /* protection domain id */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
207 |
uint16_t pci_fn_num; /* pci function number */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
208 |
uint32_t eqd; /* interrupt delay */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
209 |
uint32_t nbufs; /* copy buffers */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
210 |
uint32_t nhdl; /* preallocated memory handles */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
211 |
}; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
212 |
|
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
213 |
struct oce_wq { |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
214 |
struct wq_config cfg; /* q config */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
215 |
void *parent; /* parent of this wq */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
216 |
uint16_t wq_id; /* wq ID */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
217 |
oce_ring_buffer_t *ring; /* ring buffer managing the wqes */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
218 |
struct oce_cq *cq; /* cq associated with this wq */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
219 |
kmem_cache_t *wqed_cache; /* packet desc cache */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
220 |
OCE_LIST_T wqe_desc_list; /* packet descriptor list */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
221 |
oce_wq_bdesc_t *wq_bdesc_array; /* buffer desc array */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
222 |
OCE_LIST_T wq_buf_list; /* buffer list */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
223 |
OCE_LIST_T wq_mdesc_list; /* free list of memory handles */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
224 |
oce_wq_mdesc_t *wq_mdesc_array; /* preallocated memory handles */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
225 |
uint32_t wqm_used; /* memory handles uses */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
226 |
boolean_t resched; /* used for mac_tx_update */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
227 |
uint32_t wq_free; /* Wqe free */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
228 |
uint32_t tx_deferd; /* Wqe free */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
229 |
uint32_t pkt_drops; /* drops */ |
11723
b7b5ccb8e5c5
6907671 oce driver should make MAC_PROP_ADV_10GFDX_CAP property as MAC_PROP_PERM_RW
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
11374
diff
changeset
|
230 |
/* Queue state */ |
b7b5ccb8e5c5
6907671 oce driver should make MAC_PROP_ADV_10GFDX_CAP property as MAC_PROP_PERM_RW
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
11374
diff
changeset
|
231 |
qstate_t qstate; |
b7b5ccb8e5c5
6907671 oce driver should make MAC_PROP_ADV_10GFDX_CAP property as MAC_PROP_PERM_RW
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
11374
diff
changeset
|
232 |
kmutex_t tx_lock; /* lock for the WQ */ |
b7b5ccb8e5c5
6907671 oce driver should make MAC_PROP_ADV_10GFDX_CAP property as MAC_PROP_PERM_RW
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
11374
diff
changeset
|
233 |
kmutex_t txc_lock; /* tx compl lock */ |
b7b5ccb8e5c5
6907671 oce driver should make MAC_PROP_ADV_10GFDX_CAP property as MAC_PROP_PERM_RW
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
11374
diff
changeset
|
234 |
kmutex_t resched_lock; /* tx compl lock */ |
11374
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
235 |
}; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
236 |
|
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
237 |
struct rq_config { |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
238 |
uint32_t q_len; /* q length */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
239 |
uint32_t frag_size; /* fragment size. Send log2(size) in commmand */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
240 |
uint32_t mtu; /* max frame size for this RQ */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
241 |
uint32_t if_id; /* interface ID to associate this RQ with */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
242 |
uint32_t is_rss_queue; /* is this RQ an RSS queue? */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
243 |
uint32_t eqd; /* interrupt delay */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
244 |
uint32_t nbufs; /* Total data buffers */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
245 |
}; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
246 |
|
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
247 |
struct rq_shadow_entry { |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
248 |
oce_rq_bdesc_t *rqbd; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
249 |
}; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
250 |
|
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
251 |
struct oce_rq { |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
252 |
/* RQ config */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
253 |
struct rq_config cfg; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
254 |
/* RQ id */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
255 |
uint32_t rq_id; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
256 |
/* parent of this rq */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
257 |
void *parent; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
258 |
/* CPU ID assigend to this RQ if it is an RSS queue */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
259 |
uint32_t rss_cpuid; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
260 |
/* ring buffer managing the RQEs */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
261 |
oce_ring_buffer_t *ring; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
262 |
/* RQ Buffer cache */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
263 |
/* kmem_cache_t *rqb_cache; */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
264 |
/* shadow list of mblk for rq ring */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
265 |
struct rq_shadow_entry *shadow_ring; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
266 |
/* cq associated with this queue */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
267 |
struct oce_cq *cq; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
268 |
oce_rq_bdesc_t *rq_bdesc_array; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
269 |
OCE_LIST_T rq_buf_list; /* Free list */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
270 |
uint32_t buf_avail; /* buffer avaialable with hw */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
271 |
uint32_t pending; /* Buffers sent up */ |
11723
b7b5ccb8e5c5
6907671 oce driver should make MAC_PROP_ADV_10GFDX_CAP property as MAC_PROP_PERM_RW
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
11374
diff
changeset
|
272 |
/* Queue state */ |
b7b5ccb8e5c5
6907671 oce driver should make MAC_PROP_ADV_10GFDX_CAP property as MAC_PROP_PERM_RW
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
11374
diff
changeset
|
273 |
qstate_t qstate; |
11374
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
274 |
/* rq lock */ |
11723
b7b5ccb8e5c5
6907671 oce driver should make MAC_PROP_ADV_10GFDX_CAP property as MAC_PROP_PERM_RW
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
11374
diff
changeset
|
275 |
kmutex_t rx_lock; |
b7b5ccb8e5c5
6907671 oce driver should make MAC_PROP_ADV_10GFDX_CAP property as MAC_PROP_PERM_RW
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
11374
diff
changeset
|
276 |
kmutex_t rc_lock; |
11374
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
277 |
}; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
278 |
|
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
279 |
struct link_status { |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
280 |
/* dw 0 */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
281 |
uint8_t physical_port; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
282 |
uint8_t mac_duplex; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
283 |
uint8_t mac_speed; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
284 |
uint8_t mac_fault; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
285 |
/* dw 1 */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
286 |
uint8_t mgmt_mac_duplex; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
287 |
uint8_t mgmt_mac_speed; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
288 |
uint16_t rsvd0; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
289 |
}; |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
290 |
|
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
291 |
oce_dma_buf_t *oce_alloc_dma_buffer(struct oce_dev *dev, |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
292 |
uint32_t size, uint32_t flags); |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
293 |
void oce_free_dma_buffer(struct oce_dev *dev, oce_dma_buf_t *dbuf); |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
294 |
|
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
295 |
oce_ring_buffer_t *create_ring_buffer(struct oce_dev *dev, |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
296 |
uint32_t num_items, uint32_t item_size, |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
297 |
uint32_t flags); |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
298 |
void destroy_ring_buffer(struct oce_dev *dev, oce_ring_buffer_t *ring); |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
299 |
|
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
300 |
/* Queues */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
301 |
int oce_set_eq_delay(struct oce_dev *dev, uint32_t *eq_arr, |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
302 |
uint32_t eq_cnt, uint32_t eq_delay); |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
303 |
void oce_arm_eq(struct oce_dev *dev, int16_t qid, int npopped, |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
304 |
boolean_t rearm, boolean_t clearint); |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
305 |
void oce_arm_cq(struct oce_dev *dev, int16_t qid, int npopped, |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
306 |
boolean_t rearm); |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
307 |
void oce_drain_eq(struct oce_eq *eq); |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
308 |
|
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
309 |
|
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
310 |
/* Bootstrap */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
311 |
int oce_mbox_init(struct oce_dev *dev); |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
312 |
int oce_mbox_fini(struct oce_dev *dev); |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
313 |
int oce_mbox_dispatch(struct oce_dev *dev, uint32_t tmo_sec); |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
314 |
int oce_mbox_wait(struct oce_dev *dev, uint32_t tmo_sec); |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
315 |
int oce_mbox_post(struct oce_dev *dev, struct oce_mbx *mbx, |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
316 |
struct oce_mbx_ctx *mbxctx); |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
317 |
|
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
318 |
/* Hardware */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
319 |
boolean_t oce_is_reset_pci(struct oce_dev *dev); |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
320 |
int oce_pci_soft_reset(struct oce_dev *dev); |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
321 |
int oce_POST(struct oce_dev *dev); |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
322 |
int oce_pci_init(struct oce_dev *dev); |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
323 |
void oce_pci_fini(struct oce_dev *dev); |
11723
b7b5ccb8e5c5
6907671 oce driver should make MAC_PROP_ADV_10GFDX_CAP property as MAC_PROP_PERM_RW
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
11374
diff
changeset
|
324 |
int oce_init_txrx(struct oce_dev *dev); |
b7b5ccb8e5c5
6907671 oce driver should make MAC_PROP_ADV_10GFDX_CAP property as MAC_PROP_PERM_RW
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
11374
diff
changeset
|
325 |
void oce_fini_txrx(struct oce_dev *dev); |
b7b5ccb8e5c5
6907671 oce driver should make MAC_PROP_ADV_10GFDX_CAP property as MAC_PROP_PERM_RW
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
11374
diff
changeset
|
326 |
int oce_create_queues(struct oce_dev *dev); |
b7b5ccb8e5c5
6907671 oce driver should make MAC_PROP_ADV_10GFDX_CAP property as MAC_PROP_PERM_RW
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
11374
diff
changeset
|
327 |
void oce_delete_queues(struct oce_dev *dev); |
b7b5ccb8e5c5
6907671 oce driver should make MAC_PROP_ADV_10GFDX_CAP property as MAC_PROP_PERM_RW
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
11374
diff
changeset
|
328 |
void oce_delete_nw_interface(struct oce_dev *dev); |
b7b5ccb8e5c5
6907671 oce driver should make MAC_PROP_ADV_10GFDX_CAP property as MAC_PROP_PERM_RW
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
11374
diff
changeset
|
329 |
int oce_create_nw_interface(struct oce_dev *dev); |
b7b5ccb8e5c5
6907671 oce driver should make MAC_PROP_ADV_10GFDX_CAP property as MAC_PROP_PERM_RW
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
11374
diff
changeset
|
330 |
int oce_reset_fun(struct oce_dev *dev); |
11374
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
331 |
|
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
332 |
/* Transmit */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
333 |
struct oce_wq *oce_get_wq(struct oce_dev *dev, mblk_t *pkt); |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
334 |
uint16_t oce_drain_wq_cq(void *arg); |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
335 |
mblk_t *oce_send_packet(struct oce_wq *wq, mblk_t *mp); |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
336 |
int oce_start_wq(struct oce_wq *wq); |
11723
b7b5ccb8e5c5
6907671 oce driver should make MAC_PROP_ADV_10GFDX_CAP property as MAC_PROP_PERM_RW
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
11374
diff
changeset
|
337 |
void oce_clean_wq(struct oce_wq *wq); |
b7b5ccb8e5c5
6907671 oce driver should make MAC_PROP_ADV_10GFDX_CAP property as MAC_PROP_PERM_RW
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
11374
diff
changeset
|
338 |
|
11374
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
339 |
|
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
340 |
/* Recieve */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
341 |
uint16_t oce_drain_rq_cq(void *arg); |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
342 |
int oce_start_rq(struct oce_rq *rq); |
11723
b7b5ccb8e5c5
6907671 oce driver should make MAC_PROP_ADV_10GFDX_CAP property as MAC_PROP_PERM_RW
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
11374
diff
changeset
|
343 |
void oce_clean_rq(struct oce_rq *rq); |
b7b5ccb8e5c5
6907671 oce driver should make MAC_PROP_ADV_10GFDX_CAP property as MAC_PROP_PERM_RW
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
11374
diff
changeset
|
344 |
void oce_rq_discharge(struct oce_rq *rq); |
b7b5ccb8e5c5
6907671 oce driver should make MAC_PROP_ADV_10GFDX_CAP property as MAC_PROP_PERM_RW
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
11374
diff
changeset
|
345 |
int oce_rx_pending(struct oce_dev *dev); |
11374
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
346 |
|
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
347 |
/* event handling */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
348 |
uint16_t oce_drain_mq_cq(void *arg); |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
349 |
int oce_mq_mbox_post(struct oce_dev *dev, struct oce_mbx *mbx, |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
350 |
struct oce_mbx_ctx *mbxctx); |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
351 |
struct oce_mbx *oce_mq_get_mbx(struct oce_dev *dev); |
11723
b7b5ccb8e5c5
6907671 oce driver should make MAC_PROP_ADV_10GFDX_CAP property as MAC_PROP_PERM_RW
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
11374
diff
changeset
|
352 |
void oce_clean_mq(struct oce_mq *mq); |
b7b5ccb8e5c5
6907671 oce driver should make MAC_PROP_ADV_10GFDX_CAP property as MAC_PROP_PERM_RW
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
11374
diff
changeset
|
353 |
int oce_start_mq(struct oce_mq *mq); |
b7b5ccb8e5c5
6907671 oce driver should make MAC_PROP_ADV_10GFDX_CAP property as MAC_PROP_PERM_RW
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
11374
diff
changeset
|
354 |
|
11374
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
355 |
|
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
356 |
/* mbx functions */ |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
357 |
void mbx_common_req_hdr_init(struct mbx_hdr *hdr, uint8_t dom, |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
358 |
uint8_t port, uint8_t subsys, uint8_t opcode, |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
359 |
uint32_t timeout, uint32_t pyld_len); |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
360 |
void mbx_nic_req_hdr_init(struct mbx_hdr *hdr, uint8_t dom, uint8_t port, |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
361 |
uint8_t opcode, uint32_t timeout, uint32_t pyld_len); |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
362 |
int oce_get_fw_version(struct oce_dev *dev); |
11723
b7b5ccb8e5c5
6907671 oce driver should make MAC_PROP_ADV_10GFDX_CAP property as MAC_PROP_PERM_RW
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
11374
diff
changeset
|
363 |
int oce_read_mac_addr(struct oce_dev *dev, uint32_t if_id, uint8_t perm, |
11374
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
364 |
uint8_t type, struct mac_address_format *mac); |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
365 |
int oce_if_create(struct oce_dev *dev, uint32_t cap_flags, uint32_t en_flags, |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
366 |
uint16_t vlan_tag, uint8_t *mac_addr, uint32_t *if_id); |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
367 |
int oce_if_del(struct oce_dev *dev, uint32_t if_id); |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
368 |
int oce_num_intr_vectors_set(struct oce_dev *dev, uint32_t num_vectors); |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
369 |
|
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
370 |
int oce_get_link_status(struct oce_dev *dev, struct link_status *link); |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
371 |
int oce_set_rx_filter(struct oce_dev *dev, |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
372 |
struct mbx_set_common_ntwk_rx_filter *filter); |
11723
b7b5ccb8e5c5
6907671 oce driver should make MAC_PROP_ADV_10GFDX_CAP property as MAC_PROP_PERM_RW
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
11374
diff
changeset
|
373 |
int oce_set_multicast_table(struct oce_dev *dev, uint32_t if_id, |
b7b5ccb8e5c5
6907671 oce driver should make MAC_PROP_ADV_10GFDX_CAP property as MAC_PROP_PERM_RW
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
11374
diff
changeset
|
374 |
struct ether_addr *mca_table, uint16_t mca_cnt, boolean_t promisc); |
11374
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
375 |
int oce_get_fw_config(struct oce_dev *dev); |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
376 |
int oce_get_hw_stats(struct oce_dev *dev); |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
377 |
int oce_set_flow_control(struct oce_dev *dev, uint32_t flow_control); |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
378 |
int oce_get_flow_control(struct oce_dev *dev, uint32_t *flow_control); |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
379 |
int oce_set_promiscuous(struct oce_dev *dev, boolean_t enable); |
11723
b7b5ccb8e5c5
6907671 oce driver should make MAC_PROP_ADV_10GFDX_CAP property as MAC_PROP_PERM_RW
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
11374
diff
changeset
|
380 |
int oce_add_mac(struct oce_dev *dev, uint32_t if_id, |
b7b5ccb8e5c5
6907671 oce driver should make MAC_PROP_ADV_10GFDX_CAP property as MAC_PROP_PERM_RW
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
11374
diff
changeset
|
381 |
const uint8_t *mac, uint32_t *pmac_id); |
b7b5ccb8e5c5
6907671 oce driver should make MAC_PROP_ADV_10GFDX_CAP property as MAC_PROP_PERM_RW
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
11374
diff
changeset
|
382 |
int oce_del_mac(struct oce_dev *dev, uint32_t if_id, uint32_t *pmac_id); |
b7b5ccb8e5c5
6907671 oce driver should make MAC_PROP_ADV_10GFDX_CAP property as MAC_PROP_PERM_RW
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
11374
diff
changeset
|
383 |
int oce_config_vlan(struct oce_dev *dev, uint32_t if_id, |
11374
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
384 |
struct normal_vlan *vtag_arr, |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
385 |
uint8_t vtag_cnt, boolean_t untagged, |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
386 |
boolean_t enable_promisc); |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
387 |
int oce_config_link(struct oce_dev *dev, boolean_t enable); |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
388 |
|
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
389 |
int oce_issue_mbox(struct oce_dev *dev, queue_t *wq, mblk_t *mp, |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
390 |
uint32_t *payload_length); |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
391 |
|
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
392 |
#ifdef __cplusplus |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
393 |
} |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
394 |
#endif |
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
395 |
|
b345d20da176
PSARC/2009/526 oce - Emulex PCIe converged NIC driver
Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM>
parents:
diff
changeset
|
396 |
#endif /* _OCE_IO_H_ */ |