Lines Matching refs:id_map

30 static void coresight_trace_id_dump_table(struct coresight_trace_id_map *id_map,  in coresight_trace_id_dump_table()  argument
34 pr_debug("Used = %*pb\n", CORESIGHT_TRACE_IDS_MAX, id_map->used_ids); in coresight_trace_id_dump_table()
35 pr_debug("Pend = %*pb\n", CORESIGHT_TRACE_IDS_MAX, id_map->pend_rel_ids); in coresight_trace_id_dump_table()
55 static int coresight_trace_id_find_odd_id(struct coresight_trace_id_map *id_map) in coresight_trace_id_find_odd_id() argument
64 next_id = find_next_zero_bit(id_map->used_ids, in coresight_trace_id_find_odd_id()
82 static int coresight_trace_id_alloc_new_id(struct coresight_trace_id_map *id_map, in coresight_trace_id_alloc_new_id() argument
89 !test_bit(preferred_id, id_map->used_ids)) { in coresight_trace_id_alloc_new_id()
94 id = coresight_trace_id_find_odd_id(id_map); in coresight_trace_id_alloc_new_id()
103 id = find_next_zero_bit(id_map->used_ids, CORESIGHT_TRACE_ID_RES_TOP, 1); in coresight_trace_id_alloc_new_id()
109 set_bit(id, id_map->used_ids); in coresight_trace_id_alloc_new_id()
113 static void coresight_trace_id_free(int id, struct coresight_trace_id_map *id_map) in coresight_trace_id_free() argument
117 if (WARN(!test_bit(id, id_map->used_ids), "Freeing unused ID %d\n", id)) in coresight_trace_id_free()
119 clear_bit(id, id_map->used_ids); in coresight_trace_id_free()
122 static void coresight_trace_id_set_pend_rel(int id, struct coresight_trace_id_map *id_map) in coresight_trace_id_set_pend_rel() argument
126 set_bit(id, id_map->pend_rel_ids); in coresight_trace_id_set_pend_rel()
137 struct coresight_trace_id_map *id_map = &id_map_default; in coresight_trace_id_release_all_pending() local
142 for_each_set_bit(bit, id_map->pend_rel_ids, CORESIGHT_TRACE_ID_RES_TOP) { in coresight_trace_id_release_all_pending()
143 clear_bit(bit, id_map->used_ids); in coresight_trace_id_release_all_pending()
144 clear_bit(bit, id_map->pend_rel_ids); in coresight_trace_id_release_all_pending()
151 DUMP_ID_MAP(id_map); in coresight_trace_id_release_all_pending()
154 static int coresight_trace_id_map_get_cpu_id(int cpu, struct coresight_trace_id_map *id_map) in coresight_trace_id_map_get_cpu_id() argument
176 id = coresight_trace_id_alloc_new_id(id_map, in coresight_trace_id_map_get_cpu_id()
188 clear_bit(id, id_map->pend_rel_ids); in coresight_trace_id_map_get_cpu_id()
194 DUMP_ID_MAP(id_map); in coresight_trace_id_map_get_cpu_id()
198 static void coresight_trace_id_map_put_cpu_id(int cpu, struct coresight_trace_id_map *id_map) in coresight_trace_id_map_put_cpu_id() argument
212 coresight_trace_id_set_pend_rel(id, id_map); in coresight_trace_id_map_put_cpu_id()
216 coresight_trace_id_free(id, id_map); in coresight_trace_id_map_put_cpu_id()
222 DUMP_ID_MAP(id_map); in coresight_trace_id_map_put_cpu_id()
225 static int coresight_trace_id_map_get_system_id(struct coresight_trace_id_map *id_map) in coresight_trace_id_map_get_system_id() argument
232 id = coresight_trace_id_alloc_new_id(id_map, 0, true); in coresight_trace_id_map_get_system_id()
236 DUMP_ID_MAP(id_map); in coresight_trace_id_map_get_system_id()
240 static void coresight_trace_id_map_put_system_id(struct coresight_trace_id_map *id_map, int id) in coresight_trace_id_map_put_system_id() argument
245 coresight_trace_id_free(id, id_map); in coresight_trace_id_map_put_system_id()
249 DUMP_ID_MAP(id_map); in coresight_trace_id_map_put_system_id()