Lines Matching refs:slot
271 static bool slot_valid(struct nd_namespace_label *nd_label, u32 slot) in slot_valid() argument
274 if (slot != __le32_to_cpu(nd_label->slot)) in slot_valid()
289 u32 nslot, slot; in nd_label_reserve_dpa() local
294 for_each_clear_bit_le(slot, free, nslot) { in nd_label_reserve_dpa()
302 nd_label = nd_label_base(ndd) + slot; in nd_label_reserve_dpa()
304 if (!slot_valid(nd_label, slot)) in nd_label_reserve_dpa()
325 u32 nslot, slot; in nd_label_active_count() local
331 for_each_clear_bit_le(slot, free, nslot) { in nd_label_active_count()
334 nd_label = nd_label_base(ndd) + slot; in nd_label_active_count()
336 if (!slot_valid(nd_label, slot)) { in nd_label_active_count()
337 u32 label_slot = __le32_to_cpu(nd_label->slot); in nd_label_active_count()
343 __func__, slot, label_slot, dpa, size); in nd_label_active_count()
355 u32 nslot, slot; in nd_label_active() local
360 for_each_clear_bit_le(slot, free, nslot) { in nd_label_active()
363 nd_label = nd_label_base(ndd) + slot; in nd_label_active()
364 if (!slot_valid(nd_label, slot)) in nd_label_active()
368 return nd_label_base(ndd) + slot; in nd_label_active()
378 u32 nslot, slot; in nd_label_alloc_slot() local
385 slot = find_next_bit_le(free, nslot, 0); in nd_label_alloc_slot()
386 if (slot == nslot) in nd_label_alloc_slot()
389 clear_bit_le(slot, free); in nd_label_alloc_slot()
391 return slot; in nd_label_alloc_slot()
394 bool nd_label_free_slot(struct nvdimm_drvdata *ndd, u32 slot) in nd_label_free_slot() argument
405 if (slot < nslot) in nd_label_free_slot()
406 return !test_and_set_bit_le(slot, free); in nd_label_free_slot()
503 u32 nslot, slot; in __pmem_label_update() local
511 slot = nd_label_alloc_slot(ndd); in __pmem_label_update()
512 if (slot == UINT_MAX) in __pmem_label_update()
514 dev_dbg(ndd->dev, "%s: allocated: %d\n", __func__, slot); in __pmem_label_update()
516 nd_label = nd_label_base(ndd) + slot; in __pmem_label_update()
529 nd_label->slot = __cpu_to_le32(slot); in __pmem_label_update()
541 slot = to_slot(ndd, victim_label); in __pmem_label_update()
542 nd_label_free_slot(ndd, slot); in __pmem_label_update()
543 dev_dbg(ndd->dev, "%s: free: %d\n", __func__, slot); in __pmem_label_update()
561 unsigned int slot; in del_label() local
565 slot = to_slot(ndd, nd_label); in del_label()
566 dev_vdbg(ndd->dev, "%s: clear: %d\n", __func__, slot); in del_label()
618 u32 nslot, slot; in __blk_label_update() local
652 for_each_clear_bit_le(slot, free, nslot) { in __blk_label_update()
653 nd_label = nd_label_base(ndd) + slot; in __blk_label_update()
661 slot = to_slot(ndd, nd_label); in __blk_label_update()
662 set_bit(slot, victim_map); in __blk_label_update()
694 slot = nd_label_alloc_slot(ndd); in __blk_label_update()
695 if (slot == UINT_MAX) in __blk_label_update()
697 dev_dbg(ndd->dev, "%s: allocated: %d\n", __func__, slot); in __blk_label_update()
699 nd_label = nd_label_base(ndd) + slot; in __blk_label_update()
712 nd_label->slot = __cpu_to_le32(slot); in __blk_label_update()
723 for_each_set_bit(slot, victim_map, victim_map ? nslot : 0) { in __blk_label_update()
724 dev_dbg(ndd->dev, "%s: free: %d\n", __func__, slot); in __blk_label_update()
725 nd_label_free_slot(ndd, slot); in __blk_label_update()
758 for_each_clear_bit_le(slot, free, nslot) { in __blk_label_update()
759 nd_label = nd_label_base(ndd) + slot; in __blk_label_update()
766 l, slot); in __blk_label_update()
845 u32 nslot, slot; in del_labels() local
859 slot = to_slot(ndd, nd_label); in del_labels()
860 nd_label_free_slot(ndd, slot); in del_labels()
861 dev_dbg(ndd->dev, "%s: free: %d\n", __func__, slot); in del_labels()