Lines Matching refs:attr

220 		struct device_attribute *attr, char *buf)  in arm_ccn_pmu_format_show()  argument
222 struct dev_ext_attribute *ea = container_of(attr, in arm_ccn_pmu_format_show()
223 struct dev_ext_attribute, attr); in arm_ccn_pmu_format_show()
245 &arm_ccn_pmu_format_attr_node.attr.attr,
246 &arm_ccn_pmu_format_attr_xp.attr.attr,
247 &arm_ccn_pmu_format_attr_type.attr.attr,
248 &arm_ccn_pmu_format_attr_event.attr.attr,
249 &arm_ccn_pmu_format_attr_port.attr.attr,
250 &arm_ccn_pmu_format_attr_vc.attr.attr,
251 &arm_ccn_pmu_format_attr_dir.attr.attr,
252 &arm_ccn_pmu_format_attr_mask.attr.attr,
253 &arm_ccn_pmu_format_attr_cmp_l.attr.attr,
254 &arm_ccn_pmu_format_attr_cmp_h.attr.attr,
265 struct device_attribute attr; member
285 #define CCN_EVENT_MN(_name, _def, _mask) { .attr = CCN_EVENT_ATTR(mn_##_name), \
291 .attr = CCN_EVENT_ATTR(hni_##_name), .type = CCN_TYPE_HNI, \
296 .attr = CCN_EVENT_ATTR(sbsx_##_name), .type = CCN_TYPE_SBSX, \
300 #define CCN_EVENT_HNF(_name, _event) { .attr = CCN_EVENT_ATTR(hnf_##_name), \
303 #define CCN_EVENT_XP(_name, _event) { .attr = CCN_EVENT_ATTR(xp_##_name), \
312 #define CCN_EVENT_RNI(_name, _event) { .attr = CCN_EVENT_ATTR(rni_##_name), \
315 #define CCN_EVENT_SBAS(_name, _event) { .attr = CCN_EVENT_ATTR(sbas_##_name), \
318 #define CCN_EVENT_CYCLES(_name) { .attr = CCN_EVENT_ATTR(_name), \
323 struct device_attribute *attr, char *buf) in arm_ccn_pmu_event_show() argument
325 struct arm_ccn_pmu_event *event = container_of(attr, in arm_ccn_pmu_event_show()
326 struct arm_ccn_pmu_event, attr); in arm_ccn_pmu_event_show()
345 struct attribute *attr, int index) in arm_ccn_pmu_events_is_visible() argument
349 struct device_attribute *dev_attr = container_of(attr, in arm_ccn_pmu_events_is_visible()
350 struct device_attribute, attr); in arm_ccn_pmu_events_is_visible()
352 struct arm_ccn_pmu_event, attr); in arm_ccn_pmu_events_is_visible()
359 return attr->mode; in arm_ccn_pmu_events_is_visible()
448 struct device_attribute *attr, char *buf) in arm_ccn_pmu_cmp_mask_show() argument
451 u64 *mask = arm_ccn_pmu_get_cmp_mask(ccn, attr->attr.name); in arm_ccn_pmu_cmp_mask_show()
457 struct device_attribute *attr, const char *buf, size_t count) in arm_ccn_pmu_cmp_mask_store() argument
460 u64 *mask = arm_ccn_pmu_get_cmp_mask(ccn, attr->attr.name); in arm_ccn_pmu_cmp_mask_store()
504 &arm_ccn_pmu_cmp_mask_attr_0l.attr, &arm_ccn_pmu_cmp_mask_attr_0h.attr,
505 &arm_ccn_pmu_cmp_mask_attr_1l.attr, &arm_ccn_pmu_cmp_mask_attr_1h.attr,
506 &arm_ccn_pmu_cmp_mask_attr_2l.attr, &arm_ccn_pmu_cmp_mask_attr_2h.attr,
507 &arm_ccn_pmu_cmp_mask_attr_3l.attr, &arm_ccn_pmu_cmp_mask_attr_3h.attr,
508 &arm_ccn_pmu_cmp_mask_attr_4l.attr, &arm_ccn_pmu_cmp_mask_attr_4h.attr,
509 &arm_ccn_pmu_cmp_mask_attr_5l.attr, &arm_ccn_pmu_cmp_mask_attr_5h.attr,
510 &arm_ccn_pmu_cmp_mask_attr_6l.attr, &arm_ccn_pmu_cmp_mask_attr_6h.attr,
511 &arm_ccn_pmu_cmp_mask_attr_7l.attr, &arm_ccn_pmu_cmp_mask_attr_7h.attr,
512 &arm_ccn_pmu_cmp_mask_attr_8l.attr, &arm_ccn_pmu_cmp_mask_attr_8h.attr,
513 &arm_ccn_pmu_cmp_mask_attr_9l.attr, &arm_ccn_pmu_cmp_mask_attr_9h.attr,
514 &arm_ccn_pmu_cmp_mask_attr_al.attr, &arm_ccn_pmu_cmp_mask_attr_ah.attr,
515 &arm_ccn_pmu_cmp_mask_attr_bl.attr, &arm_ccn_pmu_cmp_mask_attr_bh.attr,
601 if (CCN_CONFIG_TYPE(event->attr.config) == CCN_TYPE_XP && in arm_ccn_pmu_event_destroy()
602 CCN_CONFIG_EVENT(event->attr.config) == in arm_ccn_pmu_event_destroy()
623 if (event->attr.type != event->pmu->type) in arm_ccn_pmu_event_init()
634 if (has_branch_stack(event) || event->attr.exclude_user || in arm_ccn_pmu_event_init()
635 event->attr.exclude_kernel || event->attr.exclude_hv || in arm_ccn_pmu_event_init()
636 event->attr.exclude_idle) { in arm_ccn_pmu_event_init()
646 node_xp = CCN_CONFIG_NODE(event->attr.config); in arm_ccn_pmu_event_init()
647 type = CCN_CONFIG_TYPE(event->attr.config); in arm_ccn_pmu_event_init()
648 event_id = CCN_CONFIG_EVENT(event->attr.config); in arm_ccn_pmu_event_init()
677 u32 port = CCN_CONFIG_PORT(event->attr.config); in arm_ccn_pmu_event_init()
678 u32 vc = CCN_CONFIG_VC(event->attr.config); in arm_ccn_pmu_event_init()
710 arm_ccn_pmu_config_set(&event->attr.config, in arm_ccn_pmu_event_init()
807 if (CCN_CONFIG_TYPE(event->attr.config) == CCN_TYPE_XP) in arm_ccn_pmu_xp_dt_config()
808 xp = &ccn->xp[CCN_CONFIG_XP(event->attr.config)]; in arm_ccn_pmu_xp_dt_config()
811 CCN_CONFIG_NODE(event->attr.config))]; in arm_ccn_pmu_xp_dt_config()
879 u64 cmp_l = event->attr.config1; in arm_ccn_pmu_xp_watchpoint_config()
880 u64 cmp_h = event->attr.config2; in arm_ccn_pmu_xp_watchpoint_config()
881 u64 mask_l = ccn->dt.cmp_mask[CCN_CONFIG_MASK(event->attr.config)].l; in arm_ccn_pmu_xp_watchpoint_config()
882 u64 mask_h = ccn->dt.cmp_mask[CCN_CONFIG_MASK(event->attr.config)].h; in arm_ccn_pmu_xp_watchpoint_config()
890 val |= CCN_CONFIG_DIR(event->attr.config) << in arm_ccn_pmu_xp_watchpoint_config()
894 val |= CCN_CONFIG_PORT(event->attr.config) << in arm_ccn_pmu_xp_watchpoint_config()
898 val |= CCN_CONFIG_VC(event->attr.config) << in arm_ccn_pmu_xp_watchpoint_config()
929 id = (CCN_CONFIG_VC(event->attr.config) << 4) | in arm_ccn_pmu_xp_event_config()
930 (CCN_CONFIG_PORT(event->attr.config) << 3) | in arm_ccn_pmu_xp_event_config()
931 (CCN_CONFIG_EVENT(event->attr.config) << 0); in arm_ccn_pmu_xp_event_config()
946 u32 type = CCN_CONFIG_TYPE(event->attr.config); in arm_ccn_pmu_node_event_config()
949 port = arm_ccn_node_to_xp_port(CCN_CONFIG_NODE(event->attr.config)); in arm_ccn_pmu_node_event_config()
972 val |= CCN_CONFIG_EVENT(event->attr.config) << in arm_ccn_pmu_node_event_config()
987 if (CCN_CONFIG_TYPE(event->attr.config) == CCN_TYPE_XP) in arm_ccn_pmu_event_config()
988 xp = CCN_CONFIG_XP(event->attr.config); in arm_ccn_pmu_event_config()
990 xp = arm_ccn_node_to_xp(CCN_CONFIG_NODE(event->attr.config)); in arm_ccn_pmu_event_config()
1002 if (CCN_CONFIG_TYPE(event->attr.config) == CCN_TYPE_XP) { in arm_ccn_pmu_event_config()
1003 if (CCN_CONFIG_EVENT(event->attr.config) == in arm_ccn_pmu_event_config()
1379 arm_ccn_pmu_events_attrs[i] = &arm_ccn_pmu_events[i].attr.attr; in arm_ccn_init()