Lines Matching full:domain

3  * ZynqMP Generic PM domain support
28 * @gpd: Generic power domain
29 * @node_id: PM node ID corresponding to device inside PM domain
30 * @requested: The PM node mapped to the PM domain has been requested
65 * zynqmp_gpd_power_on() - Power on PM domain
66 * @domain: Generic PM domain
68 * This function is called before devices inside a PM domain are resumed, to
69 * power on PM domain.
73 static int zynqmp_gpd_power_on(struct generic_pm_domain *domain) in zynqmp_gpd_power_on() argument
75 struct zynqmp_pm_domain *pd = to_zynqmp_pm_domain(domain); in zynqmp_gpd_power_on()
83 dev_err(&domain->dev, in zynqmp_gpd_power_on()
89 dev_dbg(&domain->dev, "set requirement to 0x%x for PM node id %d\n", in zynqmp_gpd_power_on()
96 * zynqmp_gpd_power_off() - Power off PM domain
97 * @domain: Generic PM domain
99 * This function is called after devices inside a PM domain are suspended, to
100 * power off PM domain.
104 static int zynqmp_gpd_power_off(struct generic_pm_domain *domain) in zynqmp_gpd_power_off() argument
106 struct zynqmp_pm_domain *pd = to_zynqmp_pm_domain(domain); in zynqmp_gpd_power_off()
112 /* If domain is already released there is nothing to be done */ in zynqmp_gpd_power_off()
114 dev_dbg(&domain->dev, "PM node id %d is already released\n", in zynqmp_gpd_power_off()
119 list_for_each_entry_safe(pdd, tmp, &domain->dev_list, list_node) { in zynqmp_gpd_power_off()
124 domain->name); in zynqmp_gpd_power_off()
133 dev_err(&domain->dev, in zynqmp_gpd_power_off()
139 dev_dbg(&domain->dev, "set requirement to 0x%x for PM node id %d\n", in zynqmp_gpd_power_off()
146 * zynqmp_gpd_attach_dev() - Attach device to the PM domain
147 * @domain: Generic PM domain
152 static int zynqmp_gpd_attach_dev(struct generic_pm_domain *domain, in zynqmp_gpd_attach_dev() argument
155 struct zynqmp_pm_domain *pd = to_zynqmp_pm_domain(domain); in zynqmp_gpd_attach_dev()
159 link = device_link_add(dev, &domain->dev, DL_FLAG_SYNC_STATE_ONLY); in zynqmp_gpd_attach_dev()
161 dev_dbg(&domain->dev, "failed to create device link for %s\n", in zynqmp_gpd_attach_dev()
165 if (domain->device_count) in zynqmp_gpd_attach_dev()
171 dev_err(&domain->dev, "%s request failed for node %d: %d\n", in zynqmp_gpd_attach_dev()
172 domain->name, pd->node_id, ret); in zynqmp_gpd_attach_dev()
178 dev_dbg(&domain->dev, "%s requested PM node id %d\n", in zynqmp_gpd_attach_dev()
185 * zynqmp_gpd_detach_dev() - Detach device from the PM domain
186 * @domain: Generic PM domain
189 static void zynqmp_gpd_detach_dev(struct generic_pm_domain *domain, in zynqmp_gpd_detach_dev() argument
192 struct zynqmp_pm_domain *pd = to_zynqmp_pm_domain(domain); in zynqmp_gpd_detach_dev()
196 if (domain->device_count) in zynqmp_gpd_detach_dev()
201 dev_err(&domain->dev, "failed to release PM node id %d: %d\n", in zynqmp_gpd_detach_dev()
208 dev_dbg(&domain->dev, "%s released PM node id %d\n", in zynqmp_gpd_detach_dev()
231 * Add index in empty node_id of power domain list as no existing in zynqmp_gpd_xlate()
232 * power domain found for current index. in zynqmp_gpd_xlate()
277 pd->gpd.name = kasprintf(GFP_KERNEL, "domain%d", i); in zynqmp_gpd_probe()