ath5k_get_rate_pcal_data(9)
π ath5k_get_rate_pcal_data(9) β the kernel API manual, but make it make sense π
okay bestie, so this one lives in the Kernel API Manual and it's literally about squeezing the per-rate power calibration data out of your wifi hardware. no cap, it's a glow-up for your radio's target power. β¨
π¦ SYNOPSIS π¦
void ath5k_get_rate_pcal_data (struct ath5k_hw *ah , struct
ieee80211_channel *channel , struct ath5k_rate_pcal_info *rates );
that's it. that's the whole signature. she takes three pointers and returns void β nothing comes back, she just fills in what you handed her. π
πΈ ARGUMENTS πΈ
ahβ thestruct ath5k_hw *ah, aka your hardware handle, your main character. πchannelβ thestruct ieee80211_channel, the channel we're doing all this for.ratesβ thestruct ath5k_rate_pcal_infoto fill. you bring the container, she brings the data. π«Ά
β¨ DESCRIPTION β¨
so here's the vibe: for a given frequency, she grabs the surrounding per-rate power calibration data β the calibration points on either side of where you're at β and then interpolates between those power values. why? to set the max target power that the hw can support for each rate on this frequency. π₯
interpolation is the moment, honestly. she's not just picking a number, she's reading between the lines (and between the frequencies) to give every rate the power ceiling it deserves. β
π SEE ALSO π
okay this list is long but every single one is here, no skipping, because that's just disrespectful to the kernel. π
- Kernel file
./drivers/net/wireless/ath/ath5k/phy.cPHY related functions(9) ath5k_hw_radio_revision(9)ath5k_channel_ok(9)ath5k_hw_chan_has_spur_noise(9)ath5k_hw_rfb_op(9)ath5k_hw_write_ofdm_timings(9)ath5k_hw_phy_disable(9)ath5k_hw_wait_for_synth(9)- RF Gain optimization(9)
ath5k_hw_rfgain_opt_init(9)ath5k_hw_request_rfgain_probe(9)ath5k_hw_rf_gainf_corr(9)ath5k_hw_rf_check_gainf_readback(9)ath5k_hw_rf_gainf_adjust(9)ath5k_hw_gainf_calibrate(9)ath5k_hw_rfgain_init(9)ath5k_hw_rfregs_init(9)ath5k_hw_rf5110_chan2athchan(9)ath5k_hw_rf5110_channel(9)ath5k_hw_rf5111_chan2athchan(9)ath5k_hw_rf5111_channel(9)ath5k_hw_rf5112_channel(9)ath5k_hw_rf2425_channel(9)ath5k_hw_channel(9)- PHY Calibration routines(9)
ath5k_hw_read_measured_noise_floor(9)ath5k_hw_init_nfcal_hist(9)ath5k_hw_update_nfcal_hist(9)ath5k_hw_get_median_noise_floor(9)ath5k_hw_update_noise_floor(9)ath5k_hw_rf5110_calibrate(9)ath5k_hw_rf511x_iq_calibrate(9)ath5k_hw_phy_calibrate(9)ath5k_hw_set_spur_mitigation_filter(9)- Antenna control(9)
ath5k_hw_set_def_antenna(9)ath5k_hw_set_fast_div(9)ath5k_hw_set_antenna_switch(9)ath5k_hw_set_antenna_mode(9)ath5k_get_interpolated_value(9)ath5k_get_linear_pcdac_min(9)ath5k_create_power_curve(9)ath5k_get_chan_pcal_surrounding_piers(9)ath5k_get_max_ctl_power(9)- Power to PCDAC table functions(9)
ath5k_fill_pwr_to_pcdac_table(9)ath5k_combine_linear_pcdac_curves(9)ath5k_write_pcdac_table(9)- Power to PDADC table functions(9)
ath5k_combine_pwr_to_pdadc_curves(9)ath5k_write_pwr_to_pdadc_table(9)ath5k_setup_channel_powertable(9)ath5k_write_channel_powertable(9)- Per-rate tx power setting(9)
ath5k_setup_rate_powertable(9)ath5k_hw_txpower(9)ath5k_hw_set_txpower_limit(9)ath5k_hw_phy_init(9)
π«Ά little reminder: ath5k_get_interpolated_value(9) is right there in the list, so bestie, don't go reinventing interpolation yourself before you read that one.
and that's the whole page, babes π this one's from ./drivers/net/wireless/ath/ath5k, dated October 2026 β go forth and calibrate those rates, you iconic thing. ππ¦π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms