Lines Matching refs:xas
383 XA_STATE(xas, &ida->xa, min / IDA_BITMAP_BITS);
395 xas_lock_irqsave(&xas, flags);
397 bitmap = xas_find_marked(&xas, max / IDA_BITMAP_BITS, XA_FREE_MARK);
398 if (xas.xa_index > min / IDA_BITMAP_BITS)
400 if (xas.xa_index * IDA_BITMAP_BITS + bit > max)
408 if (xas.xa_index * IDA_BITMAP_BITS + bit > max)
412 xas_store(&xas, xa_mk_value(tmp));
422 xas_store(&xas, bitmap);
423 if (xas_error(&xas)) {
431 if (xas.xa_index * IDA_BITMAP_BITS + bit > max)
438 xas_clear_mark(&xas, XA_FREE_MARK);
450 xas_store(&xas, bitmap);
453 xas_unlock_irqrestore(&xas, flags);
454 if (xas_nomem(&xas, gfp)) {
455 xas.xa_index = min / IDA_BITMAP_BITS;
461 if (xas_error(&xas))
462 return xas_error(&xas);
463 return xas.xa_index * IDA_BITMAP_BITS + bit;
465 xas_unlock_irqrestore(&xas, flags);
469 xas_set(&xas, min / IDA_BITMAP_BITS);
473 xas_unlock_irqrestore(&xas, flags);
489 XA_STATE(xas, &ida->xa, id / IDA_BITMAP_BITS);
497 xas_lock_irqsave(&xas, flags);
498 bitmap = xas_load(&xas);
509 xas_store(&xas, xa_mk_value(v));
514 xas_set_mark(&xas, XA_FREE_MARK);
518 xas_store(&xas, NULL);
521 xas_unlock_irqrestore(&xas, flags);
524 xas_unlock_irqrestore(&xas, flags);
543 XA_STATE(xas, &ida->xa, 0);
547 xas_lock_irqsave(&xas, flags);
548 xas_for_each(&xas, bitmap, ULONG_MAX) {
551 xas_store(&xas, NULL);
553 xas_unlock_irqrestore(&xas, flags);