drivers/net/wireless/realtek/rtlwifi/rtl8192cu/trx.h
Source file repositories/reference/linux-study-clean/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/trx.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/wireless/realtek/rtlwifi/rtl8192cu/trx.h- Extension
.h- Size
- 9620 bytes
- Lines
- 398
- 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.
- 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.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
- No C-style include directives detected by the generator.
Detected Declarations
struct rx_drv_info_92cenum usb_rx_agg_modefunction get_rx_desc_pkt_lenfunction get_rx_desc_crc32function get_rx_desc_icvfunction get_rx_desc_drvinfo_sizefunction get_rx_desc_shiftfunction get_rx_desc_phy_statusfunction get_rx_desc_swdecfunction get_rx_desc_paggrfunction get_rx_desc_faggrfunction get_rx_desc_rx_mcsfunction get_rx_desc_rx_htfunction get_rx_desc_splcpfunction get_rx_desc_bwfunction get_rx_desc_tsflfunction set_tx_desc_pkt_sizefunction set_tx_desc_offsetfunction set_tx_desc_bmcfunction set_tx_desc_htcfunction set_tx_desc_last_segfunction set_tx_desc_first_segfunction set_tx_desc_linipfunction set_tx_desc_ownfunction set_tx_desc_macidfunction set_tx_desc_agg_enablefunction set_tx_desc_agg_breakfunction set_tx_desc_rdg_enablefunction set_tx_desc_queue_selfunction set_tx_desc_rate_idfunction set_tx_desc_nav_use_hdrfunction set_tx_desc_sec_typefunction set_tx_desc_pkt_offsetfunction set_tx_desc_more_fragfunction set_tx_desc_ampdu_densityfunction set_tx_desc_seqfunction set_tx_desc_pkt_idfunction set_tx_desc_rts_ratefunction set_tx_desc_qosfunction set_tx_desc_hwseq_enfunction set_tx_desc_use_ratefunction set_tx_desc_disable_fbfunction set_tx_desc_cts2selffunction set_tx_desc_rts_enablefunction set_tx_desc_hw_rts_enablefunction set_tx_desc_data_scfunction set_tx_desc_data_bwfunction set_tx_desc_rts_short
Annotated Snippet
struct rx_drv_info_92c {
/*
* Driver info contain PHY status and other variabel size info
* PHY Status content as below
*/
/* DWORD 0 */
u8 gain_trsw[4];
/* DWORD 1 */
u8 pwdb_all;
u8 cfosho[4];
/* DWORD 2 */
u8 cfotail[4];
/* DWORD 3 */
s8 rxevm[2];
s8 rxsnr[4];
/* DWORD 4 */
u8 pdsnr[2];
/* DWORD 5 */
u8 csi_current[2];
u8 csi_target[2];
/* DWORD 6 */
u8 sigevm;
u8 max_ex_pwr;
u8 ex_intf_flag:1;
u8 sgi_en:1;
u8 rxsc:2;
u8 reserve:4;
} __packed;
/* macros to read various fields in RX descriptor */
/* DWORD 0 */
static inline u32 get_rx_desc_pkt_len(__le32 *__rxdesc)
{
return le32_get_bits(*__rxdesc, GENMASK(13, 0));
}
static inline u32 get_rx_desc_crc32(__le32 *__rxdesc)
{
return le32_get_bits(*__rxdesc, BIT(14));
}
static inline u32 get_rx_desc_icv(__le32 *__rxdesc)
{
return le32_get_bits(*__rxdesc, BIT(15));
}
static inline u32 get_rx_desc_drvinfo_size(__le32 *__rxdesc)
{
return le32_get_bits(*__rxdesc, GENMASK(19, 16));
}
static inline u32 get_rx_desc_shift(__le32 *__rxdesc)
{
return le32_get_bits(*__rxdesc, GENMASK(25, 24));
}
static inline u32 get_rx_desc_phy_status(__le32 *__rxdesc)
{
return le32_get_bits(*__rxdesc, BIT(26));
}
static inline u32 get_rx_desc_swdec(__le32 *__rxdesc)
{
return le32_get_bits(*__rxdesc, BIT(27));
}
/* DWORD 1 */
static inline u32 get_rx_desc_paggr(__le32 *__rxdesc)
{
return le32_get_bits(*(__rxdesc + 1), BIT(14));
}
static inline u32 get_rx_desc_faggr(__le32 *__rxdesc)
{
return le32_get_bits(*(__rxdesc + 1), BIT(15));
}
/* DWORD 3 */
static inline u32 get_rx_desc_rx_mcs(__le32 *__rxdesc)
{
Annotation
- Detected declarations: `struct rx_drv_info_92c`, `enum usb_rx_agg_mode`, `function get_rx_desc_pkt_len`, `function get_rx_desc_crc32`, `function get_rx_desc_icv`, `function get_rx_desc_drvinfo_size`, `function get_rx_desc_shift`, `function get_rx_desc_phy_status`, `function get_rx_desc_swdec`, `function get_rx_desc_paggr`.
- Atlas domain: Driver Families / drivers/net.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.