Lines Matching refs:xibm

49 	struct xive_irq_bitmap *xibm;  in xive_irq_bitmap_add()  local
51 xibm = kzalloc(sizeof(*xibm), GFP_KERNEL); in xive_irq_bitmap_add()
52 if (!xibm) in xive_irq_bitmap_add()
55 spin_lock_init(&xibm->lock); in xive_irq_bitmap_add()
56 xibm->base = base; in xive_irq_bitmap_add()
57 xibm->count = count; in xive_irq_bitmap_add()
58 xibm->bitmap = kzalloc(xibm->count, GFP_KERNEL); in xive_irq_bitmap_add()
59 if (!xibm->bitmap) { in xive_irq_bitmap_add()
60 kfree(xibm); in xive_irq_bitmap_add()
63 list_add(&xibm->list, &xive_irq_bitmaps); in xive_irq_bitmap_add()
65 pr_info("Using IRQ range [%x-%x]", xibm->base, in xive_irq_bitmap_add()
66 xibm->base + xibm->count - 1); in xive_irq_bitmap_add()
70 static int __xive_irq_bitmap_alloc(struct xive_irq_bitmap *xibm) in __xive_irq_bitmap_alloc() argument
74 irq = find_first_zero_bit(xibm->bitmap, xibm->count); in __xive_irq_bitmap_alloc()
75 if (irq != xibm->count) { in __xive_irq_bitmap_alloc()
76 set_bit(irq, xibm->bitmap); in __xive_irq_bitmap_alloc()
77 irq += xibm->base; in __xive_irq_bitmap_alloc()
87 struct xive_irq_bitmap *xibm; in xive_irq_bitmap_alloc() local
91 list_for_each_entry(xibm, &xive_irq_bitmaps, list) { in xive_irq_bitmap_alloc()
92 spin_lock_irqsave(&xibm->lock, flags); in xive_irq_bitmap_alloc()
93 irq = __xive_irq_bitmap_alloc(xibm); in xive_irq_bitmap_alloc()
94 spin_unlock_irqrestore(&xibm->lock, flags); in xive_irq_bitmap_alloc()
104 struct xive_irq_bitmap *xibm; in xive_irq_bitmap_free() local
106 list_for_each_entry(xibm, &xive_irq_bitmaps, list) { in xive_irq_bitmap_free()
107 if ((irq >= xibm->base) && (irq < xibm->base + xibm->count)) { in xive_irq_bitmap_free()
108 spin_lock_irqsave(&xibm->lock, flags); in xive_irq_bitmap_free()
109 clear_bit(irq - xibm->base, xibm->bitmap); in xive_irq_bitmap_free()
110 spin_unlock_irqrestore(&xibm->lock, flags); in xive_irq_bitmap_free()
658 struct xive_irq_bitmap *xibm; in xive_spapr_debug_show() local
664 list_for_each_entry(xibm, &xive_irq_bitmaps, list) { in xive_spapr_debug_show()
666 bitmap_print_to_pagebuf(true, buf, xibm->bitmap, xibm->count); in xive_spapr_debug_show()
667 seq_printf(m, "bitmap #%d: %s", xibm->count, buf); in xive_spapr_debug_show()