summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--common/usbc/usb_pd_dpm.c42
-rw-r--r--driver/temp_sensor/amd_r19me4070.c2
2 files changed, 13 insertions, 31 deletions
diff --git a/common/usbc/usb_pd_dpm.c b/common/usbc/usb_pd_dpm.c
index 734fe53926..745454b647 100644
--- a/common/usbc/usb_pd_dpm.c
+++ b/common/usbc/usb_pd_dpm.c
@@ -888,41 +888,23 @@ static uint8_t get_status_power_state_change(void)
enum pd_sdb_power_state ret = PD_SDB_POWER_STATE_NOT_SUPPORTED;
#ifdef HAS_TASK_CHIPSET
- switch (power_get_state()) {
- case POWER_G3:
- case POWER_S5G3:
+ if (chipset_in_or_transitioning_to_state(CHIPSET_STATE_HARD_OFF)) {
ret = PD_SDB_POWER_STATE_G3;
- break;
- case POWER_S5:
- case POWER_G3S5:
- case POWER_S3S5:
- case POWER_S4S5:
+ } else if (chipset_in_or_transitioning_to_state(
+ CHIPSET_STATE_SOFT_OFF)) {
+ /*
+ * SOFT_OFF includes S4; chipset_state API doesn't support S4
+ * specifically, so fold S4 to S5
+ */
ret = PD_SDB_POWER_STATE_S5;
- break;
- case POWER_S4:
- case POWER_S3S4:
- case POWER_S5S4:
- ret = PD_SDB_POWER_STATE_S4;
- break;
- case POWER_S3:
- case POWER_S5S3:
- case POWER_S0S3:
- case POWER_S4S3:
+ } else if (chipset_in_or_transitioning_to_state(
+ CHIPSET_STATE_SUSPEND)) {
ret = PD_SDB_POWER_STATE_S3;
- break;
- case POWER_S0:
- case POWER_S3S0:
-#ifdef CONFIG_POWER_S0IX
- case POWER_S0ixS0:
-#endif /* CONFIG_POWER_S0IX */
+ } else if (chipset_in_or_transitioning_to_state(CHIPSET_STATE_ON)) {
ret = PD_SDB_POWER_STATE_S0;
- break;
-#ifdef CONFIG_POWER_S0IX
- case POWER_S0ix:
- case POWER_S0S0ix:
+ } else if (chipset_in_or_transitioning_to_state(
+ CHIPSET_STATE_STANDBY)) {
ret = PD_SDB_POWER_STATE_MODERN_STANDBY;
- break;
-#endif /* CONFIG_POWER_S0IX */
}
#endif /* HAS_TASK_CHIPSET */
diff --git a/driver/temp_sensor/amd_r19me4070.c b/driver/temp_sensor/amd_r19me4070.c
index b331a1a3eb..b5f4e66d38 100644
--- a/driver/temp_sensor/amd_r19me4070.c
+++ b/driver/temp_sensor/amd_r19me4070.c
@@ -53,7 +53,7 @@ int get_temp_R19ME4070(int idx, int *temp_ptr)
* We shouldn't read the GPU temperature when the state
* is not in S0, because GPU is enabled in S0.
*/
- if ((power_get_state()) != POWER_S0) {
+ if (!chipset_in_state(CHIPSET_STATE_ON)) {
*temp_ptr = C_TO_K(0);
return EC_ERROR_BUSY;
}