Commit 0f942bd9 authored by Srinivas Pandruvada's avatar Srinivas Pandruvada Committed by Jia, Yingbao
Browse files

platform/x86: ISST: Allow reading core-power state on HWP disabled systems

mainline inclusion
from mainline-v6.9
commit e8b4223dbf12cb6b722e1b8c48a9386cb096d4fb
category: bugfix
bugzilla: https://gitee.com/openeuler/intel-kernel/issues/IB6QD3
CVE: NA
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e8b4223dbf12cb6b722e1b8c48a9386cb096d4fb



-------------------------------------------------

Intel-SIG: commit e8b4223dbf12 platform/x86: ISST: Allow reading core-power state on HWP disabled systems.
Backport intel SST driver update for 5.10 from 6.10

When HWP (Hardware P-states) is disabled, dynamic SST features are
disabled. But user should still be able to read the current core-power
state, with legacy P-states. This will allow users to read current
configuration with static SST enabled from BIOS.

To address this, do not call disable_dynamic_sst_features() when the
request is for reading the state.

Signed-off-by: default avatarSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Reviewed-by: default avatarKuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>
Link: https://lore.kernel.org/r/20240229002659.1416623-1-srinivas.pandruvada@linux.intel.com


Reviewed-by: default avatarIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: default avatarIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
[ Yingbao Jia: amend commit log ]
Signed-off-by: default avatarYingbao Jia <yingbao.jia@intel.com>
parent ce73358c
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -462,10 +462,10 @@ static long isst_if_core_power_state(void __user *argp)
	struct tpmi_per_power_domain_info *power_domain_info;
	struct isst_core_power core_power;

	if (disable_dynamic_sst_features())
	if (copy_from_user(&core_power, argp, sizeof(core_power)))
		return -EFAULT;

	if (copy_from_user(&core_power, argp, sizeof(core_power)))
	if (core_power.get_set && disable_dynamic_sst_features())
		return -EFAULT;

	power_domain_info = get_instance(core_power.socket_id, core_power.power_domain_id);