Lines Matching defs:num_pages

58 search_linear_cache(struct kgem *kgem, unsigned int num_pages, unsigned flags);
61 search_snoop_cache(struct kgem *kgem, unsigned int num_pages, unsigned flags);
241 #define num_pages(B) (B)->size.pages.count
880 static uint32_t gem_create(int fd, int num_pages)
886 create.size = PAGE_SIZE * num_pages;
980 constant inline static int cache_bucket(int num_pages)
982 return __fls(num_pages);
986 int handle, int num_pages)
988 DBG(("%s(handle=%d, num_pages=%d)\n", __FUNCTION__, handle, num_pages));
990 assert(num_pages);
996 num_pages(bo) = num_pages;
997 bucket(bo) = cache_bucket(num_pages);
1007 static struct kgem_bo *__kgem_bo_alloc(int handle, int num_pages)
1020 return __kgem_bo_init(bo, handle, num_pages);
1058 static struct list *inactive(struct kgem *kgem, int num_pages)
1060 assert(num_pages < MAX_CACHE_SIZE / PAGE_SIZE);
1061 assert(cache_bucket(num_pages) < NUM_CACHE_BUCKETS);
1062 return &kgem->inactive[cache_bucket(num_pages)];
1065 static struct list *active(struct kgem *kgem, int num_pages, int tiling)
1067 assert(num_pages < MAX_CACHE_SIZE / PAGE_SIZE);
1068 assert(cache_bucket(num_pages) < NUM_CACHE_BUCKETS);
1069 return &kgem->active[cache_bucket(num_pages)][tiling];
1607 DBG(("%s: new handle=%d, num_pages=%d\n",
2482 kgem->aperture += num_pages(bo);
2808 if (num_pages(bo) > kgem->max_cpu_size >> 13) {
2810 __FUNCTION__, bo->handle, num_pages(bo), kgem->max_cpu_size >> 13));
2847 search_snoop_cache(struct kgem *kgem, unsigned int num_pages, unsigned flags)
2851 DBG(("%s: num_pages=%d, flags=%x\n", __FUNCTION__, num_pages, flags));
2874 if (num_pages > num_pages(bo))
2877 if (num_pages(bo) > 2*num_pages) {
2887 DBG((" %s: found handle=%d (num_pages=%d) in snoop cache\n",
2888 __FUNCTION__, bo->handle, num_pages(bo)));
2897 DBG((" %s: found handle=%d (num_pages=%d) in snoop cache\n",
2898 __FUNCTION__, first->handle, num_pages(first)));
4574 search_linear_cache(struct kgem *kgem, unsigned int num_pages, unsigned flags)
4580 DBG(("%s: num_pages=%d, flags=%x, use_active? %d, use_large=%d [max=%d]\n",
4581 __FUNCTION__, num_pages, flags, use_active,
4582 num_pages >= MAX_CACHE_SIZE / PAGE_SIZE,
4585 assert(num_pages);
4587 if (num_pages >= MAX_CACHE_SIZE / PAGE_SIZE) {
4596 if (num_pages > num_pages(bo))
4639 if (!use_active && list_is_empty(inactive(kgem, num_pages))) {
4648 if (list_is_empty(active(kgem, num_pages, I915_TILING_NONE))) {
4658 if (list_is_empty(inactive(kgem, num_pages))) {
4669 cache = &kgem->vma[for_cpu].inactive[cache_bucket(num_pages)];
4672 assert(bucket(bo) == cache_bucket(num_pages));
4678 if (num_pages > num_pages(bo)) {
4680 num_pages(bo), num_pages));
4701 DBG((" %s: found handle=%d (num_pages=%d) in linear vma cache\n",
4702 __FUNCTION__, bo->handle, num_pages(bo)));
4717 cache = use_active ? active(kgem, num_pages, I915_TILING_NONE) : inactive(kgem, num_pages);
4725 if (num_pages > num_pages(bo))
4789 DBG((" %s: found handle=%d (num_pages=%d) in linear %s cache\n",
4790 __FUNCTION__, bo->handle, num_pages(bo),
4811 DBG((" %s: found handle=%d (near-miss) (num_pages=%d) in linear %s cache\n",
4812 __FUNCTION__, first->handle, num_pages(first),
5015 DBG(("%s: new handle=%d, num_pages=%d\n", __FUNCTION__, handle, size));
5222 while (size < num_pages(bo))
5417 if (size > num_pages(bo) || num_pages(bo) > 2*size)
5464 if (size > num_pages(bo) || num_pages(bo) > 2*size)
5549 if (num_pages(bo) < size)
5584 if (size > num_pages(bo))
5639 if (size > num_pages(bo)) {
5641 num_pages(bo), size));
5732 if (num_pages(bo) < size)
5771 if (num_pages(bo) < size)
5799 if (num_pages(bo) < size)
5885 if (size > num_pages(bo)) {
5887 num_pages(bo), size));
5935 if (size > num_pages(bo))
6033 DBG((" new pitch=%d, tiling=%d, handle=%d, id=%d, num_pages=%d [%d], bucket=%d\n",
6035 size, num_pages(bo), bucket(bo)));
6259 static bool aperture_check(struct kgem *kgem, unsigned num_pages)
6274 DBG(("%s: num_pages=%d, holding %d pages in reserve, total aperture %d\n",
6275 __FUNCTION__, num_pages, reserve, kgem->aperture_total));
6276 num_pages += reserve;
6285 (long)num_pages * PAGE_SIZE,
6288 return num_pages <= aperture.aper_available_size / PAGE_SIZE;
6315 int num_pages = 0;
6331 num_pages += num_pages(bo);
6339 DBG(("%s: num_pages=+%d, num_exec=+%d\n",
6340 __FUNCTION__, num_pages, num_exec));
6342 if (!num_pages)
6351 if (num_pages + kgem->aperture > kgem->aperture_high) {
6353 __FUNCTION__, kgem->aperture, num_pages, kgem->aperture_high));
6354 return aperture_check(kgem, num_pages);
6451 if (kgem->aperture + kgem->aperture_fenced + num_pages(bo) > kgem->aperture_high) {
6453 __FUNCTION__, kgem->aperture, num_pages(bo), kgem->aperture_high));
6454 return aperture_check(kgem, num_pages(bo));
6469 int num_pages = 0;
6498 num_pages += num_pages(bo);
6543 if (num_pages == 0)
6549 if (num_pages + kgem->aperture > kgem->aperture_high - kgem->aperture_fenced) {
6551 __FUNCTION__, kgem->aperture, kgem->aperture_fenced, num_pages, kgem->aperture_high));
6552 return aperture_check(kgem, num_pages);
6839 warn_unless(num_pages(bo) <= kgem->aperture_mappable / 2);
7290 buffer_alloc_with_data(int num_pages)
7294 bo = malloc(sizeof(*bo) + 2*UPLOAD_ALIGNMENT + num_pages * PAGE_SIZE);
7355 __FUNCTION__, bo->base.handle, num_pages(&bo->base)));
7359 assert(num_pages(&bo->base) >= alloc);
7728 assert(num_pages(&bo->base) >= NUM_PAGES(size));
7779 bo = buffer_alloc_with_data(num_pages(old));
7835 bo = buffer_alloc_with_data(num_pages(old));
7853 assert(num_pages(&bo->base) >= NUM_PAGES(size));
7868 __FUNCTION__, num_pages(&bo->base), alloc, bo->base.handle, bo->used, bo->write));