| /linux-6.15/drivers/pmdomain/ |
| H A D | core.c | 751 ret = genpd->power_on(genpd); in _genpd_power_on() 759 ret = genpd->power_on(genpd); in _genpd_power_on() 802 ret = genpd->power_off(genpd); in _genpd_power_off() 810 ret = genpd->power_off(genpd); in _genpd_power_off() 932 genpd->states[genpd->state_idx].usage++; in genpd_power_off() 1334 genpd->state_idx = genpd->state_count - 1; in genpd_sync_power_off() 1339 genpd->states[genpd->state_idx].usage++; in genpd_sync_power_off() 1837 ret = genpd->attach_dev ? genpd->attach_dev(genpd, dev) : 0; in genpd_add_device() 1917 genpd->detach_dev(genpd, dev); in genpd_remove_device() 2226 dev_set_name(&genpd->dev, "%s_%u", genpd->name, genpd->device_id); in genpd_alloc_data() [all …]
|
| H A D | governor.c | 159 genpd->gd->next_wakeup = domain_wakeup; in update_domain_next_wakeup() 169 genpd->states[state].residency_ns; in next_wakeup_allows_state() 186 genpd->states[state].power_on_latency_ns; in __default_power_down_ok() 256 genpd->states[state].power_on_latency_ns; in __default_power_down_ok() 272 struct genpd_governor_data *gd = genpd->gd; in _default_power_down_ok() 273 int state_idx = genpd->state_count - 1; in _default_power_down_ok() 282 update_domain_next_wakeup(genpd, now); in _default_power_down_ok() 335 genpd->state_idx = state_idx; in _default_power_down_ok() 383 genpd->gd->next_hrtimer = domain_wakeup; in cpu_power_down_ok() 390 i = genpd->state_idx; in cpu_power_down_ok() [all …]
|
| /linux-6.15/drivers/pmdomain/renesas/ |
| H A D | rmobile-sysc.c | 33 struct generic_pm_domain genpd; member 87 rmobile_pd->genpd.name, mask, in __rmobile_pd_power_up() 100 struct generic_pm_domain *genpd = &rmobile_pd->genpd; in rmobile_init_pm_domain() local 104 genpd->attach_dev = cpg_mstp_attach_dev; in rmobile_init_pm_domain() 105 genpd->detach_dev = cpg_mstp_detach_dev; in rmobile_init_pm_domain() 108 genpd->power_off = rmobile_pd_power_down; in rmobile_init_pm_domain() 109 genpd->power_on = rmobile_pd_power_up; in rmobile_init_pm_domain() 218 const char *name = pd->genpd.name; in rmobile_setup_pm_domain() 227 pd->genpd.flags |= GENPD_FLAG_ALWAYS_ON; in rmobile_setup_pm_domain() 243 pd->genpd.flags |= GENPD_FLAG_ALWAYS_ON; in rmobile_setup_pm_domain() [all …]
|
| H A D | rcar-sysc.c | 60 struct generic_pm_domain genpd; member 206 struct generic_pm_domain *genpd = &pd->genpd; in rcar_sysc_pd_setup() local 207 const char *name = pd->genpd.name; in rcar_sysc_pd_setup() 216 genpd->flags |= GENPD_FLAG_ALWAYS_ON; in rcar_sysc_pd_setup() 224 genpd->flags |= GENPD_FLAG_ALWAYS_ON; in rcar_sysc_pd_setup() 229 genpd->flags |= GENPD_FLAG_ALWAYS_ON; in rcar_sysc_pd_setup() 407 pd->genpd.name = pd->name; in rcar_sysc_pd_init() 423 &pd->genpd); in rcar_sysc_pd_init() 442 struct generic_pm_domain *genpd; in rcar_sysc_power_cpu() local 451 if (!genpd) in rcar_sysc_power_cpu() [all …]
|
| H A D | rcar-gen4-sysc.c | 192 struct generic_pm_domain genpd; member 221 struct generic_pm_domain *genpd = &pd->genpd; in rcar_gen4_sysc_pd_setup() local 222 const char *name = pd->genpd.name; in rcar_gen4_sysc_pd_setup() 231 genpd->flags |= GENPD_FLAG_ALWAYS_ON; in rcar_gen4_sysc_pd_setup() 239 genpd->flags |= GENPD_FLAG_ALWAYS_ON; in rcar_gen4_sysc_pd_setup() 244 genpd->flags |= GENPD_FLAG_ALWAYS_ON; in rcar_gen4_sysc_pd_setup() 250 genpd->attach_dev = cpg_mssr_attach_dev; in rcar_gen4_sysc_pd_setup() 251 genpd->detach_dev = cpg_mssr_detach_dev; in rcar_gen4_sysc_pd_setup() 349 pd->genpd.name = pd->name; in rcar_gen4_sysc_pd_init() 357 domains->domains[area->pdr] = &pd->genpd; in rcar_gen4_sysc_pd_init() [all …]
|
| /linux-6.15/drivers/pmdomain/tegra/ |
| H A D | powergate-bpmp.c | 20 struct generic_pm_domain genpd; member 28 return container_of(genpd, struct tegra_powergate, genpd); in to_tegra_powergate() 199 struct generic_pm_domain *genpd = &powergate->genpd; in tegra_powergate_remove() local 206 genpd->name, err); in tegra_powergate_remove() 208 kfree(genpd->name); in tegra_powergate_remove() 256 struct genpd_onecell_data *genpd = &bpmp->genpd; in tegra_bpmp_add_powergates() local 274 powergate->genpd.name); in tegra_bpmp_add_powergates() 278 genpd->num_domains = count; in tegra_bpmp_add_powergates() 279 genpd->domains = domains; in tegra_bpmp_add_powergates() 295 struct genpd_onecell_data *genpd = &bpmp->genpd; in tegra_bpmp_remove_powergates() local [all …]
|
| /linux-6.15/drivers/pmdomain/imx/ |
| H A D | imx93-pd.c | 26 struct generic_pm_domain genpd; member 35 static int imx93_pd_on(struct generic_pm_domain *genpd) in imx93_pd_on() argument 37 struct imx93_power_domain *domain = to_imx93_pd(genpd); in imx93_pd_on() 62 static int imx93_pd_off(struct generic_pm_domain *genpd) in imx93_pd_off() argument 93 pm_genpd_remove(&domain->genpd); in imx93_pd_remove() 116 domain->genpd.name = dev_name(dev); in imx93_pd_probe() 117 domain->genpd.power_off = imx93_pd_off; in imx93_pd_probe() 118 domain->genpd.power_on = imx93_pd_on; in imx93_pd_probe() 128 domain->genpd.name); in imx93_pd_probe() 131 ret = pm_genpd_init(&domain->genpd, NULL, init_off); in imx93_pd_probe() [all …]
|
| H A D | gpcv2.c | 506 .genpd = { 518 .genpd = { 530 .genpd = { 574 .genpd = { 585 .genpd = { 596 .genpd = { 607 .genpd = { 618 .genpd = { 629 .genpd = { 642 .genpd = { [all …]
|
| H A D | imx93-blk-ctrl.c | 81 struct generic_pm_domain genpd; member 98 return container_of(genpd, struct imx93_blk_ctrl_domain, genpd); in to_imx93_blk_ctrl_domain() 158 dev_dbg(bc->dev, "pd_on: name: %s\n", genpd->name); in imx93_blk_ctrl_power_on() 176 dev_dbg(bc->dev, "pd_off: name: %s\n", genpd->name); in imx93_blk_ctrl_power_off() 263 domain->genpd.name = data->name; in imx93_blk_ctrl_probe() 264 domain->genpd.power_on = imx93_blk_ctrl_power_on; in imx93_blk_ctrl_probe() 268 ret = pm_genpd_init(&domain->genpd, NULL, true); in imx93_blk_ctrl_probe() 284 lockdep_set_class(&domain->genpd.mlock, in imx93_blk_ctrl_probe() 287 bc->onecell_data.domains[i] = &domain->genpd; in imx93_blk_ctrl_probe() 304 pm_genpd_remove(&bc->domains[i].genpd); in imx93_blk_ctrl_probe() [all …]
|
| /linux-6.15/drivers/pmdomain/apple/ |
| H A D | pmgr-pwrstate.c | 42 struct generic_pm_domain genpd; member 65 genpd->name); in apple_pmgr_ps_set() 80 genpd->name, pstate, reg); in apple_pmgr_ps_set() 121 spin_lock_irqsave(&ps->genpd.slock, flags); in apple_pmgr_reset_assert() 123 if (ps->genpd.status == GENPD_STATE_OFF) in apple_pmgr_reset_assert() 143 spin_lock_irqsave(&ps->genpd.slock, flags); in apple_pmgr_reset_deassert() 149 if (ps->genpd.status == GENPD_STATE_OFF) in apple_pmgr_reset_deassert() 227 ps->genpd.flags |= GENPD_FLAG_IRQ_SAFE; in apple_pmgr_ps_probe() 228 ps->genpd.name = name; in apple_pmgr_ps_probe() 239 ps->genpd.flags |= GENPD_FLAG_ALWAYS_ON; in apple_pmgr_ps_probe() [all …]
|
| /linux-6.15/drivers/clk/mmp/ |
| H A D | pwr-island.c | 14 #define to_mmp_pm_domain(genpd) container_of(genpd, struct mmp_pm_domain, genpd) argument 17 struct generic_pm_domain genpd; member 26 static int mmp_pm_domain_power_on(struct generic_pm_domain *genpd) in mmp_pm_domain_power_on() argument 28 struct mmp_pm_domain *pm_domain = to_mmp_pm_domain(genpd); in mmp_pm_domain_power_on() 67 static int mmp_pm_domain_power_off(struct generic_pm_domain *genpd) in mmp_pm_domain_power_off() argument 69 struct mmp_pm_domain *pm_domain = to_mmp_pm_domain(genpd); in mmp_pm_domain_power_off() 109 pm_domain->genpd.name = name; in mmp_pm_domain_register() 110 pm_domain->genpd.power_on = mmp_pm_domain_power_on; in mmp_pm_domain_register() 111 pm_domain->genpd.power_off = mmp_pm_domain_power_off; in mmp_pm_domain_register() 112 pm_genpd_init(&pm_domain->genpd, NULL, true); in mmp_pm_domain_register() [all …]
|
| /linux-6.15/drivers/pmdomain/arm/ |
| H A D | scmi_perf_domain.c | 17 struct generic_pm_domain genpd; member 29 struct scmi_perf_domain *pd = to_scmi_pd(genpd); in scmi_pd_set_perf_state() 49 struct scmi_perf_domain *pd = to_scmi_pd(genpd); in scmi_pd_attach_dev() 69 struct scmi_perf_domain *pd = to_scmi_pd(genpd); in scmi_pd_detach_dev() 126 scmi_pd->genpd.name = scmi_pd->info->name; in scmi_perf_domain_probe() 127 scmi_pd->genpd.flags = GENPD_FLAG_ALWAYS_ON | in scmi_perf_domain_probe() 130 scmi_pd->genpd.set_performance_state = scmi_pd_set_perf_state; in scmi_perf_domain_probe() 131 scmi_pd->genpd.attach_dev = scmi_pd_attach_dev; in scmi_perf_domain_probe() 132 scmi_pd->genpd.detach_dev = scmi_pd_detach_dev; in scmi_perf_domain_probe() 134 ret = pm_genpd_init(&scmi_pd->genpd, NULL, false); in scmi_perf_domain_probe() [all …]
|
| H A D | scpi_pm_domain.c | 17 struct generic_pm_domain genpd; member 32 #define to_scpi_pd(gpd) container_of(gpd, struct scpi_pm_domain, genpd) 109 domains[i] = &scpi_pd->genpd; in scpi_pm_domain_probe() 113 scpi_pd->genpd.name = devm_kasprintf(dev, GFP_KERNEL, in scpi_pm_domain_probe() 115 if (!scpi_pd->genpd.name) { in scpi_pm_domain_probe() 120 scpi_pd->genpd.power_off = scpi_pd_power_off; in scpi_pm_domain_probe() 121 scpi_pd->genpd.power_on = scpi_pd_power_on; in scpi_pm_domain_probe() 129 pm_genpd_init(&scpi_pd->genpd, NULL, true); in scpi_pm_domain_probe()
|
| H A D | scmi_pm_domain.c | 17 struct generic_pm_domain genpd; member 23 #define to_scmi_pd(gpd) container_of(gpd, struct scmi_pm_domain, genpd) 103 scmi_pd->genpd.name = scmi_pd->name; in scmi_pm_domain_probe() 104 scmi_pd->genpd.power_off = scmi_pd_power_off; in scmi_pm_domain_probe() 105 scmi_pd->genpd.power_on = scmi_pd_power_on; in scmi_pm_domain_probe() 106 scmi_pd->genpd.flags = GENPD_FLAG_ACTIVE_WAKEUP; in scmi_pm_domain_probe() 108 pm_genpd_init(&scmi_pd->genpd, NULL, in scmi_pm_domain_probe() 111 domains[i] = &scmi_pd->genpd; in scmi_pm_domain_probe()
|
| /linux-6.15/drivers/pmdomain/bcm/ |
| H A D | bcm63xx-power.c | 19 struct generic_pm_domain genpd; member 29 struct generic_pm_domain **genpd; member 76 struct bcm63xx_power_dev, genpd); in bcm63xx_power_on() 84 struct bcm63xx_power_dev, genpd); in bcm63xx_power_off() 132 if (!power->genpd) in bcm63xx_power_probe() 135 power->genpd_data.domains = power->genpd; in bcm63xx_power_probe() 144 pmd->genpd.name = entry->name; in bcm63xx_power_probe() 145 pmd->genpd.flags = entry->flags; in bcm63xx_power_probe() 150 pmd->genpd.name); in bcm63xx_power_probe() 152 pmd->genpd.power_on = bcm63xx_power_on; in bcm63xx_power_probe() [all …]
|
| H A D | bcm-pmb.c | 87 struct generic_pm_domain genpd; member 233 static int bcm_pmb_power_on(struct generic_pm_domain *genpd) in bcm_pmb_power_on() argument 235 struct bcm_pmb_pm_domain *pd = container_of(genpd, struct bcm_pmb_pm_domain, genpd); in bcm_pmb_power_on() 254 static int bcm_pmb_power_off(struct generic_pm_domain *genpd) in bcm_pmb_power_off() argument 256 struct bcm_pmb_pm_domain *pd = container_of(genpd, struct bcm_pmb_pm_domain, genpd); in bcm_pmb_power_off() 319 pd->genpd.name = e->name; in bcm_pmb_probe() 320 pd->genpd.power_on = bcm_pmb_power_on; in bcm_pmb_probe() 321 pd->genpd.power_off = bcm_pmb_power_off; in bcm_pmb_probe() 323 pm_genpd_init(&pd->genpd, NULL, true); in bcm_pmb_probe() 324 pmb->genpd_onecell_data.domains[e->id] = &pd->genpd; in bcm_pmb_probe()
|
| /linux-6.15/scripts/gdb/linux/ |
| H A D | genpd.py | 46 def summary_one(self, genpd): argument 47 if genpd['status'] == 0: 50 status_string = 'off-{}'.format(genpd['state_idx']) 54 genpd['parent_links'], 60 genpd['name'].string(), 65 for pm_data in list_for_each_entry(genpd['dev_list'], 78 for genpd in list_for_each_entry( 82 self.summary_one(genpd)
|
| /linux-6.15/drivers/pmdomain/sunxi/ |
| H A D | sun20i-ppu.c | 44 struct generic_pm_domain genpd; member 49 container_of(_genpd, struct sun20i_ppu_pd, genpd) 88 static int sun20i_ppu_pd_power_on(struct generic_pm_domain *genpd) in sun20i_ppu_pd_power_on() argument 90 const struct sun20i_ppu_pd *pd = to_sun20i_ppu_pd(genpd); in sun20i_ppu_pd_power_on() 97 const struct sun20i_ppu_pd *pd = to_sun20i_ppu_pd(genpd); in sun20i_ppu_pd_power_off() 152 pd->genpd.name = desc->names[i]; in sun20i_ppu_probe() 153 pd->genpd.power_off = sun20i_ppu_pd_power_off; in sun20i_ppu_probe() 154 pd->genpd.power_on = sun20i_ppu_pd_power_on; in sun20i_ppu_probe() 157 ret = pm_genpd_init(&pd->genpd, NULL, sun20i_ppu_pd_is_on(pd)); in sun20i_ppu_probe() 160 pd->genpd.name, ret); in sun20i_ppu_probe() [all …]
|
| /linux-6.15/drivers/pmdomain/thead/ |
| H A D | th1520-pm-domains.c | 17 struct generic_pm_domain genpd; member 45 to_th1520_power_domain(struct generic_pm_domain *genpd) in to_th1520_power_domain() argument 47 return container_of(genpd, struct th1520_power_domain, genpd); in to_th1520_power_domain() 79 domain = &pd->genpd; in th1520_pd_xlate() 98 pd->genpd.power_on = th1520_pd_power_on; in th1520_add_pm_domain() 99 pd->genpd.power_off = th1520_pd_power_off; in th1520_add_pm_domain() 100 pd->genpd.name = pi->name; in th1520_add_pm_domain() 102 ret = pm_genpd_init(&pd->genpd, NULL, true); in th1520_add_pm_domain() 127 pd->genpd.name); in th1520_pd_init_all_off() 170 domains[i] = &pd->genpd; in th1520_pd_probe() [all …]
|
| /linux-6.15/drivers/pmdomain/starfive/ |
| H A D | jh71xx-pmu.c | 73 struct generic_pm_domain **genpd; member 82 struct generic_pm_domain genpd; member 158 pmd->genpd.name, on ? "on" : "off"); in jh7110_pmu_set_state() 195 pmd->genpd.name); in jh71xx_pmu_set_state() 201 pmd->genpd.name, on ? "en" : "dis"); in jh71xx_pmu_set_state() 211 struct jh71xx_pmu_dev, genpd); in jh71xx_pmu_on() 220 struct jh71xx_pmu_dev, genpd); in jh71xx_pmu_off() 308 pmd->genpd.name); in jh71xx_pmu_init_domain() 310 pmd->genpd.power_on = jh71xx_pmu_on; in jh71xx_pmu_init_domain() 353 if (!pmu->genpd) in jh71xx_pmu_probe() [all …]
|
| /linux-6.15/drivers/pmdomain/mediatek/ |
| H A D | mtk-pm-domains.c | 42 struct generic_pm_domain genpd; member 236 struct scpsys_domain *pd = container_of(genpd, struct scpsys_domain, genpd); in scpsys_power_on() 313 struct scpsys_domain *pd = container_of(genpd, struct scpsys_domain, genpd); in scpsys_power_off() 496 pd->genpd.name = node->name; in scpsys_add_one_domain() 498 pd->genpd.name = pd->data->name; in scpsys_add_one_domain() 511 scpsys->domains[id] = &pd->genpd; in scpsys_add_one_domain() 588 pd->genpd.name, ret); in scpsys_remove_one_domain() 590 scpsys_power_off(&pd->genpd); in scpsys_remove_one_domain() 598 struct generic_pm_domain *genpd; in scpsys_domain_cleanup() local 604 if (genpd) { in scpsys_domain_cleanup() [all …]
|
| /linux-6.15/include/linux/ |
| H A D | pm_domain.h | 190 int (*set_performance_state)(struct generic_pm_domain *genpd, 281 int pm_genpd_add_subdomain(struct generic_pm_domain *genpd, 283 int pm_genpd_remove_subdomain(struct generic_pm_domain *genpd, 285 int pm_genpd_init(struct generic_pm_domain *genpd, 287 int pm_genpd_remove(struct generic_pm_domain *genpd); 310 static inline int pm_genpd_add_device(struct generic_pm_domain *genpd, in pm_genpd_add_device() argument 319 static inline int pm_genpd_add_subdomain(struct generic_pm_domain *genpd, in pm_genpd_add_subdomain() argument 329 static inline int pm_genpd_init(struct generic_pm_domain *genpd, in pm_genpd_init() argument 334 static inline int pm_genpd_remove(struct generic_pm_domain *genpd) in pm_genpd_remove() argument 412 struct generic_pm_domain *genpd); [all …]
|
| /linux-6.15/drivers/pmdomain/rockchip/ |
| H A D | pm-domains.c | 259 if (genpd) { in rockchip_pmu_block() 265 genpd->name, ret); in rockchip_pmu_block() 276 if (genpd) { in rockchip_pmu_block() 300 if (genpd) { in rockchip_pmu_unblock() 358 struct generic_pm_domain *genpd = &pd->genpd; in rockchip_pmu_set_idle_request() local 386 genpd->name, val); in rockchip_pmu_set_idle_request() 499 struct generic_pm_domain *genpd = &pd->genpd; in rockchip_pmu_domain_mem_reset() local 508 genpd->name, is_on); in rockchip_pmu_domain_mem_reset() 523 genpd->name, is_on); in rockchip_pmu_domain_mem_reset() 547 struct generic_pm_domain *genpd = &pd->genpd; in rockchip_do_pmu_set_power_domain() local [all …]
|
| /linux-6.15/drivers/irqchip/ |
| H A D | irq-qcom-mpm.c | 87 struct generic_pm_domain genpd; member 295 static int mpm_pd_power_off(struct generic_pm_domain *genpd) in mpm_pd_power_off() argument 298 genpd); in mpm_pd_power_off() 328 struct generic_pm_domain *genpd; in qcom_mpm_init() local 416 genpd = &priv->genpd; in qcom_mpm_init() 417 genpd->flags = GENPD_FLAG_IRQ_SAFE; in qcom_mpm_init() 418 genpd->power_off = mpm_pd_power_off; in qcom_mpm_init() 421 if (!genpd->name) in qcom_mpm_init() 424 ret = pm_genpd_init(genpd, NULL, false); in qcom_mpm_init() 430 ret = of_genpd_add_provider_simple(np, genpd); in qcom_mpm_init() [all …]
|
| /linux-6.15/drivers/pmdomain/actions/ |
| H A D | owl-sps.c | 41 #define to_owl_pd(gpd) container_of(gpd, struct owl_sps_domain, genpd) 44 struct generic_pm_domain genpd; member 88 pd->genpd.name = pd->info->name; in owl_sps_init_domain() 89 pd->genpd.power_on = owl_sps_power_on; in owl_sps_init_domain() 90 pd->genpd.power_off = owl_sps_power_off; in owl_sps_init_domain() 91 pd->genpd.flags = pd->info->genpd_flags; in owl_sps_init_domain() 92 pm_genpd_init(&pd->genpd, NULL, false); in owl_sps_init_domain() 94 sps->genpd_data.domains[index] = &pd->genpd; in owl_sps_init_domain()
|