Signed-off-by: Francisco Jerez <[email protected]>
---
 drivers/gpu/drm/i915/i915_debugfs.c | 69 +++++++++++++++++++++++++++++
 1 file changed, 69 insertions(+)

diff --git a/drivers/gpu/drm/i915/i915_debugfs.c 
b/drivers/gpu/drm/i915/i915_debugfs.c
index 8f2525e4ce0f..e5c27b9302d9 100644
--- a/drivers/gpu/drm/i915/i915_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_debugfs.c
@@ -1745,6 +1745,72 @@ static const struct file_operations 
i915_guc_log_relay_fops = {
        .release = i915_guc_log_relay_release,
 };
 
+static int
+i915_rf_qos_delay_max_ns_set(void *data, u64 val)
+{
+       struct drm_i915_private *dev_priv = data;
+
+       WRITE_ONCE(dev_priv->gt.rf_qos.delay_max_ns, val);
+       return 0;
+}
+
+static int
+i915_rf_qos_delay_max_ns_get(void *data, u64 *val)
+{
+       struct drm_i915_private *dev_priv = data;
+
+       *val = READ_ONCE(dev_priv->gt.rf_qos.delay_max_ns);
+       return 0;
+}
+
+DEFINE_SIMPLE_ATTRIBUTE(i915_rf_qos_delay_max_ns_fops,
+                       i915_rf_qos_delay_max_ns_get,
+                       i915_rf_qos_delay_max_ns_set, "%llu\n");
+
+static int
+i915_rf_qos_delay_slope_shift_set(void *data, u64 val)
+{
+       struct drm_i915_private *dev_priv = data;
+
+       WRITE_ONCE(dev_priv->gt.rf_qos.delay_slope_shift, val);
+       return 0;
+}
+
+static int
+i915_rf_qos_delay_slope_shift_get(void *data, u64 *val)
+{
+       struct drm_i915_private *dev_priv = data;
+
+       *val = READ_ONCE(dev_priv->gt.rf_qos.delay_slope_shift);
+       return 0;
+}
+
+DEFINE_SIMPLE_ATTRIBUTE(i915_rf_qos_delay_slope_shift_fops,
+                       i915_rf_qos_delay_slope_shift_get,
+                       i915_rf_qos_delay_slope_shift_set, "%llu\n");
+
+static int
+i915_rf_qos_target_hz_set(void *data, u64 val)
+{
+       struct drm_i915_private *dev_priv = data;
+
+       WRITE_ONCE(dev_priv->gt.rf_qos.target_hz, val);
+       return 0;
+}
+
+static int
+i915_rf_qos_target_hz_get(void *data, u64 *val)
+{
+       struct drm_i915_private *dev_priv = data;
+
+       *val = READ_ONCE(dev_priv->gt.rf_qos.target_hz);
+       return 0;
+}
+
+DEFINE_SIMPLE_ATTRIBUTE(i915_rf_qos_target_hz_fops,
+                       i915_rf_qos_target_hz_get,
+                       i915_rf_qos_target_hz_set, "%llu\n");
+
 static int i915_runtime_pm_status(struct seq_file *m, void *unused)
 {
        struct drm_i915_private *dev_priv = node_to_i915(m->private);
@@ -2390,6 +2456,9 @@ static const struct i915_debugfs_files {
 #endif
        {"i915_guc_log_level", &i915_guc_log_level_fops},
        {"i915_guc_log_relay", &i915_guc_log_relay_fops},
+       {"i915_rf_qos_delay_max_ns", &i915_rf_qos_delay_max_ns_fops},
+       {"i915_rf_qos_delay_slope_shift", &i915_rf_qos_delay_slope_shift_fops},
+       {"i915_rf_qos_target_hz", &i915_rf_qos_target_hz_fops}
 };
 
 int i915_debugfs_register(struct drm_i915_private *dev_priv)
-- 
2.22.1

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to