diff options
Diffstat (limited to 'sys/contrib/dev/rtw89/txrx.h')
| -rw-r--r-- | sys/contrib/dev/rtw89/txrx.h | 32 | 
1 files changed, 32 insertions, 0 deletions
diff --git a/sys/contrib/dev/rtw89/txrx.h b/sys/contrib/dev/rtw89/txrx.h index 70fe7cebc9d5..ec01bfc363da 100644 --- a/sys/contrib/dev/rtw89/txrx.h +++ b/sys/contrib/dev/rtw89/txrx.h @@ -73,6 +73,7 @@ static inline u8 rtw89_get_data_nss(struct rtw89_dev *rtwdev, u16 hw_rate)  #define RTW89_TXWD_BODY0_FW_DL BIT(20)  #define RTW89_TXWD_BODY0_CHANNEL_DMA GENMASK(19, 16)  #define RTW89_TXWD_BODY0_HDR_LLC_LEN GENMASK(15, 11) +#define RTW89_TXWD_BODY0_STF_MODE BIT(10)  #define RTW89_TXWD_BODY0_WD_PAGE BIT(7)  #define RTW89_TXWD_BODY0_HW_AMSDU BIT(5)  #define RTW89_TXWD_BODY0_HW_SSN_SEL GENMASK(3, 2) @@ -712,6 +713,25 @@ static inline u8 rtw89_core_get_qsel(struct rtw89_dev *rtwdev, u8 tid)  	}  } +static inline u8 +rtw89_core_get_qsel_mgmt(struct rtw89_dev *rtwdev, struct rtw89_core_tx_request *tx_req) +{ +	struct rtw89_tx_desc_info *desc_info = &tx_req->desc_info; +	struct rtw89_vif_link *rtwvif_link = tx_req->rtwvif_link; + +	if (desc_info->hiq) { +		if (rtwvif_link->mac_idx == RTW89_MAC_1) +			return RTW89_TX_QSEL_B1_HI; +		else +			return RTW89_TX_QSEL_B0_HI; +	} + +	if (rtwvif_link->mac_idx == RTW89_MAC_1) +		return RTW89_TX_QSEL_B1_MGMT; +	else +		return RTW89_TX_QSEL_B0_MGMT; +} +  static inline u8 rtw89_core_get_ch_dma(struct rtw89_dev *rtwdev, u8 qsel)  {  	switch (qsel) { @@ -719,12 +739,24 @@ static inline u8 rtw89_core_get_ch_dma(struct rtw89_dev *rtwdev, u8 qsel)  		rtw89_warn(rtwdev, "Cannot map qsel to dma: %d\n", qsel);  		fallthrough;  	case RTW89_TX_QSEL_BE_0: +	case RTW89_TX_QSEL_BE_1: +	case RTW89_TX_QSEL_BE_2: +	case RTW89_TX_QSEL_BE_3:  		return RTW89_TXCH_ACH0;  	case RTW89_TX_QSEL_BK_0: +	case RTW89_TX_QSEL_BK_1: +	case RTW89_TX_QSEL_BK_2: +	case RTW89_TX_QSEL_BK_3:  		return RTW89_TXCH_ACH1;  	case RTW89_TX_QSEL_VI_0: +	case RTW89_TX_QSEL_VI_1: +	case RTW89_TX_QSEL_VI_2: +	case RTW89_TX_QSEL_VI_3:  		return RTW89_TXCH_ACH2;  	case RTW89_TX_QSEL_VO_0: +	case RTW89_TX_QSEL_VO_1: +	case RTW89_TX_QSEL_VO_2: +	case RTW89_TX_QSEL_VO_3:  		return RTW89_TXCH_ACH3;  	case RTW89_TX_QSEL_B0_MGMT:  		return RTW89_TXCH_CH8;  | 
