Linux Kernel
3.7.1
|
#include <intel_ringbuffer.h>
Public Types | |
enum | intel_ring_id { RCS = 0x0, VCS, BCS } |
Definition at line 29 of file intel_ringbuffer.h.
enum intel_ring_id |
Definition at line 31 of file intel_ringbuffer.h.
List of objects currently involved in rendering from the ringbuffer.
Includes buffers having the contents of their GPU caches flushed, not necessarily primitives. last_rendering_seqno represents when the rendering involved will be completed.
A reference is held on the buffer while on this list.
Definition at line 102 of file intel_ringbuffer.h.
Definition at line 73 of file intel_ringbuffer.h.
void(* cleanup)(struct intel_ring_buffer *ring) |
Definition at line 85 of file intel_ringbuffer.h.
struct i915_hw_context* default_context |
Definition at line 122 of file intel_ringbuffer.h.
struct drm_device* dev |
Definition at line 39 of file intel_ringbuffer.h.
Definition at line 83 of file intel_ringbuffer.h.
int effective_size |
Definition at line 46 of file intel_ringbuffer.h.
int __must_check(* flush)(struct intel_ring_buffer *ring, u32 invalidate_domains, u32 flush_domains) |
Definition at line 70 of file intel_ringbuffer.h.
u32(* get_seqno)(struct intel_ring_buffer *ring, bool lazy_coherency) |
Definition at line 81 of file intel_ringbuffer.h.
bool gpu_caches_dirty |
Definition at line 114 of file intel_ringbuffer.h.
Definition at line 42 of file intel_ringbuffer.h.
int(* init)(struct intel_ring_buffer *ring) |
Definition at line 66 of file intel_ringbuffer.h.
u32 irq_enable_mask |
Definition at line 60 of file intel_ringbuffer.h.
bool __must_check(* irq_get)(struct intel_ring_buffer *ring) |
Definition at line 63 of file intel_ringbuffer.h.
void(* irq_put)(struct intel_ring_buffer *ring) |
Definition at line 64 of file intel_ringbuffer.h.
wait_queue_head_t irq_queue |
Definition at line 116 of file intel_ringbuffer.h.
u32 irq_refcount |
Definition at line 59 of file intel_ringbuffer.h.
bool itlb_before_ctx_switch |
Do an explicit TLB flush before MI_SET_CONTEXT
Definition at line 121 of file intel_ringbuffer.h.
struct drm_i915_gem_object* last_context_obj |
Definition at line 123 of file intel_ringbuffer.h.
u32 last_retired_head |
We track the position of the requests in the ring buffer, and when each is retired we increment last_retired_head as the GPU must have finished processing the request and so we know we can advance the ringbuffer up to that position.
last_retired_head is set to -1 after the value is consumed so we can detect new retirements.
Definition at line 57 of file intel_ringbuffer.h.
u32 mmio_base |
Definition at line 37 of file intel_ringbuffer.h.
Definition at line 30 of file intel_ringbuffer.h.
Definition at line 40 of file intel_ringbuffer.h.
u32 outstanding_lazy_request |
Do we have some not yet emitted requests outstanding?
Definition at line 113 of file intel_ringbuffer.h.
void* private |
Definition at line 125 of file intel_ringbuffer.h.
List of breadcrumbs associated with GPU requests currently outstanding.
Definition at line 108 of file intel_ringbuffer.h.
u32 semaphore_register[3] |
Definition at line 90 of file intel_ringbuffer.h.
u32 signal_mbox[2] |
Definition at line 91 of file intel_ringbuffer.h.
int size |
Definition at line 45 of file intel_ringbuffer.h.
int space |
Definition at line 44 of file intel_ringbuffer.h.
struct intel_hw_status_page status_page |
Definition at line 47 of file intel_ringbuffer.h.
u32 sync_seqno[I915_NUM_RINGS-1] |
Definition at line 62 of file intel_ringbuffer.h.
int(* sync_to)(struct intel_ring_buffer *ring, struct intel_ring_buffer *to, u32 seqno) |
Definition at line 86 of file intel_ringbuffer.h.
u32 tail |
Definition at line 43 of file intel_ringbuffer.h.
u32 trace_irq_seqno |
Definition at line 61 of file intel_ringbuffer.h.
Definition at line 38 of file intel_ringbuffer.h.
Definition at line 68 of file intel_ringbuffer.h.