platform/x86/amd/pmf: Remove smart_pc_status enum
Improve code readability by removing smart_pc_status enum, as the same can be done with a simple true/false check; Update the code checks accordingly. Also add a missing return on amd_pmf_init_smart_pc() success, to skip trying to setup the auto / slider modes which should not be used in this case. Signed-off-by: Shyam Sundar S K <Shyam-sundar.S-k@amd.com> Reviewed-by: Mario Limonciello <mario.limonciello@amd.com> Link: https://lore.kernel.org/r/20240216064112.962582-1-Shyam-sundar.S-k@amd.com Reviewed-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
This commit is contained in:
committed by
Hans de Goede
parent
f0ddb8a902
commit
3da01394c0
@@ -330,9 +330,14 @@ static void amd_pmf_init_features(struct amd_pmf_dev *dev)
|
||||
dev_dbg(dev->dev, "SPS enabled and Platform Profiles registered\n");
|
||||
}
|
||||
|
||||
if (!amd_pmf_init_smart_pc(dev)) {
|
||||
amd_pmf_init_smart_pc(dev);
|
||||
if (dev->smart_pc_enabled) {
|
||||
dev_dbg(dev->dev, "Smart PC Solution Enabled\n");
|
||||
} else if (is_apmf_func_supported(dev, APMF_FUNC_AUTO_MODE)) {
|
||||
/* If Smart PC is enabled, no need to check for other features */
|
||||
return;
|
||||
}
|
||||
|
||||
if (is_apmf_func_supported(dev, APMF_FUNC_AUTO_MODE)) {
|
||||
amd_pmf_init_auto_mode(dev);
|
||||
dev_dbg(dev->dev, "Auto Mode Init done\n");
|
||||
} else if (is_apmf_func_supported(dev, APMF_FUNC_DYN_SLIDER_AC) ||
|
||||
@@ -351,7 +356,7 @@ static void amd_pmf_deinit_features(struct amd_pmf_dev *dev)
|
||||
amd_pmf_deinit_sps(dev);
|
||||
}
|
||||
|
||||
if (!dev->smart_pc_enabled) {
|
||||
if (dev->smart_pc_enabled) {
|
||||
amd_pmf_deinit_smart_pc(dev);
|
||||
} else if (is_apmf_func_supported(dev, APMF_FUNC_AUTO_MODE)) {
|
||||
amd_pmf_deinit_auto_mode(dev);
|
||||
|
||||
@@ -441,11 +441,6 @@ struct apmf_dyn_slider_output {
|
||||
struct apmf_cnqf_power_set ps[APMF_CNQF_MAX];
|
||||
} __packed;
|
||||
|
||||
enum smart_pc_status {
|
||||
PMF_SMART_PC_ENABLED,
|
||||
PMF_SMART_PC_DISABLED,
|
||||
};
|
||||
|
||||
/* Smart PC - TA internals */
|
||||
enum system_state {
|
||||
SYSTEM_STATE_S0i3,
|
||||
|
||||
@@ -260,7 +260,7 @@ static int amd_pmf_start_policy_engine(struct amd_pmf_dev *dev)
|
||||
res = amd_pmf_invoke_cmd_init(dev);
|
||||
if (res == TA_PMF_TYPE_SUCCESS) {
|
||||
/* Now its safe to announce that smart pc is enabled */
|
||||
dev->smart_pc_enabled = PMF_SMART_PC_ENABLED;
|
||||
dev->smart_pc_enabled = true;
|
||||
/*
|
||||
* Start collecting the data from TA FW after a small delay
|
||||
* or else, we might end up getting stale values.
|
||||
@@ -268,7 +268,7 @@ static int amd_pmf_start_policy_engine(struct amd_pmf_dev *dev)
|
||||
schedule_delayed_work(&dev->pb_work, msecs_to_jiffies(pb_actions_ms * 3));
|
||||
} else {
|
||||
dev_err(dev->dev, "ta invoke cmd init failed err: %x\n", res);
|
||||
dev->smart_pc_enabled = PMF_SMART_PC_DISABLED;
|
||||
dev->smart_pc_enabled = false;
|
||||
return res;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user