PSIF_EVENT_EXTENT = 0x13u,
PSIF_TSU_ERROR_TYPES_EXTENT = 0x8cu,
PSIF_EPS_CORE_ID_EXTENT = 0x5u,
- PSIF_EPSC_QUERY_NUM_VFS_MODE_EXTENT = 0x3u,
+ PSIF_EPSC_QUERY_PERSISTENT_EXTENT = 0x3u,
+ PSIF_PORT_SPEED_EXTENT = 0x21u,
PSIF_EPSC_PORT_STATE_EXTENT = 0x6u,
PSIF_EPSC_PATH_MTU_EXTENT = 0x8u,
- PSIF_PORT_SPEED_EXTENT = 0x21u,
PSIF_EPSC_LOG_MODE_EXTENT = 0x11u,
PSIF_EPSC_LOG_LEVEL_EXTENT = 0x8u,
- PSIF_EPSC_DEGRADE_CAUSE_EXTENT = 0x6u,
+ PSIF_EPSC_DEGRADE_CAUSE_EXTENT = 0x7u,
PSIF_EPSC_ATOMIC_CAP_EXTENT = 0x3u,
PSIF_EPSC_CSR_STATUS_EXTENT = 0x100u,
PSIF_EPSC_CSR_OPCODE_EXTENT = 0x50u,
PSIF_EPSC_CSR_MODIFY_PORT_FLAGS_EXTENT = 0x11u,
PSIF_EPSC_CSR_EPSA_COMMAND_EXTENT = 0x4u,
PSIF_EPSA_COMMAND_EXTENT = 0xcu,
- PSIF_EPSC_QUERY_OP_EXTENT = 0x54u,
+ PSIF_EPSC_QUERY_OP_EXTENT = 0x56u,
PSIF_EPSC_CSR_UPDATE_OPCODE_EXTENT = 0x8u,
PSIF_EPSC_FLASH_SLOT_EXTENT = 0x6u,
PSIF_EPSC_UPDATE_SET_EXTENT = 0x5u,
}; /* enum psif_eps_core_id [ 4 bits] */
/**
- * \brief Discriminator for the PSIF_QUER sub-operation EPSC_QUERY_NUM_VFS
+ * \brief Discriminator for PSIF_QUERY of persistent values
* \details
* \par Width
* 32 bit
* \par Used in
- * the parameter for the PSIF_QUERY sub-operation EPSC_QUERY_NUM_VFS - set in the index field
+ * the parameter for the PSIF_QUERY sub-operation EPSC_QUERY_NUM_VFS and EPS_QUERY_JUMBO - set in the index field
* \par Classification
* driver
*/
-enum psif_epsc_query_num_vfs_mode {
- EPSC_QUERY_NUM_VFS_MODE_CURRENT,
- EPSC_QUERY_NUM_VFS_MODE_PERSISTENT,
- EPSC_QUERY_NUM_VFS_MODE_HW_CAP,
+enum psif_epsc_query_persistent {
+ EPSC_QUERY_PERSISTENT_STORED,
+ EPSC_QUERY_PERSISTENT_ACTIVE,
+ EPSC_QUERY_PERSISTENT_HW_CAP,
+ /* Padding out to required bits allocated */
+ PSIF_EPSC_QUERY_PERSISTENT_FIELD_MAX = 0x7fffffffu
+}; /* enum psif_epsc_query_persistent [32 bits] */
+
+/*
+ * Should match definitions in ib_verbs.h
+ */
+enum psif_port_speed {
+ PSIF_SPEED_SDR = 0x1u,
+ PSIF_SPEED_DDR = 0x2u,
+ PSIF_SPEED_QDR = 0x4u,
+ PSIF_SPEED_FDR10 = 0x8u,
+ PSIF_SPEED_FDR = 0x10u,
+ PSIF_SPEED_EDR = 0x20u,
/* Padding out to required bits allocated */
- PSIF_EPSC_QUERY_NUM_VFS_MODE_FIELD_MAX = 0x7fffffffu
-}; /* enum psif_epsc_query_num_vfs_mode [32 bits] */
+ PSIF_PORT_SPEED_FIELD_MAX = 0xffu
+}; /* enum psif_port_speed [ 8 bits] */
/**
* \brief Port state
PSIF_EPSC_PATH_MTU_FIELD_MAX = 0x7fffffffu
}; /* enum psif_epsc_path_mtu [32 bits] */
-/*
- * Should match definitions in ib_verbs.h
- */
-enum psif_port_speed {
- PSIF_SPEED_SDR = 0x1u,
- PSIF_SPEED_DDR = 0x2u,
- PSIF_SPEED_QDR = 0x4u,
- PSIF_SPEED_FDR10 = 0x8u,
- PSIF_SPEED_FDR = 0x10u,
- PSIF_SPEED_EDR = 0x20u,
- /* Padding out to required bits allocated */
- PSIF_PORT_SPEED_FIELD_MAX = 0xffu
-}; /* enum psif_port_speed [ 8 bits] */
-
enum psif_epsc_log_mode {
/* Logging completely disabled */
/**< degrade cause: Virtualization mode reconfigured, reset needed */
DEGRADE_CAUSE_FLAG_VIRTMODE_RECONF,
+/**< degrade cause: no credits for sending multicast packets */
+
+ DEGRADE_CAUSE_FLAG_MCAST_LACK_OF_CREDIT,
/* Padding out to required bits allocated */
PSIF_EPSC_DEGRADE_CAUSE_FIELD_MAX = 0x1fu
}; /* enum psif_epsc_degrade_cause [ 5 bits] */
EPSC_QUERY_CREDIT_MODE = 0x50u,
/** Query version on onboard CPLD (Titan only Other platforms will return EPSC_ENODATA) */
EPSC_QUERY_CPLD_VERSION = 0x51u,
+ /** Query portinfo on exernal port (defined in psif_epsc_query_external_port_info_t) */
+ EPSC_QUERY_EXTERNAL_PORT_INFO = 0x53u,
+ /* Query the HW revision of the board */
+ EPSC_QUERY_HW_REVISION = 0x54u,
/* EOF marker - must be last and highest in this enum type. */
- EPSC_QUERY_LAST = 0x53u,
+ EPSC_QUERY_LAST = 0x55u,
/* Padding out to required bits allocated */
PSIF_EPSC_QUERY_OP_FIELD_MAX = 0x7fffffffu
}; /* enum psif_epsc_query_op [32 bits] */
u32 seq_num;
} PSIF_PACKED_ALIGNED32; /* struct psif_eq_entry [64 byte] */
+/**
+ * \brief Definition of struct returned by EPSC_QUERY_EXTERNAL_PORT_INFO
+ * \details
+ * This struct is returning several attributes of the external IB port. The vHCA IB portnumber
+ * is set in the index field. Values returned maches description in PortInfo (See IB specification
+ * 1.3 vol1 chapter 14.2.5.6), except for active speed which will return values as defined in
+ * psif_port_speed.
+ * \par Width
+ * 64 bit
+ * \par Used in
+ * the parameter for the PSIF_QUERY sub-operation EPSC_QUERY_PORT_INFO - vHCA IB portnumber set in index field
+ * \par Classification
+ * internal, development
+ */
+
+struct psif_epsc_query_external_port_info {
+ /**< LID of the IB device connected to the external port */
+
+ u16 lid;
+ /**< IB port number of external port (on the IB device above) */
+
+ u16 portnumber:8;
+ /**< IB port state of external port values will match psif_epsc_port_state_t */
+
+ u16 port_state:4;
+ /**< Physical port state of IB port */
+
+ u16 port_physical_state:4;
+ /**< IB LinkSpeedActive of external port */
+
+ enum psif_port_speed active_speed:8;
+
+ /**< IB LinkWidthActive of external port */
+
+ u16 active_width:8;
+ /**< Active MTU of external port (values will match psif_epsc_path_mtu_t */
+
+ u16 active_mtu:4;
+ /**< Number of operational Data VLs */
+
+ u16 operational_vls:4;
+ /**< Reserved */
+
+ u16 noname:8;
+} PSIF_PACKED_ALIGNED; /* struct psif_epsc_query_external_port_info [ 8 byte] */
+
/**
* CSR Query port structure
*/
u32 noname:32;
} PSIF_PACKED_ALIGNED32; /* struct psif_eq_entry [64 byte] */
+/**
+ * \brief Definition of struct returned by EPSC_QUERY_EXTERNAL_PORT_INFO
+ * \details
+ * This struct is returning several attributes of the external IB port. The vHCA IB portnumber
+ * is set in the index field. Values returned maches description in PortInfo (See IB specification
+ * 1.3 vol1 chapter 14.2.5.6), except for active speed which will return values as defined in
+ * psif_port_speed.
+ * \par Width
+ * 64 bit
+ * \par Used in
+ * the parameter for the PSIF_QUERY sub-operation EPSC_QUERY_PORT_INFO - vHCA IB portnumber set in index field
+ * \par Classification
+ * internal, development
+ */
+
+struct psif_epsc_query_external_port_info {
+ /**< Reserved */
+
+ u16 noname:8;
+ /**< Number of operational Data VLs */
+
+ u16 operational_vls:4;
+ /**< Active MTU of external port (values will match psif_epsc_path_mtu_t */
+
+ u16 active_mtu:4;
+ /**< IB LinkWidthActive of external port */
+
+ u16 active_width:8;
+ /**< IB LinkSpeedActive of external port */
+
+ enum psif_port_speed active_speed:8;
+
+ /**< Physical port state of IB port */
+
+ u16 port_physical_state:4;
+ /**< IB port state of external port values will match psif_epsc_port_state_t */
+
+ u16 port_state:4;
+ /**< IB port number of external port (on the IB device above) */
+
+ u16 portnumber:8;
+ /**< LID of the IB device connected to the external port */
+
+ u16 lid;
+} PSIF_PACKED_ALIGNED; /* struct psif_epsc_query_external_port_info [ 8 byte] */
+
/**
* CSR Query port structure
*/
-/* This file is automatically generated by /home/komang/build/master/install/bin/gitstatus.sh */
+/* Misc driver release info */
#include "version.h"
struct sif_version sif_version = {
-.git_repo = "sifdrv [non public commit]",
-.last_commit = "0.0.0.4-770-ga475650 tmp: more bugDB->Orabug",
-.git_status = "",
-.build_git_time = "Wed, 25 May 2016 08:45:49 +0000",
+.git_repo = "sifdrv [origin/master]",
+.last_commit = "titan_1.0.0.1 transform filters: Replace 'automatically generated'",
+.git_status = """?? drivers/\n"
+,
+.build_git_time = "Sun, 03 Jul 2016 12:44:15 +0000",
.build_user = "komang",
.git_psifapi_repo = "psifapi [origin/master]",
-.last_psifapi_commit = "epsapp-1.17 API for mailbox for BER report",
+.last_psifapi_commit = "titan_1.0.0.1 EPSC_API_VERSION(2,5) - EPSC_QUERY_HW_REVISION",
.git_psifapi_status = "",
};