i915_gem.c (254141) | i915_gem.c (254649) |
---|---|
1/*- 2 * Copyright �� 2008 Intel Corporation 3 * 4 * Permission is hereby granted, free of charge, to any person obtaining a 5 * copy of this software and associated documentation files (the "Software"), 6 * to deal in the Software without restriction, including without limitation 7 * the rights to use, copy, modify, merge, publish, distribute, sublicense, 8 * and/or sell copies of the Software, and to permit persons to whom the --- 38 unchanged lines hidden (view full) --- 47 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 48 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 49 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 50 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 51 * SUCH DAMAGE. 52 */ 53 54#include <sys/cdefs.h> | 1/*- 2 * Copyright �� 2008 Intel Corporation 3 * 4 * Permission is hereby granted, free of charge, to any person obtaining a 5 * copy of this software and associated documentation files (the "Software"), 6 * to deal in the Software without restriction, including without limitation 7 * the rights to use, copy, modify, merge, publish, distribute, sublicense, 8 * and/or sell copies of the Software, and to permit persons to whom the --- 38 unchanged lines hidden (view full) --- 47 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 48 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 49 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 50 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 51 * SUCH DAMAGE. 52 */ 53 54#include <sys/cdefs.h> |
55__FBSDID("$FreeBSD: head/sys/dev/drm2/i915/i915_gem.c 254141 2013-08-09 11:28:55Z attilio $"); | 55__FBSDID("$FreeBSD: head/sys/dev/drm2/i915/i915_gem.c 254649 2013-08-22 07:39:53Z kib $"); |
56 57#include <dev/drm2/drmP.h> 58#include <dev/drm2/drm.h> 59#include <dev/drm2/i915/i915_drm.h> 60#include <dev/drm2/i915/i915_drv.h> 61#include <dev/drm2/i915/intel_drv.h> 62#include <dev/drm2/i915/intel_ringbuffer.h> 63#include <sys/resourcevar.h> --- 2030 unchanged lines hidden (view full) --- 2094 goto search_free; 2095 } 2096 ret = i915_gem_object_get_pages_gtt(obj, 0); 2097 if (ret != 0) { 2098 drm_mm_put_block(obj->gtt_space); 2099 obj->gtt_space = NULL; 2100 /* 2101 * i915_gem_object_get_pages_gtt() cannot return | 56 57#include <dev/drm2/drmP.h> 58#include <dev/drm2/drm.h> 59#include <dev/drm2/i915/i915_drm.h> 60#include <dev/drm2/i915/i915_drv.h> 61#include <dev/drm2/i915/intel_drv.h> 62#include <dev/drm2/i915/intel_ringbuffer.h> 63#include <sys/resourcevar.h> --- 2030 unchanged lines hidden (view full) --- 2094 goto search_free; 2095 } 2096 ret = i915_gem_object_get_pages_gtt(obj, 0); 2097 if (ret != 0) { 2098 drm_mm_put_block(obj->gtt_space); 2099 obj->gtt_space = NULL; 2100 /* 2101 * i915_gem_object_get_pages_gtt() cannot return |
2102 * ENOMEM, since we use vm_page_grab(VM_ALLOC_RETRY) 2103 * (which does not support operation without a flag 2104 * anyway). | 2102 * ENOMEM, since we use vm_page_grab(). |
2105 */ 2106 return (ret); 2107 } 2108 2109 ret = i915_gem_gtt_bind_object(obj); 2110 if (ret != 0) { 2111 i915_gem_object_put_pages_gtt(obj); 2112 drm_mm_put_block(obj->gtt_space); --- 398 unchanged lines hidden (view full) --- 2511 2512static vm_page_t 2513i915_gem_wire_page(vm_object_t object, vm_pindex_t pindex) 2514{ 2515 vm_page_t m; 2516 int rv; 2517 2518 VM_OBJECT_ASSERT_WLOCKED(object); | 2103 */ 2104 return (ret); 2105 } 2106 2107 ret = i915_gem_gtt_bind_object(obj); 2108 if (ret != 0) { 2109 i915_gem_object_put_pages_gtt(obj); 2110 drm_mm_put_block(obj->gtt_space); --- 398 unchanged lines hidden (view full) --- 2509 2510static vm_page_t 2511i915_gem_wire_page(vm_object_t object, vm_pindex_t pindex) 2512{ 2513 vm_page_t m; 2514 int rv; 2515 2516 VM_OBJECT_ASSERT_WLOCKED(object); |
2519 m = vm_page_grab(object, pindex, VM_ALLOC_NORMAL | VM_ALLOC_RETRY); | 2517 m = vm_page_grab(object, pindex, VM_ALLOC_NORMAL); |
2520 if (m->valid != VM_PAGE_BITS_ALL) { 2521 if (vm_pager_has_page(object, pindex, NULL, NULL)) { 2522 rv = vm_pager_get_pages(object, &m, 1, 0); 2523 m = vm_page_lookup(object, pindex); 2524 if (m == NULL) 2525 return (NULL); 2526 if (rv != VM_PAGER_OK) { 2527 vm_page_lock(m); --- 1260 unchanged lines hidden --- | 2518 if (m->valid != VM_PAGE_BITS_ALL) { 2519 if (vm_pager_has_page(object, pindex, NULL, NULL)) { 2520 rv = vm_pager_get_pages(object, &m, 1, 0); 2521 m = vm_page_lookup(object, pindex); 2522 if (m == NULL) 2523 return (NULL); 2524 if (rv != VM_PAGER_OK) { 2525 vm_page_lock(m); --- 1260 unchanged lines hidden --- |