drivers/net/wireless/mediatek/mt76/mt7996/mcu.h
Source file repositories/reference/linux-study-clean/drivers/net/wireless/mediatek/mt76/mt7996/mcu.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/wireless/mediatek/mt76/mt7996/mcu.h- Extension
.h- Size
- 16981 bytes
- Lines
- 1069
- 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
../mt76_connac_mcu.h
Detected Declarations
struct mt7996_mcu_rxdstruct mt7996_mcu_uni_eventstruct mt7996_mcu_thermal_ctrlstruct mt7996_mcu_thermal_enablestruct mt7996_mcu_countdown_notifystruct mt7996_mcu_rdd_reportstruct mt7996_mcu_background_chain_ctrlstruct mt7996_mcu_eeprom_updatestruct mt7996_mcu_eeprom_infostruct mt7996_mcu_eeprom_accessstruct mt7996_mcu_eeprom_access_eventstruct mt7996_mcu_phy_rx_infostruct mt7996_mcu_mibstruct all_sta_trx_ratestruct mt7996_mcu_all_sta_info_eventstruct mt7996_mcu_wed_rro_eventstruct mt7996_mcu_wed_rro_ba_eventstruct mt7996_mcu_wed_rro_ba_delete_eventstruct mt7996_mcu_thermal_notifystruct edcastruct bss_rate_tlvstruct bss_ra_tlvstruct bss_rlm_tlvstruct bss_color_tlvstruct bss_inband_discovery_tlvstruct bss_bcn_content_tlvstruct bss_bcn_cntdwn_tlvstruct bss_bcn_mbss_tlvstruct bss_txcmd_tlvstruct bss_sec_tlvstruct bss_ifs_time_tlvstruct bss_power_savestruct bss_mld_tlvstruct bss_prot_tlvstruct bss_mld_link_op_tlvstruct sta_rec_ht_unistruct sta_rec_ba_unistruct sta_rec_ehtstruct sec_key_unistruct sta_rec_sec_unistruct sta_phy_unistruct sta_rec_ra_unistruct sta_rec_ra_fixed_unistruct sta_rec_hdrtstruct sta_rec_hdr_transstruct sta_rec_mld_setupstruct sta_rec_eht_mldstruct mld_setup_link
Annotated Snippet
struct mt7996_mcu_rxd {
__le32 rxd[8];
__le16 len;
__le16 pkt_type_id;
u8 eid;
u8 seq;
u8 option;
u8 __rsv;
u8 ext_eid;
u8 __rsv1[2];
u8 s2d_index;
};
struct mt7996_mcu_uni_event {
__le16 cid;
u8 __rsv[2];
__le32 status; /* 0: success, others: fail */
} __packed;
struct mt7996_mcu_thermal_ctrl {
u8 ctrl_id;
u8 band_idx;
union {
struct {
u8 protect_type; /* 1: duty admit, 2: radio off */
u8 trigger_type; /* 0: low, 1: high */
} __packed type;
struct {
u8 duty_level; /* level 0~3 */
u8 duty_cycle;
} __packed duty;
};
} __packed;
struct mt7996_mcu_thermal_enable {
__le32 trigger_temp;
__le32 restore_temp;
__le16 sustain_time;
u8 rsv[2];
} __packed;
struct mt7996_mcu_countdown_notify {
u8 omac_idx;
u8 count;
u8 csa_failure_reason; /* 0: success, 1: beacon disabled */
u8 rsv;
} __packed;
struct mt7996_mcu_rdd_report {
struct mt7996_mcu_rxd rxd;
u8 __rsv1[4];
__le16 tag;
__le16 len;
u8 rdd_idx;
u8 long_detected;
u8 constant_prf_detected;
u8 staggered_prf_detected;
u8 radar_type_idx;
u8 periodic_pulse_num;
u8 long_pulse_num;
u8 hw_pulse_num;
u8 out_lpn;
u8 out_spn;
u8 out_crpn;
u8 out_crpw;
u8 out_crbn;
u8 out_stgpn;
u8 out_stgpw;
u8 __rsv2;
__le32 out_pri_const;
__le32 out_pri_stg[3];
__le32 out_pri_stg_dmin;
struct {
__le32 start;
__le16 pulse_width;
__le16 pulse_power;
u8 mdrdy_flag;
u8 rsv[3];
} long_pulse[32];
Annotation
- Immediate include surface: `../mt76_connac_mcu.h`.
- Detected declarations: `struct mt7996_mcu_rxd`, `struct mt7996_mcu_uni_event`, `struct mt7996_mcu_thermal_ctrl`, `struct mt7996_mcu_thermal_enable`, `struct mt7996_mcu_countdown_notify`, `struct mt7996_mcu_rdd_report`, `struct mt7996_mcu_background_chain_ctrl`, `struct mt7996_mcu_eeprom_update`, `struct mt7996_mcu_eeprom_info`, `struct mt7996_mcu_eeprom_access`.
- 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.