xgene_pmu          94 drivers/perf/xgene_pmu.c 	struct xgene_pmu *parent;
xgene_pmu         104 drivers/perf/xgene_pmu.c 	void (*mask_int)(struct xgene_pmu *pmu);
xgene_pmu         105 drivers/perf/xgene_pmu.c 	void (*unmask_int)(struct xgene_pmu *pmu);
xgene_pmu         713 drivers/perf/xgene_pmu.c static inline void xgene_pmu_mask_int(struct xgene_pmu *xgene_pmu)
xgene_pmu         715 drivers/perf/xgene_pmu.c 	writel(PCPPMU_INTENMASK, xgene_pmu->pcppmu_csr + PCPPMU_INTMASK_REG);
xgene_pmu         718 drivers/perf/xgene_pmu.c static inline void xgene_pmu_v3_mask_int(struct xgene_pmu *xgene_pmu)
xgene_pmu         720 drivers/perf/xgene_pmu.c 	writel(PCPPMU_V3_INTENMASK, xgene_pmu->pcppmu_csr + PCPPMU_INTMASK_REG);
xgene_pmu         723 drivers/perf/xgene_pmu.c static inline void xgene_pmu_unmask_int(struct xgene_pmu *xgene_pmu)
xgene_pmu         725 drivers/perf/xgene_pmu.c 	writel(PCPPMU_INTCLRMASK, xgene_pmu->pcppmu_csr + PCPPMU_INTMASK_REG);
xgene_pmu         728 drivers/perf/xgene_pmu.c static inline void xgene_pmu_v3_unmask_int(struct xgene_pmu *xgene_pmu)
xgene_pmu         731 drivers/perf/xgene_pmu.c 	       xgene_pmu->pcppmu_csr + PCPPMU_INTMASK_REG);
xgene_pmu         872 drivers/perf/xgene_pmu.c 	struct xgene_pmu *xgene_pmu = pmu_dev->parent;
xgene_pmu         879 drivers/perf/xgene_pmu.c 	xgene_pmu->ops->start_counters(pmu_dev);
xgene_pmu         885 drivers/perf/xgene_pmu.c 	struct xgene_pmu *xgene_pmu = pmu_dev->parent;
xgene_pmu         887 drivers/perf/xgene_pmu.c 	xgene_pmu->ops->stop_counters(pmu_dev);
xgene_pmu         950 drivers/perf/xgene_pmu.c 	struct xgene_pmu *xgene_pmu = pmu_dev->parent;
xgene_pmu         952 drivers/perf/xgene_pmu.c 	xgene_pmu->ops->write_evttype(pmu_dev, GET_CNTR(event),
xgene_pmu         954 drivers/perf/xgene_pmu.c 	xgene_pmu->ops->write_agentmsk(pmu_dev, ~((u32)GET_AGENTID(event)));
xgene_pmu         956 drivers/perf/xgene_pmu.c 		xgene_pmu->ops->write_agent1msk(pmu_dev,
xgene_pmu         959 drivers/perf/xgene_pmu.c 	xgene_pmu->ops->enable_counter(pmu_dev, GET_CNTR(event));
xgene_pmu         960 drivers/perf/xgene_pmu.c 	xgene_pmu->ops->enable_counter_int(pmu_dev, GET_CNTR(event));
xgene_pmu         966 drivers/perf/xgene_pmu.c 	struct xgene_pmu *xgene_pmu = pmu_dev->parent;
xgene_pmu         968 drivers/perf/xgene_pmu.c 	xgene_pmu->ops->disable_counter(pmu_dev, GET_CNTR(event));
xgene_pmu         969 drivers/perf/xgene_pmu.c 	xgene_pmu->ops->disable_counter_int(pmu_dev, GET_CNTR(event));
xgene_pmu         975 drivers/perf/xgene_pmu.c 	struct xgene_pmu *xgene_pmu = pmu_dev->parent;
xgene_pmu         987 drivers/perf/xgene_pmu.c 	xgene_pmu->ops->write_counter(pmu_dev, hw->idx, val);
xgene_pmu         993 drivers/perf/xgene_pmu.c 	struct xgene_pmu *xgene_pmu = pmu_dev->parent;
xgene_pmu         999 drivers/perf/xgene_pmu.c 	new_raw_count = xgene_pmu->ops->read_counter(pmu_dev, GET_CNTR(event));
xgene_pmu        1018 drivers/perf/xgene_pmu.c 	struct xgene_pmu *xgene_pmu = pmu_dev->parent;
xgene_pmu        1032 drivers/perf/xgene_pmu.c 		xgene_pmu->ops->write_counter(pmu_dev, GET_CNTR(event),
xgene_pmu        1095 drivers/perf/xgene_pmu.c 	struct xgene_pmu *xgene_pmu;
xgene_pmu        1102 drivers/perf/xgene_pmu.c 	xgene_pmu = pmu_dev->parent;
xgene_pmu        1103 drivers/perf/xgene_pmu.c 	if (xgene_pmu->version == PCP_PMU_V1)
xgene_pmu        1124 drivers/perf/xgene_pmu.c 	xgene_pmu->ops->stop_counters(pmu_dev);
xgene_pmu        1125 drivers/perf/xgene_pmu.c 	xgene_pmu->ops->reset_counters(pmu_dev);
xgene_pmu        1131 drivers/perf/xgene_pmu.c xgene_pmu_dev_add(struct xgene_pmu *xgene_pmu, struct xgene_pmu_dev_ctx *ctx)
xgene_pmu        1133 drivers/perf/xgene_pmu.c 	struct device *dev = xgene_pmu->dev;
xgene_pmu        1139 drivers/perf/xgene_pmu.c 	pmu->parent = xgene_pmu;
xgene_pmu        1145 drivers/perf/xgene_pmu.c 		if (!(xgene_pmu->l3c_active_mask & pmu->inf->enable_mask))
xgene_pmu        1147 drivers/perf/xgene_pmu.c 		if (xgene_pmu->version == PCP_PMU_V3)
xgene_pmu        1153 drivers/perf/xgene_pmu.c 		if (xgene_pmu->version == PCP_PMU_V3)
xgene_pmu        1159 drivers/perf/xgene_pmu.c 		if (xgene_pmu->version == PCP_PMU_V3)
xgene_pmu        1163 drivers/perf/xgene_pmu.c 		if (!(xgene_pmu->mcb_active_mask & pmu->inf->enable_mask))
xgene_pmu        1165 drivers/perf/xgene_pmu.c 		if (xgene_pmu->version == PCP_PMU_V3)
xgene_pmu        1171 drivers/perf/xgene_pmu.c 		if (!(xgene_pmu->mc_active_mask & pmu->inf->enable_mask))
xgene_pmu        1173 drivers/perf/xgene_pmu.c 		if (xgene_pmu->version == PCP_PMU_V3)
xgene_pmu        1194 drivers/perf/xgene_pmu.c 	struct xgene_pmu *xgene_pmu = pmu_dev->parent;
xgene_pmu        1199 drivers/perf/xgene_pmu.c 	xgene_pmu->ops->stop_counters(pmu_dev);
xgene_pmu        1201 drivers/perf/xgene_pmu.c 	if (xgene_pmu->version == PCP_PMU_V3)
xgene_pmu        1210 drivers/perf/xgene_pmu.c 	if (xgene_pmu->version == PCP_PMU_V1)
xgene_pmu        1212 drivers/perf/xgene_pmu.c 	else if (xgene_pmu->version == PCP_PMU_V2)
xgene_pmu        1229 drivers/perf/xgene_pmu.c 	xgene_pmu->ops->start_counters(pmu_dev);
xgene_pmu        1236 drivers/perf/xgene_pmu.c 	struct xgene_pmu *xgene_pmu = dev_id;
xgene_pmu        1240 drivers/perf/xgene_pmu.c 	raw_spin_lock_irqsave(&xgene_pmu->lock, flags);
xgene_pmu        1243 drivers/perf/xgene_pmu.c 	val = readl(xgene_pmu->pcppmu_csr + PCPPMU_INTSTATUS_REG);
xgene_pmu        1244 drivers/perf/xgene_pmu.c 	if (xgene_pmu->version == PCP_PMU_V3) {
xgene_pmu        1256 drivers/perf/xgene_pmu.c 		list_for_each_entry(ctx, &xgene_pmu->mcpmus, next) {
xgene_pmu        1261 drivers/perf/xgene_pmu.c 		list_for_each_entry(ctx, &xgene_pmu->mcbpmus, next) {
xgene_pmu        1266 drivers/perf/xgene_pmu.c 		list_for_each_entry(ctx, &xgene_pmu->l3cpmus, next) {
xgene_pmu        1271 drivers/perf/xgene_pmu.c 		list_for_each_entry(ctx, &xgene_pmu->iobpmus, next) {
xgene_pmu        1276 drivers/perf/xgene_pmu.c 	raw_spin_unlock_irqrestore(&xgene_pmu->lock, flags);
xgene_pmu        1281 drivers/perf/xgene_pmu.c static int acpi_pmu_probe_active_mcb_mcu_l3c(struct xgene_pmu *xgene_pmu,
xgene_pmu        1309 drivers/perf/xgene_pmu.c 	xgene_pmu->l3c_active_mask = 0x1;
xgene_pmu        1314 drivers/perf/xgene_pmu.c 		xgene_pmu->mcb_active_mask = 0x3;
xgene_pmu        1317 drivers/perf/xgene_pmu.c 		xgene_pmu->mc_active_mask =
xgene_pmu        1321 drivers/perf/xgene_pmu.c 		xgene_pmu->mcb_active_mask = 0x1;
xgene_pmu        1324 drivers/perf/xgene_pmu.c 		xgene_pmu->mc_active_mask =
xgene_pmu        1331 drivers/perf/xgene_pmu.c static int acpi_pmu_v3_probe_active_mcb_mcu_l3c(struct xgene_pmu *xgene_pmu,
xgene_pmu        1352 drivers/perf/xgene_pmu.c 		xgene_pmu->mcb_active_mask = 0x3;
xgene_pmu        1354 drivers/perf/xgene_pmu.c 		xgene_pmu->l3c_active_mask = 0xFF;
xgene_pmu        1357 drivers/perf/xgene_pmu.c 			xgene_pmu->mc_active_mask = 0xFF;
xgene_pmu        1359 drivers/perf/xgene_pmu.c 			xgene_pmu->mc_active_mask =  0x33;
xgene_pmu        1361 drivers/perf/xgene_pmu.c 			xgene_pmu->mc_active_mask =  0x11;
xgene_pmu        1364 drivers/perf/xgene_pmu.c 		xgene_pmu->mcb_active_mask = 0x1;
xgene_pmu        1366 drivers/perf/xgene_pmu.c 		xgene_pmu->l3c_active_mask = 0x0F;
xgene_pmu        1369 drivers/perf/xgene_pmu.c 			xgene_pmu->mc_active_mask = 0x0F;
xgene_pmu        1371 drivers/perf/xgene_pmu.c 			xgene_pmu->mc_active_mask =  0x03;
xgene_pmu        1373 drivers/perf/xgene_pmu.c 			xgene_pmu->mc_active_mask =  0x01;
xgene_pmu        1379 drivers/perf/xgene_pmu.c static int fdt_pmu_probe_active_mcb_mcu_l3c(struct xgene_pmu *xgene_pmu,
xgene_pmu        1404 drivers/perf/xgene_pmu.c 	xgene_pmu->l3c_active_mask = 0x1;
xgene_pmu        1410 drivers/perf/xgene_pmu.c 		xgene_pmu->mcb_active_mask = 0x3;
xgene_pmu        1414 drivers/perf/xgene_pmu.c 		xgene_pmu->mc_active_mask =
xgene_pmu        1418 drivers/perf/xgene_pmu.c 		xgene_pmu->mcb_active_mask = 0x1;
xgene_pmu        1422 drivers/perf/xgene_pmu.c 		xgene_pmu->mc_active_mask =
xgene_pmu        1429 drivers/perf/xgene_pmu.c static int xgene_pmu_probe_active_mcb_mcu_l3c(struct xgene_pmu *xgene_pmu,
xgene_pmu        1433 drivers/perf/xgene_pmu.c 		if (xgene_pmu->version == PCP_PMU_V3)
xgene_pmu        1434 drivers/perf/xgene_pmu.c 			return acpi_pmu_v3_probe_active_mcb_mcu_l3c(xgene_pmu,
xgene_pmu        1437 drivers/perf/xgene_pmu.c 			return acpi_pmu_probe_active_mcb_mcu_l3c(xgene_pmu,
xgene_pmu        1440 drivers/perf/xgene_pmu.c 	return fdt_pmu_probe_active_mcb_mcu_l3c(xgene_pmu, pdev);
xgene_pmu        1474 drivers/perf/xgene_pmu.c xgene_pmu_dev_ctx *acpi_get_pmu_hw_inf(struct xgene_pmu *xgene_pmu,
xgene_pmu        1477 drivers/perf/xgene_pmu.c 	struct device *dev = xgene_pmu->dev;
xgene_pmu        1561 drivers/perf/xgene_pmu.c 	struct xgene_pmu *xgene_pmu = data;
xgene_pmu        1574 drivers/perf/xgene_pmu.c 	ctx = acpi_get_pmu_hw_inf(xgene_pmu, adev, (u32)acpi_id->driver_data);
xgene_pmu        1578 drivers/perf/xgene_pmu.c 	if (xgene_pmu_dev_add(xgene_pmu, ctx)) {
xgene_pmu        1580 drivers/perf/xgene_pmu.c 		devm_kfree(xgene_pmu->dev, ctx);
xgene_pmu        1586 drivers/perf/xgene_pmu.c 		list_add(&ctx->next, &xgene_pmu->l3cpmus);
xgene_pmu        1589 drivers/perf/xgene_pmu.c 		list_add(&ctx->next, &xgene_pmu->iobpmus);
xgene_pmu        1592 drivers/perf/xgene_pmu.c 		list_add(&ctx->next, &xgene_pmu->iobpmus);
xgene_pmu        1595 drivers/perf/xgene_pmu.c 		list_add(&ctx->next, &xgene_pmu->mcbpmus);
xgene_pmu        1598 drivers/perf/xgene_pmu.c 		list_add(&ctx->next, &xgene_pmu->mcpmus);
xgene_pmu        1604 drivers/perf/xgene_pmu.c static int acpi_pmu_probe_pmu_dev(struct xgene_pmu *xgene_pmu,
xgene_pmu        1607 drivers/perf/xgene_pmu.c 	struct device *dev = xgene_pmu->dev;
xgene_pmu        1616 drivers/perf/xgene_pmu.c 				     acpi_pmu_dev_add, NULL, xgene_pmu, NULL);
xgene_pmu        1625 drivers/perf/xgene_pmu.c static int acpi_pmu_probe_pmu_dev(struct xgene_pmu *xgene_pmu,
xgene_pmu        1633 drivers/perf/xgene_pmu.c xgene_pmu_dev_ctx *fdt_get_pmu_hw_inf(struct xgene_pmu *xgene_pmu,
xgene_pmu        1636 drivers/perf/xgene_pmu.c 	struct device *dev = xgene_pmu->dev;
xgene_pmu        1676 drivers/perf/xgene_pmu.c static int fdt_pmu_probe_pmu_dev(struct xgene_pmu *xgene_pmu,
xgene_pmu        1687 drivers/perf/xgene_pmu.c 			ctx = fdt_get_pmu_hw_inf(xgene_pmu, np, PMU_TYPE_L3C);
xgene_pmu        1689 drivers/perf/xgene_pmu.c 			ctx = fdt_get_pmu_hw_inf(xgene_pmu, np, PMU_TYPE_IOB);
xgene_pmu        1691 drivers/perf/xgene_pmu.c 			ctx = fdt_get_pmu_hw_inf(xgene_pmu, np, PMU_TYPE_MCB);
xgene_pmu        1693 drivers/perf/xgene_pmu.c 			ctx = fdt_get_pmu_hw_inf(xgene_pmu, np, PMU_TYPE_MC);
xgene_pmu        1700 drivers/perf/xgene_pmu.c 		if (xgene_pmu_dev_add(xgene_pmu, ctx)) {
xgene_pmu        1702 drivers/perf/xgene_pmu.c 			devm_kfree(xgene_pmu->dev, ctx);
xgene_pmu        1708 drivers/perf/xgene_pmu.c 			list_add(&ctx->next, &xgene_pmu->l3cpmus);
xgene_pmu        1711 drivers/perf/xgene_pmu.c 			list_add(&ctx->next, &xgene_pmu->iobpmus);
xgene_pmu        1714 drivers/perf/xgene_pmu.c 			list_add(&ctx->next, &xgene_pmu->iobpmus);
xgene_pmu        1717 drivers/perf/xgene_pmu.c 			list_add(&ctx->next, &xgene_pmu->mcbpmus);
xgene_pmu        1720 drivers/perf/xgene_pmu.c 			list_add(&ctx->next, &xgene_pmu->mcpmus);
xgene_pmu        1728 drivers/perf/xgene_pmu.c static int xgene_pmu_probe_pmu_dev(struct xgene_pmu *xgene_pmu,
xgene_pmu        1732 drivers/perf/xgene_pmu.c 		return acpi_pmu_probe_pmu_dev(xgene_pmu, pdev);
xgene_pmu        1733 drivers/perf/xgene_pmu.c 	return fdt_pmu_probe_pmu_dev(xgene_pmu, pdev);
xgene_pmu        1796 drivers/perf/xgene_pmu.c 	struct xgene_pmu *xgene_pmu = hlist_entry_safe(node, struct xgene_pmu,
xgene_pmu        1799 drivers/perf/xgene_pmu.c 	if (cpumask_empty(&xgene_pmu->cpu))
xgene_pmu        1800 drivers/perf/xgene_pmu.c 		cpumask_set_cpu(cpu, &xgene_pmu->cpu);
xgene_pmu        1803 drivers/perf/xgene_pmu.c 	WARN_ON(irq_set_affinity(xgene_pmu->irq, &xgene_pmu->cpu));
xgene_pmu        1810 drivers/perf/xgene_pmu.c 	struct xgene_pmu *xgene_pmu = hlist_entry_safe(node, struct xgene_pmu,
xgene_pmu        1815 drivers/perf/xgene_pmu.c 	if (!cpumask_test_and_clear_cpu(cpu, &xgene_pmu->cpu))
xgene_pmu        1821 drivers/perf/xgene_pmu.c 	list_for_each_entry(ctx, &xgene_pmu->mcpmus, next) {
xgene_pmu        1824 drivers/perf/xgene_pmu.c 	list_for_each_entry(ctx, &xgene_pmu->mcbpmus, next) {
xgene_pmu        1827 drivers/perf/xgene_pmu.c 	list_for_each_entry(ctx, &xgene_pmu->l3cpmus, next) {
xgene_pmu        1830 drivers/perf/xgene_pmu.c 	list_for_each_entry(ctx, &xgene_pmu->iobpmus, next) {
xgene_pmu        1834 drivers/perf/xgene_pmu.c 	cpumask_set_cpu(target, &xgene_pmu->cpu);
xgene_pmu        1836 drivers/perf/xgene_pmu.c 	WARN_ON(irq_set_affinity(xgene_pmu->irq, &xgene_pmu->cpu));
xgene_pmu        1845 drivers/perf/xgene_pmu.c 	struct xgene_pmu *xgene_pmu;
xgene_pmu        1858 drivers/perf/xgene_pmu.c 	xgene_pmu = devm_kzalloc(&pdev->dev, sizeof(*xgene_pmu), GFP_KERNEL);
xgene_pmu        1859 drivers/perf/xgene_pmu.c 	if (!xgene_pmu)
xgene_pmu        1861 drivers/perf/xgene_pmu.c 	xgene_pmu->dev = &pdev->dev;
xgene_pmu        1862 drivers/perf/xgene_pmu.c 	platform_set_drvdata(pdev, xgene_pmu);
xgene_pmu        1884 drivers/perf/xgene_pmu.c 		xgene_pmu->ops = &xgene_pmu_v3_ops;
xgene_pmu        1886 drivers/perf/xgene_pmu.c 		xgene_pmu->ops = &xgene_pmu_ops;
xgene_pmu        1888 drivers/perf/xgene_pmu.c 	INIT_LIST_HEAD(&xgene_pmu->l3cpmus);
xgene_pmu        1889 drivers/perf/xgene_pmu.c 	INIT_LIST_HEAD(&xgene_pmu->iobpmus);
xgene_pmu        1890 drivers/perf/xgene_pmu.c 	INIT_LIST_HEAD(&xgene_pmu->mcbpmus);
xgene_pmu        1891 drivers/perf/xgene_pmu.c 	INIT_LIST_HEAD(&xgene_pmu->mcpmus);
xgene_pmu        1893 drivers/perf/xgene_pmu.c 	xgene_pmu->version = version;
xgene_pmu        1894 drivers/perf/xgene_pmu.c 	dev_info(&pdev->dev, "X-Gene PMU version %d\n", xgene_pmu->version);
xgene_pmu        1897 drivers/perf/xgene_pmu.c 	xgene_pmu->pcppmu_csr = devm_ioremap_resource(&pdev->dev, res);
xgene_pmu        1898 drivers/perf/xgene_pmu.c 	if (IS_ERR(xgene_pmu->pcppmu_csr)) {
xgene_pmu        1900 drivers/perf/xgene_pmu.c 		return PTR_ERR(xgene_pmu->pcppmu_csr);
xgene_pmu        1909 drivers/perf/xgene_pmu.c 				dev_name(&pdev->dev), xgene_pmu);
xgene_pmu        1915 drivers/perf/xgene_pmu.c 	xgene_pmu->irq = irq;
xgene_pmu        1917 drivers/perf/xgene_pmu.c 	raw_spin_lock_init(&xgene_pmu->lock);
xgene_pmu        1920 drivers/perf/xgene_pmu.c 	rc = xgene_pmu_probe_active_mcb_mcu_l3c(xgene_pmu, pdev);
xgene_pmu        1923 drivers/perf/xgene_pmu.c 		xgene_pmu->mcb_active_mask = 0x1;
xgene_pmu        1924 drivers/perf/xgene_pmu.c 		xgene_pmu->mc_active_mask = 0x1;
xgene_pmu        1929 drivers/perf/xgene_pmu.c 				      &xgene_pmu->node);
xgene_pmu        1936 drivers/perf/xgene_pmu.c 	rc = xgene_pmu_probe_pmu_dev(xgene_pmu, pdev);
xgene_pmu        1943 drivers/perf/xgene_pmu.c 	xgene_pmu->ops->unmask_int(xgene_pmu);
xgene_pmu        1949 drivers/perf/xgene_pmu.c 				    &xgene_pmu->node);
xgene_pmu        1954 drivers/perf/xgene_pmu.c xgene_pmu_dev_cleanup(struct xgene_pmu *xgene_pmu, struct list_head *pmus)
xgene_pmu        1965 drivers/perf/xgene_pmu.c 	struct xgene_pmu *xgene_pmu = dev_get_drvdata(&pdev->dev);
xgene_pmu        1967 drivers/perf/xgene_pmu.c 	xgene_pmu_dev_cleanup(xgene_pmu, &xgene_pmu->l3cpmus);
xgene_pmu        1968 drivers/perf/xgene_pmu.c 	xgene_pmu_dev_cleanup(xgene_pmu, &xgene_pmu->iobpmus);
xgene_pmu        1969 drivers/perf/xgene_pmu.c 	xgene_pmu_dev_cleanup(xgene_pmu, &xgene_pmu->mcbpmus);
xgene_pmu        1970 drivers/perf/xgene_pmu.c 	xgene_pmu_dev_cleanup(xgene_pmu, &xgene_pmu->mcpmus);
xgene_pmu        1972 drivers/perf/xgene_pmu.c 				    &xgene_pmu->node);