Lines Matching defs:order
43 int order;
84 static u32 mthca_buddy_alloc(struct mthca_buddy *buddy, int order)
92 for (o = order; o <= buddy->max_order; ++o)
107 while (o > order) {
116 seg <<= order;
121 static void mthca_buddy_free(struct mthca_buddy *buddy, u32 seg, int order)
123 seg >>= order;
127 while (test_bit(seg ^ 1, buddy->bits[order])) {
128 clear_bit(seg ^ 1, buddy->bits[order]);
129 --buddy->num_free[order];
131 ++order;
134 set_bit(seg, buddy->bits[order]);
135 ++buddy->num_free[order];
190 static u32 mthca_alloc_mtt_range(struct mthca_dev *dev, int order,
193 u32 seg = mthca_buddy_alloc(buddy, order);
200 seg + (1 << order) - 1)) {
201 mthca_buddy_free(buddy, seg, order);
222 mtt->order = 0;
224 ++mtt->order;
226 mtt->first_seg = mthca_alloc_mtt_range(dev, mtt->order, buddy);
245 mthca_buddy_free(mtt->buddy, mtt->first_seg, mtt->order);
249 mtt->first_seg + (1 << mtt->order) - 1);
660 mthca_warn(dev, "MTT table of order %d is too small.\n",