Lines Matching refs:add

132 	struct gntdev_grant_map *add;
135 add = kzalloc(sizeof(*add), GFP_KERNEL);
136 if (NULL == add)
139 add->grants = kvmalloc_array(count, sizeof(add->grants[0]),
141 add->map_ops = kvmalloc_array(count, sizeof(add->map_ops[0]),
143 add->unmap_ops = kvmalloc_array(count, sizeof(add->unmap_ops[0]),
145 add->pages = kvcalloc(count, sizeof(add->pages[0]), GFP_KERNEL);
146 add->being_removed =
147 kvcalloc(count, sizeof(add->being_removed[0]), GFP_KERNEL);
148 if (NULL == add->grants ||
149 NULL == add->map_ops ||
150 NULL == add->unmap_ops ||
151 NULL == add->pages ||
152 NULL == add->being_removed)
155 add->kmap_ops = kvmalloc_array(count, sizeof(add->kmap_ops[0]),
157 add->kunmap_ops = kvmalloc_array(count, sizeof(add->kunmap_ops[0]),
159 if (NULL == add->kmap_ops || NULL == add->kunmap_ops)
164 add->dma_flags = dma_flags;
173 add->frames = kvcalloc(count, sizeof(add->frames[0]),
175 if (!add->frames)
179 add->dma_dev = priv->dma_dev;
184 args.pages = add->pages;
185 args.frames = add->frames;
190 add->dma_vaddr = args.vaddr;
191 add->dma_bus_addr = args.dev_bus_addr;
194 if (gnttab_alloc_pages(count, add->pages))
198 add->grants[i].domid = DOMID_INVALID;
199 add->grants[i].ref = INVALID_GRANT_REF;
200 add->map_ops[i].handle = INVALID_GRANT_HANDLE;
201 add->unmap_ops[i].handle = INVALID_GRANT_HANDLE;
203 add->kmap_ops[i].handle = INVALID_GRANT_HANDLE;
204 add->kunmap_ops[i].handle = INVALID_GRANT_HANDLE;
208 add->index = 0;
209 add->count = count;
210 refcount_set(&add->users, 1);
212 return add;
215 gntdev_free_map(add);
219 void gntdev_add_map(struct gntdev_priv *priv, struct gntdev_grant_map *add)
224 if (add->index + add->count < map->index) {
225 list_add_tail(&add->next, &map->next);
228 add->index = map->index + map->count;
230 list_add_tail(&add->next, &priv->maps);
233 gntdev_print_maps(priv, "[new]", add->index);
640 pr_debug("priv %p, add %d\n", priv, op.count);