drivers/net/wireless/mediatek/mt76/mt76_connac.h
Source file repositories/reference/linux-study-clean/drivers/net/wireless/mediatek/mt76/mt76_connac.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/wireless/mediatek/mt76/mt76_connac.h- Extension
.h- Size
- 11526 bytes
- Lines
- 488
- 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.
- Uses kernel synchronization; read lock ordering, sleepability, and interrupt context assumptions before translating.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
mt76.h
Detected Declarations
struct mt76_connac_reg_mapstruct mt76_connac_pmstruct mt76_connac_coredumpstruct mt76_connac_sta_key_confstruct mt76_connac_fw_txpstruct mt76_connac_txp_ptrstruct mt76_connac_hw_txpstruct mt76_connac_txp_commonstruct mt76_connac_tx_freeenum rx_pkt_typefunction is_connac3function is_mt7925function is_mt7927function is_320mhz_supportedfunction is_mt7920function is_mt7902function is_mt7922function is_connac2function is_mt7663function is_mt7915function is_mt7916function is_mt7981function is_mt7986function is_mt798xfunction is_mt7996function is_mt7992function is_mt7990function is_mt799xfunction is_mt7622function is_mt7615function is_mt7611function is_connac_v1function is_mt76_fw_txpfunction mt76_connac_chan_bwfunction mt76_connac_lmac_mappingfunction mt76_connac_txwi_to_txpfunction mt76_connac_spe_idxfunction mt76_connac_irq_enablefunction mt76_connac_tx_cleanupfunction mt76_connac_pm_reffunction mt76_connac_pm_unreffunction mt76_connac_skip_fw_pmctrlfunction mt76_connac_mutex_acquirefunction mt76_connac_mutex_release
Annotated Snippet
struct mt76_connac_reg_map {
u32 phys;
u32 maps;
u32 size;
};
struct mt76_connac_pm {
bool enable:1;
bool enable_user:1;
bool ds_enable:1;
bool ds_enable_user:1;
bool suspended:1;
spinlock_t txq_lock;
struct {
struct mt76_wcid *wcid;
struct sk_buff *skb;
} tx_q[IEEE80211_NUM_ACS];
struct work_struct wake_work;
wait_queue_head_t wait;
struct {
spinlock_t lock;
u32 count;
} wake;
struct mutex mutex;
struct delayed_work ps_work;
unsigned long last_activity;
unsigned long idle_timeout;
struct {
unsigned long last_wake_event;
unsigned long awake_time;
unsigned long last_doze_event;
unsigned long doze_time;
unsigned int lp_wake;
} stats;
};
struct mt76_connac_coredump {
struct sk_buff_head msg_list;
struct delayed_work work;
unsigned long last_activity;
};
struct mt76_connac_sta_key_conf {
s8 keyidx;
u8 key[16];
};
#define MT_TXP_MAX_BUF_NUM 6
struct mt76_connac_fw_txp {
__le16 flags;
__le16 token;
u8 bss_idx;
__le16 rept_wds_wcid;
u8 nbuf;
__le32 buf[MT_TXP_MAX_BUF_NUM];
__le16 len[MT_TXP_MAX_BUF_NUM];
} __packed __aligned(4);
#define MT_HW_TXP_MAX_MSDU_NUM 4
#define MT_HW_TXP_MAX_BUF_NUM 4
struct mt76_connac_txp_ptr {
__le32 buf0;
__le16 len0;
__le16 len1;
__le32 buf1;
} __packed __aligned(4);
struct mt76_connac_hw_txp {
__le16 msdu_id[MT_HW_TXP_MAX_MSDU_NUM];
struct mt76_connac_txp_ptr ptr[MT_HW_TXP_MAX_BUF_NUM / 2];
} __packed __aligned(4);
struct mt76_connac_txp_common {
union {
struct mt76_connac_fw_txp fw;
struct mt76_connac_hw_txp hw;
};
};
struct mt76_connac_tx_free {
__le16 rx_byte_cnt;
__le16 ctrl;
__le32 txd;
Annotation
- Immediate include surface: `mt76.h`.
- Detected declarations: `struct mt76_connac_reg_map`, `struct mt76_connac_pm`, `struct mt76_connac_coredump`, `struct mt76_connac_sta_key_conf`, `struct mt76_connac_fw_txp`, `struct mt76_connac_txp_ptr`, `struct mt76_connac_hw_txp`, `struct mt76_connac_txp_common`, `struct mt76_connac_tx_free`, `enum rx_pkt_type`.
- Atlas domain: Driver Families / drivers/net.
- Implementation status: source implementation candidate.
- Synchronization appears in or near this file; preserve lock ordering, sleepability, and interrupt-context constraints.
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.