Linux_SDK_V1.4.2

Signed-off-by: thead_admin <occ_thead@service.alibaba.com>
This commit is contained in:
thead_admin
2023-12-24 02:32:32 +00:00
committed by Han Gao/Revy/Rabenda
parent e17ac7bab2
commit d4c68ef2c1
164 changed files with 1943 additions and 24540 deletions

View File

@@ -16823,9 +16823,32 @@ gckHARDWARE_SetClock(
gctUINT32 core = Core;
gctUINT32 mcScale = MCScale;
gctUINT32 shScale = SHScale;
gceCHIPPOWERSTATE statesStored,state;
gcmkHEADER();
gckHARDWARE_QueryPowerState(
Hardware, &statesStored
);
switch(statesStored)
{
case gcvPOWER_OFF:
state = gcvPOWER_OFF_BROADCAST;
break;
case gcvPOWER_IDLE:
state = gcvPOWER_IDLE_BROADCAST;
break;
case gcvPOWER_SUSPEND:
state = gcvPOWER_SUSPEND_BROADCAST;
break;
case gcvPOWER_ON:
state = gcvPOWER_ON_AUTO;
break;
default:
state = statesStored;
break;
}
status = gckOS_QueryOption(Hardware->os, "powerManagement", &powerManagement);
if (gcmIS_ERROR(status))
{
@@ -16838,9 +16861,7 @@ gckHARDWARE_SetClock(
Hardware, gcvFALSE
));
gcmkPRINT("Warning: Power management status will be changed forever!\n");
}
gcmkONERROR(gckHARDWARE_SetPowerState(
Hardware, gcvPOWER_ON_AUTO
));
@@ -16977,6 +16998,15 @@ gckHARDWARE_SetClock(
globalAcquired = gcvFALSE;
gcmkFOOTER_NO();
if (powerManagement)
{
gcmkONERROR(gckHARDWARE_EnablePowerManagement(
Hardware, gcvTRUE
));
}
gckHARDWARE_SetPowerState(
Hardware, state
);
return gcvSTATUS_OK;
@@ -16990,7 +17020,6 @@ OnError:
}
gcmkFOOTER_NO();
return status;
}