ath5k_create_power_curve(9)
π ath5k_create_power_curve(9) π
okay bestie, this one lives in the Kernel API Manual, and it's genuinely such a fun little function. buckle up π
β¨ NAME β¨
ath5k_create_power_curve β literally makes a Power to PDADC curve, or a Power to PCDAC curve. that's the whole vibe. no cap β¨
πΈ SYNOPSIS πΈ
void ath5k_create_power_curve (s16 pmin , s16 pmax , const s16 *pwr ,
const u8 *vpd , u8 num_points , u8 *vpd_table , u8 type );
it returns void, so likeβ¦ it's not gonna hand you anything back. it just does the thing and dips π
π¦ ARGUMENTS π¦
pminβ the minimum power value, aka xmin. the floor, the bare minimum, the "i'm not getting out of bed for less than this" of power values.pmaxβ the maximum power value, aka xmax. the ceiling. main character energy, at max volume π₯pwrβ an array of power steps. these are your x values, queen πvpdβ an array of matching PCDAC/PDADC steps. these are your y values, and yes they gotta matchpwr, it's giving paired set π«Άnum_pointsβ how many points you actually showed up with. count 'em.vpd_tableβ the array you fill up with the full PCDAC/PDADC values (y values). this is the output bestie, this is what gets written πtypeβ one ofenum ath5k_powertable_type(fromeeprom.h). pick your flavor, there's a whole enum of them.
π DESCRIPTION π
so what it does: it interpolates the (pwr,vpd) points to create a Power to PDADC curve, or a Power to PCDAC curve. like connect-the-dots but for radio calibration β¨
each curve has power on the x axis (in 0.5dB units) and PCDAC/PDADC steps (offsets) on the y axis. power can go up to 31.5dB, and the max PCDAC/PDADC step for each curve is 64 β but here's the tea π΅ β we can write more than one curve on hw, so we can actually go up to 128, which is the max step we can write on the final table. iconic. no notes. π
and what actually gets written on hw? the y values. the PCDAC/PDADC steps. that's it, that's the whole job. π
ngl this is one of those "sounds small, matters a lot" functions β it's the glow-up pass that turns your handful of calibration points into the full table π§
π SEE ALSO π
okay this list is LONG and honestly kinda iconic, so here's everybody, fr fr:
- Kernel file
./drivers/net/wireless/ath/ath5k/phy.cβ PHY 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_get_chan_pcal_surrounding_piers(9)ath5k_get_rate_pcal_data(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)
likeβ¦ that's the whole friend group ππ«Ά
ok that's the page!! this little cutie comes from ./drivers/net/wireless/ath/ath5k and it's dated October 2026 β so yeah, it's giving future icon π« slay, and see u in the next manpage bestie ππβ¨
π¦ 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