drivers/staging/rtl8723bs/include/rtw_recv.h

Source file repositories/reference/linux-study-clean/drivers/staging/rtl8723bs/include/rtw_recv.h

File Facts

System
Linux kernel
Corpus path
drivers/staging/rtl8723bs/include/rtw_recv.h
Extension
.h
Size
10332 bytes
Lines
458
Domain
Driver Families
Bucket
drivers/staging
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 recv_reorder_ctrl {
	struct adapter	*padapter;
	u8 enable;
	u16 indicate_seq;/* wstart_b, init_value = 0xffff */
	u16 wend_b;
	u8 wsize_b;
	struct __queue pending_recvframe_queue;
	struct timer_list reordering_ctrl_timer;
};

struct	stainfo_rxcache	{
	u16 tid_rxseq[16];
/*
	unsigned short	tid0_rxseq;
	unsigned short	tid1_rxseq;
	unsigned short	tid2_rxseq;
	unsigned short	tid3_rxseq;
	unsigned short	tid4_rxseq;
	unsigned short	tid5_rxseq;
	unsigned short	tid6_rxseq;
	unsigned short	tid7_rxseq;
	unsigned short	tid8_rxseq;
	unsigned short	tid9_rxseq;
	unsigned short	tid10_rxseq;
	unsigned short	tid11_rxseq;
	unsigned short	tid12_rxseq;
	unsigned short	tid13_rxseq;
	unsigned short	tid14_rxseq;
	unsigned short	tid15_rxseq;
*/
};


struct signal_stat {
	u8 update_req;		/* used to indicate */
	u8 avg_val;		/* avg of valid elements */
	u32 total_num;		/* num of valid elements */
	u32 total_val;		/* sum of valid elements */
};

struct phy_info {
	u8 rx_pwd_ba11;

	u8 SignalQuality;	 /*  in 0-100 index. */
	s8		rx_mimo_signal_quality[4];	/* per-path's EVM */
	u8 RxMIMOEVMdbm[4];		/* per-path's EVM dbm */

	u8 rx_mimo_signal_strength[4];/*  in 0~100 index */

	u16 	Cfo_short[4];			/*  per-path's Cfo_short */
	u16 	Cfo_tail[4];			/*  per-path's Cfo_tail */

	s8		RxPower; /*  in dBm Translate from PWdB */
	s8		RecvSignalPower;/*  Real power in dBm for this packet, no beautification and aggregation. Keep this raw info to be used for the other procedures. */
	u8 bt_rx_rssi_percentage;
	u8 SignalStrength; /*  in 0-100 index. */

	s8		RxPwr[4];				/* per-path's pwdb */
	u8 RxSNR[4];				/* per-path's SNR */
	u8 BandWidth;
	u8 btCoexPwrAdjust;
};

struct rx_pkt_attrib	{
	u16 pkt_len;
	u8 physt;
	u8 drvinfo_sz;
	u8 shift_sz;
	u8 hdrlen; /* the WLAN Header Len */
	u8 to_fr_ds;
	u8 amsdu;
	u8 qos;
	u8 priority;
	u8 pw_save;
	u8 mdata;
	u16 seq_num;
	u8 frag_num;
	u8 mfrag;
	u8 order;
	u8 privacy; /* in frame_ctrl field */
	u8 bdecrypted;
	u8 encrypt; /* when 0 indicates no encryption; when non-zero, indicates the encryption algorithm */
	u8 iv_len;
	u8 icv_len;
	u8 crc_err;
	u8 icv_err;

	u16 eth_type;

	u8 dst[ETH_ALEN];

Annotation

Implementation Notes