[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20211206122952.74139-4-kirill.shutemov@linux.intel.com>
Date: Mon, 6 Dec 2021 15:29:51 +0300
From: "Kirill A. Shutemov" <kirill.shutemov@...ux.intel.com>
To: rafael@...nel.org
Cc: ak@...ux.intel.com, bp@...en8.de, dan.j.williams@...el.com,
dave.hansen@...ux.intel.com, hpa@...or.com,
kirill.shutemov@...ux.intel.com, knsathya@...nel.org,
linux-acpi@...r.kernel.org, linux-kernel@...r.kernel.org,
mingo@...hat.com, rjw@...ysocki.net,
sathyanarayanan.kuppuswamy@...ux.intel.com, tglx@...utronix.de,
tony.luck@...el.com, x86@...nel.org
Subject: [PATCH 3/4] ACPI: processor idle: Only flush cache on entering C3
According to the ACPI spec v6.4, section 8.2, cache flushing required
on entering C3 power state.
Avoid flushing cache on entering other power states.
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@...ux.intel.com>
---
drivers/acpi/processor_idle.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c
index 76ef1bcc8848..01495aca850e 100644
--- a/drivers/acpi/processor_idle.c
+++ b/drivers/acpi/processor_idle.c
@@ -567,7 +567,8 @@ static int acpi_idle_play_dead(struct cpuidle_device *dev, int index)
{
struct acpi_processor_cx *cx = per_cpu(acpi_cstate[index], dev->cpu);
- ACPI_FLUSH_CPU_CACHE();
+ if (cx->type == ACPI_STATE_C3)
+ ACPI_FLUSH_CPU_CACHE();
while (1) {
--
2.32.0
Powered by blists - more mailing lists