diff --git a/fw/htt.h b/fw/htt.h index aa0fc71d7bc1..df354344e1c1 100644 --- a/fw/htt.h +++ b/fw/htt.h @@ -549,6 +549,9 @@ enum htt_h2t_msg_type { /** * @brief host -> target version number request message definition * + * MSG_TYPE => HTT_H2T_MSG_TYPE_VERSION_REQ + * + * * |31 24|23 16|15 8|7 0| * |----------------+----------------+----------------+----------------| * | reserved | msg type | @@ -569,7 +572,7 @@ enum htt_h2t_msg_type { * - MSG_TYPE * Bits 7:0 * Purpose: identifies this as a version number request message - * Value: 0x0 + * Value: 0x0 (HTT_H2T_MSG_TYPE_VERSION_REQ) */ #define HTT_VER_REQ_BYTES 4 @@ -581,6 +584,8 @@ enum htt_h2t_msg_type { /** * @brief HTT tx MSDU descriptor * + * MSG_TYPE => HTT_H2T_MSG_TYPE_TX_FRM + * * @details * The HTT tx MSDU descriptor is created by the host HTT SW for each * tx MSDU. The HTT tx MSDU descriptor contains the information that @@ -2721,7 +2726,13 @@ PREPACK struct htt_tx_flow_metadata { /** - * @brief Used in HTT_H2T_MSG_TYPE_ADD_WDS_ENTRY and HTT_H2T_MSG_TYPE_DELETE_WDS_ENTRY messages + * @brief host -> target ADD WDS Entry + * + * MSG_TYPE => HTT_H2T_MSG_TYPE_ADD_WDS_ENTRY + * + * @brief host -> target DELETE WDS Entry + * + * MSG_TYPE => HTT_H2T_MSG_TYPE_DELETE_WDS_ENTRY * * @details * HTT wds entry from source port learning @@ -2745,8 +2756,8 @@ PREPACK struct htt_tx_flow_metadata { * The message is interpreted as follows: * * dword0 - b'0:7 - msg_type: This will be set to - * HTT_H2T_MSG_TYPE_ADD_WDS_ENTRY or - * HTT_H2T_MSG_TYPE_DELETE_WDS_ENTRY + * 0xd (HTT_H2T_MSG_TYPE_ADD_WDS_ENTRY) or + * 0xe (HTT_H2T_MSG_TYPE_DELETE_WDS_ENTRY) * * dword0 - b'8:15 - vdev_id * @@ -2827,6 +2838,9 @@ PREPACK struct htt_wds_entry { /** * @brief MAC DMA rx ring setup specification + * + * MSG_TYPE => HTT_H2T_MSG_TYPE_RX_RING_CFG + * * @details * To allow for dynamic rx ring reconfiguration and to avoid race * conditions, the host SW never directly programs the MAC DMA rx ring(s) @@ -2868,7 +2882,7 @@ PREPACK struct htt_wds_entry { * - MSG_TYPE * Bits 7:0 * Purpose: identifies this as an rx ring configuration message - * Value: 0x2 + * Value: 0x2 (HTT_H2T_MSG_TYPE_RX_RING_CFG) * - NUM_RINGS * Bits 15:8 * Purpose: indicates whether the host is setting up one rx ring or two @@ -3336,6 +3350,8 @@ PREPACK struct htt_wds_entry { /** * @brief host -> target FW statistics retrieve * + * MSG_TYPE => HTT_H2T_MSG_TYPE_STATS_REQ + * * @details * The following field definitions describe the format of the HTT host * to target FW stats retrieve message. The message specifies the type of @@ -3357,7 +3373,7 @@ PREPACK struct htt_wds_entry { * - MSG_TYPE * Bits 7:0 * Purpose: identifies this is a stats upload request message - * Value: 0x3 + * Value: 0x3 (HTT_H2T_MSG_TYPE_STATS_REQ) * - UPLOAD_TYPES * Bits 31:8 * Purpose: identifies which types of FW statistics to upload @@ -3446,6 +3462,8 @@ PREPACK struct htt_wds_entry { /** * @brief host -> target HTT out-of-band sync request * + * MSG_TYPE => HTT_H2T_MSG_TYPE_SYNC + * * @details * The HTT SYNC tells the target to suspend processing of subsequent * HTT host-to-target messages until some other target agent locally @@ -3467,7 +3485,7 @@ PREPACK struct htt_wds_entry { * - MSG_TYPE * Bits 7:0 * Purpose: identifies this as a sync message - * Value: 0x4 + * Value: 0x4 (HTT_H2T_MSG_TYPE_SYNC) * - SYNC_COUNT * Bits 15:8 * Purpose: specifies what sync value the HTT FW will wait for from @@ -3495,7 +3513,9 @@ PREPACK struct htt_wds_entry { /** - * @brief HTT aggregation configuration + * @brief host -> target HTT aggregation configuration + * + * MSG_TYPE => HTT_H2T_MSG_TYPE_AGGR_CFG */ #define HTT_AGGR_CFG_MSG_SZ 4 @@ -3526,6 +3546,8 @@ PREPACK struct htt_wds_entry { /** * @brief host -> target HTT configure max amsdu info per vdev * + * MSG_TYPE => HTT_H2T_MSG_TYPE_AGGR_CFG_EX + * * @details * The HTT AGGR CFG EX tells the target to configure max_amsdu info per vdev * @@ -3537,7 +3559,7 @@ PREPACK struct htt_wds_entry { * - MSG_TYPE * Bits 7:0 * Purpose: identifies this as a aggr cfg ex message - * Value: 0xa + * Value: 0xa (HTT_H2T_MSG_TYPE_AGGR_CFG_EX) * - MAX_NUM_AMSDU_SUBFRM * Bits 15:8 * Purpose: max MSDUs per A-MSDU @@ -3573,6 +3595,8 @@ PREPACK struct htt_wds_entry { /** * @brief HTT WDI_IPA Config Message * + * MSG_TYPE => HTT_H2T_MSG_TYPE_WDI_IPA_CFG + * * @details * The HTT WDI_IPA config message is created/sent by host at driver * init time. It contains information about data structures used on @@ -3652,7 +3676,7 @@ PREPACK struct htt_wds_entry { * - MSG_TYPE * Bits 7:0 * Purpose: Identifies this as WDI_IPA config message - * value: = 0x8 + * value: = 0x8 (HTT_H2T_MSG_TYPE_WDI_IPA_CFG) * - TX_PKT_POOL_SIZE * Bits 15:0 * Purpose: Total number of TX packet buffer pool allocated by Host for @@ -4249,6 +4273,8 @@ enum htt_wdi_ipa_op_code { /** * @brief HTT WDI_IPA Operation Request Message * + * MSG_TYPE => HTT_H2T_MSG_TYPE_WDI_IPA_OP_REQ + * * @details * HTT WDI_IPA Operation Request message is sent by host * to either suspend or resume WDI_IPA TX or RX path. @@ -4261,7 +4287,7 @@ enum htt_wdi_ipa_op_code { * - MSG_TYPE * Bits 7:0 * Purpose: Identifies this as WDI_IPA Operation Request message - * value: = 0x9 + * value: = 0x9 (HTT_H2T_MSG_TYPE_WDI_IPA_OP_REQ) * - OP_CODE * Bits 31:16 * Purpose: Identifies operation host is requesting (e.g. TX suspend) @@ -4293,6 +4319,8 @@ PREPACK struct htt_wdi_ipa_op_request_t /* * @brief host -> target HTT_SRING_SETUP message * + * MSG_TYPE => HTT_H2T_MSG_TYPE_SRING_SETUP + * * @details * After target is booted up, Host can send SRING setup message for * each host facing LMAC SRING. Target setups up HW registers based @@ -4339,7 +4367,7 @@ PREPACK struct htt_wdi_ipa_op_request_t * * The message is interpreted as follows: * dword0 - b'0:7 - msg_type: This will be set to - * HTT_H2T_MSG_TYPE_SRING_SETUP + * 0xb (HTT_H2T_MSG_TYPE_SRING_SETUP) * b'8:15 - pdev_id: * 0 (for rings at SOC/UMAC level), * 1/2/3 mac id (for rings at LMAC level) @@ -4798,7 +4826,9 @@ enum htt_srng_ring_id { /** - * @brief HTT_H2T_MSG_TYPE_RX_RING_SELECTION_CFG Message + * @brief host -> target RX ring selection config message + * + * MSG_TYPE => HTT_H2T_MSG_TYPE_RX_RING_SELECTION_CFG * * @details * HTT_H2T_MSG_TYPE_RX_RING_SELECTION_CFG message is sent by host to @@ -4842,7 +4872,7 @@ enum htt_srng_ring_id { * DT = drop_thresh_valid * The message is interpreted as follows: * dword0 - b'0:7 - msg_type: This will be set to - * HTT_H2T_MSG_TYPE_RX_RING_SELECTION_CFG + * 0xc (HTT_H2T_MSG_TYPE_RX_RING_SELECTION_CFG) * b'8:15 - pdev_id: * 0 (for rings at SOC/UMAC level), * 1/2/3 mac id (for rings at LMAC level) @@ -5640,7 +5670,10 @@ PREPACK struct htt_rx_ring_selection_cfg_t { word, HTT_RX_RING_SELECTION_CFG_TLV_FILTER_IN_FLAG_RX_##tlv) /** - * @brief HTT_H2T_MSG_TYPE_RFS_CONFIG + * @brief host --> target Receive Flow Steering configuration message definition + * + * MSG_TYPE => HTT_H2T_MSG_TYPE_RFS_CONFIG + * * host --> target Receive Flow Steering configuration message definition. * Host must send this message before sending HTT_H2T_MSG_TYPE_RX_RING_CFG. * The reason for this is we want RFS to be configured and ready before MAC @@ -5681,6 +5714,8 @@ PREPACK struct htt_rx_ring_selection_cfg_t { /** * @brief host -> target FW extended statistics retrieve * + * MSG_TYPE => HTT_H2T_MSG_TYPE_EXT_STATS_REQ + * * @details * The following field definitions describe the format of the HTT host * to target FW extended stats retrieve message. @@ -5708,7 +5743,7 @@ PREPACK struct htt_rx_ring_selection_cfg_t { * - MSG_TYPE * Bits 7:0 * Purpose: identifies this is a extended stats upload request message - * Value: 0x10 + * Value: 0x10 (HTT_H2T_MSG_TYPE_EXT_STATS_REQ) * - PDEV_MASK * Bits 8:15 * Purpose: identifies the mask of PDEVs to retrieve stats from @@ -5797,6 +5832,8 @@ PREPACK struct htt_rx_ring_selection_cfg_t { /** * @brief host -> target FW PPDU_STATS request message * + * MSG_TYPE => HTT_H2T_MSG_TYPE_PPDU_STATS_CFG + * * @details * The following field definitions describe the format of the HTT host * to target FW for PPDU_STATS_CFG msg. @@ -5811,7 +5848,7 @@ PREPACK struct htt_rx_ring_selection_cfg_t { * - MSG_TYPE * Bits 7:0 * Purpose: identifies this is a req to configure ppdu_stats_ind from target - * Value: 0x11 + * Value: 0x11 (HTT_H2T_MSG_TYPE_PPDU_STATS_CFG) * - PDEV_MASK * Bits 8:15 * Purpose: identifies which pdevs this PPDU stats configuration applies to @@ -5857,6 +5894,9 @@ PREPACK struct htt_rx_ring_selection_cfg_t { /** * @brief Host-->target HTT RX FSE setup message + * + * MSG_TYPE => HTT_H2T_MSG_TYPE_RX_FSE_SETUP_CFG + * * @details * Through this message, the host will provide details of the flow tables * in host DDR along with hash keys. @@ -5871,7 +5911,7 @@ PREPACK struct htt_rx_ring_selection_cfg_t { * * Header fields: * dword0 - b'7:0 - msg_type: This will be set to - * HTT_H2T_MSG_TYPE_RX_FSE_SETUP_CFG + * 0x12 (HTT_H2T_MSG_TYPE_RX_FSE_SETUP_CFG) * b'15:8 - pdev_id: 0 indicates msg is for all LMAC rings, i.e. soc * 1, 2, 3 indicates pdev_id 0,1,2 and the msg is for that * pdev's LMAC ring. @@ -5948,6 +5988,9 @@ enum htt_ip_da_sa_prefix { /** * @brief Host-->target HTT RX FISA configure and enable + * + * MSG_TYPE => HTT_H2T_MSG_TYPE_RX_FISA_CFG + * * @details * The host will send this command down to configure and enable the FISA * operational params. @@ -5955,8 +5998,8 @@ enum htt_ip_da_sa_prefix { * register. * Should configure both the MACs. * - * dword0 - b'7:0 - msg_type: This will be set to HTT_H2T_MSG_TYPE_RX_FISA_CFG - * + * dword0 - b'7:0 - msg_type: + * This will be set to 0x15 (HTT_H2T_MSG_TYPE_RX_FISA_CFG) * b'15:8 - pdev_id: 0 indicates msg is for all LMAC rings, i.e. soc * 1, 2, 3 indicates pdev_id 0,1,2 and the msg is for that * pdev's LMAC ring. @@ -6407,6 +6450,9 @@ PREPACK struct htt_h2t_msg_rx_fse_setup_t { /** * @brief Host-->target HTT RX FSE operation message + * + * MSG_TYPE => HTT_H2T_MSG_TYPE_RX_FSE_OPERATION_CFG + * * @details * The host will send this Flow Search Engine (FSE) operation message for * every flow add/delete operation. @@ -6451,7 +6497,7 @@ PREPACK struct htt_h2t_msg_rx_fse_setup_t { * * Header fields: * dword0 - b'7:0 - msg_type: This will be set to - * HTT_H2T_MSG_TYPE_RX_FSE_OPERATION_CFG + * 0x13 (HTT_H2T_MSG_TYPE_RX_FSE_OPERATION_CFG) * b'15:8 - pdev_id: 0 indicates msg is for all LMAC rings, i.e. soc * 1, 2, 3 indicates pdev_id 0,1,2 and the msg is for the * specified pdev's LMAC ring. @@ -6530,6 +6576,9 @@ PREPACK struct htt_h2t_msg_rx_fse_operation_t { /** * @brief Host-->target HTT RX Full monitor mode register configuration message + * + * MSG_TYPE => HTT_H2T_MSG_TYPE_RX_FULL_MONITOR_MODE + * * @details * The host will send this Full monitor mode register configuration message. * This message can be sent per SOC or per PDEV which is differentiated @@ -6551,7 +6600,7 @@ PREPACK struct htt_h2t_msg_rx_fse_operation_t { * * Header fields: * dword0 - b'7:0 - msg_type: This will be set to - * HTT_H2T_MSG_TYPE_RX_FULL_MONITOR_MODE. + * 0x17 (HTT_H2T_MSG_TYPE_RX_FULL_MONITOR_MODE) * b'15:8 - pdev_id: 0 indicates msg is for all LMAC rings, i.e. soc * 1, 2, 3 indicates pdev_id 0,1,2 and the msg is for the * specified pdev's LMAC ring. @@ -6782,8 +6831,9 @@ enum htt_rx_fse_operation { /** - * @brief HTT_H2T_MSG_TYPE_3_TUPLE_HASH_CFG - * host --> target Receive to configure the RxOLE 3-tuple Hash + * @brief host --> target Receive to configure the RxOLE 3-tuple Hash + * + * MSG_TYPE => HTT_H2T_MSG_TYPE_3_TUPLE_HASH_CFG * * |31 24|23 |15 8|7 2|1|0| * |----------------+----------------+----------------+----------------| @@ -6801,7 +6851,7 @@ enum htt_rx_fse_operation { * * Header fields: * dword0 - b'7:0 - msg_type: This will be set to - * HTT_H2T_MSG_TYPE_3_TUPLE_HASH_CFG + * 0x16 (HTT_H2T_MSG_TYPE_3_TUPLE_HASH_CFG) * b'15:8 - pdev_id: 0 indicates msg is for all LMAC rings, i.e. soc * 1, 2, 3 indicates pdev_id 0,1,2 and the msg is for the * specified pdev's LMAC ring. @@ -6873,7 +6923,9 @@ PREPACK struct htt_h2t_msg_rx_3_tuple_hash_cfg_t { #define HTT_3_TUPLE_HASH_CFG_REQ_BYTES 8 /** - * @brief HTT_H2T_MSG_TYPE_HOST_PADDR_SIZE message + * @brief host --> target Host PA Address Size + * + * MSG_TYPE => HTT_H2T_MSG_TYPE_HOST_PADDR_SIZE * * @details * The HTT_H2T_MSG_TYPE_HOST_PADDR_SIZE message is sent by the host to @@ -6911,7 +6963,7 @@ PREPACK struct htt_h2t_msg_rx_3_tuple_hash_cfg_t { * * The message is interpreted as follows: * dword0 - b'0:7 - msg_type: This will be set to - * HTT_H2T_MSG_TYPE_HOST_PADDR_SIZE + * 0x18 (HTT_H2T_MSG_TYPE_HOST_PADDR_SIZE) * b'8:15 - number_entries: Indicated the number of host memory * areas specified within the remainder of the message * b'16:31 - reserved. @@ -7023,6 +7075,8 @@ enum htt_t2h_msg_type { /** * @brief target -> host version number confirmation message definition * + * MSG_TYPE => HTT_T2H_MSG_TYPE_VERSION_CONF + * * |31 24|23 16|15 8|7 0| * |----------------+----------------+----------------+----------------| * | reserved | major number | minor number | msg type | @@ -7043,7 +7097,7 @@ enum htt_t2h_msg_type { * - MSG_TYPE * Bits 7:0 * Purpose: identifies this as a version number confirmation message - * Value: 0x0 + * Value: 0x0 (HTT_T2H_MSG_TYPE_VERSION_CONF) * - VER_MINOR * Bits 15:8 * Purpose: Specify the minor number of the HTT message library version @@ -7095,6 +7149,8 @@ enum htt_t2h_msg_type { /** * @brief - target -> host HTT Rx In order indication message * + * MSG_TYPE => HTT_T2H_MSG_TYPE_RX_IN_ORD_PADDR_IND + * * @details * * |31 24|23 |15|14|13|12|11|10|9|8|7|6|5|4 0| @@ -7521,6 +7577,8 @@ A_COMPILE_TIME_ASSERT(HTT_RX_IND_hdr_size_quantum, /** * @brief target -> host rx indication message definition * + * MSG_TYPE => HTT_T2H_MSG_TYPE_RX_IND + * * @details * The following field definitions describe the format of the rx indication * message sent from the target to the host. @@ -7597,7 +7655,7 @@ A_COMPILE_TIME_ASSERT(HTT_RX_IND_hdr_size_quantum, * - MSG_TYPE * Bits 7:0 * Purpose: identifies this as an rx indication message - * Value: 0x1 + * Value: 0x1 (HTT_T2H_MSG_TYPE_RX_IND) * - EXT_TID * Bits 12:8 * Purpose: identify the traffic ID of the rx data, including @@ -8405,9 +8463,10 @@ PREPACK struct htt_chan_info_t (((word) & HTT_CHAN_INFO_PHY_MODE_M) >> HTT_CHAN_INFO_PHY_MODE_S) /* - * HTT_T2H_MSG_TYPE_TX_OFFLOAD_DELIVER_IND * @brief target -> host message definition for FW offloaded pkts * + * MSG_TYPE => HTT_T2H_MSG_TYPE_TX_OFFLOAD_DELIVER_IND + * * @details * The following field definitions describe the format of the firmware * offload deliver message sent from the target to the host. @@ -8733,6 +8792,8 @@ PREPACK struct htt_tx_offload_deliver_ind_hdr_t /* * @brief target -> host rx reorder flush message definition * + * MSG_TYPE => HTT_T2H_MSG_TYPE_RX_FLUSH + * * @details * The following field definitions describe the format of the rx flush * message sent from the target to the host. @@ -8749,7 +8810,7 @@ PREPACK struct htt_tx_offload_deliver_ind_hdr_t * - MSG_TYPE * Bits 7:0 * Purpose: identifies this as an rx flush message - * Value: 0x2 + * Value: 0x2 (HTT_T2H_MSG_TYPE_RX_FLUSH) * - PEER_ID * Bits 23:8 (only bits 18:8 actually used) * Purpose: identify which peer's rx data is being flushed @@ -8852,6 +8913,8 @@ PREPACK struct htt_tx_offload_deliver_ind_hdr_t /* * @brief target -> host rx pn check indication message * + * MSG_TYPE => HTT_T2H_MSG_TYPE_RX_PN_IND + * * @details * The following field definitions describe the format of the Rx PN check * indication message sent from the target to the host. @@ -8873,7 +8936,7 @@ PREPACK struct htt_tx_offload_deliver_ind_hdr_t * - MSG_TYPE * Bits 7:0 * Purpose: Identifies this as an rx pn check indication message - * Value: 0x2 + * Value: 0x10 (HTT_T2H_MSG_TYPE_RX_PN_IND) * - PEER_ID * Bits 23:8 (only bits 18:8 actually used) * Purpose: identify which peer @@ -8978,6 +9041,8 @@ PREPACK struct htt_tx_offload_deliver_ind_hdr_t /* * @brief target -> host rx offload deliver message for LL system * + * MSG_TYPE => HTT_T2H_MSG_TYPE_RX_OFFLOAD_DELIVER_IND + * * @details * In a low latency system this message is sent whenever the offload * manager flushes out the packets it has coalesced in its coalescing buffer. @@ -9093,6 +9158,8 @@ PREPACK struct htt_tx_offload_deliver_ind_hdr_t /** * @brief target -> host rx peer map/unmap message definition * + * MSG_TYPE => HTT_T2H_MSG_TYPE_PEER_MAP + * * @details * The following diagram shows the format of the rx peer map message sent * from the target to the host. This layout assumes the target operates @@ -9128,6 +9195,8 @@ PREPACK struct htt_tx_offload_deliver_ind_hdr_t * |-----------------------------------------------------------------------| * * + * MSG_TYPE => HTT_T2H_MSG_TYPE_PEER_UNMAP + * * The following diagram shows the format of the rx peer unmap message sent * from the target to the host. * @@ -9141,7 +9210,8 @@ PREPACK struct htt_tx_offload_deliver_ind_hdr_t * - MSG_TYPE * Bits 7:0 * Purpose: identifies this as an rx peer map or peer unmap message - * Value: peer map -> 0x3, peer unmap -> 0x4 + * Value: peer map -> 0x3 (HTT_T2H_MSG_TYPE_PEER_MAP), + * peer unmap -> 0x4 (HTT_T2H_MSG_TYPE_PEER_UNMAP) * - VDEV_ID * Bits 15:8 * Purpose: Indicates which virtual device the peer is associated @@ -9232,6 +9302,8 @@ PREPACK struct htt_tx_offload_deliver_ind_hdr_t /** * @brief target -> host rx peer map V2 message definition * + * MSG_TYPE => HTT_T2H_MSG_TYPE_PEER_MAP_V2 + * * @details * The following diagram shows the format of the rx peer map v2 message sent * from the target to the host. This layout assumes the target operates @@ -9289,7 +9361,7 @@ PREPACK struct htt_tx_offload_deliver_ind_hdr_t * - MSG_TYPE * Bits 7:0 * Purpose: identifies this as an rx peer map v2 message - * Value: peer map v2 -> 0x1e + * Value: peer map v2 -> 0x1e (HTT_T2H_MSG_TYPE_PEER_MAP_V2) * - VDEV_ID * Bits 15:8 * Purpose: Indicates which virtual device the peer is associated with. @@ -9560,6 +9632,7 @@ PREPACK struct htt_tx_offload_deliver_ind_hdr_t /** * @brief target -> host rx peer unmap V2 message definition * + * MSG_TYPE => HTT_T2H_MSG_TYPE_PEER_UNMAP_V2 * * The following diagram shows the format of the rx peer unmap message sent * from the target to the host. @@ -9587,7 +9660,7 @@ PREPACK struct htt_tx_offload_deliver_ind_hdr_t * - MSG_TYPE * Bits 7:0 * Purpose: identifies this as an rx peer unmap v2 message - * Value: peer unmap v2 -> 0x1f + * Value: peer unmap v2 -> 0x1f (HTT_T2H_MSG_TYPE_PEER_UNMAP_V2) * - VDEV_ID * Bits 15:8 * Purpose: Indicates which virtual device the peer is associated @@ -9671,6 +9744,8 @@ PREPACK struct htt_tx_offload_deliver_ind_hdr_t /** * @brief target -> host message specifying security parameters * + * MSG_TYPE => HTT_T2H_MSG_TYPE_SEC_IND + * * @details * The following diagram shows the format of the security specification * message sent from the target to the host. @@ -9702,7 +9777,7 @@ PREPACK struct htt_tx_offload_deliver_ind_hdr_t * - MSG_TYPE * Bits 7:0 * Purpose: identifies this as a security specification message - * Value: 0xb + * Value: 0xb (HTT_T2H_MSG_TYPE_SEC_IND) * - SEC_TYPE * Bits 14:8 * Purpose: specifies which type of security applies to the peer @@ -9779,6 +9854,8 @@ PREPACK struct htt_tx_offload_deliver_ind_hdr_t /** * @brief target -> host rx ADDBA / DELBA message definitions * + * MSG_TYPE => HTT_T2H_MSG_TYPE_RX_ADDBA + * * @details * The following diagram shows the format of the rx ADDBA message sent * from the target to the host: @@ -9788,6 +9865,8 @@ PREPACK struct htt_tx_offload_deliver_ind_hdr_t * | peer ID | TID | window size | msg type | * |---------------------------------------------------------------------| * + * MSG_TYPE => HTT_T2H_MSG_TYPE_RX_DELBA + * * The following diagram shows the format of the rx DELBA message sent * from the target to the host: * @@ -9801,7 +9880,8 @@ PREPACK struct htt_tx_offload_deliver_ind_hdr_t * - MSG_TYPE * Bits 7:0 * Purpose: identifies this as an rx ADDBA or DELBA message - * Value: ADDBA -> 0x5, DELBA -> 0x6 + * Value: ADDBA -> 0x5 (HTT_T2H_MSG_TYPE_RX_ADDBA), + * DELBA -> 0x6 (HTT_T2H_MSG_TYPE_RX_DELBA) * - IR (initiator / recipient) * Bits 9:8 (DELBA only) * Purpose: specify whether the DELBA handshake was initiated by the @@ -10051,6 +10131,8 @@ PREPACK struct htt_txq_group { /** * @brief target -> host TX completion indication message definition * + * MSG_TYPE => HTT_T2H_MSG_TYPE_TX_COMPL_IND + * * @details * The following diagram shows the format of the TX completion indication sent * from the target to the host @@ -10099,7 +10181,7 @@ PREPACK struct htt_txq_group { * - msg_type * Bits 7:0 * Purpose: identifies this as HTT TX completion indication - * Value: 0x7 + * Value: 0x7 (HTT_T2H_MSG_TYPE_TX_COMPL_IND) * - status * Bits 10:8 * Purpose: the TX completion status of payload fragmentations descriptors @@ -10555,6 +10637,8 @@ PREPACK struct htt_tx_compl_ind_append_tx_tsf64 { /** * @brief target -> host rate-control update indication message * + * DEPRECATED (DEPRECATED_HTT_T2H_MSG_TYPE_RC_UPDATE_IND) + * * @details * The following diagram shows the format of the RC Update message * sent from the target to the host, while processing the tx-completion @@ -10644,6 +10728,8 @@ typedef struct { /** * @brief target -> host rx fragment indication message definition * + * MSG_TYPE => HTT_T2H_MSG_TYPE_RX_FRAG_IND + * * @details * The following field definitions describe the format of the rx fragment * indication message sent from the target to the host. @@ -10669,7 +10755,7 @@ typedef struct { * - MSG_TYPE * Bits 7:0 * Purpose: identifies this as an rx fragment indication message - * Value: 0xa + * Value: 0xa (HTT_T2H_MSG_TYPE_RX_FRAG_IND) * - EXT_TID * Bits 12:8 * Purpose: identify the traffic ID of the rx data, including @@ -10749,6 +10835,8 @@ typedef struct { /** * @brief target -> host test message definition * + * MSG_TYPE => HTT_T2H_MSG_TYPE_TEST + * * @details * The following field definitions describe the format of the test * message sent from the target to the host. @@ -10805,6 +10893,8 @@ typedef struct { /** * @brief target -> host packet log message * + * MSG_TYPE => HTT_T2H_MSG_TYPE_PKTLOG + * * @details * The following field definitions describe the format of the packet log * message sent from the target to the host. @@ -10820,7 +10910,7 @@ typedef struct { * - MSG_TYPE * Bits 7:0 * Purpose: identifies this as a pktlog message - * Value: HTT_T2H_MSG_TYPE_PKTLOG + * Value: 0x8 (HTT_T2H_MSG_TYPE_PKTLOG) * - mac_id * Bits 9:8 * Purpose: identifies which MAC/PHY instance generated this pktlog info @@ -11087,6 +11177,8 @@ enum htt_dbg_stats_status { /** * @brief target -> host statistics upload * + * MSG_TYPE => HTT_T2H_MSG_TYPE_STATS_CONF + * * @details * The following field definitions describe the format of the HTT target * to host stats upload confirmation message. @@ -11127,7 +11219,7 @@ enum htt_dbg_stats_status { * - MSG_TYPE * Bits 7:0 * Purpose: identifies this is a statistics upload confirmation message - * Value: 0x9 + * Value: 0x9 (HTT_T2H_MSG_TYPE_STATS_CONF) * - COOKIE_LSBS * Bits 31:0 * Purpose: Provide a mechanism to match a target->host stats confirmation @@ -11209,6 +11301,8 @@ enum htt_dbg_stats_status { /** * @brief host -> target FRAG DESCRIPTOR/MSDU_EXT DESC bank * + * MSG_TYPE => HTT_H2T_MSG_TYPE_FRAG_DESC_BANK_CFG + * * @details * The following field definitions describe the format of the HTT host * to target frag_desc/msdu_ext bank configuration message. @@ -11248,7 +11342,7 @@ enum htt_dbg_stats_status { * Header fields: * - MSG_TYPE * Bits 7:0 - * Value: 0x6 + * Value: 0x6 (HTT_H2T_MSG_TYPE_FRAG_DESC_BANK_CFG) * for systems with 64-bit format for bus addresses: * - BANKx_BASE_ADDRESS_LO * Bits 31:0 @@ -11395,6 +11489,8 @@ TEMPLATE_HTT_TX_FRAG_DESC_BANK_CFG_T(64, HTT_VAR_PADDR64_LE(bank_base_address)); /** * @brief target -> host HTT TX Credit total count update message definition * + * MSG_TYPE => HTT_T2H_MSG_TYPE_TX_CREDIT_UPDATE_IND + * *|31 16|15|14 9| 8 |7 0 | *|---------------------+--+----------+-------+----------| *|cur htt credit delta | Q| reserved | sign | msg type | @@ -11404,7 +11500,7 @@ TEMPLATE_HTT_TX_FRAG_DESC_BANK_CFG_T(64, HTT_VAR_PADDR64_LE(bank_base_address)); * - MSG_TYPE * Bits 7:0 * Purpose: identifies this as a htt tx credit delta update message - * Value: 0xe + * Value: 0xf (HTT_T2H_MSG_TYPE_TX_CREDIT_UPDATE_IND) * - SIGN * Bits 8 * identifies whether credit delta is positive or negative @@ -11470,6 +11566,8 @@ TEMPLATE_HTT_TX_FRAG_DESC_BANK_CFG_T(64, HTT_VAR_PADDR64_LE(bank_base_address)); /** * @brief HTT WDI_IPA Operation Response Message * + * MSG_TYPE => HTT_T2H_MSG_TYPE_WDI_IPA_OP_RESPONSE + * * @details * HTT WDI_IPA Operation Response message is sent by target * to host confirming suspend or resume operation. @@ -11488,7 +11586,7 @@ TEMPLATE_HTT_TX_FRAG_DESC_BANK_CFG_T(64, HTT_VAR_PADDR64_LE(bank_base_address)); * - MSG_TYPE * Bits 7:0 * Purpose: Identifies this as WDI_IPA Operation Response message - * value: = 0x13 + * value: = 0x14 (HTT_T2H_MSG_TYPE_WDI_IPA_OP_RESPONSE) * - OP_CODE * Bits 31:16 * Purpose: Identifies the operation target is responding to (e.g. TX suspend) @@ -11561,6 +11659,9 @@ enum htt_phy_mode { /** * @brief target -> host HTT channel change indication + * + * MSG_TYPE => HTT_T2H_MSG_TYPE_CHAN_CHANGE + * * @details * Specify when a channel change occurs. * This allows the host to precisely determine which rx frames arrived @@ -11583,7 +11684,7 @@ enum htt_phy_mode { * - MSG_TYPE * Bits 7:0 * Purpose: identifies this as a htt channel change indication message - * Value: 0x15 + * Value: 0x15 (HTT_T2H_MSG_TYPE_CHAN_CHANGE) * - PRIMARY_CHAN_CENTER_FREQ_MHZ * Bits 31:0 * Purpose: identify the (center of the) new 20 MHz primary channel @@ -11623,6 +11724,20 @@ PREPACK struct htt_chan_change_t A_UINT32 contig_chan2_center_freq_mhz; A_UINT32 phy_mode; } POSTPACK; +/* + * Due to historical / backwards-compatibility reasons, maintain the + * below htt_chan_change_msg struct definition, which needs to be + * consistent with the above htt_chan_change_t struct definition + * (aside from the htt_chan_change_t definition including the msg_type + * dword within the message, and the htt_chan_change_msg only containing + * the payload of the message that follows the msg_type dword). + */ +PREPACK struct htt_chan_change_msg { + A_UINT32 chan_mhz; /* frequency in mhz */ + A_UINT32 band_center_freq1; /* Center frequency 1 in MHz */ + A_UINT32 band_center_freq2; /* Center frequency 2 in MHz - valid only for 11acvht 80plus80 mode*/ + A_UINT32 chan_mode; /* WLAN_PHY_MODE of the channel defined in wlan_defs.h */ +} POSTPACK; #define HTT_CHAN_CHANGE_PRIMARY_CHAN_CENTER_FREQ_MHZ_M 0xffffffff #define HTT_CHAN_CHANGE_PRIMARY_CHAN_CENTER_FREQ_MHZ_S 0 @@ -11676,6 +11791,8 @@ PREPACK struct htt_chan_change_t /** * @brief rx offload packet error message * + * MSG_TYPE => HTT_T2H_MSG_TYPE_RX_OFLD_PKT_ERR + * * @details * HTT_RX_OFLD_PKT_ERR message is sent by target to host to indicate err * of target payload like mic err. @@ -11906,7 +12023,9 @@ enum htt_rx_ofld_pkt_err_type { } while (0) /** - * @brief peer rate report message + * @brief target -> host peer rate report message + * + * MSG_TYPE => HTT_T2H_MSG_TYPE_RATE_REPORT * * @details * HTT_T2H_MSG_TYPE_RATE_REPORT message is sent by target to host to indicate the @@ -12020,7 +12139,9 @@ enum htt_peer_rate_report_phy_type { } while (0) /** - * @brief HTT_T2H_MSG_TYPE_FLOW_POOL_MAP Message + * @brief target -> host flow pool map message + * + * MSG_TYPE => HTT_T2H_MSG_TYPE_FLOW_POOL_MAP * * @details * HTT_T2H_MSG_TYPE_FLOW_POOL_MAP message is sent by the target when setting up @@ -12042,7 +12163,7 @@ enum htt_peer_rate_report_phy_type { * |-------------------------------------------------------------------| * * The header field is one DWORD long and is interpreted as follows: - * b'0:7 - msg_type: This will be set to HTT_T2H_MSG_TYPE_FLOW_POOL_MAP + * b'0:7 - msg_type: Set to 0x18 (HTT_T2H_MSG_TYPE_FLOW_POOL_MAP) * b'8-15 - num_flows: This will indicate the number of flows being setup in * this message * b'16-31 - reserved: These bits are reserved for future use @@ -12198,7 +12319,9 @@ PREPACK struct htt_flow_pool_map_payload_t { } while (0) /** - * @brief HTT_T2H_MSG_TYPE_FLOW_POOL_UNMAP Message + * @brief target -> host flow pool unmap message + * + * MSG_TYPE => HTT_T2H_MSG_TYPE_FLOW_POOL_UNMAP * * @details * HTT_T2H_MSG_TYPE_FLOW_POOL_UNMAP message is sent by the target when tearing @@ -12223,8 +12346,8 @@ PREPACK struct htt_flow_pool_map_payload_t { * |-------------------------------------------------------------------| * * The message is interpreted as follows: - * dword0 - b'0:7 - msg_type: This will be set to - * HTT_T2H_MSG_TYPE_FLOW_POOL_UNMAP + * dword0 - b'0:7 - msg_type: This will be set to 0x19 + * (HTT_T2H_MSG_TYPE_FLOW_POOL_UNMAP) * b'8:31 - reserved0: Reserved for future use * * dword1 - b'0:31 - flow_type: This indicates the type of the entity to which @@ -12293,7 +12416,9 @@ PREPACK struct htt_flow_pool_unmap_t { /** - * @brief HTT_T2H_MSG_TYPE_SRING_SETUP_DONE Message + * @brief target -> host SRING setup done message + * + * MSG_TYPE => HTT_T2H_MSG_TYPE_SRING_SETUP_DONE * * @details * HTT_T2H_MSG_TYPE_SRING_SETUP_DONE message is sent by the target when @@ -12310,8 +12435,8 @@ PREPACK struct htt_flow_pool_unmap_t { * |-------------------------------------------------------------------| * * The message is interpreted as follows: - * dword0 - b'0:7 - msg_type: This will be set to - * HTT_T2H_MSG_TYPE_SRING_SETUP_DONE + * dword0 - b'0:7 - msg_type: This will be set to 0x1a + * (HTT_T2H_MSG_TYPE_SRING_SETUP_DONE) * b'8:15 - pdev_id: * 0 (for rings at SOC/UMAC level), * 1/2/3 mac id (for rings at LMAC level) @@ -12370,7 +12495,9 @@ enum htt_ring_setup_status { /** - * @brief HTT_T2H_MSG_TYPE_MAP_FLOW_INFO Message + * @brief target -> flow map flow info + * + * MSG_TYPE => HTT_T2H_MSG_TYPE_MAP_FLOW_INFO * * @details * HTT TX map flow entry with tqm flow pointer @@ -12395,8 +12522,8 @@ enum htt_ring_setup_status { * * The message is interpreted as follows: * - * dword0 - b'0:7 - msg_type: This will be set to - * HTT_T2H_MSG_TYPE_MAP_FLOW_INFO + * dword0 - b'0:7 - msg_type: This will be set to 0x1b + * (HTT_T2H_MSG_TYPE_MAP_FLOW_INFO) * * dword0 - b'8:27 - fse_hsh_idx: Flow search table index provided by host * for this flow entry @@ -12497,6 +12624,8 @@ enum htt_dbg_ext_stats_status { /** * @brief target -> host ppdu stats upload * + * MSG_TYPE => HTT_T2H_MSG_TYPE_PPDU_STATS_IND + * * @details * The following field definitions describe the format of the HTT target * to host ppdu stats indication message. @@ -12520,7 +12649,7 @@ enum htt_dbg_ext_stats_status { * Bits 7:0 * Purpose: Identifies this is a PPDU STATS indication * message. - * Value: 0x1d + * Value: 0x1d (HTT_T2H_MSG_TYPE_PPDU_STATS_IND) * - mac_id * Bits 9:8 * Purpose: mac_id of this ppdu_id @@ -12610,6 +12739,8 @@ typedef struct { /** * @brief target -> host extended statistics upload * + * MSG_TYPE => HTT_T2H_MSG_TYPE_EXT_STATS_CONF + * * @details * The following field definitions describe the format of the HTT target * to host stats upload confirmation message. @@ -12643,7 +12774,7 @@ typedef struct { * Bits 7:0 * Purpose: Identifies this is a extended statistics upload confirmation * message. - * Value: 0x1c + * Value: 0x1c (HTT_T2H_MSG_TYPE_EXT_STATS_CONF) * - COOKIE_LSBS * Bits 31:0 * Purpose: Provide a mechanism to match a target->host stats confirmation @@ -12756,6 +12887,8 @@ typedef enum { /** * @brief target -> host monitor mac header indication message * + * MSG_TYPE => HTT_T2H_MSG_TYPE_MONITOR_MAC_HEADER_IND + * * @details * The following diagram shows the format of the monitor mac header message * sent from the target to the host. @@ -12784,7 +12917,7 @@ typedef enum { * - msg_type * Bits 7:0 * Purpose: Identifies this is a monitor mac header indication message. - * Value: 0x20 + * Value: 0x20 (HTT_T2H_MSG_TYPE_MONITOR_MAC_HEADER_IND) * - peer_id * Bits 31:16 * Purpose: Software peer id given by host during association, @@ -12829,7 +12962,9 @@ typedef enum { HTT_T2H_MONITOR_MAC_HEADER_NUM_MPDU_S) /** - * @brief HTT_T2H_MSG_TYPE_FLOW_POOL_RESIZE Message + * @brief target -> host flow pool resize Message + * + * MSG_TYPE => HTT_T2H_MSG_TYPE_FLOW_POOL_RESIZE * * @details * HTT_T2H_MSG_TYPE_FLOW_POOL_RESIZE message is sent by the target when @@ -12845,8 +12980,8 @@ typedef enum { * |-------------------------------------------------------------------| * * The message is interpreted as follows: - * b'0:7 - msg_type: This will be set to - * HTT_T2H_MSG_TYPE_FLOW_POOL_RESIZE + * b'0:7 - msg_type: This will be set to 0x21 + * (HTT_T2H_MSG_TYPE_FLOW_POOL_RESIZE) * * b'0:15 - flow pool ID: Existing flow pool ID * @@ -12891,53 +13026,7 @@ PREPACK struct htt_flow_pool_resize_t { ((_var) |= ((_val) << HTT_FLOW_POOL_RESIZE_FLOW_POOL_NEW_SIZE_S)); \ } while (0) -/** - * @brief host -> target channel change message - * - * @details - * the meesage is generated by FW every time FW changes channel. This will be used by host mainly - * to associate RX frames to correct channel they were received on. - * The following field definitions describe the format of the HTT target - * to host channel change message. - * |31 16|15 8|7 5|4 0| - * |------------------------------------------------------------| - * | reserved | MSG_TYPE | - * |------------------------------------------------------------| - * | CHAN_MHZ | - * |------------------------------------------------------------| - * | BAND_CENTER_FREQ1 | - * |------------------------------------------------------------| - * | BAND_CENTER_FREQ2 | - * |------------------------------------------------------------| - * | CHAN_PHY_MODE | - * |------------------------------------------------------------| - * Header fields: - * - MSG_TYPE - * Bits 7:0 - * Value: 0xf - * - CHAN_MHZ - * Bits 31:0 - * Purpose: frequency of the primary 20mhz channel. - * - BAND_CENTER_FREQ1 - * Bits 31:0 - * Purpose: centre frequency of the full channel. - * - BAND_CENTER_FREQ2 - * Bits 31:0 - * Purpose: centre frequency2 of the channel. is only valid for 11acvht 80plus80. - * - CHAN_PHY_MODE - * Bits 31:0 - * Purpose: phy mode of the channel. -*/ -PREPACK struct htt_chan_change_msg { - A_UINT32 chan_mhz; /* frequency in mhz */ - - A_UINT32 band_center_freq1; /* Center frequency 1 in MHz*/ - - A_UINT32 band_center_freq2; /* Center frequency 2 in MHz - valid only for 11acvht 80plus80 mode*/ - - A_UINT32 chan_mode; /* WLAN_PHY_MODE of the channel defined in wlan_defs.h */ -} POSTPACK; #define HTT_CFR_CAPTURE_MAGIC_PATTERN 0xCCCCCCCC #define HTT_CFR_CAPTURE_READ_INDEX_OFFSET 0 /* bytes */ @@ -13073,6 +13162,8 @@ typedef enum { * @brief target -> host CFR dump completion indication message definition * htt_cfr_dump_compl_ind when the version is HTT_PEER_CFR_CAPTURE_MSG_TYPE_1. * + * MSG_TYPE => HTT_T2H_MSG_TYPE_CFR_DUMP_COMPL_IND + * * @details * The following diagram shows the format of the Channel Frequency Response * (CFR) dump completion indication. This inidcation is sent to the Host when @@ -13145,7 +13236,7 @@ typedef enum { * - msg_type * Bits 7:0 * Purpose: Identifies this as CFR TX completion indication - * Value: HTT_T2H_MSG_TYPE_CFR_DUMP_COMPL_IND + * Value: 0x22 (HTT_T2H_MSG_TYPE_CFR_DUMP_COMPL_IND) * - payload_present * Bit 8 * Purpose: Identifies how CFR data is sent to host @@ -13415,7 +13506,9 @@ PREPACK struct htt_cfr_dump_compl_ind { /** * @brief target -> host peer (PPDU) stats message - * HTT_T2H_MSG_TYPE_PEER_STATS_IND + * + * MSG_TYPE => HTT_T2H_MSG_TYPE_PEER_STATS_IND + * * @details * This message is generated by FW when FW is sending stats to host * about one or more PPDUs that the FW has transmitted to one or more peers. @@ -13477,7 +13570,7 @@ PREPACK struct htt_cfr_dump_compl_ind { * * Header * ------ - * dword0 - b'0:7 - msg_type : HTT_T2H_MSG_TYPE_PEER_STATS_IND + * dword0 - b'0:7 - msg_type : 0x23 (HTT_T2H_MSG_TYPE_PEER_STATS_IND) * dword0 - b'8:31 - reserved : Reserved for future use * * payload include below peer_stats information @@ -13508,7 +13601,9 @@ PREPACK struct htt_cfr_dump_compl_ind { /** - * @brief HTT_T2H_MSG_TYPE_BKPRESSURE_EVENTID Message + * @brief target -> host backpressure event + * + * MSG_TYPE => HTT_T2H_MSG_TYPE_BKPRESSURE_EVENT_IND * * @details * HTT_T2H_MSG_TYPE_BKPRESSURE_EVENTID message is sent by the target when @@ -13534,8 +13629,8 @@ PREPACK struct htt_cfr_dump_compl_ind { * |-------------------------------------------------------------------| * * The message is interpreted as follows: - * dword0 - b'0:7 - msg_type: This will be set to - * HTT_T2H_MSG_TYPE_BKPRESSURE_EVENT_IND + * dword0 - b'0:7 - msg_type: This will be set to 0x24 + * (HTT_T2H_MSG_TYPE_BKPRESSURE_EVENT_IND) * b'8:15 - pdev_id: 0 indicates msg is for UMAC ring. * 1, 2, 3 indicates pdev_id 0,1,2 and the msg is for LMAC ring. @@ -13942,8 +14037,13 @@ enum HTT_UL_OFDMA_TRIG_TYPE { /** * @brief target -> host channel calibration data message + * + * MSG_TYPE => HTT_T2H_MSG_TYPE_CHAN_CALDATA + * * @brief host -> target channel calibration data message * + * MSG_TYPE => HTT_H2T_MSG_TYPE_CHAN_CALDATA + * * @details * The following field definitions describe the format of the channel * calibration data message sent from the target to the host when @@ -13968,8 +14068,8 @@ enum HTT_UL_OFDMA_TRIG_TYPE { * - MSG_TYPE * Bits 7:0 * Purpose: identifies this as a channel calibration data message - * Value: HTT_T2H_MSG_TYPE_CHAN_CALDATA (0x15) or - * HTT_H2T_MSG_TYPE_CHAN_CALDATA (0xb) + * Value: 0x25 (HTT_T2H_MSG_TYPE_CHAN_CALDATA) + * 0x14 (HTT_H2T_MSG_TYPE_CHAN_CALDATA) * - SUB_TYPE * Bits 11:8 * Purpose: T2H: indicates whether target is providing chan cal data @@ -14145,7 +14245,9 @@ PREPACK struct htt_chan_caldata_msg { /** - * @brief HTT_T2H_MSG_TYPE_FSE_CMEM_BASE_SEND Message + * @brief target -> host FSE CMEM based send + * + * MSG_TYPE => HTT_T2H_MSG_TYPE_FSE_CMEM_BASE_SEND * * @details * HTT_T2H_MSG_TYPE_FSE_CMEM_BASE_SEND message is sent by the target when @@ -14166,8 +14268,8 @@ PREPACK struct htt_chan_caldata_msg { * |-------------------------------------------------------------------| * * The message is interpreted as follows: - * dword0 - b'0:7 - msg_type: This will be set to - * HTT_T2H_MSG_TYPE_FSE_CMEM_BASE_SEND + * dword0 - b'0:7 - msg_type: This will be set to 0x27 + * (HTT_T2H_MSG_TYPE_FSE_CMEM_BASE_SEND) * b'8:15 - number_entries: Indicated the number of entries * programmed. * b'16:31 - reserved.