|
@@ -1218,7 +1218,8 @@ static int i915_frequency_info(struct seq_file *m, void *unused)
|
|
rpcurup, GT_PM_INTERVAL_TO_US(dev_priv, rpcurup));
|
|
rpcurup, GT_PM_INTERVAL_TO_US(dev_priv, rpcurup));
|
|
seq_printf(m, "RP PREV UP: %d (%dus)\n",
|
|
seq_printf(m, "RP PREV UP: %d (%dus)\n",
|
|
rpprevup, GT_PM_INTERVAL_TO_US(dev_priv, rpprevup));
|
|
rpprevup, GT_PM_INTERVAL_TO_US(dev_priv, rpprevup));
|
|
- seq_printf(m, "Up threshold: %d%%\n", rps->up_threshold);
|
|
|
|
|
|
+ seq_printf(m, "Up threshold: %d%%\n",
|
|
|
|
+ rps->power.up_threshold);
|
|
|
|
|
|
seq_printf(m, "RP CUR DOWN EI: %d (%dus)\n",
|
|
seq_printf(m, "RP CUR DOWN EI: %d (%dus)\n",
|
|
rpdownei, GT_PM_INTERVAL_TO_US(dev_priv, rpdownei));
|
|
rpdownei, GT_PM_INTERVAL_TO_US(dev_priv, rpdownei));
|
|
@@ -1226,7 +1227,8 @@ static int i915_frequency_info(struct seq_file *m, void *unused)
|
|
rpcurdown, GT_PM_INTERVAL_TO_US(dev_priv, rpcurdown));
|
|
rpcurdown, GT_PM_INTERVAL_TO_US(dev_priv, rpcurdown));
|
|
seq_printf(m, "RP PREV DOWN: %d (%dus)\n",
|
|
seq_printf(m, "RP PREV DOWN: %d (%dus)\n",
|
|
rpprevdown, GT_PM_INTERVAL_TO_US(dev_priv, rpprevdown));
|
|
rpprevdown, GT_PM_INTERVAL_TO_US(dev_priv, rpprevdown));
|
|
- seq_printf(m, "Down threshold: %d%%\n", rps->down_threshold);
|
|
|
|
|
|
+ seq_printf(m, "Down threshold: %d%%\n",
|
|
|
|
+ rps->power.down_threshold);
|
|
|
|
|
|
max_freq = (IS_GEN9_LP(dev_priv) ? rp_state_cap >> 0 :
|
|
max_freq = (IS_GEN9_LP(dev_priv) ? rp_state_cap >> 0 :
|
|
rp_state_cap >> 16) & 0xff;
|
|
rp_state_cap >> 16) & 0xff;
|
|
@@ -2218,6 +2220,7 @@ static int i915_rps_boost_info(struct seq_file *m, void *data)
|
|
seq_printf(m, "CPU waiting? %d\n", count_irq_waiters(dev_priv));
|
|
seq_printf(m, "CPU waiting? %d\n", count_irq_waiters(dev_priv));
|
|
seq_printf(m, "Boosts outstanding? %d\n",
|
|
seq_printf(m, "Boosts outstanding? %d\n",
|
|
atomic_read(&rps->num_waiters));
|
|
atomic_read(&rps->num_waiters));
|
|
|
|
+ seq_printf(m, "Interactive? %d\n", READ_ONCE(rps->power.interactive));
|
|
seq_printf(m, "Frequency requested %d\n",
|
|
seq_printf(m, "Frequency requested %d\n",
|
|
intel_gpu_freq(dev_priv, rps->cur_freq));
|
|
intel_gpu_freq(dev_priv, rps->cur_freq));
|
|
seq_printf(m, " min hard:%d, soft:%d; max soft:%d, hard:%d\n",
|
|
seq_printf(m, " min hard:%d, soft:%d; max soft:%d, hard:%d\n",
|
|
@@ -2261,13 +2264,13 @@ static int i915_rps_boost_info(struct seq_file *m, void *data)
|
|
intel_uncore_forcewake_put(dev_priv, FORCEWAKE_ALL);
|
|
intel_uncore_forcewake_put(dev_priv, FORCEWAKE_ALL);
|
|
|
|
|
|
seq_printf(m, "\nRPS Autotuning (current \"%s\" window):\n",
|
|
seq_printf(m, "\nRPS Autotuning (current \"%s\" window):\n",
|
|
- rps_power_to_str(rps->power));
|
|
|
|
|
|
+ rps_power_to_str(rps->power.mode));
|
|
seq_printf(m, " Avg. up: %d%% [above threshold? %d%%]\n",
|
|
seq_printf(m, " Avg. up: %d%% [above threshold? %d%%]\n",
|
|
rpup && rpupei ? 100 * rpup / rpupei : 0,
|
|
rpup && rpupei ? 100 * rpup / rpupei : 0,
|
|
- rps->up_threshold);
|
|
|
|
|
|
+ rps->power.up_threshold);
|
|
seq_printf(m, " Avg. down: %d%% [below threshold? %d%%]\n",
|
|
seq_printf(m, " Avg. down: %d%% [below threshold? %d%%]\n",
|
|
rpdown && rpdownei ? 100 * rpdown / rpdownei : 0,
|
|
rpdown && rpdownei ? 100 * rpdown / rpdownei : 0,
|
|
- rps->down_threshold);
|
|
|
|
|
|
+ rps->power.down_threshold);
|
|
} else {
|
|
} else {
|
|
seq_puts(m, "\nRPS Autotuning inactive\n");
|
|
seq_puts(m, "\nRPS Autotuning inactive\n");
|
|
}
|
|
}
|