/solaris-x11-s11/open-src/kernel/i915/src/ |
H A D | i915_gem_context.c | 41 * something like a context does exist for the media ring, the code only 42 * supports contexts for the render ring. 171 /* The ring associated with the context object is handled by the normal 172 * object tracking code. We give an initial ring value simple to pass an 175 ctx->ring = &dev_priv->ring[RCS]; 209 return (ctx == ctx->ring->default_context); 213 * The default context needs to exist per ring that uses contexts. It stores the 234 dev_priv->ring[RCS].default_context = ctx; 269 dev_priv->ring[RC 325 i915_gem_context_get_hang_stats(struct intel_ring_buffer *ring, struct drm_file *file, u32 id) argument 369 mi_set_context(struct intel_ring_buffer *ring, struct i915_hw_context *new_context, u32 hw_flags) argument 418 struct intel_ring_buffer *ring = to->ring; local 514 i915_switch_context(struct intel_ring_buffer *ring, struct drm_file *file, int to_id) argument [all...] |
H A D | i915_gem_execbuffer.c | 284 struct intel_ring_buffer *ring, 289 bool has_fenced_gpu_access = INTEL_INFO(ring->dev)->gen < 4; 299 if (IS_GEN5(ring->dev)) 368 i915_gem_execbuffer_reserve(struct intel_ring_buffer *ring, argument 376 bool has_fenced_gpu_access = INTEL_INFO(ring->dev)->gen < 4; 399 if (IS_GEN5(ring->dev)) 412 if (IS_GEN5(ring->dev) && (batch_obj != obj) && obj->gtt_offset) { 455 if (IS_GEN5(ring->dev)) 464 ret = i915_gem_execbuffer_reserve_object(obj, ring, need_relocs); 474 ret = i915_gem_execbuffer_reserve_object(obj, ring, need_reloc 283 i915_gem_execbuffer_reserve_object(struct drm_i915_gem_object *obj, struct intel_ring_buffer *ring, bool *need_reloc) argument 494 i915_gem_execbuffer_relocate_slow(struct drm_device *dev, struct drm_i915_gem_execbuffer2 *args, struct drm_file *file, struct intel_ring_buffer *ring, struct list_head *objects, struct eb_objects *eb, struct drm_i915_gem_exec_object2 *exec, int count) argument 601 i915_gem_execbuffer_move_to_gpu(struct intel_ring_buffer *ring, struct list_head *objects) argument 679 i915_gem_execbuffer_move_to_active(struct list_head *objects, struct intel_ring_buffer *ring) argument 703 i915_gem_execbuffer_retire_commands(struct drm_device *dev, struct drm_file *file, struct intel_ring_buffer *ring, struct drm_i915_gem_object *obj) argument 716 i915_reset_gen7_sol_offsets(struct drm_device *dev, struct intel_ring_buffer *ring) argument 752 struct intel_ring_buffer *ring; local [all...] |
H A D | intel_ringbuffer.h | 54 #define I915_READ_TAIL(ring) I915_READ(RING_TAIL((ring)->mmio_base)) 55 #define I915_WRITE_TAIL(ring, val) I915_WRITE(RING_TAIL((ring)->mmio_base), val) 57 #define I915_READ_START(ring) I915_READ(RING_START((ring)->mmio_base)) 58 #define I915_WRITE_START(ring, val) I915_WRITE(RING_START((ring)->mmio_base), val) 60 #define I915_READ_HEAD(ring) I915_READ(RING_HEAD((ring) 198 intel_ring_initialized(struct intel_ring_buffer *ring) argument 204 intel_ring_flag(struct intel_ring_buffer *ring) argument 210 intel_ring_sync_index(struct intel_ring_buffer *ring, struct intel_ring_buffer *other) argument 229 intel_read_status_page(struct intel_ring_buffer *ring, int reg) argument 237 intel_write_status_page(struct intel_ring_buffer *ring, int reg, u32 value) argument 270 intel_ring_emit(struct intel_ring_buffer *ring, u32 data) argument 292 intel_ring_get_tail(struct intel_ring_buffer *ring) argument 297 intel_ring_get_seqno(struct intel_ring_buffer *ring) argument 303 i915_trace_irq_get(struct intel_ring_buffer *ring, u32 seqno) argument [all...] |
H A D | i915_dma.c | 48 #define LP_RING(d) (&((struct drm_i915_private *)(d))->ring[RCS]) 60 * Lock test for when it's just for synchronization of ring access. 63 * has access to the ring. 115 struct intel_ring_buffer *ring = LP_RING(dev_priv); local 122 if (ring->status_page.gfx_addr) { 123 ring->status_page.gfx_addr = 0; 135 struct intel_ring_buffer *ring = LP_RING(dev_priv); local 138 * We should never lose context on the ring with modesetting 144 ring->head = I915_READ_HEAD(ring) 230 struct intel_ring_buffer *ring = LP_RING(dev_priv); local 776 struct intel_ring_buffer *ring = LP_RING(dev_priv); local 1063 struct intel_ring_buffer *ring; local [all...] |
H A D | i915_drv.c | 785 * - re-init ring buffer 850 struct intel_ring_buffer *ring; local 857 for_each_ring(ring, dev_priv, i) 858 ring->init(ring);
|
H A D | i915_gem_debug.c | 353 gen3_instdone_bit(I830_SECONDARY_RING_3_DONE, "Secondary ring 3"); 354 gen3_instdone_bit(I830_SECONDARY_RING_2_DONE, "Secondary ring 2"); 355 gen3_instdone_bit(I830_SECONDARY_RING_1_DONE, "Secondary ring 1"); 356 gen3_instdone_bit(I830_SECONDARY_RING_0_DONE, "Secondary ring 0"); 357 gen3_instdone_bit(I830_PRIMARY_RING_1_DONE, "Primary ring 1"); 358 gen3_instdone_bit(I830_PRIMARY_RING_0_DONE, "Primary ring 0"); 361 #define ring_read(ring, reg) I915_READ(ring->mmio + reg) 376 struct ring { struct 616 static void ring_init(struct drm_device *dev, struct ring *rin argument 624 ring_reset(struct ring *ring) argument 629 ring_sample(struct drm_device *dev, struct ring *ring) argument 651 ring_print(struct ring *ring, unsigned long samples_per_sec) argument 870 ring_dump(struct drm_device *dev, struct intel_ring_buffer *ring) argument [all...] |
H A D | i915_gem_gtt.c | 231 struct intel_ring_buffer *ring; local 271 /* GFX_MODE is per-ring on gen7+ */ 274 for_each_ring(ring, dev_priv, i) { 276 I915_WRITE(RING_MODE_GEN7(ring), 279 I915_WRITE(RING_PP_DIR_DCLV(ring), PP_DIR_DCLV_2G); 280 I915_WRITE(RING_PP_DIR_BASE(ring), pd_offset);
|
H A D | intel_ringbuffer.c | 50 static inline int ring_space(struct intel_ring_buffer *ring) argument 52 int space = (ring->head & HEAD_ADDR) - (ring->tail + I915_RING_FREE_SPACE); 54 space += ring->size; 59 gen2_render_ring_flush(struct intel_ring_buffer *ring, argument 73 ret = intel_ring_begin(ring, 2); 77 intel_ring_emit(ring, cmd); 78 intel_ring_emit(ring, MI_NOOP); 79 intel_ring_advance(ring); 85 gen4_render_ring_flush(struct intel_ring_buffer *ring, argument 180 intel_emit_post_sync_nonzero_flush(struct intel_ring_buffer *ring) argument 216 gen6_render_ring_flush(struct intel_ring_buffer *ring, u32 invalidate_domains, u32 flush_domains) argument 269 gen7_render_ring_cs_stall_wa(struct intel_ring_buffer *ring) argument 287 gen7_ring_fbc_flush(struct intel_ring_buffer *ring, u32 value) argument 309 gen7_render_ring_flush(struct intel_ring_buffer *ring, u32 invalidate_domains, u32 flush_domains) argument 370 ring_write_tail(struct intel_ring_buffer *ring, u32 value) argument 377 intel_ring_get_active_head(struct intel_ring_buffer *ring) argument 386 ring_setup_phys_status_page(struct intel_ring_buffer *ring) argument 397 init_ring_common(struct intel_ring_buffer *ring) argument 486 init_pipe_control(struct intel_ring_buffer *ring) argument 535 cleanup_pipe_control(struct intel_ring_buffer *ring) argument 547 init_render_ring(struct intel_ring_buffer *ring) argument 607 render_ring_cleanup(struct intel_ring_buffer *ring) argument 624 update_mboxes(struct intel_ring_buffer *ring, u32 mmio_offset) argument 649 gen6_add_request(struct intel_ring_buffer *ring) argument 744 pc_render_add_request(struct intel_ring_buffer *ring) argument 793 gen6_ring_get_seqno(struct intel_ring_buffer *ring, bool lazy_coherency) argument 804 ring_get_seqno(struct intel_ring_buffer *ring, bool lazy_coherency) argument 810 ring_set_seqno(struct intel_ring_buffer *ring, u32 seqno) argument 816 pc_render_get_seqno(struct intel_ring_buffer *ring, bool lazy_coherency) argument 823 pc_render_set_seqno(struct intel_ring_buffer *ring, u32 seqno) argument 830 gen5_ring_get_irq(struct intel_ring_buffer *ring) argument 851 gen5_ring_put_irq(struct intel_ring_buffer *ring) argument 867 i9xx_ring_get_irq(struct intel_ring_buffer *ring) argument 888 i9xx_ring_put_irq(struct intel_ring_buffer *ring) argument 904 i8xx_ring_get_irq(struct intel_ring_buffer *ring) argument 925 i8xx_ring_put_irq(struct intel_ring_buffer *ring) argument 940 intel_ring_setup_status_page(struct intel_ring_buffer *ring) argument 988 bsd_ring_flush(struct intel_ring_buffer *ring, u32 invalidate_domains, u32 flush_domains) argument 1005 i9xx_add_request(struct intel_ring_buffer *ring) argument 1023 gen6_ring_get_irq(struct intel_ring_buffer *ring) argument 1055 gen6_ring_put_irq(struct intel_ring_buffer *ring) argument 1078 hsw_vebox_get_irq(struct intel_ring_buffer *ring) argument 1100 hsw_vebox_put_irq(struct intel_ring_buffer *ring) argument 1120 i965_dispatch_execbuffer(struct intel_ring_buffer *ring, u32 offset, u32 length, unsigned flags) argument 1143 i830_dispatch_execbuffer(struct intel_ring_buffer *ring, u32 offset, u32 len, unsigned flags) argument 1195 i915_dispatch_execbuffer(struct intel_ring_buffer *ring, u32 offset, u32 len, unsigned flags) argument 1212 cleanup_status_page(struct intel_ring_buffer *ring) argument 1225 init_status_page(struct intel_ring_buffer *ring) argument 1268 init_phys_status_page(struct intel_ring_buffer *ring) argument 1284 intel_init_ring_buffer(struct drm_device *dev, struct intel_ring_buffer *ring) argument 1369 intel_cleanup_ring_buffer(struct intel_ring_buffer *ring) argument 1398 intel_ring_wait_seqno(struct intel_ring_buffer *ring, u32 seqno) argument 1409 intel_ring_wait_request(struct intel_ring_buffer *ring, int n) argument 1470 ring_wait_for_space(struct intel_ring_buffer *ring, int n) argument 1511 intel_wrap_ring_buffer(struct intel_ring_buffer *ring) argument 1534 intel_ring_idle(struct intel_ring_buffer *ring) argument 1560 intel_ring_alloc_seqno(struct intel_ring_buffer *ring) argument 1568 __intel_ring_begin(struct intel_ring_buffer *ring, int bytes) argument 1589 intel_ring_begin(struct intel_ring_buffer *ring, int num_dwords) argument 1608 intel_ring_init_seqno(struct intel_ring_buffer *ring, u32 seqno) argument 1623 intel_ring_advance(struct intel_ring_buffer *ring) argument 1633 gen6_bsd_ring_write_tail(struct intel_ring_buffer *ring, u32 value) argument 1666 gen6_bsd_ring_flush(struct intel_ring_buffer *ring, u32 invalidate, u32 flush) argument 1695 hsw_ring_dispatch_execbuffer(struct intel_ring_buffer *ring, u32 offset, u32 len, unsigned flags) argument 1716 gen6_ring_dispatch_execbuffer(struct intel_ring_buffer *ring, u32 offset, u32 len, unsigned flags) argument 1738 gen6_ring_flush(struct intel_ring_buffer *ring, u32 invalidate, u32 flush) argument 1774 struct intel_ring_buffer *ring = &dev_priv->ring[RCS]; local 1866 struct intel_ring_buffer *ring = &dev_priv->ring[RCS]; local 1942 struct intel_ring_buffer *ring = &dev_priv->ring[VCS]; local 1995 struct intel_ring_buffer *ring = &dev_priv->ring[BCS]; local 2027 struct intel_ring_buffer *ring = &dev_priv->ring[VECS]; local 2058 intel_ring_flush_all_caches(struct intel_ring_buffer *ring) argument 2075 intel_ring_invalidate_all_caches(struct intel_ring_buffer *ring) argument [all...] |
H A D | i915_gem.c | 681 i915_gem_check_olr(struct intel_ring_buffer *ring, u32 seqno) argument 685 BUG_ON(!mutex_is_locked(&ring->dev->struct_mutex)); 688 if (seqno == ring->outstanding_lazy_request) 689 ret = i915_add_request(ring, NULL); 696 * @ring: the ring expected to report seqno 712 static int __wait_seqno(struct intel_ring_buffer *ring, u32 seqno, argument 716 drm_i915_private_t *dev_priv = ring->dev->dev_private; 721 if (i915_seqno_passed(ring->get_seqno(ring, tru 798 i915_wait_seqno(struct intel_ring_buffer *ring, uint32_t seqno) argument 822 i915_gem_object_wait_rendering__tail(struct drm_i915_gem_object *obj, struct intel_ring_buffer *ring) argument 848 struct intel_ring_buffer *ring = obj->ring; local 872 struct intel_ring_buffer *ring = obj->ring; local 1379 i915_gem_object_move_to_active(struct drm_i915_gem_object *obj, struct intel_ring_buffer *ring) argument 1450 struct intel_ring_buffer *ring; local 1516 __i915_add_request(struct intel_ring_buffer *ring, struct drm_file *file, struct drm_i915_gem_object *obj, u32 *out_seqno) argument 1676 i915_set_reset_status(struct intel_ring_buffer *ring, struct drm_i915_gem_request *request, u32 acthd) argument 1726 i915_gem_reset_ring_lists(struct drm_i915_private *dev_priv, struct intel_ring_buffer *ring) argument 1784 struct intel_ring_buffer *ring; local 1807 i915_gem_retire_requests_ring(struct intel_ring_buffer *ring) argument 1867 struct intel_ring_buffer *ring; local 1880 struct intel_ring_buffer *ring; local 1970 struct intel_ring_buffer *ring = NULL; local 2145 struct intel_ring_buffer *ring; local 3048 struct intel_ring_buffer *ring = NULL; local 3663 struct intel_ring_buffer *ring; local 3737 init_ring_lists(struct intel_ring_buffer *ring) argument [all...] |
H A D | i915_irq.c | 650 struct intel_ring_buffer *ring) 654 if (ring->obj == NULL) 657 DRM_WAKEUP(&ring->irq_queue); 783 notify_ring(dev, &dev_priv->ring[RCS]); 785 notify_ring(dev, &dev_priv->ring[VCS]); 787 notify_ring(dev, &dev_priv->ring[BCS]); 906 notify_ring(dev_priv->dev, &dev_priv->ring[VECS]); 1250 notify_ring(dev, &dev_priv->ring[RCS]); 1252 notify_ring(dev, &dev_priv->ring[VCS]); 1369 struct intel_ring_buffer *ring; local 649 notify_ring(struct drm_device *dev, struct intel_ring_buffer *ring) argument 1660 i915_error_first_batchbuffer(struct drm_i915_private *dev_priv, struct intel_ring_buffer *ring) argument 1701 i915_record_ring_state(struct drm_device *dev, struct drm_i915_error_state *error, struct intel_ring_buffer *ring) argument 1746 i915_gem_record_active_context(struct intel_ring_buffer *ring, struct drm_i915_error_state *error, struct drm_i915_error_ring *ering) argument 1769 struct intel_ring_buffer *ring; local 2080 struct intel_ring_buffer *ring; local 2287 ring_last_seqno(struct intel_ring_buffer *ring) argument 2296 ring_idle(struct intel_ring_buffer *ring, u32 seqno) argument 2303 semaphore_waits_for(struct intel_ring_buffer *ring, u32 *seqno) argument 2335 semaphore_passed(struct intel_ring_buffer *ring) argument 2357 struct intel_ring_buffer *ring; local 2365 ring_stuck(struct intel_ring_buffer *ring, u32 acthd) argument 2419 struct intel_ring_buffer *ring; local [all...] |
H A D | intel_overlay.c | 221 struct intel_ring_buffer *ring = &dev_priv->ring[RCS]; local 225 ret = i915_add_request(ring, &overlay->last_flip_req); 230 ret = i915_wait_seqno(ring, overlay->last_flip_req); 244 struct intel_ring_buffer *ring = &dev_priv->ring[RCS]; local 252 ret = intel_ring_begin(ring, 4); 256 intel_ring_emit(ring, MI_OVERLAY_FLIP | MI_OVERLAY_ON); 257 intel_ring_emit(ring, overlay->flip_addr | OFC_UPDATE); 258 intel_ring_emit(ring, MI_WAIT_FOR_EVEN 271 struct intel_ring_buffer *ring = &dev_priv->ring[RCS]; local 328 struct intel_ring_buffer *ring = &dev_priv->ring[RCS]; local 371 struct intel_ring_buffer *ring = &dev_priv->ring[RCS]; local 397 struct intel_ring_buffer *ring = &dev_priv->ring[RCS]; local [all...] |
H A D | intel_pm.c | 3218 struct intel_ring_buffer *ring; local 3261 for_each_ring(ring, dev_priv, i) 3262 I915_WRITE(RING_MAX_IDLE(ring->mmio_base), 10); 3392 * For each potential GPU frequency, load a ring frequency we'd like 3394 * the PCU should use as a reference to determine the ring frequency. 3406 /* On older processors, there is no separate ring 3408 * of the ring, we need to upclock the CPU (ia_freq). 3411 * ring freq. 3521 struct intel_ring_buffer *ring; local 3555 for_each_ring(ring, dev_pri 3686 struct intel_ring_buffer *ring = &dev_priv->ring[RCS]; local [all...] |
H A D | intel_display.c | 195 /* Pineview's Ncounter is a ring counter */ 411 /* m1 is reserved as 0 in Pineview, n is a ring counter */ 7149 struct intel_ring_buffer *ring) 7165 if (ring && intel_fbc_enabled(dev)) 7166 ring->fbc_dirty = true; 7300 struct intel_ring_buffer *ring = &dev_priv->ring[RCS]; local 7303 ret = intel_pin_and_fence_fb_obj(dev, obj, ring); 7307 ret = intel_ring_begin(ring, 6); 7318 intel_ring_emit(ring, MI_WAIT_FOR_EVEN 7148 intel_mark_fb_busy(struct drm_i915_gem_object *obj, struct intel_ring_buffer *ring) argument 7344 struct intel_ring_buffer *ring = &dev_priv->ring[RCS]; local 7385 struct intel_ring_buffer *ring = &dev_priv->ring[RCS]; local 7432 struct intel_ring_buffer *ring = &dev_priv->ring[RCS]; local 7482 struct intel_ring_buffer *ring = &dev_priv->ring[BCS]; local [all...] |
H A D | i915_drv.h | 290 /* our own tracking of ring head and tail */ 317 } ring[I915_NUM_RINGS]; member in struct:drm_i915_error_state 330 u32 ring:4; member in struct:drm_i915_error_state::drm_i915_error_buffer 531 struct intel_ring_buffer *ring; member in struct:i915_hw_context 875 * fire periodically while the ring is running. When it 1041 struct intel_ring_buffer ring[I915_NUM_RINGS]; member in struct:drm_i915_private 1200 if (((ring__) = &(dev_priv__)->ring[(i__)]), intel_ring_initialized((ring__))) 1344 struct intel_ring_buffer *ring; member in struct:drm_i915_gem_object 1388 /** On Which ring this request was generated */ 1389 struct intel_ring_buffer *ring; member in struct:drm_i915_gem_request [all...] |
/solaris-x11-s11/open-src/kernel/efb/src/ |
H A D | radeon_cp.c | 1048 dev_priv->ring.tail = cur_read_ptr; 1110 /* Reset the CP ring */ 1161 /* Initialize the ring buffer's read and write pointers */ 1165 dev_priv->ring.tail = cur_read_ptr; 1183 DRM_DEBUG("ring rptr: offset=0x%08lx handle=0x%08lx\n", 1188 /* Set ring buffer size */ 1191 dev_priv->ring.size_l2qw | RADEON_BUF_SWAP_32BIT); 1193 RADEON_WRITE(RADEON_CP_RB_CNTL, dev_priv->ring.size_l2qw); 1204 * We simply put this behind the ring read pointer, this works 1408 * We don't support anything other than bus-mastering ring mod 2169 drm_radeon_ring_buffer_t *ring = &dev_priv->ring; local [all...] |
H A D | radeon_drv.h | 228 drm_radeon_ring_buffer_t ring; member in struct:drm_radeon_private 1112 if (head == dev_priv->ring.tail) \ 1147 #define RING_LOCALS int write, _nr; unsigned int mask; u32 *ring; 1150 if (dev_priv->ring.space <= (n) * sizeof (u32)) { \ 1154 _nr = n; dev_priv->ring.space -= (n) * sizeof (u32); \ 1155 ring = dev_priv->ring.start; \ 1156 write = dev_priv->ring.tail; \ 1157 mask = dev_priv->ring.tail_mask; \ 1161 if (((dev_priv->ring [all...] |