Lines Matching defs:chunk

95 	struct nouveau_dmem_chunk *chunk = nouveau_page_to_chunk(page);
97 return chunk->drm;
102 struct nouveau_dmem_chunk *chunk = nouveau_page_to_chunk(page);
104 chunk->pagemap.range.start;
106 return chunk->bo->offset + off;
111 struct nouveau_dmem_chunk *chunk = nouveau_page_to_chunk(page);
112 struct nouveau_dmem *dmem = chunk->drm->dmem;
118 WARN_ON(!chunk->callocated);
119 chunk->callocated--;
121 * FIXME when chunk->callocated reach 0 we should add the chunk to
229 struct nouveau_dmem_chunk *chunk;
236 chunk = kzalloc(sizeof(*chunk), GFP_KERNEL);
237 if (chunk == NULL) {
250 chunk->drm = drm;
251 chunk->pagemap.type = MEMORY_DEVICE_PRIVATE;
252 chunk->pagemap.range.start = res->start;
253 chunk->pagemap.range.end = res->end;
254 chunk->pagemap.nr_range = 1;
255 chunk->pagemap.ops = &nouveau_dmem_pagemap_ops;
256 chunk->pagemap.owner = drm->dev;
260 &chunk->bo);
264 ret = nouveau_bo_pin(chunk->bo, NOUVEAU_GEM_DOMAIN_VRAM, false);
268 ptr = memremap_pages(&chunk->pagemap, numa_node_id());
275 list_add(&chunk->list, &drm->dmem->chunks);
278 pfn_first = chunk->pagemap.range.start >> PAGE_SHIFT;
286 chunk->callocated++;
295 nouveau_bo_unpin(chunk->bo);
297 nouveau_bo_ref(NULL, &chunk->bo);
299 release_mem_region(chunk->pagemap.range.start, range_len(&chunk->pagemap.range));
301 kfree(chunk);
309 struct nouveau_dmem_chunk *chunk;
317 chunk = nouveau_page_to_chunk(page);
318 chunk->callocated++;
342 struct nouveau_dmem_chunk *chunk;
349 list_for_each_entry(chunk, &drm->dmem->chunks, list) {
350 ret = nouveau_bo_pin(chunk->bo, NOUVEAU_GEM_DOMAIN_VRAM, false);
360 struct nouveau_dmem_chunk *chunk;
366 list_for_each_entry(chunk, &drm->dmem->chunks, list)
367 nouveau_bo_unpin(chunk->bo);
374 struct nouveau_dmem_chunk *chunk, *tmp;
381 list_for_each_entry_safe(chunk, tmp, &drm->dmem->chunks, list) {
382 nouveau_bo_unpin(chunk->bo);
383 nouveau_bo_ref(NULL, &chunk->bo);
384 list_del(&chunk->list);
385 memunmap_pages(&chunk->pagemap);
386 release_mem_region(chunk->pagemap.range.start,
387 range_len(&chunk->pagemap.range));
388 kfree(chunk);