Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/drm2/ttm/ttm_bo_vm.c
Show First 20 Lines • Show All 240 Lines • ▼ Show 20 Lines | if (vm_page_busied(m)) { | ||||
ttm_mem_io_unlock(man); | ttm_mem_io_unlock(man); | ||||
ttm_bo_unreserve(bo); | ttm_bo_unreserve(bo); | ||||
goto retry; | goto retry; | ||||
} | } | ||||
m1 = vm_page_lookup(vm_obj, OFF_TO_IDX(offset)); | m1 = vm_page_lookup(vm_obj, OFF_TO_IDX(offset)); | ||||
if (m1 == NULL) { | if (m1 == NULL) { | ||||
if (vm_page_insert(m, vm_obj, OFF_TO_IDX(offset))) { | if (vm_page_insert(m, vm_obj, OFF_TO_IDX(offset))) { | ||||
VM_OBJECT_WUNLOCK(vm_obj); | VM_OBJECT_WUNLOCK(vm_obj); | ||||
vm_wait(vm_obj); | vm_wait(vm_obj, 0); | ||||
VM_OBJECT_WLOCK(vm_obj); | VM_OBJECT_WLOCK(vm_obj); | ||||
ttm_mem_io_unlock(man); | ttm_mem_io_unlock(man); | ||||
ttm_bo_unreserve(bo); | ttm_bo_unreserve(bo); | ||||
goto retry; | goto retry; | ||||
} | } | ||||
} else { | } else { | ||||
KASSERT(m == m1, | KASSERT(m == m1, | ||||
("inconsistent insert bo %p m %p m1 %p offset %jx", | ("inconsistent insert bo %p m %p m1 %p offset %jx", | ||||
▲ Show 20 Lines • Show All 306 Lines • Show Last 20 Lines |