Lines Matching full:ppmu
3 * exynos_ppmu.c - Exynos PPMU (Platform Performance Monitoring Unit) support
22 #include "exynos-ppmu.h"
41 struct exynos_ppmu_data ppmu; member
46 { "ppmu-event0-"#name, PPMU_PMNCNT0 }, \
47 { "ppmu-event1-"#name, PPMU_PMNCNT1 }, \
48 { "ppmu-event2-"#name, PPMU_PMNCNT2 }, \
49 { "ppmu-event3-"#name, PPMU_PMNCNT3 }
126 * The devfreq-event ops structure for PPMU v1.1
144 /* Disable PPMU */ in exynos_ppmu_disable()
183 /* Reset cycle counter/performance counter and enable PPMU */ in exynos_ppmu_set_event()
214 /* Disable PPMU */ in exynos_ppmu_get_event()
278 * The devfreq-event ops structure for PPMU v2.0
361 /* Disable PPMU */ in exynos_ppmu_v2_disable()
397 /* Reset cycle counter/performance counter and enable PPMU */ in exynos_ppmu_v2_set_event()
430 /* Disable PPMU */ in exynos_ppmu_v2_get_event()
493 .compatible = "samsung,exynos-ppmu",
496 .compatible = "samsung,exynos-ppmu-v2",
623 /* Maps the memory mapped IO to control PPMU register */ in exynos_ppmu_parse_dt()
636 info->ppmu.clk = devm_clk_get(dev, "ppmu"); in exynos_ppmu_parse_dt()
637 if (IS_ERR(info->ppmu.clk)) { in exynos_ppmu_parse_dt()
638 info->ppmu.clk = NULL; in exynos_ppmu_parse_dt()
639 dev_warn(dev, "cannot get PPMU clock\n"); in exynos_ppmu_parse_dt()
644 dev_err(dev, "failed to parse exynos ppmu dt node\n"); in exynos_ppmu_parse_dt()
689 pr_info("exynos-ppmu: new PPMU device registered %s (%s)\n", in exynos_ppmu_probe()
693 ret = clk_prepare_enable(info->ppmu.clk); in exynos_ppmu_probe()
695 dev_err(&pdev->dev, "failed to prepare ppmu clock\n"); in exynos_ppmu_probe()
706 clk_disable_unprepare(info->ppmu.clk); in exynos_ppmu_remove()
715 .name = "exynos-ppmu",
721 MODULE_DESCRIPTION("Exynos PPMU(Platform Performance Monitoring Unit) driver");