pmdomain: core: Show latency/residency for domain idle states in debugfs

Similar to how cpuidle provides the values for latency and residency for
CPU's idle states through sysfs, let's make the corresponding data for PM
domain's idle states available for user space, via genpd's debugfs support.

Suggested-by: Dhruva Gole <d-gole@ti.com>
Reviewed-by: Dhruva Gole <d-gole@ti.com>
Reviewed-by: Kevin Hilman <khilman@baylibre.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
This commit is contained in:
Ulf Hansson
2026-01-19 15:31:14 +01:00
parent 32d731611a
commit 68831a9ef9

View File

@@ -3809,15 +3809,24 @@ static int idle_states_desc_show(struct seq_file *s, void *data)
if (ret)
return -ERESTARTSYS;
seq_puts(s, "State Name\n");
seq_puts(s, "State Latency(us) Residency(us) Name\n");
for (i = 0; i < genpd->state_count; i++) {
struct genpd_power_state *state = &genpd->states[i];
u64 latency, residency;
char state_name[7];
latency = state->power_off_latency_ns +
state->power_on_latency_ns;
do_div(latency, NSEC_PER_USEC);
residency = state->residency_ns;
do_div(residency, NSEC_PER_USEC);
snprintf(state_name, ARRAY_SIZE(state_name), "S%-5d", i);
seq_printf(s, "%-6s %s\n",
state_name, state->name ?: "N/A");
seq_printf(s, "%-6s %-12llu %-14llu %s\n",
state_name, latency, residency,
state->name ?: "N/A");
}
genpd_unlock(genpd);