Changeset View
Changeset View
Standalone View
Standalone View
head/sys/arm/nvidia/drm2/tegra_bo.c
Show First 20 Lines • Show All 108 Lines • ▼ Show 20 Lines | tegra_bo_alloc_contig(size_t npages, u_long alignment, vm_memattr_t memattr, | ||||
tries = 0; | tries = 0; | ||||
retry: | retry: | ||||
m = vm_page_alloc_contig(NULL, 0, pflags, npages, low, high, alignment, | m = vm_page_alloc_contig(NULL, 0, pflags, npages, low, high, alignment, | ||||
boundary, memattr); | boundary, memattr); | ||||
if (m == NULL) { | if (m == NULL) { | ||||
if (tries < 3) { | if (tries < 3) { | ||||
if (!vm_page_reclaim_contig(pflags, npages, low, high, | if (!vm_page_reclaim_contig(pflags, npages, low, high, | ||||
alignment, boundary)) | alignment, boundary)) | ||||
VM_WAIT; | vm_wait(NULL); | ||||
tries++; | tries++; | ||||
goto retry; | goto retry; | ||||
} | } | ||||
return (ENOMEM); | return (ENOMEM); | ||||
} | } | ||||
for (i = 0; i < npages; i++, m++) { | for (i = 0; i < npages; i++, m++) { | ||||
if ((m->flags & PG_ZERO) == 0) | if ((m->flags & PG_ZERO) == 0) | ||||
▲ Show 20 Lines • Show All 244 Lines • Show Last 20 Lines |