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))
723 u64 lbr;
726 rdmsrl(x86_pmu.lbr_from + lbr_idx, msr_lastbranch.lbr);
873 struct lbr_entry *lbr;
878 lbr = entries ? &entries[i] : NULL;
881 from = rdlbr_from(i, lbr);
888 to = rdlbr_to(i, lbr);
889 info = rdlbr_info(i, lbr);
921 intel_pmu_store_lbr(cpuc, xsave->lbr.entries);
1186 void intel_pmu_store_pebs_lbrs(struct lbr_entry *lbr)
1197 intel_pmu_store_lbr(cpuc, lbr);
1605 * @lbr: the caller's memory to store the LBR records information
1607 void x86_perf_get_lbr(struct x86_pmu_lbr *lbr)
1609 lbr->nr = x86_pmu.lbr_nr;
1610 lbr->from = x86_pmu.lbr_from;
1611 lbr->to = x86_pmu.lbr_to;
1612 lbr->info = x86_pmu.lbr_info;