Lines Matching refs:lbr
297 static __always_inline u64 rdlbr_from(unsigned int idx, struct lbr_entry *lbr)
301 if (lbr)
302 return lbr->from;
309 static __always_inline u64 rdlbr_to(unsigned int idx, struct lbr_entry *lbr)
313 if (lbr)
314 return lbr->to;
321 static __always_inline u64 rdlbr_info(unsigned int idx, struct lbr_entry *lbr)
325 if (lbr)
326 return lbr->info;
334 wrlbr_all(struct lbr_entry *lbr, unsigned int idx, bool need_info)
336 wrlbr_from(idx, lbr->from);
337 wrlbr_to(idx, lbr->to);
339 wrlbr_info(idx, lbr->info);
343 rdlbr_all(struct lbr_entry *lbr, unsigned int idx, bool need_info)
351 lbr->from = from;
352 lbr->to = rdlbr_to(idx, NULL);
354 lbr->info = rdlbr_info(idx, NULL);
371 wrlbr_all(&task_ctx->lbr[i], lbr_idx, need_info);
464 if (!rdlbr_all(&task_ctx->lbr[i], lbr_idx, need_info))
742 u64 lbr;
745 rdmsrl(x86_pmu.lbr_from + lbr_idx, msr_lastbranch.lbr);
894 struct lbr_entry *lbr;
899 lbr = entries ? &entries[i] : NULL;
902 from = rdlbr_from(i, lbr);
909 to = rdlbr_to(i, lbr);
910 info = rdlbr_info(i, lbr);
998 intel_pmu_store_lbr(cpuc, xsave->lbr.entries);
1265 void intel_pmu_store_pebs_lbrs(struct lbr_entry *lbr)
1276 intel_pmu_store_lbr(cpuc, lbr);
1688 * @lbr: the caller's memory to store the LBR records information
1690 void x86_perf_get_lbr(struct x86_pmu_lbr *lbr)
1692 lbr->nr = x86_pmu.lbr_nr;
1693 lbr->from = x86_pmu.lbr_from;
1694 lbr->to = x86_pmu.lbr_to;
1695 lbr->info = x86_pmu.lbr_info;
1696 lbr->has_callstack = x86_pmu_has_lbr_callstack();