Lines Matching refs:pm
27 static struct s5p_mfc_pm *pm; variable
38 pm = &dev->pm; in s5p_mfc_init_pm()
40 pm->clock_gate = clk_get(&dev->plat_dev->dev, MFC_GATE_CLK_NAME); in s5p_mfc_init_pm()
41 if (IS_ERR(pm->clock_gate)) { in s5p_mfc_init_pm()
43 ret = PTR_ERR(pm->clock_gate); in s5p_mfc_init_pm()
47 ret = clk_prepare(pm->clock_gate); in s5p_mfc_init_pm()
54 pm->clock = clk_get(&dev->plat_dev->dev, MFC_SCLK_NAME); in s5p_mfc_init_pm()
55 if (IS_ERR(pm->clock)) { in s5p_mfc_init_pm()
58 clk_set_rate(pm->clock, MFC_SCLK_RATE); in s5p_mfc_init_pm()
59 ret = clk_prepare_enable(pm->clock); in s5p_mfc_init_pm()
67 atomic_set(&pm->power, 0); in s5p_mfc_init_pm()
69 pm->device = &dev->plat_dev->dev; in s5p_mfc_init_pm()
70 pm_runtime_enable(pm->device); in s5p_mfc_init_pm()
78 clk_put(pm->clock); in s5p_mfc_init_pm()
80 clk_put(pm->clock_gate); in s5p_mfc_init_pm()
88 pm->clock) { in s5p_mfc_final_pm()
89 clk_disable_unprepare(pm->clock); in s5p_mfc_final_pm()
90 clk_put(pm->clock); in s5p_mfc_final_pm()
92 clk_unprepare(pm->clock_gate); in s5p_mfc_final_pm()
93 clk_put(pm->clock_gate); in s5p_mfc_final_pm()
95 pm_runtime_disable(pm->device); in s5p_mfc_final_pm()
106 ret = clk_enable(pm->clock_gate); in s5p_mfc_clock_on()
116 clk_disable(pm->clock_gate); in s5p_mfc_clock_off()
122 return pm_runtime_get_sync(pm->device); in s5p_mfc_power_on()
124 atomic_set(&pm->power, 1); in s5p_mfc_power_on()
132 return pm_runtime_put_sync(pm->device); in s5p_mfc_power_off()
134 atomic_set(&pm->power, 0); in s5p_mfc_power_off()