Lines Matching defs:layer
61 idr_pos(int id, int layer)
63 return (id >> (IDR_BITS * layer)) & IDR_MASK;
88 idr_remove_layer(struct idr_layer *il, int layer)
94 if (layer == 0) {
100 idr_remove_layer(il->ary[i], layer - 1);
118 int layer;
124 layer = idr->layers - 1;
133 while (layer && il) {
134 idx = idr_pos(id, layer);
137 layer--;
159 int layer;
166 layer = idr->layers - 1;
169 while (layer && il) {
170 il = il->ary[idr_pos(id, layer)];
171 layer--;
191 int layer;
197 layer = idr->layers - 1;
200 while (layer && il) {
201 il = il->ary[idr_pos(id, layer)];
202 layer--;
272 int layer;
300 for (layer = idr->layers - 1;; layer--) {
301 stack[layer] = il;
307 id |= idx << (layer * IDR_BITS);
308 if (layer == 0)
326 while (il->bitmap == 0 && ++layer < idr->layers) {
327 il = stack[layer];
328 il->bitmap &= ~(1 << idr_pos(id, layer));
348 int layer;
356 * at the top layer.
360 layer = 0;
362 layer++;
365 if (layer == MAX_LEVEL + 1) {
372 while (idr->layers <= layer ||
392 for (layer = idr->layers - 1;; layer--) {
393 stack[layer] = il;
394 sidx = idr_pos(starting_id, layer);
409 starting_id = id + (1 << (layer+1 * IDR_BITS));
414 id |= idx << (layer * IDR_BITS);
415 if (layer == 0)
433 while (il->bitmap == 0 && ++layer < idr->layers) {
434 il = stack[layer];
435 il->bitmap &= ~(1 << idr_pos(id, layer));