Lines Matching +full:domain +full:- +full:idle +full:- +full:state

1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * pm_domain.h - Definitions and headers related to device power domains.
31 * ->power_on|off(), doesn't sleep. Hence, these
33 * enables genpd to power on/off the PM domain,
39 * GENPD_FLAG_ALWAYS_ON: Instructs genpd to always keep the PM domain
42 * GENPD_FLAG_ACTIVE_WAKEUP: Instructs genpd to keep the PM domain powered
50 * deploy idle power management support for CPUs
53 * last-man-standing algorithm, for the CPUs in the
54 * PM domain.
56 * GENPD_FLAG_RPM_ALWAYS_ON: Instructs genpd to always keep the PM domain
67 GENPD_STATE_ON = 0, /* PM domain is on */
68 GENPD_STATE_OFF, /* PM domain is off */
79 bool (*power_down_ok)(struct dev_pm_domain *domain);
105 struct dev_pm_domain domain; /* PM domain operations */ member
107 struct list_head parent_links; /* Links with PM domain as a parent */
108 struct list_head child_links; /* Links with PM domain as a child */
112 struct fwnode_handle *provider; /* Identity of the domain provider */
116 enum gpd_status status; /* Current state of the domain */
120 unsigned int performance_state; /* Aggregated max performance state */
122 int (*power_off)(struct generic_pm_domain *domain);
123 int (*power_on)(struct generic_pm_domain *domain);
129 unsigned int state);
135 int (*attach_dev)(struct generic_pm_domain *domain,
137 void (*detach_dev)(struct generic_pm_domain *domain,
144 unsigned int state_idx; /* state that genpd will go to when off */
160 return container_of(pd, struct generic_pm_domain, domain); in pd_to_genpd()
169 /* Sub-domain's per-master domain performance state */
205 return to_gpd_data(dev->power.subsys_data->domain_data); in dev_gpd_data()
217 int dev_pm_genpd_set_performance_state(struct device *dev, unsigned int state);
230 return ERR_PTR(-ENOSYS); in dev_gpd_data()
235 return -ENOSYS; in pm_genpd_add_device()
239 return -ENOSYS; in pm_genpd_remove_device()
244 return -ENOSYS; in pm_genpd_add_subdomain()
249 return -ENOSYS; in pm_genpd_remove_subdomain()
254 return -ENOSYS; in pm_genpd_init()
258 return -ENOTSUPP; in pm_genpd_remove()
262 unsigned int state) in dev_pm_genpd_set_performance_state() argument
264 return -ENOTSUPP; in dev_pm_genpd_set_performance_state()
270 return -ENOTSUPP; in dev_pm_genpd_add_notifier()
275 return -ENOTSUPP; in dev_pm_genpd_remove_notifier()
290 /* OF PM domain providers */
328 return -ENOTSUPP; in of_genpd_add_provider_simple()
334 return -ENOTSUPP; in of_genpd_add_provider_onecell()
342 return -ENODEV; in of_genpd_add_device()
348 return -ENODEV; in of_genpd_add_subdomain()
354 return -ENODEV; in of_genpd_remove_subdomain()
360 return -ENODEV; in of_genpd_parse_idle_states()
390 return ERR_PTR(-ENOTSUPP); in of_genpd_remove_last()