Re: [PATCH v13 09/12] ACPI: x86: s2idle: Add a function to get constraints for a device

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

 



On 8/18/2023 05:47, Andy Shevchenko wrote:
On Fri, Aug 18, 2023 at 10:31:03AM +0200, Rafael J. Wysocki wrote:
On Fri, Aug 18, 2023 at 7:15 AM Mario Limonciello
<mario.limonciello@xxxxxxx> wrote:

...

+int acpi_get_lps0_constraint(struct device *dev)

I think that some overhead would be reduced below if this were taking
a struct acpi_device pointer as the argument.

Hmm... Either you need a pointer to handle, which involves pointer arithmetics
or something else. I would believe if you tell that ACPI handle should be passed,
but current suggestion is not obvious to me how it may help.

To Rafael's point about overhead there are potentially "less" calls into acpi_get_lps0_constraint if it's a 'struct acpi_device' pointer because it won't be called by caller for any devices that don't have an ACPI companion.


+{
+       struct lpi_constraints *entry;
+
+       for_each_lpi_constraint(entry) {
+               if (!device_match_acpi_handle(dev, entry->handle))

Here we retrieve handle...

+                       continue;
+               acpi_handle_debug(entry->handle,
+                                 "ACPI device constraint: %d\n", entry->min_dstate);
+               return entry->min_dstate;
+       }

+       dev_dbg(dev, "No ACPI device constraint specified\n");

...and here we are using dev directly (otherwise acpi_handle_dbg() should be used).

I'll just move the debugging statements into the caller of acpi_get_lps0_constraint().


+       return -ENODEV;

ACPI_STATE_UNKNOWN?

Much better, thanks.


+}





[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]
  Powered by Linux