cpumf_ctr_info
static inline int qctri(struct cpumf_ctr_info *info)
static struct cpumf_ctr_info cpumf_ctr_info;
qctri(&cpumf_ctr_info);
if (!cpum_cf_avail() || qctri(&cpumf_ctr_info))
if (cpumf_ctr_info.auth_ctl & cpumf_ctr_ctl[i])
static size_t cfdiag_maxsize(struct cpumf_ctr_info *info)
need = cfdiag_maxsize(&cpumf_ctr_info);
te->cfvn = cpumf_ctr_info.cfvn; /* Counter version numbers */
te->csvn = cpumf_ctr_info.csvn;
if (cpumf_ctr_info.cfvn >= 1)
if (cpumf_ctr_info.cfvn == 1)
else if (cpumf_ctr_info.cfvn >= 3)
if (cpumf_ctr_info.csvn >= 1 && cpumf_ctr_info.csvn <= 5)
else if (cpumf_ctr_info.csvn >= 6)
if (cpumf_ctr_info.csvn == 1)
else if (cpumf_ctr_info.csvn == 2)
else if (cpumf_ctr_info.csvn >= 3 && cpumf_ctr_info.csvn <= 5)
else if (cpumf_ctr_info.csvn >= 6 && cpumf_ctr_info.csvn <= 8)
if (cpumf_ctr_info.csvn > 3)
if (cpumf_ctr_info.cfvn < 1)
if ((cpumf_ctr_info.csvn >= 1 && cpumf_ctr_info.csvn <= 5 &&
config > 79) || (cpumf_ctr_info.csvn >= 6 && config > 83))
if (cpumf_ctr_info.csvn < 1)
if ((cpumf_ctr_info.csvn == 1 && config > 159) ||
(cpumf_ctr_info.csvn == 2 && config > 175) ||
(cpumf_ctr_info.csvn >= 3 && cpumf_ctr_info.csvn <= 5 &&
(cpumf_ctr_info.csvn >= 6 && config > 287))
if (cpumf_ctr_info.csvn <= 3)
if (!((cpumf_ctr_info.auth_ctl & mtdiag_ctl) &&
(cpumf_ctr_info.enable_ctl & mtdiag_ctl) &&
(cpumf_ctr_info.act_ctl & mtdiag_ctl)))
if (!(hwc->config_base & cpumf_ctr_info.auth_ctl))
struct cpumf_ctr_info ci;
struct cpumf_ctr_info cf_info;
struct cpumf_ctr_info ci;