/* * Copyright (c) 2018 The Linux Foundation. All rights reserved. * * Permission to use, copy, modify, and/or distribute this software for * any purpose with or without fee is hereby granted, provided that the * above copyright notice and this permission notice appear in all * copies. * * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #ifndef _HE_SIG_B2_MU_INFO_H_ #define _HE_SIG_B2_MU_INFO_H_ #if !defined(__ASSEMBLER__) #endif // ################ START SUMMARY ################# // // Dword Fields // 0 sta_id[10:0], sta_spatial_config[14:11], sta_mcs[18:15], reserved_set_to_1[19], sta_coding[20], reserved_0a[28:21], nsts[31:29] // // ################ END SUMMARY ################# #define NUM_OF_DWORDS_HE_SIG_B2_MU_INFO 1 struct he_sig_b2_mu_info { uint32_t sta_id : 11, //[10:0] sta_spatial_config : 4, //[14:11] sta_mcs : 4, //[18:15] reserved_set_to_1 : 1, //[19] sta_coding : 1, //[20] reserved_0a : 8, //[28:21] nsts : 3; //[31:29] }; /* sta_id Identifies the STA that is addressed. Details of STA ID are TBD sta_spatial_config Number of assigned spatial streams and their corresponding index. Total number of spatial streams assigned for the MU-MIMO allocation is also signaled. sta_mcs Indicates the data MCS reserved_set_to_1 sta_coding Distinguishes between BCC/LDPC 0: BCC 1: LDPC reserved_0a nsts MAC RX side usage only: Needed by RXPCU. Provided by PHY so that RXPCU does not need to have the RU number decoding logic. Number of spatial streams for this user Single spatial stream 2 spatial streams 3 spatial streams 4 spatial streams 5 spatial streams 6 spatial streams 7 spatial streams 8 spatial streams */ /* Description HE_SIG_B2_MU_INFO_0_STA_ID Identifies the STA that is addressed. Details of STA ID are TBD */ #define HE_SIG_B2_MU_INFO_0_STA_ID_OFFSET 0x00000000 #define HE_SIG_B2_MU_INFO_0_STA_ID_LSB 0 #define HE_SIG_B2_MU_INFO_0_STA_ID_MASK 0x000007ff /* Description HE_SIG_B2_MU_INFO_0_STA_SPATIAL_CONFIG Number of assigned spatial streams and their corresponding index. Total number of spatial streams assigned for the MU-MIMO allocation is also signaled. */ #define HE_SIG_B2_MU_INFO_0_STA_SPATIAL_CONFIG_OFFSET 0x00000000 #define HE_SIG_B2_MU_INFO_0_STA_SPATIAL_CONFIG_LSB 11 #define HE_SIG_B2_MU_INFO_0_STA_SPATIAL_CONFIG_MASK 0x00007800 /* Description HE_SIG_B2_MU_INFO_0_STA_MCS Indicates the data MCS */ #define HE_SIG_B2_MU_INFO_0_STA_MCS_OFFSET 0x00000000 #define HE_SIG_B2_MU_INFO_0_STA_MCS_LSB 15 #define HE_SIG_B2_MU_INFO_0_STA_MCS_MASK 0x00078000 /* Description HE_SIG_B2_MU_INFO_0_RESERVED_SET_TO_1 */ #define HE_SIG_B2_MU_INFO_0_RESERVED_SET_TO_1_OFFSET 0x00000000 #define HE_SIG_B2_MU_INFO_0_RESERVED_SET_TO_1_LSB 19 #define HE_SIG_B2_MU_INFO_0_RESERVED_SET_TO_1_MASK 0x00080000 /* Description HE_SIG_B2_MU_INFO_0_STA_CODING Distinguishes between BCC/LDPC 0: BCC 1: LDPC */ #define HE_SIG_B2_MU_INFO_0_STA_CODING_OFFSET 0x00000000 #define HE_SIG_B2_MU_INFO_0_STA_CODING_LSB 20 #define HE_SIG_B2_MU_INFO_0_STA_CODING_MASK 0x00100000 /* Description HE_SIG_B2_MU_INFO_0_RESERVED_0A */ #define HE_SIG_B2_MU_INFO_0_RESERVED_0A_OFFSET 0x00000000 #define HE_SIG_B2_MU_INFO_0_RESERVED_0A_LSB 21 #define HE_SIG_B2_MU_INFO_0_RESERVED_0A_MASK 0x1fe00000 /* Description HE_SIG_B2_MU_INFO_0_NSTS MAC RX side usage only: Needed by RXPCU. Provided by PHY so that RXPCU does not need to have the RU number decoding logic. Number of spatial streams for this user Single spatial stream 2 spatial streams 3 spatial streams 4 spatial streams 5 spatial streams 6 spatial streams 7 spatial streams 8 spatial streams */ #define HE_SIG_B2_MU_INFO_0_NSTS_OFFSET 0x00000000 #define HE_SIG_B2_MU_INFO_0_NSTS_LSB 29 #define HE_SIG_B2_MU_INFO_0_NSTS_MASK 0xe0000000 #endif // _HE_SIG_B2_MU_INFO_H_