exynos5_dmc_get_status(9)
π exynos5_dmc_get_status
okay bestie, so this is a kernel API manual page β Kernel API Manual energy, and the function we're stanning is exynos5_dmc_get_status. one job, and it does it: reads the current DMC performance statistics. that's it. that's the whole vibe. β¨
πΈ NAME πΈ
exynos5_dmc_get_status β Read current DMC performance statistics.
like, literally what it says on the tin, no cap. it goes and reads the DMC's current performance stats for you.
β¨ SYNOPSIS β¨
int exynos5_dmc_get_status (struct device *dev , struct
devfreq_dev_status *stat );
she's an int returning icon, she takes two args, and yes the spacing is exactly like that π β copy it character for character, don't @ me.
π ARGUMENTS π
devβ the device you're asking for statistics about. it's giving "who's the main character here" β this is it. π«Άstatβ the structure that holds the statistic fields. this is where the numbers end up. she's the container, the vessel, the whole point. π
π¦ DESCRIPTION π¦
okay so what actually happens: the function reads the DMC performance counters and calculates busy_time and total_time. that's the whole bit. love that for us.
now here's the important part β to protect from overflow, the values are shifted right by 10. not 9, not 11. ten. remember it. π (this is a real caveat bestie, don't skip it, overflow is not cute.)
after reading out the counters, they're setup to count again β so the whole thing resets and gets ready for round two. iconic behavior, honestly. π₯
π SEE ALSO π
the whole friend group, fr fr β every single one of these, no skips:
- 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_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_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)
π little reminder before you go: the shift-right-by-10 thing is load-bearing. it's there so the counters don't overflow. respect the shift. π
k bye bestie, this page came from ./drivers/memory/samsung and it's dated October 2026 β so yeah, she's from the future and she's still serving. π§ββοΈπ
exynos5_dmc_get_status(9) out. π
π¦ 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