50 /* initialized. */
51 #define FC_STATE_ONLINE 0x0001 /* Link is up, the topology */
52 /* is given in fp_topology. */
53 #define FC_STATE_LOOP 0x0002 /* Link is up, the topology */
54 /* is a private loop. */
55 #define FC_STATE_NAMESERVICE 0x0003 /* Not really used */
56 #define FC_STATE_RESET 0x0004
57 #define FC_STATE_RESET_REQUESTED 0x0005
58 #define FC_STATE_LIP 0x0006
59 #define FC_STATE_LIP_LBIT_SET 0x0007
60 #define FC_STATE_DEVICE_CHANGE 0x0008 /* For ULPs */
61 #define FC_STATE_TARGET_PORT_RESET 0x0009
62
63 /* Values for the link speed (next least significant byte as above) */
64 #define FC_STATE_1GBIT_SPEED 0x0100 /* 1 Gbit/sec */
65 #define FC_STATE_2GBIT_SPEED 0x0400 /* 2 Gbit/sec */
66 #define FC_STATE_4GBIT_SPEED 0x0500 /* 4 Gbit/sec */
67 #define FC_STATE_10GBIT_SPEED 0x0600 /* 10 Gbit/sec */
68 #define FC_STATE_8GBIT_SPEED 0x0700 /* 8 Gbit/sec */
69 #define FC_STATE_16GBIT_SPEED 0x0800 /* 16 Gbit/sec */
70 #define FC_STATE_FULL_SPEED FC_STATE_1GBIT_SPEED
71 #define FC_STATE_DOUBLE_SPEED FC_STATE_2GBIT_SPEED
72
73 /* pi_port_state, used only when binding port */
74 #define FC_STATE_FCA_IS_NODMA 0x80000000
75
76 /*
77 * Macros to discriminate between the link state byte and the link speed
78 * byte in fp_state (also good for improved code obfuscation and job security
79 * even during a good economy).
80 */
81 #define FC_PORT_SPEED_MASK(state) ((state) & 0xFF00)
82 #define FC_PORT_STATE_MASK(state) ((state) & 0xFF)
83
84
85 /*
86 * Notify flags passed between ULPs and FCAs
87 *
88 * 3 bytes 1 byte
89 * +-----------------------+---------------+
|
50 /* initialized. */
51 #define FC_STATE_ONLINE 0x0001 /* Link is up, the topology */
52 /* is given in fp_topology. */
53 #define FC_STATE_LOOP 0x0002 /* Link is up, the topology */
54 /* is a private loop. */
55 #define FC_STATE_NAMESERVICE 0x0003 /* Not really used */
56 #define FC_STATE_RESET 0x0004
57 #define FC_STATE_RESET_REQUESTED 0x0005
58 #define FC_STATE_LIP 0x0006
59 #define FC_STATE_LIP_LBIT_SET 0x0007
60 #define FC_STATE_DEVICE_CHANGE 0x0008 /* For ULPs */
61 #define FC_STATE_TARGET_PORT_RESET 0x0009
62
63 /* Values for the link speed (next least significant byte as above) */
64 #define FC_STATE_1GBIT_SPEED 0x0100 /* 1 Gbit/sec */
65 #define FC_STATE_2GBIT_SPEED 0x0400 /* 2 Gbit/sec */
66 #define FC_STATE_4GBIT_SPEED 0x0500 /* 4 Gbit/sec */
67 #define FC_STATE_10GBIT_SPEED 0x0600 /* 10 Gbit/sec */
68 #define FC_STATE_8GBIT_SPEED 0x0700 /* 8 Gbit/sec */
69 #define FC_STATE_16GBIT_SPEED 0x0800 /* 16 Gbit/sec */
70 #define FC_STATE_32GBIT_SPEED 0x0900 /* 32 Gbit/sec */
71 #define FC_STATE_FULL_SPEED FC_STATE_1GBIT_SPEED
72 #define FC_STATE_DOUBLE_SPEED FC_STATE_2GBIT_SPEED
73
74 /* pi_port_state, used only when binding port */
75 #define FC_STATE_FCA_IS_NODMA 0x80000000
76
77 /*
78 * Macros to discriminate between the link state byte and the link speed
79 * byte in fp_state (also good for improved code obfuscation and job security
80 * even during a good economy).
81 */
82 #define FC_PORT_SPEED_MASK(state) ((state) & 0xFF00)
83 #define FC_PORT_STATE_MASK(state) ((state) & 0xFF)
84
85
86 /*
87 * Notify flags passed between ULPs and FCAs
88 *
89 * 3 bytes 1 byte
90 * +-----------------------+---------------+
|