Lines Matching refs:list
11 * notice, this list of conditions and the following disclaimer.
13 * notice, this list of conditions and the following disclaimer in the
137 void freelist_reserve(struct freelist *list, void *osext, HPT_UINT size, HPT_UINT count)
144 list->next = vbus_ext->freelist_head;
145 vbus_ext->freelist_head = list;
146 list->dma = 0;
147 list->size = size;
148 list->head = 0;
150 list->reserved_count =
152 list->count = count;
155 void *freelist_get(struct freelist *list)
158 if (list->count) {
159 HPT_ASSERT(list->head);
160 result = list->head;
161 list->head = *(void **)result;
162 list->count--;
168 void freelist_put(struct freelist * list, void *p)
170 HPT_ASSERT(list->dma==0);
171 list->count++;
172 *(void **)p = list->head;
173 list->head = p;
176 void freelist_reserve_dma(struct freelist *list, void *osext, HPT_UINT size, HPT_UINT alignment, HPT_UINT count)
183 list->next = vbus_ext->freelist_dma_head;
184 vbus_ext->freelist_dma_head = list;
185 list->dma = 1;
186 list->alignment = alignment;
187 list->size = size;
188 list->head = 0;
190 list->reserved_count =
192 list->count = count;
195 void *freelist_get_dma(struct freelist *list, BUS_ADDRESS *busaddr)
198 HPT_ASSERT(list->dma);
199 result = freelist_get(list);
205 void freelist_put_dma(struct freelist *list, void *p, BUS_ADDRESS busaddr)
207 HPT_ASSERT(list->dma);
208 list->count++;
209 *(void **)p = list->head;
211 list->head = p;