Deleted Added
full compact
t4fw_interface.h (247291) t4fw_interface.h (250090)
1/*-
2 * Copyright (c) 2012 Chelsio Communications, Inc.
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
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

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

18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 * SUCH DAMAGE.
25 *
1/*-
2 * Copyright (c) 2012 Chelsio Communications, Inc.
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
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

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

18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 * SUCH DAMAGE.
25 *
26 * $FreeBSD: head/sys/dev/cxgbe/firmware/t4fw_interface.h 247291 2013-02-26 00:27:27Z np $
26 * $FreeBSD: head/sys/dev/cxgbe/firmware/t4fw_interface.h 250090 2013-04-30 05:32:07Z np $
27 *
28 */
29
30#ifndef _T4FW_INTERFACE_H_
31#define _T4FW_INTERFACE_H_
32
33/******************************************************************************
34 * R E T U R N V A L U E S

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

75 FW_SCSI_TASK_ERR = 142, /* No SCSI tasks available */
76};
77
78/******************************************************************************
79 * W O R K R E Q U E S T s
80 ********************************/
81
82enum fw_wr_opcodes {
27 *
28 */
29
30#ifndef _T4FW_INTERFACE_H_
31#define _T4FW_INTERFACE_H_
32
33/******************************************************************************
34 * R E T U R N V A L U E S

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

75 FW_SCSI_TASK_ERR = 142, /* No SCSI tasks available */
76};
77
78/******************************************************************************
79 * W O R K R E Q U E S T s
80 ********************************/
81
82enum fw_wr_opcodes {
83 FW_FRAG_WR = 0x1d,
83 FW_FILTER_WR = 0x02,
84 FW_ULPTX_WR = 0x04,
85 FW_TP_WR = 0x05,
86 FW_ETH_TX_PKT_WR = 0x08,
87 FW_ETH_TX_PKTS_WR = 0x09,
88 FW_ETH_TX_UO_WR = 0x1c,
89 FW_EQ_FLUSH_WR = 0x1b,
90 FW_OFLD_CONNECTION_WR = 0x2f,

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

198
199/* length in units of 16-bytes (lo)
200 */
201#define S_FW_WR_LEN16 0
202#define M_FW_WR_LEN16 0xff
203#define V_FW_WR_LEN16(x) ((x) << S_FW_WR_LEN16)
204#define G_FW_WR_LEN16(x) (((x) >> S_FW_WR_LEN16) & M_FW_WR_LEN16)
205
84 FW_FILTER_WR = 0x02,
85 FW_ULPTX_WR = 0x04,
86 FW_TP_WR = 0x05,
87 FW_ETH_TX_PKT_WR = 0x08,
88 FW_ETH_TX_PKTS_WR = 0x09,
89 FW_ETH_TX_UO_WR = 0x1c,
90 FW_EQ_FLUSH_WR = 0x1b,
91 FW_OFLD_CONNECTION_WR = 0x2f,

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

199
200/* length in units of 16-bytes (lo)
201 */
202#define S_FW_WR_LEN16 0
203#define M_FW_WR_LEN16 0xff
204#define V_FW_WR_LEN16(x) ((x) << S_FW_WR_LEN16)
205#define G_FW_WR_LEN16(x) (((x) >> S_FW_WR_LEN16) & M_FW_WR_LEN16)
206
207struct fw_frag_wr {
208 __be32 op_to_fragoff16;
209 __be32 flowid_len16;
210 __be64 r4;
211};
212
213#define S_FW_FRAG_WR_EOF 15
214#define M_FW_FRAG_WR_EOF 0x1
215#define V_FW_FRAG_WR_EOF(x) ((x) << S_FW_FRAG_WR_EOF)
216#define G_FW_FRAG_WR_EOF(x) (((x) >> S_FW_FRAG_WR_EOF) & M_FW_FRAG_WR_EOF)
217#define F_FW_FRAG_WR_EOF V_FW_FRAG_WR_EOF(1U)
218
219#define S_FW_FRAG_WR_FRAGOFF16 8
220#define M_FW_FRAG_WR_FRAGOFF16 0x7f
221#define V_FW_FRAG_WR_FRAGOFF16(x) ((x) << S_FW_FRAG_WR_FRAGOFF16)
222#define G_FW_FRAG_WR_FRAGOFF16(x) \
223 (((x) >> S_FW_FRAG_WR_FRAGOFF16) & M_FW_FRAG_WR_FRAGOFF16)
224
206/* valid filter configurations for compressed tuple
207 * Encodings: TPL - Compressed TUPLE for filter in addition to 4-tuple
208 * FR - FRAGMENT, FC - FCoE, MT - MPS MATCH TYPE, M - MPS MATCH,
209 * E - Ethertype, P - Port, PR - Protocol, T - TOS, IV - Inner VLAN,
210 * OV - Outer VLAN/VNIC_ID,
211*/
212#define HW_TPL_FR_MT_M_E_P_FC 0x3C3
213#define HW_TPL_FR_MT_M_PR_T_FC 0x3B3

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

2991 FW_LDST_ADDRSPC_TP_MIB = 0x0012,
2992 FW_LDST_ADDRSPC_MDIO = 0x0018,
2993 FW_LDST_ADDRSPC_MPS = 0x0020,
2994 FW_LDST_ADDRSPC_FUNC = 0x0028,
2995 FW_LDST_ADDRSPC_FUNC_PCIE = 0x0029,
2996 FW_LDST_ADDRSPC_FUNC_I2C = 0x002A, /* legacy */
2997 FW_LDST_ADDRSPC_LE = 0x0030,
2998 FW_LDST_ADDRSPC_I2C = 0x0038,
225/* valid filter configurations for compressed tuple
226 * Encodings: TPL - Compressed TUPLE for filter in addition to 4-tuple
227 * FR - FRAGMENT, FC - FCoE, MT - MPS MATCH TYPE, M - MPS MATCH,
228 * E - Ethertype, P - Port, PR - Protocol, T - TOS, IV - Inner VLAN,
229 * OV - Outer VLAN/VNIC_ID,
230*/
231#define HW_TPL_FR_MT_M_E_P_FC 0x3C3
232#define HW_TPL_FR_MT_M_PR_T_FC 0x3B3

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

3010 FW_LDST_ADDRSPC_TP_MIB = 0x0012,
3011 FW_LDST_ADDRSPC_MDIO = 0x0018,
3012 FW_LDST_ADDRSPC_MPS = 0x0020,
3013 FW_LDST_ADDRSPC_FUNC = 0x0028,
3014 FW_LDST_ADDRSPC_FUNC_PCIE = 0x0029,
3015 FW_LDST_ADDRSPC_FUNC_I2C = 0x002A, /* legacy */
3016 FW_LDST_ADDRSPC_LE = 0x0030,
3017 FW_LDST_ADDRSPC_I2C = 0x0038,
3018 FW_LDST_ADDRSPC_PCIE_CFGS = 0x0040,
3019 FW_LDST_ADDRSPC_PCIE_DBG = 0x0041,
3020 FW_LDST_ADDRSPC_PCIE_PHY = 0x0042,
2999};
3000
3001/*
3002 * MDIO VSC8634 register access control field
3003 */
3004enum fw_ldst_mdio_vsc8634_aid {
3005 FW_LDST_MDIO_VS_STANDARD,
3006 FW_LDST_MDIO_VS_EXTENDED,

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

3477 FW_PARAMS_PARAM_DEV_FLOWC_BUFFIFO_SZ = 0x03,
3478 FW_PARAMS_PARAM_DEV_INTFVER_NIC = 0x04,
3479 FW_PARAMS_PARAM_DEV_INTFVER_VNIC = 0x05,
3480 FW_PARAMS_PARAM_DEV_INTFVER_OFLD = 0x06,
3481 FW_PARAMS_PARAM_DEV_INTFVER_RI = 0x07,
3482 FW_PARAMS_PARAM_DEV_INTFVER_ISCSIPDU = 0x08,
3483 FW_PARAMS_PARAM_DEV_INTFVER_ISCSI = 0x09,
3484 FW_PARAMS_PARAM_DEV_INTFVER_FCOE = 0x0A,
3021};
3022
3023/*
3024 * MDIO VSC8634 register access control field
3025 */
3026enum fw_ldst_mdio_vsc8634_aid {
3027 FW_LDST_MDIO_VS_STANDARD,
3028 FW_LDST_MDIO_VS_EXTENDED,

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

3499 FW_PARAMS_PARAM_DEV_FLOWC_BUFFIFO_SZ = 0x03,
3500 FW_PARAMS_PARAM_DEV_INTFVER_NIC = 0x04,
3501 FW_PARAMS_PARAM_DEV_INTFVER_VNIC = 0x05,
3502 FW_PARAMS_PARAM_DEV_INTFVER_OFLD = 0x06,
3503 FW_PARAMS_PARAM_DEV_INTFVER_RI = 0x07,
3504 FW_PARAMS_PARAM_DEV_INTFVER_ISCSIPDU = 0x08,
3505 FW_PARAMS_PARAM_DEV_INTFVER_ISCSI = 0x09,
3506 FW_PARAMS_PARAM_DEV_INTFVER_FCOE = 0x0A,
3485 FW_PARAMS_PARAM_DEV_FWREV = 0x0B,
3486 FW_PARAMS_PARAM_DEV_TPREV = 0x0C,
3487 FW_PARAMS_PARAM_DEV_CF = 0x0D,
3488 FW_PARAMS_PARAM_DEV_BYPASS = 0x0E,
3489 FW_PARAMS_PARAM_DEV_PHYFW = 0x0F,
3490 FW_PARAMS_PARAM_DEV_LOAD = 0x10,
3491 FW_PARAMS_PARAM_DEV_DIAG = 0x11,
3507 FW_PARAMS_PARAM_DEV_FWREV = 0x0B,
3508 FW_PARAMS_PARAM_DEV_TPREV = 0x0C,
3509 FW_PARAMS_PARAM_DEV_CF = 0x0D,
3510 FW_PARAMS_PARAM_DEV_BYPASS = 0x0E,
3511 FW_PARAMS_PARAM_DEV_PHYFW = 0x0F,
3512 FW_PARAMS_PARAM_DEV_LOAD = 0x10,
3513 FW_PARAMS_PARAM_DEV_DIAG = 0x11,
3514 FW_PARAMS_PARAM_DEV_UCLK = 0x12, /* uP clock in khz */
3515 FW_PARAMS_PARAM_DEV_MAXORDIRD_QP = 0x13, /* max supported QP IRD/ORD
3516 */
3517 FW_PARAMS_PARAM_DEV_MAXIRD_ADAPTER= 0x14,/* max supported ADAPTER IRD
3518 */
3519 FW_PARAMS_PARAM_DEV_INTFVER_FCOEPDU = 0x15,
3520 FW_PARAMS_PARAM_DEV_MCINIT = 0x16,
3492};
3493
3494/*
3495 * physical and virtual function parameters
3496 */
3497enum fw_params_param_pfvf {
3498 FW_PARAMS_PARAM_PFVF_RWXCAPS = 0x00,
3499 FW_PARAMS_PARAM_PFVF_ROUTE_START = 0x01,

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

5855 FW_PORT_TYPE_BT_XAUI = 4, /* Y, 4, No, No, No, No, 10G/1G/100M? */
5856 FW_PORT_TYPE_KX4 = 5, /* No, 4, No, No, Yes, Yes, 10G */
5857 FW_PORT_TYPE_CX4 = 6, /* No, 4, No, No, No, No, 10G */
5858 FW_PORT_TYPE_KX = 7, /* No, 1, No, No, Yes, No, 1G */
5859 FW_PORT_TYPE_KR = 8, /* No, 1, No, No, Yes, Yes, 10G */
5860 FW_PORT_TYPE_SFP = 9, /* No, 1, Yes, No, No, No, 10G */
5861 FW_PORT_TYPE_BP_AP = 10, /* No, 1, No, No, Yes, Yes, 10G, BP ANGE */
5862 FW_PORT_TYPE_BP4_AP = 11, /* No, 4, No, No, Yes, Yes, 10G, BP ANGE */
3521};
3522
3523/*
3524 * physical and virtual function parameters
3525 */
3526enum fw_params_param_pfvf {
3527 FW_PARAMS_PARAM_PFVF_RWXCAPS = 0x00,
3528 FW_PARAMS_PARAM_PFVF_ROUTE_START = 0x01,

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

5884 FW_PORT_TYPE_BT_XAUI = 4, /* Y, 4, No, No, No, No, 10G/1G/100M? */
5885 FW_PORT_TYPE_KX4 = 5, /* No, 4, No, No, Yes, Yes, 10G */
5886 FW_PORT_TYPE_CX4 = 6, /* No, 4, No, No, No, No, 10G */
5887 FW_PORT_TYPE_KX = 7, /* No, 1, No, No, Yes, No, 1G */
5888 FW_PORT_TYPE_KR = 8, /* No, 1, No, No, Yes, Yes, 10G */
5889 FW_PORT_TYPE_SFP = 9, /* No, 1, Yes, No, No, No, 10G */
5890 FW_PORT_TYPE_BP_AP = 10, /* No, 1, No, No, Yes, Yes, 10G, BP ANGE */
5891 FW_PORT_TYPE_BP4_AP = 11, /* No, 4, No, No, Yes, Yes, 10G, BP ANGE */
5892 FW_PORT_TYPE_QSFP_10G = 12, /* No, 1, Yes, No, No, No, 10G */
5893 FW_PORT_TYPE_QSFP = 14, /* No, 4, Yes, No, No, No, 40G */
5894 FW_PORT_TYPE_BP40_BA = 15, /* No, 4, No, No, Yes, Yes, 40G/10G/1G, BP ANGE */
5863
5864 FW_PORT_TYPE_NONE = M_FW_PORT_CMD_PTYPE
5865};
5866
5867/* These are read from module's EEPROM and determined once the
5868 module is inserted. */
5869enum fw_port_module_type {
5870 FW_PORT_MOD_TYPE_NA = 0x0,

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

6778 FW_DEVLOG_LEVEL_MAX = 0x5,
6779};
6780
6781/*
6782 * facilities that may send a log message
6783 */
6784enum fw_devlog_facility {
6785 FW_DEVLOG_FACILITY_CORE = 0x00,
5895
5896 FW_PORT_TYPE_NONE = M_FW_PORT_CMD_PTYPE
5897};
5898
5899/* These are read from module's EEPROM and determined once the
5900 module is inserted. */
5901enum fw_port_module_type {
5902 FW_PORT_MOD_TYPE_NA = 0x0,

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

6810 FW_DEVLOG_LEVEL_MAX = 0x5,
6811};
6812
6813/*
6814 * facilities that may send a log message
6815 */
6816enum fw_devlog_facility {
6817 FW_DEVLOG_FACILITY_CORE = 0x00,
6818 FW_DEVLOG_FACILITY_CF = 0x01,
6786 FW_DEVLOG_FACILITY_SCHED = 0x02,
6787 FW_DEVLOG_FACILITY_TIMER = 0x04,
6788 FW_DEVLOG_FACILITY_RES = 0x06,
6789 FW_DEVLOG_FACILITY_HW = 0x08,
6790 FW_DEVLOG_FACILITY_FLR = 0x10,
6791 FW_DEVLOG_FACILITY_DMAQ = 0x12,
6792 FW_DEVLOG_FACILITY_PHY = 0x14,
6793 FW_DEVLOG_FACILITY_MAC = 0x16,

--- 811 unchanged lines hidden ---
6819 FW_DEVLOG_FACILITY_SCHED = 0x02,
6820 FW_DEVLOG_FACILITY_TIMER = 0x04,
6821 FW_DEVLOG_FACILITY_RES = 0x06,
6822 FW_DEVLOG_FACILITY_HW = 0x08,
6823 FW_DEVLOG_FACILITY_FLR = 0x10,
6824 FW_DEVLOG_FACILITY_DMAQ = 0x12,
6825 FW_DEVLOG_FACILITY_PHY = 0x14,
6826 FW_DEVLOG_FACILITY_MAC = 0x16,

--- 811 unchanged lines hidden ---