STRUCT EMIF_CUSTOM_CONFIGS(9)
π struct emif_custom_configs (9) β Kernel API Manual π
okay bestie, gather round, because this is the little struct that lets the platform layer hand down its own custom configuration parameters and policies to the EMIF driver π like, it's the messenger, it's the vibe-bringer, it's giving "I come bearing settings." β¨
πΈ NAME πΈ
struct emif_custom_configs β custom configuration parameters/policies passed from the platform layer π«Ά
β¨ SYNOPSIS β¨
struct emif_custom_configs {
u32 mask;
u32 lpmode;
u32 lpmode_timeout_performance;
u32 lpmode_timeout_power;
u32 lpmode_freq_threshold;
u32 temp_alert_poll_interval_ms;
};
no cap, that's the whole shape of it π keep scrolling for the member-by-member breakdown, iykyk π
π¦ Members π¦
π the fields, one by one π
maskβ the mask that tells everyone which configs are actually being requested π like a little guest list for your settings.lpmodeβ the LPMODE to be used in thePWR_MGMT_CTRLregister π₯ that's the one, that's the register.lpmode_timeout_performanceβ the timeout before LPMODE entry when you want higher performance and you're willing to pay for it in power π (typically at higher OPPs).lpmode_timeout_powerβ the timeout before LPMODE entry when better power savings is the moment and performance is simply not the priority π (typically at lower loads, which show up as lower OPPs).lpmode_freq_thresholdβ the DDR frequency threshold that sorts the two cases above apart. fr fr, here's the whole decision in one line:
timeout = (freq >= lpmode_freq_threshold) ? lpmode_timeout_performance : lpmode_timeout_power;
literally that's it, that's the whole vibe check π§
temp_alert_poll_interval_msβ the LPDDR2 MR4 polling interval at nominal temperature, in milliseconds β±οΈ and when the temperature gets high? polling happens 4 times as frequently π₯ not me stressing about thermals π
π SEE ALSO π
Kernel file ./include/linux/platform_data/emif_plat.h, struct ddr_device_info(9), struct emif_platform_data(9) π go read those next, bestie, they're iconic π
π
reminder: the mask is what decides which of these configs are actually requested β don't set fields and forget to ask for them, that's giving chaos.
alright that's the whole page π«Ά this came from ./include/linux/platform_data, dated October 2026, and honestly? slay β bye 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