Lines Matching defs:layer
166 idr_pos(int id, int layer)
168 return (id >> (IDR_BITS * layer)) & IDR_MASK;
195 idr_remove_layer(struct idr_layer *il, int layer)
201 if (layer == 0) {
207 idr_remove_layer(il->ary[i], layer - 1);
226 int layer;
231 layer = idr->layers - 1;
238 while (layer && il) {
239 idx = idr_pos(id, layer);
242 layer--;
277 int layer;
281 layer = idr->layers - 1;
284 while (layer && il) {
285 il = il->ary[idr_pos(id, layer)];
286 layer--;
431 int layer;
460 for (layer = idr->layers - 1;; layer--) {
461 stack[layer] = il;
467 id |= idx << (layer * IDR_BITS);
468 if (layer == 0)
486 while (il->bitmap == 0 && ++layer < idr->layers) {
487 il = stack[layer];
488 il->bitmap &= ~(1 << idr_pos(id, layer));
518 int layer;
527 * at the top layer.
531 layer = 0;
533 layer++;
536 if (layer == MAX_LEVEL + 1) {
543 while (idr->layers <= layer ||
563 for (layer = idr->layers - 1;; layer--) {
564 stack[layer] = il;
565 sidx = idr_pos(starting_id, layer);
580 starting_id = id + (1 << ((layer + 1) * IDR_BITS));
585 id |= idx << (layer * IDR_BITS);
586 if (layer == 0)
604 while (il->bitmap == 0 && ++layer < idr->layers) {
605 il = stack[layer];
606 il->bitmap &= ~(1 << idr_pos(id, layer));
691 idr_for_each_layer(struct idr_layer *il, int offset, int layer,
698 if (layer == 0) {
712 (i + offset) * IDR_SIZE, layer - 1, f, data);