Lines Matching refs:unit
91 add_uncore_discovery_type(struct uncore_unit_discovery *unit) in add_uncore_discovery_type() argument
95 if (unit->access_type >= UNCORE_ACCESS_MAX) { in add_uncore_discovery_type()
96 pr_warn("Unsupported access type %d\n", unit->access_type); in add_uncore_discovery_type()
108 type->access_type = unit->access_type; in add_uncore_discovery_type()
110 type->type = unit->box_type; in add_uncore_discovery_type()
124 get_uncore_discovery_type(struct uncore_unit_discovery *unit) in get_uncore_discovery_type() argument
128 type = search_uncore_discovery_type(unit->box_type); in get_uncore_discovery_type()
132 return add_uncore_discovery_type(unit); in get_uncore_discovery_type()
136 uncore_insert_box_info(struct uncore_unit_discovery *unit, in uncore_insert_box_info() argument
143 if (!unit->ctl || !unit->ctl_offset || !unit->ctr_offset) { in uncore_insert_box_info()
146 unit->box_type, unit->box_id); in uncore_insert_box_info()
151 type = search_uncore_discovery_type(unit->box_type); in uncore_insert_box_info()
155 unit->box_type); in uncore_insert_box_info()
160 type->box_ctrl_die[die] = unit->ctl; in uncore_insert_box_info()
164 type = get_uncore_discovery_type(unit); in uncore_insert_box_info()
178 type->box_ctrl = unit->ctl; in uncore_insert_box_info()
179 type->box_ctrl_die[die] = unit->ctl; in uncore_insert_box_info()
180 type->num_counters = unit->num_regs; in uncore_insert_box_info()
181 type->counter_width = unit->bit_width; in uncore_insert_box_info()
182 type->ctl_offset = unit->ctl_offset; in uncore_insert_box_info()
183 type->ctr_offset = unit->ctr_offset; in uncore_insert_box_info()
184 *ids = unit->box_id; in uncore_insert_box_info()
192 if (unit->box_id == ids[i]) { in uncore_insert_box_info()
195 unit->box_type, unit->box_id); in uncore_insert_box_info()
199 ids[i] = unit->box_id; in uncore_insert_box_info()
200 box_offset[i] = unit->ctl - type->box_ctrl; in uncore_insert_box_info()
221 struct uncore_unit_discovery unit; in parse_discovery_table() local
256 memcpy_fromio(&unit, io_addr + (i + 1) * (global.stride * 8), in parse_discovery_table()
259 if (uncore_discovery_invalid_unit(unit)) in parse_discovery_table()
262 if (unit.access_type >= UNCORE_ACCESS_MAX) in parse_discovery_table()
265 uncore_insert_box_info(&unit, die, *parsed); in parse_discovery_table()