Lines Matching refs:genpd
42 struct generic_pm_domain genpd;
49 #define genpd_to_apple_pmgr_ps(_genpd) container_of(_genpd, struct apple_pmgr_ps, genpd)
52 static int apple_pmgr_ps_set(struct generic_pm_domain *genpd, u32 pstate, bool auto_enable)
55 struct apple_pmgr_ps *ps = genpd_to_apple_pmgr_ps(genpd);
65 genpd->name);
70 dev_dbg(ps->dev, "PS %s: pwrstate = 0x%x: 0x%x\n", genpd->name, pstate, reg);
80 genpd->name, pstate, reg);
106 static int apple_pmgr_ps_power_on(struct generic_pm_domain *genpd)
108 return apple_pmgr_ps_set(genpd, APPLE_PMGR_PS_ACTIVE, true);
111 static int apple_pmgr_ps_power_off(struct generic_pm_domain *genpd)
113 return apple_pmgr_ps_set(genpd, APPLE_PMGR_PS_PWRGATE, false);
121 spin_lock_irqsave(&ps->genpd.slock, flags);
123 if (ps->genpd.status == GENPD_STATE_OFF)
133 spin_unlock_irqrestore(&ps->genpd.slock, flags);
143 spin_lock_irqsave(&ps->genpd.slock, flags);
149 if (ps->genpd.status == GENPD_STATE_OFF)
152 spin_unlock_irqrestore(&ps->genpd.slock, flags);
227 ps->genpd.flags |= GENPD_FLAG_IRQ_SAFE;
228 ps->genpd.name = name;
229 ps->genpd.power_on = apple_pmgr_ps_power_on;
230 ps->genpd.power_off = apple_pmgr_ps_power_off;
239 ps->genpd.flags |= GENPD_FLAG_ALWAYS_ON;
243 active = apple_pmgr_ps_power_on(&ps->genpd) == 0;
252 ret = pm_genpd_init(&ps->genpd, NULL, !active);
258 ret = of_genpd_add_provider_simple(node, &ps->genpd);
286 * genpd hierarchy.
304 pm_genpd_remove(&ps->genpd);