@@ -806,6 +806,12 @@ typedef struct drm_i915_irq_wait {
806
806
*/
807
807
#define I915_PARAM_PXP_STATUS 58
808
808
809
+ /*
810
+ * Query if kernel allows marking a context to send a Freq hint to SLPC. This
811
+ * will enable use of the strategies allowed by the SLPC algorithm.
812
+ */
813
+ #define I915_PARAM_HAS_CONTEXT_FREQ_HINT 59
814
+
809
815
/* Must be kept compact -- no holes and well documented */
810
816
811
817
/**
@@ -2148,6 +2154,15 @@ struct drm_i915_gem_context_param {
2148
2154
* -EIO: The firmware did not succeed in creating the protected context.
2149
2155
*/
2150
2156
#define I915_CONTEXT_PARAM_PROTECTED_CONTENT 0xd
2157
+
2158
+ /*
2159
+ * I915_CONTEXT_PARAM_LOW_LATENCY:
2160
+ *
2161
+ * Mark this context as a low latency workload which requires aggressive GT
2162
+ * frequency scaling. Use I915_PARAM_HAS_CONTEXT_FREQ_HINT to check if the kernel
2163
+ * supports this per context flag.
2164
+ */
2165
+ #define I915_CONTEXT_PARAM_LOW_LATENCY 0xe
2151
2166
/* Must be kept compact -- no holes and well documented */
2152
2167
2153
2168
/** @value: Context parameter value to be set or queried */
@@ -2623,19 +2638,29 @@ struct drm_i915_reg_read {
2623
2638
*
2624
2639
*/
2625
2640
2641
+ /*
2642
+ * struct drm_i915_reset_stats - Return global reset and other context stats
2643
+ *
2644
+ * Driver keeps few stats for each contexts and also global reset count.
2645
+ * This struct can be used to query those stats.
2646
+ */
2626
2647
struct drm_i915_reset_stats {
2648
+ /** @ctx_id: ID of the requested context */
2627
2649
__u32 ctx_id ;
2650
+
2651
+ /** @flags: MBZ */
2628
2652
__u32 flags ;
2629
2653
2630
- /* All resets since boot/module reload, for all contexts */
2654
+ /** @reset_count: All resets since boot/module reload, for all contexts */
2631
2655
__u32 reset_count ;
2632
2656
2633
- /* Number of batches lost when active in GPU, for this context */
2657
+ /** @batch_active: Number of batches lost when active in GPU, for this context */
2634
2658
__u32 batch_active ;
2635
2659
2636
- /* Number of batches lost pending for execution, for this context */
2660
+ /** @batch_pending: Number of batches lost pending for execution, for this context */
2637
2661
__u32 batch_pending ;
2638
2662
2663
+ /** @pad: MBZ */
2639
2664
__u32 pad ;
2640
2665
};
2641
2666
0 commit comments