Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/drm2/i915/i915_gem.c
Show First 20 Lines • Show All 1,555 Lines • ▼ Show 20 Lines | if (vm_page_busied(page)) { | ||||
VM_OBJECT_WUNLOCK(vm_obj); | VM_OBJECT_WUNLOCK(vm_obj); | ||||
vm_page_busy_sleep(page, "915pbs", false); | vm_page_busy_sleep(page, "915pbs", false); | ||||
goto retry; | goto retry; | ||||
} | } | ||||
if (vm_page_insert(page, vm_obj, pidx)) { | if (vm_page_insert(page, vm_obj, pidx)) { | ||||
i915_gem_object_unpin(obj); | i915_gem_object_unpin(obj); | ||||
DRM_UNLOCK(dev); | DRM_UNLOCK(dev); | ||||
VM_OBJECT_WUNLOCK(vm_obj); | VM_OBJECT_WUNLOCK(vm_obj); | ||||
vm_wait(vm_obj); | vm_wait(vm_obj, 0); | ||||
goto retry; | goto retry; | ||||
} | } | ||||
page->valid = VM_PAGE_BITS_ALL; | page->valid = VM_PAGE_BITS_ALL; | ||||
have_page: | have_page: | ||||
vm_page_xbusy(page); | vm_page_xbusy(page); | ||||
CTR4(KTR_DRM, "fault %p %jx %x phys %x", gem_obj, pidx, fault_type, | CTR4(KTR_DRM, "fault %p %jx %x phys %x", gem_obj, pidx, fault_type, | ||||
page->phys_addr); | page->phys_addr); | ||||
▲ Show 20 Lines • Show All 3,195 Lines • Show Last 20 Lines |