Lines Matching refs:info

113 	struct exynos_ppmu *info = devfreq_event_get_drvdata(edev);  in exynos_ppmu_disable()  local
122 info->ppmu.base + PPMU_CNTENC); in exynos_ppmu_disable()
125 pmnc = __raw_readl(info->ppmu.base + PPMU_PMNC); in exynos_ppmu_disable()
127 __raw_writel(pmnc, info->ppmu.base + PPMU_PMNC); in exynos_ppmu_disable()
134 struct exynos_ppmu *info = devfreq_event_get_drvdata(edev); in exynos_ppmu_set_event() local
142 cntens = __raw_readl(info->ppmu.base + PPMU_CNTENS); in exynos_ppmu_set_event()
144 __raw_writel(cntens, info->ppmu.base + PPMU_CNTENS); in exynos_ppmu_set_event()
148 info->ppmu.base + PPMU_BEVTxSEL(id)); in exynos_ppmu_set_event()
151 pmnc = __raw_readl(info->ppmu.base + PPMU_PMNC); in exynos_ppmu_set_event()
158 __raw_writel(pmnc, info->ppmu.base + PPMU_PMNC); in exynos_ppmu_set_event()
166 struct exynos_ppmu *info = devfreq_event_get_drvdata(edev); in exynos_ppmu_get_event() local
174 pmnc = __raw_readl(info->ppmu.base + PPMU_PMNC); in exynos_ppmu_get_event()
176 __raw_writel(pmnc, info->ppmu.base + PPMU_PMNC); in exynos_ppmu_get_event()
179 edata->total_count = __raw_readl(info->ppmu.base + PPMU_CCNT); in exynos_ppmu_get_event()
187 = __raw_readl(info->ppmu.base + PPMU_PMNCT(id)); in exynos_ppmu_get_event()
191 ((__raw_readl(info->ppmu.base + PPMU_PMCNT3_HIGH) << 8) in exynos_ppmu_get_event()
192 | __raw_readl(info->ppmu.base + PPMU_PMCNT3_LOW)); in exynos_ppmu_get_event()
199 cntenc = __raw_readl(info->ppmu.base + PPMU_CNTENC); in exynos_ppmu_get_event()
201 __raw_writel(cntenc, info->ppmu.base + PPMU_CNTENC); in exynos_ppmu_get_event()
220 struct exynos_ppmu *info = devfreq_event_get_drvdata(edev); in exynos_ppmu_v2_disable() local
227 __raw_writel(clear, info->ppmu.base + PPMU_V2_FLAG); in exynos_ppmu_v2_disable()
228 __raw_writel(clear, info->ppmu.base + PPMU_V2_INTENC); in exynos_ppmu_v2_disable()
229 __raw_writel(clear, info->ppmu.base + PPMU_V2_CNTENC); in exynos_ppmu_v2_disable()
230 __raw_writel(clear, info->ppmu.base + PPMU_V2_CNT_RESET); in exynos_ppmu_v2_disable()
232 __raw_writel(0x0, info->ppmu.base + PPMU_V2_CIG_CFG0); in exynos_ppmu_v2_disable()
233 __raw_writel(0x0, info->ppmu.base + PPMU_V2_CIG_CFG1); in exynos_ppmu_v2_disable()
234 __raw_writel(0x0, info->ppmu.base + PPMU_V2_CIG_CFG2); in exynos_ppmu_v2_disable()
235 __raw_writel(0x0, info->ppmu.base + PPMU_V2_CIG_RESULT); in exynos_ppmu_v2_disable()
236 __raw_writel(0x0, info->ppmu.base + PPMU_V2_CNT_AUTO); in exynos_ppmu_v2_disable()
237 __raw_writel(0x0, info->ppmu.base + PPMU_V2_CH_EV0_TYPE); in exynos_ppmu_v2_disable()
238 __raw_writel(0x0, info->ppmu.base + PPMU_V2_CH_EV1_TYPE); in exynos_ppmu_v2_disable()
239 __raw_writel(0x0, info->ppmu.base + PPMU_V2_CH_EV2_TYPE); in exynos_ppmu_v2_disable()
240 __raw_writel(0x0, info->ppmu.base + PPMU_V2_CH_EV3_TYPE); in exynos_ppmu_v2_disable()
241 __raw_writel(0x0, info->ppmu.base + PPMU_V2_SM_ID_V); in exynos_ppmu_v2_disable()
242 __raw_writel(0x0, info->ppmu.base + PPMU_V2_SM_ID_A); in exynos_ppmu_v2_disable()
243 __raw_writel(0x0, info->ppmu.base + PPMU_V2_SM_OTHERS_V); in exynos_ppmu_v2_disable()
244 __raw_writel(0x0, info->ppmu.base + PPMU_V2_SM_OTHERS_A); in exynos_ppmu_v2_disable()
245 __raw_writel(0x0, info->ppmu.base + PPMU_V2_INTERRUPT_RESET); in exynos_ppmu_v2_disable()
248 pmnc = __raw_readl(info->ppmu.base + PPMU_V2_PMNC); in exynos_ppmu_v2_disable()
250 __raw_writel(pmnc, info->ppmu.base + PPMU_V2_PMNC); in exynos_ppmu_v2_disable()
257 struct exynos_ppmu *info = devfreq_event_get_drvdata(edev); in exynos_ppmu_v2_set_event() local
262 cntens = __raw_readl(info->ppmu.base + PPMU_V2_CNTENS); in exynos_ppmu_v2_set_event()
264 __raw_writel(cntens, info->ppmu.base + PPMU_V2_CNTENS); in exynos_ppmu_v2_set_event()
272 info->ppmu.base + PPMU_V2_CH_EVx_TYPE(id)); in exynos_ppmu_v2_set_event()
276 info->ppmu.base + PPMU_V2_CH_EVx_TYPE(id)); in exynos_ppmu_v2_set_event()
281 pmnc = __raw_readl(info->ppmu.base + PPMU_V2_PMNC); in exynos_ppmu_v2_set_event()
291 __raw_writel(pmnc, info->ppmu.base + PPMU_V2_PMNC); in exynos_ppmu_v2_set_event()
299 struct exynos_ppmu *info = devfreq_event_get_drvdata(edev); in exynos_ppmu_v2_get_event() local
306 pmnc = __raw_readl(info->ppmu.base + PPMU_V2_PMNC); in exynos_ppmu_v2_get_event()
308 __raw_writel(pmnc, info->ppmu.base + PPMU_V2_PMNC); in exynos_ppmu_v2_get_event()
311 edata->total_count = __raw_readl(info->ppmu.base + PPMU_V2_CCNT); in exynos_ppmu_v2_get_event()
317 load_count = __raw_readl(info->ppmu.base + PPMU_V2_PMNCT(id)); in exynos_ppmu_v2_get_event()
320 pmcnt_high = __raw_readl(info->ppmu.base + PPMU_V2_PMCNT3_HIGH); in exynos_ppmu_v2_get_event()
321 pmcnt_low = __raw_readl(info->ppmu.base + PPMU_V2_PMCNT3_LOW); in exynos_ppmu_v2_get_event()
329 cntenc = __raw_readl(info->ppmu.base + PPMU_V2_CNTENC); in exynos_ppmu_v2_get_event()
331 __raw_writel(cntenc, info->ppmu.base + PPMU_V2_CNTENC); in exynos_ppmu_v2_get_event()
364 struct exynos_ppmu *info) in of_get_devfreq_events() argument
368 struct device *dev = info->dev; in of_get_devfreq_events()
384 info->num_events = count; in of_get_devfreq_events()
404 desc[j].driver_data = info; in of_get_devfreq_events()
412 info->desc = desc; in of_get_devfreq_events()
419 static int exynos_ppmu_parse_dt(struct exynos_ppmu *info) in exynos_ppmu_parse_dt() argument
421 struct device *dev = info->dev; in exynos_ppmu_parse_dt()
431 info->ppmu.base = of_iomap(np, 0); in exynos_ppmu_parse_dt()
432 if (IS_ERR_OR_NULL(info->ppmu.base)) { in exynos_ppmu_parse_dt()
437 info->ppmu.clk = devm_clk_get(dev, "ppmu"); in exynos_ppmu_parse_dt()
438 if (IS_ERR(info->ppmu.clk)) { in exynos_ppmu_parse_dt()
439 info->ppmu.clk = NULL; in exynos_ppmu_parse_dt()
443 ret = of_get_devfreq_events(np, info); in exynos_ppmu_parse_dt()
452 iounmap(info->ppmu.base); in exynos_ppmu_parse_dt()
459 struct exynos_ppmu *info; in exynos_ppmu_probe() local
464 info = devm_kzalloc(&pdev->dev, sizeof(*info), GFP_KERNEL); in exynos_ppmu_probe()
465 if (!info) in exynos_ppmu_probe()
468 mutex_init(&info->lock); in exynos_ppmu_probe()
469 info->dev = &pdev->dev; in exynos_ppmu_probe()
472 ret = exynos_ppmu_parse_dt(info); in exynos_ppmu_probe()
478 desc = info->desc; in exynos_ppmu_probe()
480 size = sizeof(struct devfreq_event_dev *) * info->num_events; in exynos_ppmu_probe()
481 info->edev = devm_kzalloc(&pdev->dev, size, GFP_KERNEL); in exynos_ppmu_probe()
482 if (!info->edev) { in exynos_ppmu_probe()
487 edev = info->edev; in exynos_ppmu_probe()
488 platform_set_drvdata(pdev, info); in exynos_ppmu_probe()
490 for (i = 0; i < info->num_events; i++) { in exynos_ppmu_probe()
500 clk_prepare_enable(info->ppmu.clk); in exynos_ppmu_probe()
504 iounmap(info->ppmu.base); in exynos_ppmu_probe()
511 struct exynos_ppmu *info = platform_get_drvdata(pdev); in exynos_ppmu_remove() local
513 clk_disable_unprepare(info->ppmu.clk); in exynos_ppmu_remove()
514 iounmap(info->ppmu.base); in exynos_ppmu_remove()