Lines Matching defs:layer
163 idr_pos(int id, int layer)
165 return (id >> (IDR_BITS * layer)) & IDR_MASK;
200 idr_remove_layer(struct idr_layer *il, int layer)
206 if (layer == 0) {
212 idr_remove_layer(il->ary[i], layer - 1);
231 int layer;
236 layer = idr->layers - 1;
243 while (layer && il) {
244 idx = idr_pos(id, layer);
247 layer--;
281 int layer;
285 layer = idr->layers - 1;
288 while (layer && il) {
289 il = il->ary[idr_pos(id, layer)];
290 layer--;
435 int layer;
464 for (layer = idr->layers - 1;; layer--) {
465 stack[layer] = il;
471 id |= idx << (layer * IDR_BITS);
472 if (layer == 0)
490 while (il->bitmap == 0 && ++layer < idr->layers) {
491 il = stack[layer];
492 il->bitmap &= ~(1 << idr_pos(id, layer));
522 int layer;
531 * at the top layer.
535 layer = 0;
537 layer++;
540 if (layer == MAX_LEVEL + 1) {
547 while (idr->layers <= layer ||
567 for (layer = idr->layers - 1;; layer--) {
568 stack[layer] = il;
569 sidx = idr_pos(starting_id, layer);
584 starting_id = id + (1 << ((layer + 1) * IDR_BITS));
589 id |= idx << (layer * IDR_BITS);
590 if (layer == 0)
608 while (il->bitmap == 0 && ++layer < idr->layers) {
609 il = stack[layer];
610 il->bitmap &= ~(1 << idr_pos(id, layer));
695 idr_for_each_layer(struct idr_layer *il, int offset, int layer,
702 if (layer == 0) {
716 (i + offset) * IDR_SIZE, layer - 1, f, data);