diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2025-05-28 02:19:30 +0300 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2025-05-28 02:19:30 +0300 |
| commit | 418da6ee1ea62090f6b66d95b8fcf7db2f42c00f (patch) | |
| tree | 1b99c5f2082114080d6fc6605f6d6511f2e421ae /include/linux | |
| parent | c7c18635363f06c1943514c2f4c8170b325302e8 (diff) | |
| parent | 36795548dcc841c73f03793ed6cf741a88130922 (diff) | |
| download | linux-418da6ee1ea62090f6b66d95b8fcf7db2f42c00f.tar.xz | |
Merge tag 'pmdomain-v6.16' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/linux-pm
Pull pmdomain updates from Ulf Hansson:
"pmdomain core:
- Add residency reflection for domain-idlestates to debugfs
- Add genpd helper to correct the usage/rejected counters
pmdomain providers:
- mediatek: Add support for Dimensity 1200 MT6893
- qcom: Add support for SM4450 power domains
- rockchip: Add support for RK3562 SoC
- sunxi: Add support for Allwinner H6/H616 PRCM PPU
- ti: Fix STANDBY handling of OMAP2+ PER power domain
cpuidle-psci:
- Correct the domain-idlestate statistics in debugfs"
* tag 'pmdomain-v6.16' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/linux-pm: (23 commits)
pmdomain: ti: Fix STANDBY handling of PER power domain
pmdomain: amlogic: Constify some structures
pmdomain: core: Use genpd->opp_table to simplify error/remove path
pmdomain: core: Simplify return statement in genpd_power_off()
pmdomain: core: Convert genpd_power_off() to void
pmdomain: core: Convert to device_awake_path()
pmdomain: mediatek: Add error messages for missing regmaps
pmdomain: arm: Do not enable by default during compile testing
pmdomain: qcom: rpmhpd: Add SM4450 power domains
dt-bindings: power: qcom,rpmpd: Add SM4450 compatible
pmdomain: sunxi: add H6 PRCM PPU driver
dt-bindings: power: Add Allwinner H6/H616 PRCM PPU
pmdomain: bcm: bcm2835-power: Use devm_clk_get_optional
pmdomain: rockchip: Add support for RK3562 SoC
dt-bindings: power: rockchip: Add support for RK3562 SoC
pmdomain: mediatek: Add support for Dimensity 1200 MT6893
pmdomain: mediatek: Bump maximum bus protect data array elements
dt-bindings: power: mediatek: Support Dimensity 1200 MT6893 MTCMOS
pmdomain: core: Reset genpd->states to avoid freeing invalid data
pmdomain: core: Add residency reflection for domain-idlestates to debugfs
...
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/pm_domain.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/include/linux/pm_domain.h b/include/linux/pm_domain.h index d56a78af4af1..0b18160901a2 100644 --- a/include/linux/pm_domain.h +++ b/include/linux/pm_domain.h @@ -142,6 +142,8 @@ struct genpd_governor_data { bool max_off_time_changed; ktime_t next_wakeup; ktime_t next_hrtimer; + ktime_t last_enter; + bool reflect_residency; bool cached_power_down_ok; bool cached_power_down_state_idx; }; @@ -153,6 +155,8 @@ struct genpd_power_state { s64 residency_ns; u64 usage; u64 rejected; + u64 above; + u64 below; struct fwnode_handle *fwnode; u64 idle_time; void *data; @@ -285,6 +289,8 @@ int pm_genpd_remove_subdomain(struct generic_pm_domain *genpd, int pm_genpd_init(struct generic_pm_domain *genpd, struct dev_power_governor *gov, bool is_off); int pm_genpd_remove(struct generic_pm_domain *genpd); +void pm_genpd_inc_rejected(struct generic_pm_domain *genpd, + unsigned int state_idx); struct device *dev_to_genpd_dev(struct device *dev); int dev_pm_genpd_set_performance_state(struct device *dev, unsigned int state); int dev_pm_genpd_add_notifier(struct device *dev, struct notifier_block *nb); @@ -336,6 +342,10 @@ static inline int pm_genpd_remove(struct generic_pm_domain *genpd) return -EOPNOTSUPP; } +static inline void pm_genpd_inc_rejected(struct generic_pm_domain *genpd, + unsigned int state_idx) +{ } + static inline struct device *dev_to_genpd_dev(struct device *dev) { return ERR_PTR(-EOPNOTSUPP); |
