[RFC v2][PATCH 0/9] cpuidle: intel_idle: Use ACPI _CTS to get idle states information

From: Rafael J. Wysocki
Date: Tue Dec 10 2019 - 06:55:41 EST


Hi All,

The purpose of this set of patches is to allow the intel_idle driver to use
C-states information from ACPI _CST on systems where the processor is not
recognized by it.

The first five patches are preparatory (please look into the changelogs for
details) and are not expected to make any functional difference.

The patch [6/9] adds ACPI _CST support to intel_idle so that _CST is used when
the driver does not have a dedicated list of C-states for the given processor.

Patch [7/9] is the same as https://patchwork.kernel.org/patch/11256815/.

Patch [8/9] changes intel_idle to also use ACPI _CST if there is a tables
of C-states for the given processor in the driver, in which case it will use
the _CST information to decide which C-state to enable by default.

The last patch adds a module parameter called "no_acpi" that can be used to
prevent intel_idle from using ACPI _CST via the kernel command line.

This has been lightly tested on a Dell XPS13 9360 (with an additional patch to
drop the Kaby Lake entries from intel_idle_ids[] which normally would prevent
intel_idle from registering itself as the cpuidle driver). The difference
between using the idle states list from _CST and the built-in one generally is
that in the latter case the processor spends more time in package C-state when
the system is idle.

If there are any concerns about this series, please let me know.

Thanks,
Rafael