drivers/net/wireless/ath/carl9170/phy.c
Source file repositories/reference/linux-study-clean/drivers/net/wireless/ath/carl9170/phy.c
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/wireless/ath/carl9170/phy.c- Extension
.c- Size
- 56259 bytes
- Lines
- 1730
- 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/bitrev.hcarl9170.hcmd.hphy.h
Detected Declarations
struct carl9170_phy_initstruct carl9170_rf_initvalsstruct carl9170_phy_freq_paramsstruct carl9170_phy_freq_entrystruct ctl_modesenum carl9170_bwfunction Copyrightfunction carl9170_def_valfunction carl9170_init_phy_from_eepromfunction carl9170_init_phyfunction carl9170_init_rf_banks_0_7function carl9170_init_rf_bank4_pwrfunction carl9170_get_hw_dyn_paramsfunction carl9170_find_freq_idxfunction carl9170_interpolate_s32function carl9170_interpolate_u8function carl9170_interpolate_valfunction carl9170_set_freq_cal_datafunction carl9170_get_max_edge_powerfunction carl9170_get_heavy_clipfunction carl9170_calc_ctlfunction carl9170_set_power_calfunction carl9170_get_noisefloorfunction nl80211_to_carlfunction carl9170_set_channel
Annotated Snippet
struct carl9170_phy_init {
u32 reg, _5ghz_20, _5ghz_40, _2ghz_40, _2ghz_20;
};
static struct carl9170_phy_init ar5416_phy_init[] = {
{ 0x1c5800, 0x00000007, 0x00000007, 0x00000007, 0x00000007, },
{ 0x1c5804, 0x00000300, 0x000003c4, 0x000003c4, 0x00000300, },
{ 0x1c5808, 0x00000000, 0x00000000, 0x00000000, 0x00000000, },
{ 0x1c580c, 0xad848e19, 0xad848e19, 0xad848e19, 0xad848e19, },
{ 0x1c5810, 0x7d14e000, 0x7d14e000, 0x7d14e000, 0x7d14e000, },
{ 0x1c5814, 0x9c0a9f6b, 0x9c0a9f6b, 0x9c0a9f6b, 0x9c0a9f6b, },
{ 0x1c5818, 0x00000090, 0x00000090, 0x00000090, 0x00000090, },
{ 0x1c581c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, },
{ 0x1c5820, 0x02020200, 0x02020200, 0x02020200, 0x02020200, },
{ 0x1c5824, 0x00000e0e, 0x00000e0e, 0x00000e0e, 0x00000e0e, },
{ 0x1c5828, 0x0a020001, 0x0a020001, 0x0a020001, 0x0a020001, },
{ 0x1c582c, 0x0000a000, 0x0000a000, 0x0000a000, 0x0000a000, },
{ 0x1c5830, 0x00000000, 0x00000000, 0x00000000, 0x00000000, },
{ 0x1c5834, 0x00000e0e, 0x00000e0e, 0x00000e0e, 0x00000e0e, },
{ 0x1c5838, 0x00000007, 0x00000007, 0x00000007, 0x00000007, },
{ 0x1c583c, 0x00200400, 0x00200400, 0x00200400, 0x00200400, },
{ 0x1c5840, 0x206a002e, 0x206a002e, 0x206a002e, 0x206a002e, },
{ 0x1c5844, 0x1372161e, 0x13721c1e, 0x13721c24, 0x137216a4, },
{ 0x1c5848, 0x001a6a65, 0x001a6a65, 0x00197a68, 0x00197a68, },
{ 0x1c584c, 0x1284233c, 0x1284233c, 0x1284233c, 0x1284233c, },
{ 0x1c5850, 0x6c48b4e4, 0x6d48b4e4, 0x6d48b0e4, 0x6c48b0e4, },
{ 0x1c5854, 0x00000859, 0x00000859, 0x00000859, 0x00000859, },
{ 0x1c5858, 0x7ec80d2e, 0x7ec80d2e, 0x7ec80d2e, 0x7ec80d2e, },
{ 0x1c585c, 0x31395c5e, 0x3139605e, 0x3139605e, 0x31395c5e, },
{ 0x1c5860, 0x0004dd10, 0x0004dd10, 0x0004dd20, 0x0004dd20, },
{ 0x1c5864, 0x0001c600, 0x0001c600, 0x0001c600, 0x0001c600, },
{ 0x1c5868, 0x409a4190, 0x409a4190, 0x409a4190, 0x409a4190, },
{ 0x1c586c, 0x050cb081, 0x050cb081, 0x050cb081, 0x050cb081, },
{ 0x1c5900, 0x00000000, 0x00000000, 0x00000000, 0x00000000, },
{ 0x1c5904, 0x00000000, 0x00000000, 0x00000000, 0x00000000, },
{ 0x1c5908, 0x00000000, 0x00000000, 0x00000000, 0x00000000, },
{ 0x1c590c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, },
{ 0x1c5914, 0x000007d0, 0x000007d0, 0x00000898, 0x00000898, },
{ 0x1c5918, 0x00000118, 0x00000230, 0x00000268, 0x00000134, },
{ 0x1c591c, 0x10000fff, 0x10000fff, 0x10000fff, 0x10000fff, },
{ 0x1c5920, 0x0510081c, 0x0510081c, 0x0510001c, 0x0510001c, },
{ 0x1c5924, 0xd0058a15, 0xd0058a15, 0xd0058a15, 0xd0058a15, },
{ 0x1c5928, 0x00000001, 0x00000001, 0x00000001, 0x00000001, },
{ 0x1c592c, 0x00000004, 0x00000004, 0x00000004, 0x00000004, },
{ 0x1c5934, 0x3f3f3f3f, 0x3f3f3f3f, 0x3f3f3f3f, 0x3f3f3f3f, },
{ 0x1c5938, 0x3f3f3f3f, 0x3f3f3f3f, 0x3f3f3f3f, 0x3f3f3f3f, },
{ 0x1c593c, 0x0000007f, 0x0000007f, 0x0000007f, 0x0000007f, },
{ 0x1c5944, 0xdfb81020, 0xdfb81020, 0xdfb81020, 0xdfb81020, },
{ 0x1c5948, 0x9280b212, 0x9280b212, 0x9280b212, 0x9280b212, },
{ 0x1c594c, 0x00020028, 0x00020028, 0x00020028, 0x00020028, },
{ 0x1c5954, 0x5d50e188, 0x5d50e188, 0x5d50e188, 0x5d50e188, },
{ 0x1c5958, 0x00081fff, 0x00081fff, 0x00081fff, 0x00081fff, },
{ 0x1c5960, 0x00009b40, 0x00009b40, 0x00009b40, 0x00009b40, },
{ 0x1c5964, 0x00001120, 0x00001120, 0x00001120, 0x00001120, },
{ 0x1c5970, 0x190fb515, 0x190fb515, 0x190fb515, 0x190fb515, },
{ 0x1c5974, 0x00000000, 0x00000000, 0x00000000, 0x00000000, },
{ 0x1c5978, 0x00000001, 0x00000001, 0x00000001, 0x00000001, },
{ 0x1c597c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, },
{ 0x1c5980, 0x00000000, 0x00000000, 0x00000000, 0x00000000, },
{ 0x1c5984, 0x00000000, 0x00000000, 0x00000000, 0x00000000, },
{ 0x1c5988, 0x00000000, 0x00000000, 0x00000000, 0x00000000, },
{ 0x1c598c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, },
{ 0x1c5990, 0x00000000, 0x00000000, 0x00000000, 0x00000000, },
{ 0x1c5994, 0x00000000, 0x00000000, 0x00000000, 0x00000000, },
{ 0x1c5998, 0x00000000, 0x00000000, 0x00000000, 0x00000000, },
{ 0x1c599c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, },
{ 0x1c59a0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, },
{ 0x1c59a4, 0x00000007, 0x00000007, 0x00000007, 0x00000007, },
{ 0x1c59a8, 0x001fff00, 0x001fff00, 0x001fff00, 0x001fff00, },
{ 0x1c59ac, 0x006f00c4, 0x006f00c4, 0x006f00c4, 0x006f00c4, },
{ 0x1c59b0, 0x03051000, 0x03051000, 0x03051000, 0x03051000, },
{ 0x1c59b4, 0x00000820, 0x00000820, 0x00000820, 0x00000820, },
{ 0x1c59bc, 0x00181400, 0x00181400, 0x00181400, 0x00181400, },
{ 0x1c59c0, 0x038919be, 0x038919be, 0x038919be, 0x038919be, },
{ 0x1c59c4, 0x06336f77, 0x06336f77, 0x06336f77, 0x06336f77, },
{ 0x1c59c8, 0x6af6532c, 0x6af6532c, 0x6af6532c, 0x6af6532c, },
{ 0x1c59cc, 0x08f186c8, 0x08f186c8, 0x08f186c8, 0x08f186c8, },
{ 0x1c59d0, 0x00046384, 0x00046384, 0x00046384, 0x00046384, },
{ 0x1c59d4, 0x00000000, 0x00000000, 0x00000000, 0x00000000, },
{ 0x1c59d8, 0x00000000, 0x00000000, 0x00000000, 0x00000000, },
{ 0x1c59dc, 0x00000000, 0x00000000, 0x00000000, 0x00000000, },
{ 0x1c59e0, 0x00000200, 0x00000200, 0x00000200, 0x00000200, },
{ 0x1c59e4, 0x64646464, 0x64646464, 0x64646464, 0x64646464, },
{ 0x1c59e8, 0x3c787878, 0x3c787878, 0x3c787878, 0x3c787878, },
{ 0x1c59ec, 0x000000aa, 0x000000aa, 0x000000aa, 0x000000aa, },
{ 0x1c59f0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, },
{ 0x1c59fc, 0x00001042, 0x00001042, 0x00001042, 0x00001042, },
{ 0x1c5a00, 0x00000000, 0x00000000, 0x00000000, 0x00000000, },
{ 0x1c5a04, 0x00000040, 0x00000040, 0x00000040, 0x00000040, },
{ 0x1c5a08, 0x00000080, 0x00000080, 0x00000080, 0x00000080, },
Annotation
- Immediate include surface: `linux/bitrev.h`, `carl9170.h`, `cmd.h`, `phy.h`.
- Detected declarations: `struct carl9170_phy_init`, `struct carl9170_rf_initvals`, `struct carl9170_phy_freq_params`, `struct carl9170_phy_freq_entry`, `struct ctl_modes`, `enum carl9170_bw`, `function Copyright`, `function carl9170_def_val`, `function carl9170_init_phy_from_eeprom`, `function carl9170_init_phy`.
- 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.