fw-api: CL 21666402 - update fw common interface files
Change-Id: Icd2761be49049bc438767522d7a13fd4743d5ff8 HTT: add T2H PRIMARY_PEER_MIGRATE_IND msg def CRs-Fixed: 2262693
Этот коммит содержится в:
236
fw/htt.h
236
fw/htt.h
@@ -245,9 +245,10 @@
|
||||
* 3.117 Add HTT_T2H_CODEL_MSDUQ_LATENCIES_ARRAY_CFG_IND def.
|
||||
* 3.118 Add HTT_T2H_MSG_TYPE_RX_DATA_IND and _SOFT_UMAC_TX_COMPL_IND defs.
|
||||
* 3.119 Add RX_PEER_META_DATA V1A and V1B defs.
|
||||
* 3.120 Add HTT_H2T_MSG_TYPE_PRIMARY_LINK_PEER_MIGRATE_IND, _RESP defs.
|
||||
*/
|
||||
#define HTT_CURRENT_VERSION_MAJOR 3
|
||||
#define HTT_CURRENT_VERSION_MINOR 119
|
||||
#define HTT_CURRENT_VERSION_MINOR 120
|
||||
|
||||
#define HTT_NUM_TX_FRAG_DESC 1024
|
||||
|
||||
@@ -851,6 +852,7 @@ enum htt_h2t_msg_type {
|
||||
HTT_H2T_MSG_TYPE_UMAC_HANG_RECOVERY_PREREQUISITE_SETUP = 0x21,
|
||||
HTT_H2T_MSG_TYPE_UMAC_HANG_RECOVERY_SOC_START_PRE_RESET = 0x22,
|
||||
HTT_H2T_MSG_TYPE_RX_CCE_SUPER_RULE_SETUP = 0x23,
|
||||
HTT_H2T_MSG_TYPE_PRIMARY_LINK_PEER_MIGRATE_RESP = 0x24,
|
||||
|
||||
/* keep this last */
|
||||
HTT_H2T_NUM_MSGS
|
||||
@@ -10493,6 +10495,139 @@ PREPACK struct htt_rx_cce_super_rule_setup_t {
|
||||
} while (0)
|
||||
|
||||
|
||||
/**
|
||||
* htt_h2t_primary_link_peer_status_type -
|
||||
* Unique number for each status or reasons
|
||||
* The status reasons can go up to 255 max
|
||||
*/
|
||||
enum htt_h2t_primary_link_peer_status_type {
|
||||
/* Host Primary Link Peer migration Success */
|
||||
HTT_H2T_PRIMARY_LINK_PEER_MIGRATION_OK = 0,
|
||||
|
||||
|
||||
/* keep this last */
|
||||
/* Host Primary Link Peer migration Fail */
|
||||
HTT_H2T_PRIMARY_LINK_PEER_MIGRATION_FAIL = 254,
|
||||
HTT_H2T_PRIMARY_LINK_PEER_MIGRATION_NUM_STATUS = 255
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @brief host -> Primary peer migration completion message from host
|
||||
*
|
||||
* MSG_TYPE => HTT_H2T_MSG_TYPE_PRIMARY_LINK_PEER_MIGRATE_RESP
|
||||
*
|
||||
* @details
|
||||
* HTT_H2T_MSG_TYPE_PRIMARY_PEER_MIGRATE_RESP message is sent by host to
|
||||
* target Confirming that primary link peer migration has completed,
|
||||
* in response to a HTT_T2H_MSG_TYPE_PRIMARY_LINK_PEER_MIGRATE_IND
|
||||
* message from the target.
|
||||
*
|
||||
* The message would appear as follows:
|
||||
*
|
||||
* |31 16|15 12|11 8|7 0|
|
||||
* |----------------------------+----------+---------+--------------|
|
||||
* | vdev ID | pdev ID | chip ID | msg type |
|
||||
* |----------------------------+----------+---------+--------------|
|
||||
* | ML peer ID | SW peer ID |
|
||||
* |----------------------------+--------------------+--------------|
|
||||
* | reserved | status |
|
||||
* |-------------------------------------------------+--------------|
|
||||
*
|
||||
* The message is interpreted as follows:
|
||||
* dword0 - b'0:7 - msg_type: This will be set to 0x24
|
||||
* (HTT_H2T_MSG_TYPE_PRIMARY_LINK_PEER_MIGRATE_RESP)
|
||||
* b'8:11 - chip_id: Indicate which chip has been chosen as primary
|
||||
* b'12:15 - pdev_id: Indicate which pdev in the chip is chosen
|
||||
* as primary
|
||||
* b'16:31 - vdev_id: Indicate which vdev in the pdev is chosen
|
||||
* as primary
|
||||
*
|
||||
* dword1 - b'0:15 - sw_link_peer_id: Indicate the sw_peer_id of the peer
|
||||
* chosen as primary
|
||||
* b'16:31 - ml_peer_id: Indicate the ml_peer_id to which the
|
||||
* primary peer belongs.
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
A_UINT32 msg_type: 8, /* bits 7:0 */
|
||||
chip_id: 4, /* bits 11:8 */
|
||||
pdev_id: 4, /* bits 15:12 */
|
||||
vdev_id: 16; /* bits 31:16 */
|
||||
A_UINT32 sw_link_peer_id: 16, /* bits 15:0 */
|
||||
ml_peer_id: 16; /* bits 31:16 */
|
||||
A_UINT32 status: 8, /* bits 7:0 */
|
||||
reserved: 24; /* bits 31:8 */
|
||||
} htt_h2t_primary_link_peer_migrate_resp_t;
|
||||
|
||||
#define HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_CHIP_ID_M 0x00000F00
|
||||
#define HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_CHIP_ID_S 8
|
||||
#define HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_CHIP_ID_GET(_var) \
|
||||
(((_var) & HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_CHIP_ID_M) >> \
|
||||
HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_CHIP_ID_S)
|
||||
#define HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_CHIP_ID_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_CHIP_ID, _val); \
|
||||
((_var) |= ((_val) << HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_CHIP_ID_S));\
|
||||
} while (0)
|
||||
|
||||
#define HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_PDEV_ID_M 0x0000F000
|
||||
#define HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_PDEV_ID_S 12
|
||||
#define HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_PDEV_ID_GET(_var) \
|
||||
(((_var) & HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_PDEV_ID_M) >> \
|
||||
HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_PDEV_ID_S)
|
||||
#define HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_PDEV_ID_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_PDEV_ID, _val); \
|
||||
((_var) |= ((_val) << HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_PDEV_ID_S));\
|
||||
} while (0)
|
||||
|
||||
#define HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_VDEV_ID_M 0xFFFF0000
|
||||
#define HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_VDEV_ID_S 16
|
||||
#define HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_VDEV_ID_GET(_var) \
|
||||
(((_var) & HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_VDEV_ID_M) >> \
|
||||
HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_VDEV_ID_S)
|
||||
#define HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_VDEV_ID_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_VDEV_ID, _val); \
|
||||
((_var) |= ((_val) << HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_VDEV_ID_S));\
|
||||
} while (0)
|
||||
|
||||
#define HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_SW_LINK_PEER_ID_M 0x0000FFFF
|
||||
#define HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_SW_LINK_PEER_ID_S 0
|
||||
#define HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_SW_LINK_PEER_ID_GET(_var) \
|
||||
(((_var) & HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_SW_LINK_PEER_ID_M) >> \
|
||||
HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_SW_LINK_PEER_ID_S)
|
||||
#define HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_SW_LINK_PEER_ID_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_SW_LINK_PEER_ID, _val); \
|
||||
((_var) |= ((_val) << HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_SW_LINK_PEER_ID_S));\
|
||||
} while (0)
|
||||
|
||||
#define HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_ML_PEER_ID_M 0xFFFF0000
|
||||
#define HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_ML_PEER_ID_S 16
|
||||
#define HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_ML_PEER_ID_GET(_var) \
|
||||
(((_var) & HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_ML_PEER_ID_M) >> \
|
||||
HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_ML_PEER_ID_S)
|
||||
#define HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_ML_PEER_ID_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_ML_PEER_ID, _val); \
|
||||
((_var) |= ((_val) << HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_ML_PEER_ID_S));\
|
||||
} while (0)
|
||||
|
||||
#define HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_STATUS_M 0x000000FF
|
||||
#define HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_STATUS_S 0
|
||||
#define HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_STATUS_GET(_var) \
|
||||
(((_var) & HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_STATUS_M) >> \
|
||||
HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_STATUS_S)
|
||||
#define HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_STATUS_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_STATUS, _val); \
|
||||
((_var) |= ((_val) << HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_STATUS_S));\
|
||||
} while (0)
|
||||
|
||||
|
||||
|
||||
/*=== target -> host messages ===============================================*/
|
||||
|
||||
|
||||
@@ -10559,6 +10694,7 @@ enum htt_t2h_msg_type {
|
||||
HTT_T2H_CODEL_MSDUQ_LATENCIES_ARRAY_CFG_IND = 0x34,
|
||||
HTT_T2H_MSG_TYPE_RX_DATA_IND = 0x35,
|
||||
HTT_T2H_MSG_TYPE_SOFT_UMAC_TX_COMPL_IND = 0x36,
|
||||
HTT_T2H_MSG_TYPE_PRIMARY_LINK_PEER_MIGRATE_IND = 0x37,
|
||||
|
||||
|
||||
HTT_T2H_MSG_TYPE_TEST,
|
||||
@@ -21323,4 +21459,102 @@ struct htt_t2h_rx_data_msdu_info
|
||||
(((word) & HTT_RX_DATA_MSDU_INFO_ERROR_INFO_M) >> HTT_RX_DATA_MSDU_INFO_ERROR_INFO_S)
|
||||
|
||||
|
||||
/**
|
||||
* @brief target -> Primary peer migration message to host
|
||||
*
|
||||
* MSG_TYPE => HTT_T2H_MSG_TYPE_PRIMARY_LINK_PEER_MIGRATE_IND
|
||||
*
|
||||
* @details
|
||||
* HTT_T2H_MSG_TYPE_PRIMARY_LINK_PEER_MIGRATE_IND message is sent by target
|
||||
* to host to flush & set-up the RX rings to new primary peer
|
||||
*
|
||||
* The message would appear as follows:
|
||||
*
|
||||
* |31 16|15 12|11 8|7 0|
|
||||
* |-------------------------------+---------+---------+--------------|
|
||||
* | vdev ID | pdev ID | chip ID | msg type |
|
||||
* |-------------------------------+---------+---------+--------------|
|
||||
* | ML peer ID | SW peer ID |
|
||||
* |-------------------------------+----------------------------------|
|
||||
*
|
||||
* The message is interpreted as follows:
|
||||
* dword0 - b'0:7 - msg_type: This will be set to 0x37
|
||||
* (HTT_T2H_MSG_TYPE_PRIMARY_LINK_PEER_MIGRATE_IND)
|
||||
* b'8:11 - chip_id: Indicate which chip has been chosen as primary
|
||||
* b'12:15 - pdev_id: Indicate which pdev in the chip is chosen
|
||||
* as primary
|
||||
* b'16:31 - vdev_id: Indicate which vdev in the pdev is chosen
|
||||
* as primary
|
||||
*
|
||||
* dword1 - b'0:15 - sw_link_peer_id: Indicate the sw_peer_id of the peer
|
||||
* chosen as primary
|
||||
* b'16:31 - ml_peer_id: Indicate the ml_peer_id to which the
|
||||
* primary peer belongs.
|
||||
*/
|
||||
typedef struct {
|
||||
A_UINT32 msg_type: 8, /* bits 7:0 */
|
||||
chip_id: 4, /* bits 11:8 */
|
||||
pdev_id: 4, /* bits 15:12 */
|
||||
vdev_id: 16; /* bits 31:16 */
|
||||
A_UINT32 sw_link_peer_id: 16, /* bits 15:0 */
|
||||
ml_peer_id: 16; /* bits 31:16 */
|
||||
} htt_t2h_primary_link_peer_migrate_ind_t;
|
||||
|
||||
#define HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_CHIP_ID_M 0x00000F00
|
||||
#define HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_CHIP_ID_S 8
|
||||
#define HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_CHIP_ID_GET(_var) \
|
||||
(((_var) & HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_CHIP_ID_M) >> \
|
||||
HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_CHIP_ID_S)
|
||||
#define HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_CHIP_ID_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_CHIP_ID, _val); \
|
||||
((_var) |= ((_val) << HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_CHIP_ID_S));\
|
||||
} while (0)
|
||||
|
||||
#define HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_PDEV_ID_M 0x0000F000
|
||||
#define HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_PDEV_ID_S 12
|
||||
#define HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_PDEV_ID_GET(_var) \
|
||||
(((_var) & HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_PDEV_ID_M) >> \
|
||||
HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_PDEV_ID_S)
|
||||
#define HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_PDEV_ID_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_PDEV_ID, _val); \
|
||||
((_var) |= ((_val) << HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_PDEV_ID_S));\
|
||||
} while (0)
|
||||
|
||||
#define HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_VDEV_ID_M 0xFFFF0000
|
||||
#define HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_VDEV_ID_S 16
|
||||
#define HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_VDEV_ID_GET(_var) \
|
||||
(((_var) & HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_VDEV_ID_M) >> \
|
||||
HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_VDEV_ID_S)
|
||||
#define HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_VDEV_ID_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_VDEV_ID, _val); \
|
||||
((_var) |= ((_val) << HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_VDEV_ID_S));\
|
||||
} while (0)
|
||||
|
||||
#define HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_SW_LINK_PEER_ID_M 0x0000FFFF
|
||||
#define HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_SW_LINK_PEER_ID_S 0
|
||||
#define HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_SW_LINK_PEER_ID_GET(_var) \
|
||||
(((_var) & HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_SW_LINK_PEER_ID_M) >> \
|
||||
HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_SW_LINK_PEER_ID_S)
|
||||
#define HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_SW_LINK_PEER_ID_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_SW_LINK_PEER_ID, _val); \
|
||||
((_var) |= ((_val) << HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_SW_LINK_PEER_ID_S));\
|
||||
} while (0)
|
||||
|
||||
#define HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_ML_PEER_ID_M 0xFFFF0000
|
||||
#define HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_ML_PEER_ID_S 16
|
||||
#define HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_ML_PEER_ID_GET(_var) \
|
||||
(((_var) & HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_ML_PEER_ID_M) >> \
|
||||
HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_ML_PEER_ID_S)
|
||||
#define HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_ML_PEER_ID_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_ML_PEER_ID, _val); \
|
||||
((_var) |= ((_val) << HTT_H2T_PRIMARY_LINK_PEER_MIGRATE_ML_PEER_ID_S));\
|
||||
} while (0)
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
Ссылка в новой задаче
Block a user