diff --git a/src/ppd-action-amdgpu-dpm.c b/src/ppd-action-amdgpu-dpm.c index 882495f..fef2f6f 100644 --- a/src/ppd-action-amdgpu-dpm.c +++ b/src/ppd-action-amdgpu-dpm.c @@ -51,7 +51,7 @@ ppd_action_amdgpu_dpm_constructor (GType type, g_object_set (object, "action-name", "amdgpu_dpm", "action-description", "Adjust GPU dynamic power management", - "action-optin", FALSE, + "action-optin", TRUE, NULL); return object; diff --git a/tests/integration_test.py b/tests/integration_test.py index 7b63d59..90bfa13 100644 --- a/tests/integration_test.py +++ b/tests/integration_test.py @@ -1645,6 +1645,10 @@ class Tests(dbusmock.DBusTestCase): self.start_daemon() + self.call_dbus_method( + "SetActionEnabled", GLib.Variant("(sb)", ("amdgpu_dpm", True)) + ) + self.assert_action_enabled("amdgpu_dpm") self.set_dbus_property("ActiveProfile", GLib.Variant.new_string("balanced")) @@ -1667,6 +1671,10 @@ class Tests(dbusmock.DBusTestCase): self.start_daemon() + self.call_dbus_method( + "SetActionEnabled", GLib.Variant("(sb)", ("amdgpu_dpm", True)) + ) + self.assert_action_enabled("amdgpu_dpm") self.set_dbus_property("ActiveProfile", GLib.Variant.new_string("balanced")) @@ -2623,6 +2631,30 @@ class LegacyDBusNameTests(Tests): # the old name anyways. pass + def test_amdgpu_dpm(self): + amdgpu_dpm = "device/power_dpm_force_performance_level" + self.testbed.add_device( + "drm", + "card0", + None, + [amdgpu_dpm, "auto\n"], + ["DEVTYPE", "drm_minor"], + ) + self.create_amd_apu() + + self.start_daemon() + + # verify can't enable it on legacy interface + with self.assertRaises(gi.repository.GLib.GError) as error: + self.call_dbus_method( + "SetActionEnabled", GLib.Variant("(sb)", ("amdgpu_dpm", True)) + ) + self.assertIn("UnknownMethod", str(error.exception)) + + def test_amdgpu_dpm_manual(self): + # should fail same way as test_amdgpu_dpm + self.test_amdgpu_dpm() + def test_amdgpu_panel_power(self): amdgpu_panel_power_savings = "amdgpu/panel_power_savings" self.testbed.add_device(