Home
last modified time | relevance | path

Searched full:genpd (Results 1 – 25 of 43) sorted by relevance

12

/linux/drivers/pmdomain/
H A Dcore.c27 /* Provides a unique ID for each genpd device */
37 #define GENPD_DEV_CALLBACK(genpd, type, callback, dev) \ argument
42 __routine = genpd->dev_ops.callback; \
53 void (*lock)(struct generic_pm_domain *genpd);
54 void (*lock_nested)(struct generic_pm_domain *genpd, int depth);
55 int (*lock_interruptible)(struct generic_pm_domain *genpd);
56 void (*unlock)(struct generic_pm_domain *genpd);
59 static void genpd_lock_mtx(struct generic_pm_domain *genpd) in genpd_lock_mtx() argument
61 mutex_lock(&genpd->mlock); in genpd_lock_mtx()
64 static void genpd_lock_nested_mtx(struct generic_pm_domain *genpd, in genpd_lock_nested_mtx() argument
[all …]
/linux/drivers/pmdomain/marvell/
H A Dpxa1908-power-controller.c36 #define to_pxa1908_pd(_genpd) container_of(_genpd, struct pxa1908_pd, genpd)
56 struct generic_pm_domain genpd; member
74 static int pxa1908_pd_power_on(struct generic_pm_domain *genpd) in pxa1908_pd_power_on() argument
76 struct pxa1908_pd *pd = to_pxa1908_pd(genpd); in pxa1908_pd_power_on()
91 dev_err(ctrl->dev, "timed out powering on domain '%s'\n", pd->genpd.name); in pxa1908_pd_power_on()
96 static int pxa1908_pd_power_off(struct generic_pm_domain *genpd) in pxa1908_pd_power_off() argument
98 struct pxa1908_pd *pd = to_pxa1908_pd(genpd); in pxa1908_pd_power_off()
110 dev_err(ctrl->dev, "timed out powering off domain '%s'\n", pd->genpd.name); in pxa1908_pd_power_off()
117 static inline int pxa1908_dsi_power_on(struct generic_pm_domain *genpd) in pxa1908_dsi_power_on() argument
119 struct pxa1908_pd *pd = to_pxa1908_pd(genpd); in pxa1908_dsi_power_on()
[all …]
/linux/drivers/pmdomain/renesas/
H A Drmobile-sysc.c33 struct generic_pm_domain genpd; member
43 return container_of(d, struct rmobile_pm_domain, genpd); in to_rmobile_pd()
46 static int rmobile_pd_power_down(struct generic_pm_domain *genpd) in rmobile_pd_power_down() argument
48 struct rmobile_pm_domain *rmobile_pd = to_rmobile_pd(genpd); in rmobile_pd_power_down()
66 pr_debug("%s: Power off, 0x%08x -> PSTR = 0x%08x\n", genpd->name, mask, in rmobile_pd_power_down()
87 rmobile_pd->genpd.name, mask, in __rmobile_pd_power_up()
93 static int rmobile_pd_power_up(struct generic_pm_domain *genpd) in rmobile_pd_power_up() argument
95 return __rmobile_pd_power_up(to_rmobile_pd(genpd)); in rmobile_pd_power_up()
100 struct generic_pm_domain *genpd = &rmobile_pd->genpd; in rmobile_init_pm_domain() local
103 genpd->flags |= GENPD_FLAG_PM_CLK | GENPD_FLAG_ACTIVE_WAKEUP | in rmobile_init_pm_domain()
[all …]
H A Drcar-gen4-sysc.c192 struct generic_pm_domain genpd; member
200 return container_of(d, struct rcar_gen4_sysc_pd, genpd); in to_rcar_gen4_pd()
203 static int rcar_gen4_sysc_pd_power_off(struct generic_pm_domain *genpd) in rcar_gen4_sysc_pd_power_off() argument
205 struct rcar_gen4_sysc_pd *pd = to_rcar_gen4_pd(genpd); in rcar_gen4_sysc_pd_power_off()
207 pr_debug("%s: %s\n", __func__, genpd->name); in rcar_gen4_sysc_pd_power_off()
211 static int rcar_gen4_sysc_pd_power_on(struct generic_pm_domain *genpd) in rcar_gen4_sysc_pd_power_on() argument
213 struct rcar_gen4_sysc_pd *pd = to_rcar_gen4_pd(genpd); in rcar_gen4_sysc_pd_power_on()
215 pr_debug("%s: %s\n", __func__, genpd->name); in rcar_gen4_sysc_pd_power_on()
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()
[all …]
H A Drcar-sysc.c60 struct generic_pm_domain genpd; member
183 return container_of(d, struct rcar_sysc_pd, genpd); in to_rcar_pd()
186 static int rcar_sysc_pd_power_off(struct generic_pm_domain *genpd) in rcar_sysc_pd_power_off() argument
188 struct rcar_sysc_pd *pd = to_rcar_pd(genpd); in rcar_sysc_pd_power_off()
190 pr_debug("%s: %s\n", __func__, genpd->name); in rcar_sysc_pd_power_off()
194 static int rcar_sysc_pd_power_on(struct generic_pm_domain *genpd) in rcar_sysc_pd_power_on() argument
196 struct rcar_sysc_pd *pd = to_rcar_pd(genpd); in rcar_sysc_pd_power_on()
198 pr_debug("%s: %s\n", __func__, genpd->name); in rcar_sysc_pd_power_on()
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()
[all …]
/linux/drivers/pmdomain/imx/
H A Dimx93-pd.c25 struct generic_pm_domain genpd; member
32 #define to_imx93_pd(_genpd) container_of(_genpd, struct imx93_power_domain, genpd)
34 static int imx93_pd_on(struct generic_pm_domain *genpd) in imx93_pd_on() argument
36 struct imx93_power_domain *domain = to_imx93_pd(genpd); in imx93_pd_on()
43 dev_err(domain->dev, "failed to enable clocks for domain: %s\n", genpd->name); in imx93_pd_on()
54 dev_err(domain->dev, "pd_on timeout: name: %s, stat: %x\n", genpd->name, val); in imx93_pd_on()
61 static int imx93_pd_off(struct generic_pm_domain *genpd) in imx93_pd_off() argument
63 struct imx93_power_domain *domain = to_imx93_pd(genpd); in imx93_pd_off()
76 dev_err(domain->dev, "pd_off timeout: name: %s, stat: %x\n", genpd->name, val); in imx93_pd_off()
92 pm_genpd_remove(&domain->genpd); in imx93_pd_remove()
[all …]
H A Dgpcv2.c276 struct generic_pm_domain genpd; member
309 to_imx_pgc_domain(struct generic_pm_domain *genpd) in to_imx_pgc_domain() argument
311 return container_of(genpd, struct imx_pgc_domain, genpd); in to_imx_pgc_domain()
314 static int imx_pgc_power_up(struct generic_pm_domain *genpd) in imx_pgc_power_up() argument
316 struct imx_pgc_domain *domain = to_imx_pgc_domain(genpd); in imx_pgc_power_up()
424 static int imx_pgc_power_down(struct generic_pm_domain *genpd) in imx_pgc_power_down() argument
426 struct imx_pgc_domain *domain = to_imx_pgc_domain(genpd); in imx_pgc_power_down()
504 .genpd = {
516 .genpd = {
528 .genpd = {
[all …]
H A Dimx93-blk-ctrl.c90 struct generic_pm_domain genpd; member
106 to_imx93_blk_ctrl_domain(struct generic_pm_domain *genpd) in to_imx93_blk_ctrl_domain() argument
108 return container_of(genpd, struct imx93_blk_ctrl_domain, genpd); in to_imx93_blk_ctrl_domain()
135 static int imx93_blk_ctrl_power_on(struct generic_pm_domain *genpd) in imx93_blk_ctrl_power_on() argument
137 struct imx93_blk_ctrl_domain *domain = to_imx93_blk_ctrl_domain(genpd); in imx93_blk_ctrl_power_on()
168 dev_dbg(bc->dev, "pd_on: name: %s\n", genpd->name); in imx93_blk_ctrl_power_on()
180 static int imx93_blk_ctrl_power_off(struct generic_pm_domain *genpd) in imx93_blk_ctrl_power_off() argument
182 struct imx93_blk_ctrl_domain *domain = to_imx93_blk_ctrl_domain(genpd); in imx93_blk_ctrl_power_off()
186 dev_dbg(bc->dev, "pd_off: name: %s\n", genpd->name); in imx93_blk_ctrl_power_off()
209 struct generic_pm_domain *genpd = data; in imx93_release_pm_genpd() local
[all …]
H A Dimx8m-blk-ctrl.c72 struct generic_pm_domain genpd; member
89 to_imx8m_blk_ctrl_domain(struct generic_pm_domain *genpd) in to_imx8m_blk_ctrl_domain() argument
91 return container_of(genpd, struct imx8m_blk_ctrl_domain, genpd); in to_imx8m_blk_ctrl_domain()
94 static int imx8m_blk_ctrl_power_on(struct generic_pm_domain *genpd) in imx8m_blk_ctrl_power_on() argument
96 struct imx8m_blk_ctrl_domain *domain = to_imx8m_blk_ctrl_domain(genpd); in imx8m_blk_ctrl_power_on()
161 static int imx8m_blk_ctrl_power_off(struct generic_pm_domain *genpd) in imx8m_blk_ctrl_power_off() argument
163 struct imx8m_blk_ctrl_domain *domain = to_imx8m_blk_ctrl_domain(genpd); in imx8m_blk_ctrl_power_off()
288 domain->genpd.name = data->name; in imx8m_blk_ctrl_probe()
289 domain->genpd.power_on = imx8m_blk_ctrl_power_on; in imx8m_blk_ctrl_probe()
290 domain->genpd.power_off = imx8m_blk_ctrl_power_off; in imx8m_blk_ctrl_probe()
[all …]
/linux/drivers/clk/mmp/
H A Dpwr-island.c14 #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/drivers/pmdomain/bcm/
H A Dbcm63xx-power.c19 struct generic_pm_domain genpd; member
29 struct generic_pm_domain **genpd; member
73 static int bcm63xx_power_on(struct generic_pm_domain *genpd) in bcm63xx_power_on() argument
75 struct bcm63xx_power_dev *pmd = container_of(genpd, in bcm63xx_power_on()
76 struct bcm63xx_power_dev, genpd); in bcm63xx_power_on()
81 static int bcm63xx_power_off(struct generic_pm_domain *genpd) in bcm63xx_power_off() argument
83 struct bcm63xx_power_dev *pmd = container_of(genpd, in bcm63xx_power_off()
84 struct bcm63xx_power_dev, genpd); in bcm63xx_power_off()
129 power->genpd = devm_kcalloc(dev, power->genpd_data.num_domains, in bcm63xx_power_probe()
132 if (!power->genpd) in bcm63xx_power_probe()
[all …]
H A Dbcm-pmb.c87 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()
[all …]
/linux/scripts/gdb/linux/
H A Dgenpd.py39 '''Print genpd summary
44 super(LxGenPDSummary, self).__init__('lx-genpd-summary', gdb.COMMAND_DATA)
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/drivers/pmdomain/starfive/
H A Djh71xx-pmu.c73 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()
208 static int jh71xx_pmu_on(struct generic_pm_domain *genpd) in jh71xx_pmu_on() argument
210 struct jh71xx_pmu_dev *pmd = container_of(genpd, in jh71xx_pmu_on()
211 struct jh71xx_pmu_dev, genpd); in jh71xx_pmu_on()
217 static int jh71xx_pmu_off(struct generic_pm_domain *genpd) in jh71xx_pmu_off() argument
219 struct jh71xx_pmu_dev *pmd = container_of(genpd, in jh71xx_pmu_off()
[all …]
/linux/drivers/pmdomain/sunxi/
H A Dsun50i-h6-prcm-ppu.c38 struct generic_pm_domain genpd; member
82 container_of(_genpd, struct sun50i_h6_ppu_pd, genpd)
104 static int sun50i_h6_ppu_pd_power_on(struct generic_pm_domain *genpd) in sun50i_h6_ppu_pd_power_on() argument
106 const struct sun50i_h6_ppu_pd *pd = to_sun50i_h6_ppu_pd(genpd); in sun50i_h6_ppu_pd_power_on()
111 static int sun50i_h6_ppu_pd_power_off(struct generic_pm_domain *genpd) in sun50i_h6_ppu_pd_power_off() argument
113 const struct sun50i_h6_ppu_pd *pd = to_sun50i_h6_ppu_pd(genpd); in sun50i_h6_ppu_pd_power_off()
155 pd->genpd.name = desc->name; in sun50i_h6_ppu_probe()
156 pd->genpd.power_off = sun50i_h6_ppu_pd_power_off; in sun50i_h6_ppu_probe()
157 pd->genpd.power_on = sun50i_h6_ppu_pd_power_on; in sun50i_h6_ppu_probe()
159 pd->genpd.flags = GENPD_FLAG_ALWAYS_ON; in sun50i_h6_ppu_probe()
[all …]
H A Dsun20i-ppu.c44 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()
95 static int sun20i_ppu_pd_power_off(struct generic_pm_domain *genpd) in sun20i_ppu_pd_power_off() argument
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()
[all …]
/linux/drivers/pmdomain/arm/
H A Dscpi_pm_domain.c17 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()
116 dev_err(dev, "Failed to allocate genpd name:%pOFn.%d\n", 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()
/linux/drivers/clk/mediatek/
H A Dclk-mt8173-mfgtop.c47 struct generic_pm_domain genpd; member
68 struct mt8173_mfgtop_data *data = container_of(domain, struct mt8173_mfgtop_data, genpd); in clk_mt8173_mfgtop_power_on()
100 struct mt8173_mfgtop_data *data = container_of(domain, struct mt8173_mfgtop_data, genpd); in clk_mt8173_mfgtop_power_off()
143 * deadlock between clk_register() and the genpd framework. in clk_mt8173_mfgtop_probe()
170 data->genpd.name = "mfg-top"; in clk_mt8173_mfgtop_probe()
171 data->genpd.power_on = clk_mt8173_mfgtop_power_on; in clk_mt8173_mfgtop_probe()
172 data->genpd.power_off = clk_mt8173_mfgtop_power_off; in clk_mt8173_mfgtop_probe()
173 ret = pm_genpd_init(&data->genpd, NULL, true); in clk_mt8173_mfgtop_probe()
179 ret = of_genpd_add_provider_simple(node, &data->genpd); in clk_mt8173_mfgtop_probe()
197 pm_genpd_remove(&data->genpd); in clk_mt8173_mfgtop_probe()
[all …]
/linux/drivers/cpuidle/
H A Dcpuidle-psci-domain.c3 * PM domains for CPUs via genpd - managed by cpuidle-psci.
109 struct generic_pm_domain *genpd; in psci_pd_remove() local
115 genpd = of_genpd_remove_last(pd_provider->node); in psci_pd_remove()
116 if (!IS_ERR(genpd)) in psci_pd_remove()
117 kfree(genpd); in psci_pd_remove()
141 * initialize a genpd/genpd-of-provider pair when it's found. in psci_cpuidle_domain_probe()
158 /* Link genpd masters/subdomains to model the CPU topology. */ in psci_cpuidle_domain_probe()
H A Dcpuidle-riscv-sbi.c426 struct generic_pm_domain *genpd; in sbi_pd_remove() local
431 genpd = of_genpd_remove_last(pd_provider->node); in sbi_pd_remove()
432 if (!IS_ERR(genpd)) in sbi_pd_remove()
433 kfree(genpd); in sbi_pd_remove()
450 * initialize a genpd/genpd-of-provider pair when it's found. in sbi_genpd_probe()
467 /* Link genpd masters/subdomains to model the CPU topology. */ in sbi_genpd_probe()
H A Ddt_idle_genpd.c3 * PM domains for CPUs via genpd.
12 #define pr_fmt(fmt) "dt-idle-genpd: " fmt
107 * Parse the domain idle states and let genpd manage the state selection in dt_idle_pd_alloc()
/linux/drivers/pmdomain/mediatek/
H A Dmtk-pm-domains.c66 struct generic_pm_domain genpd; member
87 #define to_scpsys_domain(gpd) container_of(gpd, struct scpsys_domain, genpd)
317 static int scpsys_hwv_power_on(struct generic_pm_domain *genpd) in scpsys_hwv_power_on() argument
319 struct scpsys_domain *pd = container_of(genpd, struct scpsys_domain, genpd); in scpsys_hwv_power_on()
471 static int scpsys_hwv_power_off(struct generic_pm_domain *genpd) in scpsys_hwv_power_off() argument
473 struct scpsys_domain *pd = container_of(genpd, struct scpsys_domain, genpd); in scpsys_hwv_power_off()
696 static int scpsys_power_on(struct generic_pm_domain *genpd) in scpsys_power_on() argument
698 struct scpsys_domain *pd = container_of(genpd, struct scpsys_domain, genpd); in scpsys_power_on()
837 static int scpsys_power_off(struct generic_pm_domain *genpd) in scpsys_power_off() argument
839 struct scpsys_domain *pd = container_of(genpd, struct scpsys_domain, genpd); in scpsys_power_off()
[all …]
/linux/drivers/pmdomain/actions/
H A Dowl-sps.c40 #define to_owl_pd(gpd) container_of(gpd, struct owl_sps_domain, genpd)
43 struct generic_pm_domain genpd; member
87 pd->genpd.name = pd->info->name; in owl_sps_init_domain()
88 pd->genpd.power_on = owl_sps_power_on; in owl_sps_init_domain()
89 pd->genpd.power_off = owl_sps_power_off; in owl_sps_init_domain()
90 pd->genpd.flags = pd->info->genpd_flags; in owl_sps_init_domain()
91 pm_genpd_init(&pd->genpd, NULL, false); in owl_sps_init_domain()
93 sps->genpd_data.domains[index] = &pd->genpd; in owl_sps_init_domain()
/linux/drivers/gpu/drm/amd/amdgpu/
H A Disp_v4_1_1.c68 static int isp_poweroff(struct generic_pm_domain *genpd) in isp_poweroff() argument
70 struct amdgpu_isp *isp = container_of(genpd, struct amdgpu_isp, ispgpd); in isp_poweroff()
76 static int isp_poweron(struct generic_pm_domain *genpd) in isp_poweron() argument
78 struct amdgpu_isp *isp = container_of(genpd, struct amdgpu_isp, ispgpd); in isp_poweron()
84 static int isp_set_performance_state(struct generic_pm_domain *genpd, in isp_set_performance_state() argument
87 struct amdgpu_isp *isp = container_of(genpd, struct amdgpu_isp, ispgpd); in isp_set_performance_state()
144 drm_err(&adev->ddev, "Failed to add dev %s to genpd %d\n", in isp_genpd_add_device()
181 drm_err(&adev->ddev, "Failed to remove dev from genpd %d\n", ret); in isp_genpd_remove_device()
258 drm_err(&adev->ddev, "failed to initialize genpd (%d)\n", r); in isp_v4_1_1_hw_init()
358 /* add only amd_isp_capture and amd_isp_i2c_designware to genpd */ in isp_v4_1_1_hw_init()
[all …]
/linux/drivers/clk/qcom/
H A Dgdsc.c545 struct generic_pm_domain *genpd = pd_to_genpd(dev->pm_domain); in gdsc_add_subdomain_list() local
547 ret = pm_genpd_add_subdomain(genpd, subdomain); in gdsc_add_subdomain_list()
557 struct generic_pm_domain *genpd = pd_to_genpd(dev->pm_domain); in gdsc_add_subdomain_list() local
559 pm_genpd_remove_subdomain(genpd, subdomain); in gdsc_add_subdomain_list()
572 struct generic_pm_domain *genpd = pd_to_genpd(dev->pm_domain); in gdsc_remove_subdomain_list() local
574 pm_genpd_remove_subdomain(genpd, subdomain); in gdsc_remove_subdomain_list()
733 * GMU driver can set GenPD’s synced_poweroff flag to allow explicitly

12