drivers/net/wireless/realtek/rtw89/core.h

Source file repositories/reference/linux-study-clean/drivers/net/wireless/realtek/rtw89/core.h

File Facts

System
Linux kernel
Corpus path
drivers/net/wireless/realtek/rtw89/core.h
Extension
.h
Size
204305 bytes
Lines
8221
Domain
Driver Families
Bucket
drivers/net
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

struct rtw89_reg_6ghz_tpe {
	bool valid;
	s8 constraint; /* unit: dBm */
};

enum rtw89_fw_pkt_ofld_type {
	RTW89_PKT_OFLD_TYPE_PROBE_RSP = 0,
	RTW89_PKT_OFLD_TYPE_PS_POLL = 1,
	RTW89_PKT_OFLD_TYPE_NULL_DATA = 2,
	RTW89_PKT_OFLD_TYPE_QOS_NULL = 3,
	RTW89_PKT_OFLD_TYPE_CTS2SELF = 4,
	RTW89_PKT_OFLD_TYPE_ARP_RSP = 5,
	RTW89_PKT_OFLD_TYPE_NDP = 6,
	RTW89_PKT_OFLD_TYPE_EAPOL_KEY = 7,
	RTW89_PKT_OFLD_TYPE_SA_QUERY = 8,
	RTW89_PKT_OFLD_TYPE_PROBE_REQ = 12,
	RTW89_PKT_OFLD_TYPE_NUM,
};

struct rtw89_txpwr_byrate {
	s8 cck[RTW89_RATE_CCK_NUM];
	s8 ofdm[RTW89_RATE_OFDM_NUM];
	s8 mcs[RTW89_OFDMA_NUM][RTW89_NSS_NUM][__RTW89_RATE_MCS_NUM];
	s8 hedcm[RTW89_OFDMA_NUM][RTW89_NSS_HEDCM_NUM][RTW89_RATE_HEDCM_NUM];
	s8 offset[__RTW89_RATE_OFFSET_NUM];
	s8 trap;
};

struct rtw89_rate_desc {
	enum rtw89_nss nss;
	enum rtw89_rate_section rs;
	enum rtw89_ofdma_type ofdma;
	u8 idx;
};

#define PHY_STS_HDR_LEN 8
#define RF_PATH_MAX 4
#define RTW89_MAX_PPDU_CNT 8
struct rtw89_rx_phy_ppdu {
	void *buf;
	u32 len;
	u8 rssi_avg;
	u8 rssi[RF_PATH_MAX];
	u8 mac_id;
	u8 chan_idx;
	u8 phy_idx;
	u8 ie; /* enum rtw89_phy_status_bitmap */
	u16 rate;
	u8 rpl_avg;
	u8 rpl_path[RF_PATH_MAX];
	u8 rpl_fd[RF_PATH_MAX];
	u8 bw_idx;
	u8 rx_path_en;
	struct {
		bool has;
		u8 avg_snr;
		u8 evm_max;
		u8 evm_min;
	} ofdm;
	bool has_data;
	bool has_bcn;
	bool su;
	bool ldpc;
	bool stbc;
	bool bf;
	bool to_self;
	bool valid;
	bool hdr_2_en;
	const union rtw89_phy_sts_ie09 *ie09; /* SIG-A */
	const struct rtw89_phy_sts_ie10 *ie10; /* SIG-B */
};

enum rtw89_mac_idx {
	RTW89_MAC_0 = 0,
	RTW89_MAC_1 = 1,
	RTW89_MAC_NUM,
};

enum rtw89_phy_idx {
	RTW89_PHY_0 = 0,
	RTW89_PHY_1 = 1,
	RTW89_PHY_NUM,
};

enum rtw89_fbtc_bt_index {
	BTC_BT_1ST = 0x0,
	BTC_BT_2ND = 0x1,
	BTC_BT_EXT = 0x2,
	BTC_ALL_BT = 0x2,
	BTC_ALL_BT_EZL = 0x3 /* BT0+BT1+Ext-ZB(or Thread, or LTE) */

Annotation

Implementation Notes