Lines Matching refs:model
38 #define CCI_PMU_CNTR_SIZE(model) ((model)->cntr_size) argument
39 #define CCI_PMU_CNTR_BASE(model, idx) ((idx) * CCI_PMU_CNTR_SIZE(model)) argument
43 #define CCI_PMU_MAX_HW_CNTRS(model) \ argument
44 ((model)->num_hw_cntrs + (model)->fixed_hw_cntrs)
107 const struct cci_pmu_model *model; member
365 if (ev_code >= cci_pmu->model->event_ranges[if_type].min && in cci400_validate_hw_event()
366 ev_code <= cci_pmu->model->event_ranges[if_type].max) in cci400_validate_hw_event()
576 if (ev_code >= cci_pmu->model->event_ranges[if_type].min && in cci500_validate_hw_event()
577 ev_code <= cci_pmu->model->event_ranges[if_type].max) in cci500_validate_hw_event()
628 if (ev_code >= cci_pmu->model->event_ranges[if_type].min && in cci550_validate_hw_event()
629 ev_code <= cci_pmu->model->event_ranges[if_type].max) in cci550_validate_hw_event()
720 CCI_PMU_CNTR_BASE(cci_pmu->model, idx) + offset); in pmu_read_register()
727 CCI_PMU_CNTR_BASE(cci_pmu->model, idx) + offset); in pmu_write_register()
805 if (cci_pmu->model->get_event_idx) in pmu_get_event_idx()
806 return cci_pmu->model->get_event_idx(cci_pmu, hw, cci_event); in pmu_get_event_idx()
822 !cci_pmu->model->validate_hw_event) in pmu_map_event()
825 return cci_pmu->model->validate_hw_event(cci_pmu, event->attr.config); in pmu_map_event()
912 if (cci_pmu->model->write_counters) in pmu_write_counters()
913 cci_pmu->model->write_counters(cci_pmu, mask); in pmu_write_counters()
1129 return (idx >= 0) && (idx < cci_pmu->model->fixed_hw_cntrs); in pmu_fixed_hw_idx()
1401 const struct cci_pmu_model *model = cci_pmu->model; in cci_pmu_init() local
1402 char *name = model->name; in cci_pmu_init()
1405 if (WARN_ON(model->num_hw_cntrs > NUM_HW_CNTRS_MAX)) in cci_pmu_init()
1407 if (WARN_ON(model->fixed_hw_cntrs > FIXED_HW_CNTRS_MAX)) in cci_pmu_init()
1410 pmu_event_attr_group.attrs = model->event_attrs; in cci_pmu_init()
1411 pmu_format_attr_group.attrs = model->format_attrs; in cci_pmu_init()
1415 .name = cci_pmu->model->name, in cci_pmu_init()
1431 if (num_cntrs > cci_pmu->model->num_hw_cntrs) { in cci_pmu_init()
1435 num_cntrs, cci_pmu->model->num_hw_cntrs); in cci_pmu_init()
1436 num_cntrs = cci_pmu->model->num_hw_cntrs; in cci_pmu_init()
1438 cci_pmu->num_cntrs = num_cntrs + cci_pmu->model->fixed_hw_cntrs; in cci_pmu_init()
1597 const struct cci_pmu_model *model; in cci_pmu_alloc() local
1610 model = of_device_get_match_data(dev); in cci_pmu_alloc()
1611 if (!model) { in cci_pmu_alloc()
1614 model = probe_cci_model(cci_pmu); in cci_pmu_alloc()
1616 if (!model) { in cci_pmu_alloc()
1621 cci_pmu->model = model; in cci_pmu_alloc()
1622 cci_pmu->irqs = devm_kcalloc(dev, CCI_PMU_MAX_HW_CNTRS(model), in cci_pmu_alloc()
1627 CCI_PMU_MAX_HW_CNTRS(model), in cci_pmu_alloc()
1633 BITS_TO_LONGS(CCI_PMU_MAX_HW_CNTRS(model)), in cci_pmu_alloc()
1660 for (i = 0; i < CCI_PMU_MAX_HW_CNTRS(cci_pmu->model); i++) { in cci_pmu_probe()
1675 if (i < CCI_PMU_MAX_HW_CNTRS(cci_pmu->model)) { in cci_pmu_probe()
1677 i, CCI_PMU_MAX_HW_CNTRS(cci_pmu->model)); in cci_pmu_probe()
1695 pr_info("ARM %s PMU driver probed", cci_pmu->model->name); in cci_pmu_probe()