Lines Matching defs:perf_iommu
184 static int clear_avail_iommu_bnk_cntr(struct perf_amd_iommu *perf_iommu,
191 max_banks = perf_iommu->max_banks;
192 max_cntrs = perf_iommu->max_counters;
199 raw_spin_lock_irqsave(&perf_iommu->lock, flags);
200 perf_iommu->cntr_assign_mask &= ~(1ULL<<shift);
201 raw_spin_unlock_irqrestore(&perf_iommu->lock, flags);
368 struct perf_amd_iommu *perf_iommu =
374 clear_avail_iommu_bnk_cntr(perf_iommu,
420 struct perf_amd_iommu *perf_iommu;
423 perf_iommu = kzalloc(sizeof(struct perf_amd_iommu), GFP_KERNEL);
424 if (!perf_iommu)
427 raw_spin_lock_init(&perf_iommu->lock);
429 perf_iommu->pmu = iommu_pmu;
430 perf_iommu->iommu = get_amd_iommu(idx);
431 perf_iommu->max_banks = amd_iommu_pc_get_max_banks(idx);
432 perf_iommu->max_counters = amd_iommu_pc_get_max_counters(idx);
434 if (!perf_iommu->iommu ||
435 !perf_iommu->max_banks ||
436 !perf_iommu->max_counters) {
437 kfree(perf_iommu);
441 snprintf(perf_iommu->name, IOMMU_NAME_SIZE, "amd_iommu_%u", idx);
443 ret = perf_pmu_register(&perf_iommu->pmu, perf_iommu->name, -1);
446 idx, perf_iommu->max_banks, perf_iommu->max_counters);
447 list_add_tail(&perf_iommu->list, &perf_amd_iommu_list);
450 kfree(perf_iommu);