drivers/net/wireless/ath/ath9k/mci.h
Source file repositories/reference/linux-study-clean/drivers/net/wireless/ath/ath9k/mci.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/wireless/ath/ath9k/mci.h- Extension
.h- Size
- 4962 bytes
- Lines
- 179
- 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
ar9003_mci.h
Detected Declarations
struct ath_mci_profile_infostruct ath_mci_profile_statusstruct ath_mci_profilestruct ath_mci_bufstruct ath_mci_coexfunction Copyrightfunction ath_mci_enable
Annotated Snippet
struct ath_mci_profile_info {
u8 type;
u8 conn_handle;
bool start;
bool master;
bool edr;
u8 voice_type;
u16 T; /* Voice: Tvoice, HID: Tsniff, in slots */
u8 W; /* Voice: Wvoice, HID: Sniff timeout, in slots */
u8 A; /* HID: Sniff attempt, in slots */
struct list_head list;
};
struct ath_mci_profile_status {
bool is_critical;
bool is_link;
u8 conn_handle;
};
struct ath_mci_profile {
struct list_head info;
DECLARE_BITMAP(status, ATH_MCI_MAX_PROFILE);
u16 aggr_limit;
u8 num_mgmt;
u8 num_sco;
u8 num_a2dp;
u8 num_hid;
u8 num_pan;
u8 num_other_acl;
u8 num_bdr;
u8 voice_priority;
};
struct ath_mci_buf {
void *bf_addr; /* virtual addr of desc */
dma_addr_t bf_paddr; /* physical addr of buffer */
u32 bf_len; /* len of data */
};
struct ath_mci_coex {
struct ath_mci_buf sched_buf;
struct ath_mci_buf gpm_buf;
};
void ath_mci_flush_profile(struct ath_mci_profile *mci);
int ath_mci_setup(struct ath_softc *sc);
void ath_mci_cleanup(struct ath_softc *sc);
void ath_mci_intr(struct ath_softc *sc);
void ath9k_mci_update_rssi(struct ath_softc *sc);
#ifdef CONFIG_ATH9K_BTCOEX_SUPPORT
void ath_mci_enable(struct ath_softc *sc);
void ath9k_mci_update_wlan_channels(struct ath_softc *sc, bool allow_all);
void ath9k_mci_set_txpower(struct ath_softc *sc, bool setchannel,
bool concur_tx);
#else
static inline void ath_mci_enable(struct ath_softc *sc)
{
}
static inline void ath9k_mci_update_wlan_channels(struct ath_softc *sc,
bool allow_all)
{
}
static inline void ath9k_mci_set_txpower(struct ath_softc *sc, bool setchannel,
bool concur_tx)
{
}
#endif /* CONFIG_ATH9K_BTCOEX_SUPPORT */
#endif /* MCI_H*/
Annotation
- Immediate include surface: `ar9003_mci.h`.
- Detected declarations: `struct ath_mci_profile_info`, `struct ath_mci_profile_status`, `struct ath_mci_profile`, `struct ath_mci_buf`, `struct ath_mci_coex`, `function Copyright`, `function ath_mci_enable`.
- 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.