| From c788382a7cc7aa2e9430ab9d8c980e815998f537 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Wed, 13 Nov 2024 18:33:09 +0800 |
| Subject: ACPI: CPPC: Fix _CPC register setting issue |
| |
| From: Lifeng Zheng <zhenglifeng1@huawei.com> |
| |
| [ Upstream commit 2388b266c9fcc7c9169ba85c7f9ebe325b7622d7 ] |
| |
| Since commit 60949b7b8054 ("ACPI: CPPC: Fix MASK_VAL() usage"), _CPC |
| registers cannot be changed from 1 to 0. |
| |
| It turns out that there is an extra OR after MASK_VAL_WRITE(), which |
| has already ORed prev_val with the register mask. |
| |
| Remove the extra OR to fix the problem. |
| |
| Fixes: 60949b7b8054 ("ACPI: CPPC: Fix MASK_VAL() usage") |
| Signed-off-by: Lifeng Zheng <zhenglifeng1@huawei.com> |
| Link: https://patch.msgid.link/20241113103309.761031-1-zhenglifeng1@huawei.com |
| [ rjw: Subject and changelog edits ] |
| Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/acpi/cppc_acpi.c | 1 - |
| 1 file changed, 1 deletion(-) |
| |
| diff --git a/drivers/acpi/cppc_acpi.c b/drivers/acpi/cppc_acpi.c |
| index 31ea76b6fa045..0e1fb97d5d763 100644 |
| --- a/drivers/acpi/cppc_acpi.c |
| +++ b/drivers/acpi/cppc_acpi.c |
| @@ -1136,7 +1136,6 @@ static int cpc_write(int cpu, struct cpc_register_resource *reg_res, u64 val) |
| return -EFAULT; |
| } |
| val = MASK_VAL_WRITE(reg, prev_val, val); |
| - val |= prev_val; |
| } |
| |
| switch (size) { |
| -- |
| 2.43.0 |
| |