Re: [PATCH v3 13/22] ACPI: platform_profile: Require handlers to support balanced profile

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 10/31/2024 15:39, Armin Wolf wrote:
Am 31.10.24 um 05:09 schrieb Mario Limonciello:

As support for multiple simultaneous platform handers is introduced it's
important they have at least the balanced profile in common.

This will be used as a fallback in case setting the profile across one of the
handlers happens to fail.

Do we actually need this patch anymore now that we have the "custom" platform profile? If setting the platform profile fails for some handlers, then we simply display the current
platform profile as "custom".

Yes; it's still needed because 'balanced' is used as the fallback of something failed. If you fail to write to a handler it gets you back to a known place for all GPUs.

Now I suppose it's up for discussion if that's really the right thing to do.

Maybe because of custom we don't even need that.

If I have 3 profile handlers in
low-power
balanced
balanced

IE I'm already in 'custom'.

If I try to write performance and the first two succeed but the third fails what's better:

performance
performance
balanced

Or

balanced
balanced
balanced



Thanks,
Armin Wolf

Tested-by: Matthew Schwartz <matthew.schwartz@xxxxxxxxx>
Suggested-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Mario Limonciello <mario.limonciello@xxxxxxx>
---
  drivers/acpi/platform_profile.c | 4 ++++
  1 file changed, 4 insertions(+)

diff --git a/drivers/acpi/platform_profile.c b/drivers/acpi/ platform_profile.c
index b70ceb11947d0..57c66d7dbf827 100644
--- a/drivers/acpi/platform_profile.c
+++ b/drivers/acpi/platform_profile.c
@@ -164,6 +164,10 @@ int platform_profile_register(struct platform_profile_handler *pprof)
          pr_err("platform_profile: handler is invalid\n");
          return -EINVAL;
      }
+    if (!test_bit(PLATFORM_PROFILE_BALANCED, pprof->choices)) {
+        pr_err("platform_profile: handler does not support balanced profile\n");
+        return -EINVAL;
+    }
      if (!pprof->dev) {
          pr_err("platform_profile: handler device is not set\n");
          return -EINVAL;





[Index of Archives]     [Linux Kernel Development]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux