Lines Matching refs:lbr
378 static __always_inline u64 rdlbr_from(unsigned int idx, struct lbr_entry *lbr)
382 if (lbr)
383 return lbr->from;
390 static __always_inline u64 rdlbr_to(unsigned int idx, struct lbr_entry *lbr)
394 if (lbr)
395 return lbr->to;
402 static __always_inline u64 rdlbr_info(unsigned int idx, struct lbr_entry *lbr)
406 if (lbr)
407 return lbr->info;
415 wrlbr_all(struct lbr_entry *lbr, unsigned int idx, bool need_info)
417 wrlbr_from(idx, lbr->from);
418 wrlbr_to(idx, lbr->to);
420 wrlbr_info(idx, lbr->info);
424 rdlbr_all(struct lbr_entry *lbr, unsigned int idx, bool need_info)
432 lbr->from = from;
433 lbr->to = rdlbr_to(idx, NULL);
435 lbr->info = rdlbr_info(idx, NULL);
452 wrlbr_all(&task_ctx->lbr[i], lbr_idx, need_info);
545 if (!rdlbr_all(&task_ctx->lbr[i], lbr_idx, need_info))
799 u64 lbr;
802 rdmsrl(x86_pmu.lbr_from + lbr_idx, msr_lastbranch.lbr);
951 struct lbr_entry *lbr;
956 lbr = entries ? &entries[i] : NULL;
959 from = rdlbr_from(i, lbr);
966 to = rdlbr_to(i, lbr);
967 info = rdlbr_info(i, lbr);
998 intel_pmu_store_lbr(cpuc, xsave->lbr.entries);
1196 * maybe zero if lbr did not fill up after a reset by the time
1476 void intel_pmu_store_pebs_lbrs(struct lbr_entry *lbr)
1487 intel_pmu_store_lbr(cpuc, lbr);
1856 * @lbr: the caller's memory to store the LBR records information
1860 int x86_perf_get_lbr(struct x86_pmu_lbr *lbr)
1864 lbr->nr = x86_pmu.lbr_nr;
1865 lbr->from = x86_pmu.lbr_from;
1866 lbr->to = x86_pmu.lbr_to;
1867 lbr->info = (lbr_fmt == LBR_FORMAT_INFO) ? x86_pmu.lbr_info : 0;