Lines Matching defs:layer
65 idr_pos(int id, int layer)
67 return (id >> (IDR_BITS * layer)) & IDR_MASK;
94 idr_remove_layer(struct idr_layer *il, int layer)
100 if (layer == 0) {
106 idr_remove_layer(il->ary[i], layer - 1);
124 int layer;
129 layer = idr->layers - 1;
136 while (layer && il) {
137 idx = idr_pos(id, layer);
140 layer--;
168 int layer;
172 layer = idr->layers - 1;
175 while (layer && il) {
176 il = il->ary[idr_pos(id, layer)];
177 layer--;
310 int layer;
339 for (layer = idr->layers - 1;; layer--) {
340 stack[layer] = il;
346 id |= idx << (layer * IDR_BITS);
347 if (layer == 0)
365 while (il->bitmap == 0 && ++layer < idr->layers) {
366 il = stack[layer];
367 il->bitmap &= ~(1 << idr_pos(id, layer));
397 int layer;
406 * at the top layer.
410 layer = 0;
412 layer++;
415 if (layer == MAX_LEVEL + 1) {
422 while (idr->layers <= layer ||
442 for (layer = idr->layers - 1;; layer--) {
443 stack[layer] = il;
444 sidx = idr_pos(starting_id, layer);
459 starting_id = id + (1 << ((layer + 1) * IDR_BITS));
464 id |= idx << (layer * IDR_BITS);
465 if (layer == 0)
483 while (il->bitmap == 0 && ++layer < idr->layers) {
484 il = stack[layer];
485 il->bitmap &= ~(1 << idr_pos(id, layer));
570 idr_for_each_layer(struct idr_layer *il, int layer,
577 if (layer == 0) {
590 err = idr_for_each_layer(il->ary[i], layer - 1, f, data);