Files
linux-nv-oot/drivers/net/wireless/realtek/rtl8852ce/include/rtw_eht.h
Shobek Attupurath 7dd632ff96 rtl8852ce: Add base driver v1.19.16.1-0-g1fe335ba1.20240815_PC
- support Android-14
- support Linux kernel 6.9
- support 6G regulation
- support Thermal protection
- support TX shortcut to reduce CPU loading
- fix some coverity issues
- Use RTW regulatory version rtk_8852CE_M.2_2230-67-52
- default enable con-current and MCC

Bug 4667769
Bug 4667981

Change-Id: Iee069ecdd1f00a0b78285d0a4ef5778ed9ace478
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3195601
Tested-by: Shobek Attupurath <sattupurath@nvidia.com>
Reviewed-by: Revanth Kumar Uppala <ruppala@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Ashutosh Jha <ajha@nvidia.com>
2025-07-24 10:19:08 +00:00

83 lines
2.8 KiB
C

/******************************************************************************
*
* Copyright(c) 2007 - 2017 Realtek Corporation.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of version 2 of the GNU General Public License as
* published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
*****************************************************************************/
#ifndef _RTW_EHT_H_
#define _RTW_EHT_H_
struct mlo_priv {
u8 mlo_option;
u8 tid2link_nego;
/* ToDo */
};
struct eht_priv {
u8 eht_option;
/* ToDo */
};
#define EHT_ML_CONTROL_LEN 2
/* Min length of common info in basic ML
** Common info length field: 1 */
#define EHT_BASIC_COMMON_INFO_MIN_LEN 1 + ETH_ALEN
/* Min length of a legal basic ML element
** Element ID + Element length fields: 2
** Element ID extension field: 1 */
#define EHT_ML_BASIC_MIN_LEN 2 + 1 + EHT_ML_CONTROL_LEN + EHT_BASIC_COMMON_INFO_MIN_LEN
/* Min length of a legal probe req ML element
** Element ID + Element length fields: 2
** Element ID extension field: 1
** Common info length field: 1 */
#define EHT_ML_PROBEREQ_MIN_LEN 2 + 1 + EHT_ML_CONTROL_LEN + 1
#define EHT_ML_STA_CONTROL_LEN 2
void rtw_set_assoc_status(_adapter *padapter, struct rtw_phl_mld_t *pmld, u8 link_id, u16 status);
/*
rtw_update_ies_with_inheritance(): API for core to update the current IEs with the inherited IEs
@ cur_ies: current IEs
@ cur_ies_len: length of the current IEs
@ inh_ies: the inherited IEs
@ inh_ies_len: length of the inherited IEs
*/
void rtw_update_ies_with_inheritance(u8 *cur_ies, u32 *cur_ies_len, u8 *inh_ies, u8 inh_ies_len);
u32 rtw_parse_ml_ie(_adapter *padapter, u8 *ies, u32 ies_len,
struct rtw_phl_ml_element *ml_ele);
/*
rtw_eht_ml_ies_handler(): API for core to parse ML related element in Assoc Rsp
@ ies: start point of IEs in Assoc Rsp
@ ies_len: length of the IEs in Assoc Rsp
*/
void rtw_eht_ml_ies_handler(struct _ADAPTER *padapter, struct _ADAPTER_LINK *padapter_link,
u8 *ies, u32 ies_len);
/*
rtw_build_ml_ie(): API for core to build ML element
@ pkt_type: packet type, e.g., PACKET_AUTH, PACKET_ASSOC_REQUEST, etc
@ primary_ies: IEs built in the primary link
@ primary_ies_len: length of the IEs in the primary link
*/
u8 *rtw_build_ml_ies(_adapter *padapter, struct sta_info *psta, u8 *pframe, struct pkt_attrib *pattrib,
enum phl_packet_type pkt_type, u8 *primary_ies, u32 primary_ies_len, u8 reserved);
u32 rtw_restructure_ml_ie(_adapter *padapter, struct _ADAPTER_LINK *padapter_link,
u8 *in_ie, u8 *out_ie, uint in_len, uint *pout_len);
#endif /* _RTW_EHT_H_ */