Commit 664b3dd9 authored by Shalom Toledo's avatar Shalom Toledo Committed by David S. Miller
Browse files

mlxsw: core: Add EMAD string TLV



Add EMAD string TLV, an ASCII string the driver can receive from the
firmware in case of an error.

Signed-off-by: default avatarShalom Toledo <shalomt@mellanox.com>
Acked-by: default avatarJiri Pirko <jiri@mellanox.com>
Signed-off-by: default avatarIdo Schimmel <idosch@mellanox.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent d17eb403
Loading
Loading
Loading
Loading
+19 −0
Original line number Diff line number Diff line
@@ -249,6 +249,25 @@ MLXSW_ITEM32(emad, op_tlv, class, 0x04, 0, 8);
 */
MLXSW_ITEM64(emad, op_tlv, tid, 0x08, 0, 64);

/* emad_string_tlv_type
 * Type of the TLV.
 * Must be set to 0x2 (string TLV).
 */
MLXSW_ITEM32(emad, string_tlv, type, 0x00, 27, 5);

/* emad_string_tlv_len
 * Length of the string TLV in u32.
 */
MLXSW_ITEM32(emad, string_tlv, len, 0x00, 16, 11);

#define MLXSW_EMAD_STRING_TLV_STRING_LEN 128

/* emad_string_tlv_string
 * String provided by the device's firmware in case of erroneous register access
 */
MLXSW_ITEM_BUF(emad, string_tlv, string, 0x04,
	       MLXSW_EMAD_STRING_TLV_STRING_LEN);

/* emad_reg_tlv_type
 * Type of the TLV.
 * Must be set to 0x3 (register TLV).
+5 −1
Original line number Diff line number Diff line
@@ -19,7 +19,8 @@
enum {
	MLXSW_EMAD_TLV_TYPE_END,
	MLXSW_EMAD_TLV_TYPE_OP,
	MLXSW_EMAD_TLV_TYPE_REG = 0x3,
	MLXSW_EMAD_TLV_TYPE_STRING,
	MLXSW_EMAD_TLV_TYPE_REG,
};

/* OP TLV */
@@ -86,6 +87,9 @@ enum {
	MLXSW_EMAD_OP_TLV_METHOD_EVENT = 5,
};

/* STRING TLV */
#define MLXSW_EMAD_STRING_TLV_LEN 33	/* Length in u32 */

/* END TLV */
#define MLXSW_EMAD_END_TLV_LEN 1	/* Length in u32 */