hc
2024-01-05 071106ecf68c401173c58808b1cf5f68cc50d390
kernel/drivers/scsi/mpt3sas/mpi/mpi2_tool.h
....@@ -1,13 +1,13 @@
11 /* SPDX-License-Identifier: GPL-2.0 */
22 /*
3
- * Copyright 2000-2014 Avago Technologies. All rights reserved.
3
+ * Copyright 2000-2020 Broadcom Inc. All rights reserved.
44 *
55 *
66 * Name: mpi2_tool.h
77 * Title: MPI diagnostic tool structures and definitions
88 * Creation Date: March 26, 2007
99 *
10
- * mpi2_tool.h Version: 02.00.14
10
+ * mpi2_tool.h Version: 02.00.16
1111 *
1212 * Version History
1313 * ---------------
....@@ -38,6 +38,9 @@
3838 * 11-18-14 02.00.13 Updated copyright information.
3939 * 08-25-16 02.00.14 Added new values for the Flags field of Toolbox Clean
4040 * Tool Request Message.
41
+ * 07-22-18 02.00.15 Added defines for new TOOLBOX_PCIE_LANE_MARGINING tool.
42
+ * Added option for DeviceInfo field in ISTWI tool.
43
+ * 12-17-18 02.00.16 Shorten some defines to be compatible with DOS.
4144 * --------------------------------------------------------------------------
4245 */
4346
....@@ -58,6 +61,7 @@
5861 #define MPI2_TOOLBOX_BEACON_TOOL (0x05)
5962 #define MPI2_TOOLBOX_DIAGNOSTIC_CLI_TOOL (0x06)
6063 #define MPI2_TOOLBOX_TEXT_DISPLAY_TOOL (0x07)
64
+#define MPI26_TOOLBOX_BACKEND_PCIE_LANE_MARGIN (0x08)
6165
6266 /****************************************************************************
6367 * Toolbox reply
....@@ -226,6 +230,13 @@
226230 #define MPI2_TOOL_ISTWI_FLAG_AUTO_RESERVE_RELEASE (0x80)
227231 #define MPI2_TOOL_ISTWI_FLAG_PAGE_ADDR_MASK (0x07)
228232
233
+/*MPI26 TOOLBOX Request MsgFlags defines */
234
+#define MPI26_TOOL_ISTWI_MSGFLG_ADDR_MASK (0x01)
235
+/*Request uses Man Page 43 device index addressing */
236
+#define MPI26_TOOL_ISTWI_MSGFLG_ADDR_INDEX (0x00)
237
+/*Request uses Man Page 43 device info struct addressing */
238
+#define MPI26_TOOL_ISTWI_MSGFLG_ADDR_INFO (0x01)
239
+
229240 /*Toolbox ISTWI Read Write Tool reply message */
230241 typedef struct _MPI2_TOOLBOX_ISTWI_REPLY {
231242 U8 Tool; /*0x00 */
....@@ -387,6 +398,64 @@
387398 #define MPI2_TOOLBOX_CONSOLE_FLAG_TIMESTAMP (0x01)
388399
389400
401
+/***************************************************************************
402
+ * Toolbox Backend Lane Margining Tool
403
+ ***************************************************************************
404
+ */
405
+
406
+/*Toolbox Backend Lane Margining Tool request message */
407
+typedef struct _MPI26_TOOLBOX_LANE_MARGIN_REQUEST {
408
+ U8 Tool; /*0x00 */
409
+ U8 Reserved1; /*0x01 */
410
+ U8 ChainOffset; /*0x02 */
411
+ U8 Function; /*0x03 */
412
+ U16 Reserved2; /*0x04 */
413
+ U8 Reserved3; /*0x06 */
414
+ U8 MsgFlags; /*0x07 */
415
+ U8 VP_ID; /*0x08 */
416
+ U8 VF_ID; /*0x09 */
417
+ U16 Reserved4; /*0x0A */
418
+ U8 Command; /*0x0C */
419
+ U8 SwitchPort; /*0x0D */
420
+ U16 DevHandle; /*0x0E */
421
+ U8 RegisterOffset; /*0x10 */
422
+ U8 Reserved5; /*0x11 */
423
+ U16 DataLength; /*0x12 */
424
+ MPI25_SGE_IO_UNION SGL; /*0x14 */
425
+} MPI26_TOOLBOX_LANE_MARGINING_REQUEST,
426
+ *PTR_MPI2_TOOLBOX_LANE_MARGINING_REQUEST,
427
+ Mpi26ToolboxLaneMarginingRequest_t,
428
+ *pMpi2ToolboxLaneMarginingRequest_t;
429
+
430
+/* defines for the Command field */
431
+#define MPI26_TOOL_MARGIN_COMMAND_ENTER_MARGIN_MODE (0x01)
432
+#define MPI26_TOOL_MARGIN_COMMAND_READ_REGISTER_DATA (0x02)
433
+#define MPI26_TOOL_MARGIN_COMMAND_WRITE_REGISTER_DATA (0x03)
434
+#define MPI26_TOOL_MARGIN_COMMAND_EXIT_MARGIN_MODE (0x04)
435
+
436
+
437
+/*Toolbox Backend Lane Margining Tool reply message */
438
+typedef struct _MPI26_TOOLBOX_LANE_MARGIN_REPLY {
439
+ U8 Tool; /*0x00 */
440
+ U8 Reserved1; /*0x01 */
441
+ U8 MsgLength; /*0x02 */
442
+ U8 Function; /*0x03 */
443
+ U16 Reserved2; /*0x04 */
444
+ U8 Reserved3; /*0x06 */
445
+ U8 MsgFlags; /*0x07 */
446
+ U8 VP_ID; /*0x08 */
447
+ U8 VF_ID; /*0x09 */
448
+ U16 Reserved4; /*0x0A */
449
+ U16 Reserved5; /*0x0C */
450
+ U16 IOCStatus; /*0x0E */
451
+ U32 IOCLogInfo; /*0x10 */
452
+ U16 ReturnedDataLength; /*0x14 */
453
+ U16 Reserved6; /*0x16 */
454
+} MPI26_TOOLBOX_LANE_MARGINING_REPLY,
455
+ *PTR_MPI26_TOOLBOX_LANE_MARGINING_REPLY,
456
+ Mpi26ToolboxLaneMarginingReply_t,
457
+ *pMpi26ToolboxLaneMarginingReply_t;
458
+
390459
391460 /*****************************************************************************
392461 *