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]

 



Am 31.10.24 um 21:43 schrieb Mario Limonciello:

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

I think the first is better, as we cannot really guarantee that setting "balanced" for all handlers
will always work.

Thanks,
Armin Wolf


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