Lines Matching refs:trp

91 	struct tpmi_rapl_package *trp;  in trp_alloc()  local
104 trp = kzalloc(sizeof(*trp), GFP_KERNEL); in trp_alloc()
105 if (!trp) { in trp_alloc()
110 list_add(&trp->node, &tpmi_rapl_packages); in trp_alloc()
113 return trp; in trp_alloc()
123 static void trp_release(struct tpmi_rapl_package *trp) in trp_release() argument
126 list_del(&trp->node); in trp_release()
131 kfree(trp); in trp_release()
141 static int parse_one_domain(struct tpmi_rapl_package *trp, u32 offset) in parse_one_domain() argument
149 u64 tpmi_domain_header = readq(trp->base + offset); in parse_one_domain()
195 tpmi_domain_info = readq(trp->base + offset + TPMI_RAPL_REG_DOMAIN_INFO * 8); in parse_one_domain()
208 if (trp->priv.regs[domain_type][RAPL_DOMAIN_REG_UNIT].mmio) { in parse_one_domain()
224 trp->priv.limits[domain_type] |= BIT(POWER_LIMIT1); in parse_one_domain()
228 trp->priv.limits[domain_type] |= BIT(POWER_LIMIT2); in parse_one_domain()
232 trp->priv.limits[domain_type] |= BIT(POWER_LIMIT4); in parse_one_domain()
246 trp->priv.regs[domain_type][reg_id].mmio = trp->base + offset + reg_index * 8; in parse_one_domain()
255 struct tpmi_rapl_package *trp; in intel_rapl_tpmi_probe() local
265 trp = trp_alloc(info->package_id); in intel_rapl_tpmi_probe()
266 if (IS_ERR(trp)) in intel_rapl_tpmi_probe()
267 return PTR_ERR(trp); in intel_rapl_tpmi_probe()
282 trp->base = devm_ioremap_resource(&auxdev->dev, res); in intel_rapl_tpmi_probe()
283 if (IS_ERR(trp->base)) { in intel_rapl_tpmi_probe()
284 ret = PTR_ERR(trp->base); in intel_rapl_tpmi_probe()
289 ret = parse_one_domain(trp, offset); in intel_rapl_tpmi_probe()
294 trp->tpmi_info = info; in intel_rapl_tpmi_probe()
295 trp->priv.type = RAPL_IF_TPMI; in intel_rapl_tpmi_probe()
296 trp->priv.read_raw = tpmi_rapl_read_raw; in intel_rapl_tpmi_probe()
297 trp->priv.write_raw = tpmi_rapl_write_raw; in intel_rapl_tpmi_probe()
298 trp->priv.control_type = tpmi_control_type; in intel_rapl_tpmi_probe()
301 trp->rp = rapl_find_package_domain(info->package_id, &trp->priv, false); in intel_rapl_tpmi_probe()
302 if (trp->rp) { in intel_rapl_tpmi_probe()
308 trp->rp = rapl_add_package(info->package_id, &trp->priv, false); in intel_rapl_tpmi_probe()
309 if (IS_ERR(trp->rp)) { in intel_rapl_tpmi_probe()
311 info->package_id, PTR_ERR(trp->rp)); in intel_rapl_tpmi_probe()
312 ret = PTR_ERR(trp->rp); in intel_rapl_tpmi_probe()
316 rapl_package_add_pmu(trp->rp); in intel_rapl_tpmi_probe()
318 auxiliary_set_drvdata(auxdev, trp); in intel_rapl_tpmi_probe()
322 trp_release(trp); in intel_rapl_tpmi_probe()
328 struct tpmi_rapl_package *trp = auxiliary_get_drvdata(auxdev); in intel_rapl_tpmi_remove() local
330 rapl_package_remove_pmu(trp->rp); in intel_rapl_tpmi_remove()
331 rapl_remove_package(trp->rp); in intel_rapl_tpmi_remove()
332 trp_release(trp); in intel_rapl_tpmi_remove()