Lines Matching defs:prmd

67 	struct omap_prm_domain *prmd;
234 static void omap_prm_domain_show_state(struct omap_prm_domain *prmd,
237 dev_dbg(prmd->dev, "%s %s: %08x/%08x\n",
238 prmd->pd.name, desc,
239 readl_relaxed(prmd->prm->base + prmd->pwrstctrl),
240 readl_relaxed(prmd->prm->base + prmd->pwrstst));
243 static inline void omap_prm_domain_show_state(struct omap_prm_domain *prmd,
251 struct omap_prm_domain *prmd;
255 prmd = genpd_to_prm_domain(domain);
256 if (!prmd->cap)
259 omap_prm_domain_show_state(prmd, "on: previous state");
261 if (prmd->pwrstctrl_saved)
262 v = prmd->pwrstctrl_saved;
264 v = readl_relaxed(prmd->prm->base + prmd->pwrstctrl);
267 prmd->prm->base + prmd->pwrstctrl);
270 ret = readl_relaxed_poll_timeout(prmd->prm->base + prmd->pwrstst,
274 dev_err(prmd->dev, "%s: %s timed out\n",
275 prmd->pd.name, __func__);
277 omap_prm_domain_show_state(prmd, "on: new state");
283 static int omap_prm_domain_find_lowest(struct omap_prm_domain *prmd)
285 return __ffs(prmd->cap->usable_modes);
290 struct omap_prm_domain *prmd;
294 prmd = genpd_to_prm_domain(domain);
295 if (!prmd->cap)
298 omap_prm_domain_show_state(prmd, "off: previous state");
300 v = readl_relaxed(prmd->prm->base + prmd->pwrstctrl);
301 prmd->pwrstctrl_saved = v;
304 v |= omap_prm_domain_find_lowest(prmd);
306 if (prmd->cap->statechange)
308 if (prmd->cap->logicretstate)
313 writel_relaxed(v, prmd->prm->base + prmd->pwrstctrl);
316 ret = readl_relaxed_poll_timeout(prmd->prm->base + prmd->pwrstst,
320 dev_warn(prmd->dev, "%s: %s timed out\n",
321 __func__, prmd->pd.name);
323 omap_prm_domain_show_state(prmd, "off: new state");
333 struct omap_prm_domain *prmd;
337 prmd = genpd_to_prm_domain(domain);
347 prmd->pd.name, pd_args.args_count);
366 struct omap_prm_domain *prmd;
377 prmd = devm_kzalloc(dev, sizeof(*prmd), GFP_KERNEL);
378 if (!prmd)
385 prmd->dev = dev;
386 prmd->prm = prm;
387 prmd->cap = prmd->prm->data->dmap;
388 prmd->pwrstctrl = prmd->prm->data->pwrstctrl;
389 prmd->pwrstst = prmd->prm->data->pwrstst;
391 prmd->pd.name = name;
392 prmd->pd.power_on = omap_prm_domain_power_on;
393 prmd->pd.power_off = omap_prm_domain_power_off;
394 prmd->pd.attach_dev = omap_prm_domain_attach_dev;
395 prmd->pd.detach_dev = omap_prm_domain_detach_dev;
397 pm_genpd_init(&prmd->pd, NULL, true);
398 error = of_genpd_add_provider_simple(np, &prmd->pd);
400 pm_genpd_remove(&prmd->pd);
402 prm->prmd = prmd;
669 pm_genpd_remove(&prm->prmd->pd);