mirror of
https://github.com/revyos/thead-kernel.git
synced 2026-09-18 13:22:15 +02:00
Linux_SDK_V1.4.2
Signed-off-by: thead_admin <occ_thead@service.alibaba.com>
This commit is contained in:
committed by
Han Gao/Revy/Rabenda
parent
e17ac7bab2
commit
d4c68ef2c1
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user