Rev 3391 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3391 | Rev 4103 | ||
---|---|---|---|
Line 31... | Line 31... | ||
31 | 31 | ||
32 | /* Please note that modifications to all structs defined here are |
32 | /* Please note that modifications to all structs defined here are |
33 | * subject to backwards-compatibility constraints. |
33 | * subject to backwards-compatibility constraints. |
Line -... | Line 34... | ||
- | 34 | */ |
|
- | 35 | ||
- | 36 | /** |
|
- | 37 | * DOC: uevents generated by i915 on it's device node |
|
- | 38 | * |
|
- | 39 | * I915_L3_PARITY_UEVENT - Generated when the driver receives a parity mismatch |
|
- | 40 | * event from the gpu l3 cache. Additional information supplied is ROW, |
|
- | 41 | * BANK, SUBBANK of the affected cacheline. Userspace should keep track of |
|
- | 42 | * these events and if a specific cache-line seems to have a persistent |
|
- | 43 | * error remap it with the l3 remapping tool supplied in intel-gpu-tools. |
|
- | 44 | * The value supplied with the event is always 1. |
|
- | 45 | * |
|
- | 46 | * I915_ERROR_UEVENT - Generated upon error detection, currently only via |
|
- | 47 | * hangcheck. The error detection event is a good indicator of when things |
|
- | 48 | * began to go badly. The value supplied with the event is a 1 upon error |
|
- | 49 | * detection, and a 0 upon reset completion, signifying no more error |
|
- | 50 | * exists. NOTE: Disabling hangcheck or reset via module parameter will |
|
- | 51 | * cause the related events to not be seen. |
|
- | 52 | * |
|
- | 53 | * I915_RESET_UEVENT - Event is generated just before an attempt to reset the |
|
- | 54 | * the GPU. The value supplied with the event is always 1. NOTE: Disable |
|
- | 55 | * reset via module parameter will cause this event to not be seen. |
|
- | 56 | */ |
|
- | 57 | #define I915_L3_PARITY_UEVENT "L3_PARITY_ERROR" |
|
Line 34... | Line 58... | ||
34 | */ |
58 | #define I915_ERROR_UEVENT "ERROR" |
35 | 59 | #define I915_RESET_UEVENT "RESET" |
|
36 | 60 | ||
37 | /* Each region is a minimum of 16k, and there are at most 255 of them. |
61 | /* Each region is a minimum of 16k, and there are at most 255 of them. |
Line 303... | Line 327... | ||
303 | #define I915_PARAM_HAS_LLC 17 |
327 | #define I915_PARAM_HAS_LLC 17 |
304 | #define I915_PARAM_HAS_ALIASING_PPGTT 18 |
328 | #define I915_PARAM_HAS_ALIASING_PPGTT 18 |
305 | #define I915_PARAM_HAS_WAIT_TIMEOUT 19 |
329 | #define I915_PARAM_HAS_WAIT_TIMEOUT 19 |
306 | #define I915_PARAM_HAS_SEMAPHORES 20 |
330 | #define I915_PARAM_HAS_SEMAPHORES 20 |
307 | #define I915_PARAM_HAS_PRIME_VMAP_FLUSH 21 |
331 | #define I915_PARAM_HAS_PRIME_VMAP_FLUSH 21 |
308 | #define I915_PARAM_RSVD_FOR_FUTURE_USE 22 |
332 | #define I915_PARAM_HAS_VEBOX 22 |
309 | #define I915_PARAM_HAS_SECURE_BATCHES 23 |
333 | #define I915_PARAM_HAS_SECURE_BATCHES 23 |
310 | #define I915_PARAM_HAS_PINNED_BATCHES 24 |
334 | #define I915_PARAM_HAS_PINNED_BATCHES 24 |
311 | #define I915_PARAM_HAS_EXEC_NO_RELOC 25 |
335 | #define I915_PARAM_HAS_EXEC_NO_RELOC 25 |
312 | #define I915_PARAM_HAS_EXEC_HANDLE_LUT 26 |
336 | #define I915_PARAM_HAS_EXEC_HANDLE_LUT 26 |
- | 337 | #define I915_PARAM_HAS_WT 27 |
|
Line 313... | Line 338... | ||
313 | 338 | ||
314 | typedef struct drm_i915_getparam { |
339 | typedef struct drm_i915_getparam { |
315 | int param; |
340 | int param; |
316 | int __user *value; |
341 | int __user *value; |
Line 658... | Line 683... | ||
658 | #define I915_EXEC_RING_MASK (7<<0) |
683 | #define I915_EXEC_RING_MASK (7<<0) |
659 | #define I915_EXEC_DEFAULT (0<<0) |
684 | #define I915_EXEC_DEFAULT (0<<0) |
660 | #define I915_EXEC_RENDER (1<<0) |
685 | #define I915_EXEC_RENDER (1<<0) |
661 | #define I915_EXEC_BSD (2<<0) |
686 | #define I915_EXEC_BSD (2<<0) |
662 | #define I915_EXEC_BLT (3<<0) |
687 | #define I915_EXEC_BLT (3<<0) |
- | 688 | #define I915_EXEC_VEBOX (4<<0) |
|
Line 663... | Line 689... | ||
663 | 689 | ||
664 | /* Used for switching the constants addressing mode on gen4+ RENDER ring. |
690 | /* Used for switching the constants addressing mode on gen4+ RENDER ring. |
665 | * Gen6+ only supports relative addressing to dynamic state (default) and |
691 | * Gen6+ only supports relative addressing to dynamic state (default) and |
666 | * absolute addressing. |
692 | * absolute addressing. |
Line 741... | Line 767... | ||
741 | * 16:31 - busy (r or r/w) rings (16 render, 17 bsd, 18 blt, etc) |
767 | * 16:31 - busy (r or r/w) rings (16 render, 17 bsd, 18 blt, etc) |
742 | */ |
768 | */ |
743 | __u32 busy; |
769 | __u32 busy; |
744 | }; |
770 | }; |
Line -... | Line 771... | ||
- | 771 | ||
- | 772 | /** |
|
- | 773 | * I915_CACHING_NONE |
|
- | 774 | * |
|
- | 775 | * GPU access is not coherent with cpu caches. Default for machines without an |
|
- | 776 | * LLC. |
|
745 | 777 | */ |
|
- | 778 | #define I915_CACHING_NONE 0 |
|
- | 779 | /** |
|
- | 780 | * I915_CACHING_CACHED |
|
- | 781 | * |
|
- | 782 | * GPU access is coherent with cpu caches and furthermore the data is cached in |
|
- | 783 | * last-level caches shared between cpu cores and the gpu GT. Default on |
|
- | 784 | * machines with HAS_LLC. |
|
746 | #define I915_CACHING_NONE 0 |
785 | */ |
- | 786 | #define I915_CACHING_CACHED 1 |
|
- | 787 | /** |
|
- | 788 | * I915_CACHING_DISPLAY |
|
- | 789 | * |
|
- | 790 | * Special GPU caching mode which is coherent with the scanout engines. |
|
- | 791 | * Transparently falls back to I915_CACHING_NONE on platforms where no special |
|
- | 792 | * cache mode (like write-through or gfdt flushing) is available. The kernel |
|
- | 793 | * automatically sets this mode when using a buffer as a scanout target. |
|
- | 794 | * Userspace can manually set this mode to avoid a costly stall and clflush in |
|
- | 795 | * the hotpath of drawing the first frame. |
|
- | 796 | */ |
|
Line 747... | Line 797... | ||
747 | #define I915_CACHING_CACHED 1 |
797 | #define I915_CACHING_DISPLAY 2 |
748 | 798 | ||
749 | struct drm_i915_gem_caching { |
799 | struct drm_i915_gem_caching { |
750 | /** |
800 | /** |