i915_gem.c (269634) | i915_gem.c (271705) |
---|---|
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 269634 2014-08-06 17:45:59Z royger $"); | 55__FBSDID("$FreeBSD: head/sys/dev/drm2/i915/i915_gem.c 271705 2014-09-17 08:28:50Z dumbbell $"); |
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> --- 408 unchanged lines hidden (view full) --- 472 473 if (HAS_BLT(dev)) { 474 ret = intel_init_blt_ring_buffer(dev); 475 if (ret != 0) 476 goto cleanup_bsd_ring; 477 } 478 479 dev_priv->next_seqno = 1; | 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> --- 408 unchanged lines hidden (view full) --- 472 473 if (HAS_BLT(dev)) { 474 ret = intel_init_blt_ring_buffer(dev); 475 if (ret != 0) 476 goto cleanup_bsd_ring; 477 } 478 479 dev_priv->next_seqno = 1; |
480 i915_gem_context_init(dev); |
|
480 i915_gem_init_ppgtt(dev); 481 return (0); 482 483cleanup_bsd_ring: 484 intel_cleanup_ring_buffer(&dev_priv->rings[VCS]); 485cleanup_render_ring: 486 intel_cleanup_ring_buffer(&dev_priv->rings[RCS]); 487 return (ret); --- 2093 unchanged lines hidden (view full) --- 2581 return (i915_wait_request(ring, i915_gem_next_request_seqno(ring), 2582 do_retire)); 2583} 2584 2585int 2586i915_gpu_idle(struct drm_device *dev, bool do_retire) 2587{ 2588 drm_i915_private_t *dev_priv = dev->dev_private; | 481 i915_gem_init_ppgtt(dev); 482 return (0); 483 484cleanup_bsd_ring: 485 intel_cleanup_ring_buffer(&dev_priv->rings[VCS]); 486cleanup_render_ring: 487 intel_cleanup_ring_buffer(&dev_priv->rings[RCS]); 488 return (ret); --- 2093 unchanged lines hidden (view full) --- 2582 return (i915_wait_request(ring, i915_gem_next_request_seqno(ring), 2583 do_retire)); 2584} 2585 2586int 2587i915_gpu_idle(struct drm_device *dev, bool do_retire) 2588{ 2589 drm_i915_private_t *dev_priv = dev->dev_private; |
2590 struct intel_ring_buffer *ring; |
|
2589 int ret, i; 2590 2591 /* Flush everything onto the inactive list. */ | 2591 int ret, i; 2592 2593 /* Flush everything onto the inactive list. */ |
2592 for (i = 0; i < I915_NUM_RINGS; i++) { 2593 ret = i915_ring_idle(&dev_priv->rings[i], do_retire); | 2594 for_each_ring(ring, dev_priv, i) { 2595 ret = i915_switch_context(ring, NULL, DEFAULT_CONTEXT_ID); |
2594 if (ret) 2595 return ret; | 2596 if (ret) 2597 return ret; |
2598 2599 ret = i915_ring_idle(ring, do_retire); 2600 if (ret) 2601 return ret; |
|
2596 } 2597 2598 return 0; 2599} 2600 2601int 2602i915_wait_request(struct intel_ring_buffer *ring, uint32_t seqno, bool do_retire) 2603{ --- 1184 unchanged lines hidden --- | 2602 } 2603 2604 return 0; 2605} 2606 2607int 2608i915_wait_request(struct intel_ring_buffer *ring, uint32_t seqno, bool do_retire) 2609{ --- 1184 unchanged lines hidden --- |