Lines Matching refs:rmid
33 u32 rmid; member
91 static inline bool __rmid_valid(u32 rmid) in __rmid_valid() argument
93 if (!rmid || rmid == INVALID_RMID) in __rmid_valid()
99 static u64 __rmid_read(u32 rmid) in __rmid_read() argument
107 wrmsr(MSR_IA32_QM_EVTSEL, QOS_L3_OCCUP_EVENT_ID, rmid); in __rmid_read()
124 u32 rmid; member
169 static inline struct cqm_rmid_entry *__rmid_entry(u32 rmid) in __rmid_entry() argument
173 entry = cqm_rmid_ptrs[rmid]; in __rmid_entry()
174 WARN_ON(entry->rmid != rmid); in __rmid_entry()
196 return entry->rmid; in __get_rmid()
199 static void __put_rmid(u32 rmid) in __put_rmid() argument
205 WARN_ON(!__rmid_valid(rmid)); in __put_rmid()
206 entry = __rmid_entry(rmid); in __put_rmid()
234 entry->rmid = r; in intel_cqm_setup_rmid_cache()
394 u32 rmid; member
403 static u32 intel_cqm_xchg_rmid(struct perf_event *group, u32 rmid) in intel_cqm_xchg_rmid() argument
414 if (__rmid_valid(old_rmid) && !__rmid_valid(rmid)) { in intel_cqm_xchg_rmid()
417 .rmid = old_rmid, in intel_cqm_xchg_rmid()
427 group->hw.cqm_rmid = rmid; in intel_cqm_xchg_rmid()
429 event->hw.cqm_rmid = rmid; in intel_cqm_xchg_rmid()
463 if (__rmid_read(entry->rmid) > __intel_cqm_threshold) in intel_cqm_stable()
472 static bool intel_cqm_sched_in_event(u32 rmid) in intel_cqm_sched_in_event() argument
490 intel_cqm_xchg_rmid(event, rmid); in intel_cqm_sched_in_event()
591 intel_cqm_rotation_rmid = entry->rmid; in intel_cqm_rmid_stabilize()
599 if (intel_cqm_sched_in_event(entry->rmid)) in intel_cqm_rmid_stabilize()
619 u32 rmid; in __intel_cqm_pick_and_rotate() local
634 rmid = intel_cqm_xchg_rmid(rotor, INVALID_RMID); in __intel_cqm_pick_and_rotate()
635 __put_rmid(rmid); in __intel_cqm_pick_and_rotate()
647 u32 rmid; in intel_cqm_sched_out_conflicting_events() local
655 rmid = group->hw.cqm_rmid; in intel_cqm_sched_out_conflicting_events()
660 if (!__rmid_valid(rmid)) in intel_cqm_sched_out_conflicting_events()
670 __put_rmid(rmid); in intel_cqm_sched_out_conflicting_events()
850 u32 rmid; in intel_cqm_setup_event() local
853 rmid = iter->hw.cqm_rmid; in intel_cqm_setup_event()
857 event->hw.cqm_rmid = rmid; in intel_cqm_setup_event()
866 if (__conflict_event(iter, event) && __rmid_valid(rmid)) in intel_cqm_setup_event()
871 rmid = INVALID_RMID; in intel_cqm_setup_event()
873 rmid = __get_rmid(); in intel_cqm_setup_event()
875 event->hw.cqm_rmid = rmid; in intel_cqm_setup_event()
881 u32 rmid; in intel_cqm_event_read() local
891 rmid = event->hw.cqm_rmid; in intel_cqm_event_read()
893 if (!__rmid_valid(rmid)) in intel_cqm_event_read()
896 val = __rmid_read(rmid); in intel_cqm_event_read()
914 val = __rmid_read(rr->rmid); in __intel_cqm_event_count()
973 rr.rmid = ACCESS_ONCE(event->hw.cqm_rmid); in intel_cqm_event_count()
975 if (!__rmid_valid(rr.rmid)) in intel_cqm_event_count()
981 if (event->hw.cqm_rmid == rr.rmid) in intel_cqm_event_count()
991 u32 rmid = event->hw.cqm_rmid; in intel_cqm_event_start() local
999 if (!WARN_ON_ONCE(state->rmid != rmid)) in intel_cqm_event_start()
1002 WARN_ON_ONCE(state->rmid); in intel_cqm_event_start()
1005 state->rmid = rmid; in intel_cqm_event_start()
1006 wrmsr(MSR_IA32_PQR_ASSOC, rmid, state->closid); in intel_cqm_event_start()
1021 state->rmid = 0; in intel_cqm_event_stop()
1024 WARN_ON_ONCE(!state->rmid); in intel_cqm_event_stop()
1031 u32 rmid; in intel_cqm_event_add() local
1036 rmid = event->hw.cqm_rmid; in intel_cqm_event_add()
1038 if (__rmid_valid(rmid) && (mode & PERF_EF_START)) in intel_cqm_event_add()
1074 u32 rmid = event->hw.cqm_rmid; in intel_cqm_event_destroy() local
1076 if (__rmid_valid(rmid)) in intel_cqm_event_destroy()
1077 __put_rmid(rmid); in intel_cqm_event_destroy()
1263 state->rmid = 0; in intel_cqm_cpu_starting()