exynos5_dmc_target(9)
β¨ exynos5_dmc_target(9) β¨
okay so this is a page from the Kernel API Manual bestie, and it's all about one very specific little function in the Linux kernel π
π NAME π
exynos5_dmc_target β the function that's literally responsible for changing the frequency of the DMC π
πΈ SYNOPSIS πΈ
int exynos5_dmc_target (struct device *dev , unsigned long *freq , u32
flags );
π¦ ARGUMENTS π¦
devβ the device whose frequency is about to get changed, bestie. that's the main character here.freqβ the frequency you're requesting, in KHz. yes, KHz. read the units, i'm begging πflagsβ flags that came along with this frequency change request. they're just vibing in the passenger seat.
π DESCRIPTION π
so this is an entry function that gets handed to the devfreq framework, and its whole job is changing the frequency of the DMC. iconic behaviour, honestly.
here's the tea: the function pulls the possible rate from the OPP table, based on the frequency you requested. then it calls the next function in line β the one actually responsible for the frequency and voltage change. teamwork, fr fr π«Ά
and if any of that fails? it does not set 'curr_rate', and it returns an error value back to the framework. no cap, it just tells on itself. no silent failures here π
π SEE ALSO π
the whole friend group, assembled π β plus the kernel file ./drivers/memory/samsung/exynos5422-dmc.c:
struct 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_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)exynos5_dmc_align_init_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 π it lives in ./drivers/memory/samsung, dated October 2026 β so go forth, call the function, respect the error return, and slay β¨ππ¦
π¦ 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