Gautham R. Shenoy
3b90e5a417
amd-pstate-ut: Add a testcase to validate the visibility of driver attributes
...
amd-pstate driver has per-attribute visibility functions to
dynamically control which sysfs freq_attrs are exposed based on the
platform capabilities and the current amd_pstate mode. However, there
is no test coverage to validate that the driver's live attribute list
matches the expected visibility for each mode.
Add amd_pstate_ut_check_freq_attrs() to the amd-pstate unit test
module. For each enabled mode (passive, active, guided), the test
independently derives the expected visibility of each attribute:
- Core attributes (max_freq, lowest_nonlinear_freq, highest_perf)
are always expected.
- Prefcore attributes (prefcore_ranking, hw_prefcore) are expected
only when cpudata->hw_prefcore indicates platform support.
- EPP attributes (energy_performance_preference,
energy_performance_available_preferences) are expected only in
active mode.
- Floor frequency attributes (floor_freq, floor_count) are expected
only when X86_FEATURE_CPPC_PERF_PRIO is present.
Compare these independent expectations against the live driver's attr
array, catching bugs such as attributes leaking into wrong modes or
visibility functions checking incorrect conditions.
Signed-off-by: Gautham R. Shenoy <gautham.shenoy@amd.com >
Signed-off-by: Mario Limonciello (AMD) <superm1@kernel.org >
2026-04-02 11:28:40 -05:00
..
2026-03-10 11:46:40 -07:00
2026-02-21 17:09:51 -08:00
2026-03-19 14:57:06 +01:00
2026-02-21 17:09:51 -08:00
2026-02-26 21:34:14 -08:00
2026-03-20 09:59:30 +01:00
2026-02-22 08:26:33 -08:00
2026-02-21 17:09:51 -08:00
2026-03-21 16:59:09 -07:00
2026-02-21 17:09:51 -08:00
2026-03-13 10:13:06 -07:00
2026-03-12 15:29:29 -04:00
2026-03-17 20:30:57 +01:00
2026-02-06 19:54:40 +00:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-26 14:34:21 -08:00
2026-03-17 20:30:57 +01:00
2026-02-22 08:26:33 -08:00
2026-02-22 08:26:33 -08:00
2026-02-21 20:03:00 -08:00
2026-02-21 17:09:51 -08:00
2026-04-02 11:28:40 -05:00
2026-03-10 16:03:02 +01:00
2026-03-18 15:50:29 -07:00
2026-02-24 08:33:30 -07:00
2026-02-21 17:09:51 -08:00
2026-02-21 01:02:28 -08:00
2026-02-21 20:03:00 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 20:03:00 -08:00
2026-02-21 20:03:00 -08:00
2026-02-26 08:00:13 -08:00
2026-02-22 08:26:33 -08:00
2026-02-21 17:09:51 -08:00
2026-02-22 08:26:33 -08:00
2026-03-16 19:29:45 -07:00
2026-03-18 08:28:54 -07:00
2026-02-21 20:03:00 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-03-11 16:23:32 +01:00
2026-02-23 11:49:23 +01:00
2026-03-21 02:17:59 +10:00
2026-02-21 20:03:00 -08:00
2026-03-17 13:55:51 -07:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-03-18 16:18:49 +00:00
2026-03-21 16:59:09 -07:00
2026-02-10 20:45:30 -08:00
2026-02-21 20:03:00 -08:00
2026-03-22 11:37:58 -07:00
2026-03-11 22:50:29 +01:00
2026-01-07 21:17:43 +01:00
2026-03-14 16:25:10 -07:00
2026-02-26 04:58:24 -05:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-03-17 14:02:02 +01:00
2026-02-21 20:03:00 -08:00
2026-03-17 11:16:15 +01:00
2026-02-21 20:03:00 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 20:03:00 -08:00
2026-02-21 01:02:28 -08:00
2026-02-21 17:09:51 -08:00
2026-02-22 08:26:33 -08:00
2026-03-04 08:12:06 -08:00
2026-02-21 17:09:51 -08:00
2026-02-22 08:26:33 -08:00
2026-02-22 08:26:33 -08:00
2026-02-21 20:03:00 -08:00
2026-02-27 16:33:07 +01:00
2026-03-16 16:08:54 +01:00
2026-02-21 17:09:51 -08:00
2026-03-18 18:08:25 +01:00
2026-02-21 17:09:51 -08:00
2026-03-19 09:26:40 -07:00
2026-03-18 17:20:51 -07:00
2026-02-21 11:02:58 -08:00
2026-02-21 17:09:51 -08:00
2026-03-09 09:38:22 -05:00
2026-03-13 10:13:06 -07:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 20:03:00 -08:00
2026-02-22 08:26:33 -08:00
2026-02-21 17:09:51 -08:00
2026-03-19 16:13:51 -07:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 20:03:00 -08:00
2026-02-21 17:09:51 -08:00
2026-02-26 23:41:04 +01:00
2026-03-03 14:45:17 +02:00
2026-03-20 09:46:15 -07:00
2026-02-21 17:09:51 -08:00
2026-03-04 09:16:41 +01:00
2026-02-22 08:26:33 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-03-10 14:52:42 +00:00
2026-03-05 10:18:23 -07:00
2026-03-13 14:17:30 +00:00
2026-02-23 17:03:28 +01:00
2026-02-21 17:09:51 -08:00
2026-02-22 09:43:11 -08:00
2026-03-13 14:18:13 -07:00
2026-02-21 17:09:51 -08:00
2026-03-15 13:15:39 -07:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-03-17 20:30:57 +01:00
2026-03-17 09:35:40 +01:00
2026-02-22 08:26:33 -08:00
2026-03-17 17:07:47 +00:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-24 10:01:20 -08:00
2026-02-28 20:41:52 -05:00
2026-02-21 17:09:51 -08:00
2026-03-03 09:03:04 +01:00
2026-02-22 08:26:33 -08:00
2026-02-21 20:03:00 -08:00
2026-03-13 09:15:58 +01:00
2026-03-07 11:08:39 -05:00
2026-02-21 17:09:51 -08:00
2026-03-13 18:19:07 +01:00
2026-02-22 08:26:33 -08:00
2026-02-21 20:03:00 -08:00
2026-02-22 08:26:33 -08:00
2026-03-05 17:35:12 +01:00
2026-02-22 08:26:33 -08:00
2026-02-21 20:03:00 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-03-07 07:44:32 -08:00
2026-02-21 17:09:51 -08:00
2026-02-04 20:45:26 +05:30