drivers/net/wireless/silabs/wfx/data_tx.h
Source file repositories/reference/linux-study-clean/drivers/net/wireless/silabs/wfx/data_tx.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/wireless/silabs/wfx/data_tx.h- Extension
.h- Size
- 1360 bytes
- Lines
- 54
- 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
linux/list.hnet/mac80211.hhif_api_cmd.hhif_api_mib.h
Detected Declarations
struct wfx_tx_privstruct wfx_devstruct wfx_vifstruct wfx_tx_policystruct wfx_tx_policy_cachestruct wfx_tx_priv
Annotated Snippet
struct wfx_tx_policy {
struct list_head link;
int usage_count;
u8 rates[12];
bool uploaded;
};
struct wfx_tx_policy_cache {
struct wfx_tx_policy cache[HIF_TX_RETRY_POLICY_MAX];
/* FIXME: use a trees and drop hash from tx_policy */
struct list_head used;
struct list_head free;
spinlock_t lock;
};
struct wfx_tx_priv {
ktime_t xmit_timestamp;
unsigned char icv_size;
unsigned char vif_id;
};
void wfx_tx_policy_init(struct wfx_vif *wvif);
void wfx_tx_policy_upload_work(struct work_struct *work);
void wfx_tx(struct ieee80211_hw *hw, struct ieee80211_tx_control *control, struct sk_buff *skb);
void wfx_tx_confirm_cb(struct wfx_dev *wdev, const struct wfx_hif_cnf_tx *arg);
void wfx_flush(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u32 queues, bool drop);
struct wfx_tx_priv *wfx_skb_tx_priv(struct sk_buff *skb);
struct wfx_hif_req_tx *wfx_skb_txreq(struct sk_buff *skb);
struct wfx_vif *wfx_skb_wvif(struct wfx_dev *wdev, struct sk_buff *skb);
#endif
Annotation
- Immediate include surface: `linux/list.h`, `net/mac80211.h`, `hif_api_cmd.h`, `hif_api_mib.h`.
- Detected declarations: `struct wfx_tx_priv`, `struct wfx_dev`, `struct wfx_vif`, `struct wfx_tx_policy`, `struct wfx_tx_policy_cache`, `struct wfx_tx_priv`.
- 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.