exynos5_dmc_align_init_freq(9)
π exynos5_dmc_align_init_freq β the "make the bootloader's vibe match ours" era
okay so bestie, welcome to the exynos5_dmc_align_init_freq(9) page β it's a kernel API manual (section 9, we love a kernel-doc moment π₯) and it's literally all about making one lil frequency number β¨line upβ¨ with reality.
πΈ NAME πΈ
exynos5_dmc_align_init_freq β Align initial frequency value π
β¨ SYNOPSIS β¨
unsigned long exynos5_dmc_align_init_freq(struct exynos5_dmc *dmc,
unsigned long bootloader_init_freq);
like, it hands you back an unsigned long, no cap. π
π«Ά ARGUMENTS π«Ά
dmcβ the device we're about to set a frequency on. the main character of this whole operation πbootloader_init_freqβ the initial frequency that the bootloader set, measured in KHz. ngl it's giving "hand-me-down value from before you got here" π
π¦ DESCRIPTION π¦
okay so here's the tea β: the initial bootloader frequency β the one that's already present during boot β might be different from the supported frequency values in the driver. π and it's not even anyone's fault! it can happen because of different PLL settings, or because of which PLL got used as a source. different PLL, different vibe, iykyk.
so this function is the one that provides the initial_freq for the devfreq framework statistics engine β and that engine? it only supports registered values. periodt. no unregistered frequencies allowed at the function, security would like a word π
which means: some alignment must be made. that's it, that's the whole job. she aligns. she slays. π
no like fr fr, don't skip this step β the stats engine will not be accepting off-menu numbers π
π SEE ALSO π
the whole friend group, in the exact order they showed up to the group chat π:
Kernel file ./drivers/memory/samsung/exynos5422-dmc.cstruct dmc_opp_table(9)struct exynos5_dmc(9)find_target_freq_idx(9)exynos5_switch_timing_regs(9)exynos5_init_freq_table(9)exynos5_set_bypass_dram_timings(9)exynos5_dram_change_timings(9)exynos5_dmc_align_target_voltage(9)exynos5_dmc_align_bypass_voltage(9)exynos5_dmc_align_bypass_dram_timings(9)exynos5_dmc_switch_to_bypass_configuration(9)exynos5_dmc_change_freq_and_volt(9)exynos5_dmc_get_volt_freq(9)exynos5_dmc_target(9)exynos5_counters_get(9)exynos5_dmc_start_perf_events(9)exynos5_dmc_perf_events_calc(9)exynos5_dmc_perf_events_check(9)exynos5_dmc_enable_perf_events(9)exynos5_dmc_disable_perf_events(9)exynos5_dmc_get_status(9)exynos5_dmc_get_cur_freq(9)create_timings_aligned(9)of_get_dram_timings(9)exynos5_dmc_init_clks(9)exynos5_performance_counters_init(9)exynos5_dmc_set_pause_on_switching(9)exynos5_dmc_probe(9)exynos5_dmc_remove(9)
and that's the whole page, bestie πβ¨ she came from ./drivers/memory/samsung (iconic source directory, no notes π), dated October 2026, and yes β the manual header is literally still exynos5_dmc_align_init_freq(9) because we don't do rebrands here π
see u in the next manpage, mwah π«ΆπΈ
π¦ 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