diff options
author | Loren Huang <b02279@freescale.com> | 2013-03-05 15:44:28 +0800 |
---|---|---|
committer | Loren Huang <b02279@freescale.com> | 2013-03-05 16:57:12 +0800 |
commit | 243bb28ab9b49c8b54cdd08b9e05017effcd3d34 (patch) | |
tree | b8ee64efa9ce5d7853150c183253dc5a1aec0809 | |
parent | 0e55f015236e5337eecb655b6c39c811eac3497e (diff) |
ENGR00252727-2 [GPU]Power on VG core if there is only VG core in SoC
-Power on VG core to makesure VG can be initalized if there is only
VG core in SoC.
-Power off VG core after initalization is done.
-Adjust VG power and clock state to match above changing.
Signed-off-by: Loren Huang <b02279@freescale.com>
Acked-by: Lily Zhang
-rw-r--r-- | drivers/mxc/gpu-viv/arch/GC350/hal/kernel/gc_hal_kernel_hardware_vg.c | 7 | ||||
-rw-r--r-- | drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_device.c | 5 |
2 files changed, 9 insertions, 3 deletions
diff --git a/drivers/mxc/gpu-viv/arch/GC350/hal/kernel/gc_hal_kernel_hardware_vg.c b/drivers/mxc/gpu-viv/arch/GC350/hal/kernel/gc_hal_kernel_hardware_vg.c index 4be7d91e9437..4a6010dd1c9a 100644 --- a/drivers/mxc/gpu-viv/arch/GC350/hal/kernel/gc_hal_kernel_hardware_vg.c +++ b/drivers/mxc/gpu-viv/arch/GC350/hal/kernel/gc_hal_kernel_hardware_vg.c @@ -308,6 +308,7 @@ gckVGHARDWARE_Construct( do { + gcmkERR_BREAK(gckOS_SetGPUPower(Os, gcvCORE_VG, gcvTRUE, gcvTRUE)); status = _ResetGPU(Os); if (status != gcvSTATUS_OK) @@ -340,10 +341,10 @@ gckVGHARDWARE_Construct( hardware->powerMutex = gcvNULL; hardware->idleSignal = gcvNULL; - hardware->chipPowerState = gcvPOWER_OFF; + hardware->chipPowerState = gcvPOWER_ON; hardware->chipPowerStateGlobal = gcvPOWER_ON; - hardware->clockState = gcvFALSE; - hardware->powerState = gcvFALSE; + hardware->clockState = gcvTRUE; + hardware->powerState = gcvTRUE; hardware->powerOffTimeout = gcdPOWEROFF_TIMEOUT; hardware->powerOffTime = 0; hardware->timeIdleThread = gcvNULL; diff --git a/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_device.c b/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_device.c index 4a8e09c66774..7168f0ecea4c 100644 --- a/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_device.c +++ b/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_device.c @@ -1632,6 +1632,11 @@ gckGALDEVICE_Start( { /* Setup the ISR routine. */ gcmkONERROR(gckGALDEVICE_Setup_ISR_VG(Device)); + + /* Switch to SUSPEND power state. */ + gcmkONERROR(gckVGHARDWARE_SetPowerManagementState( + Device->kernels[gcvCORE_VG]->vg->hardware, gcvPOWER_OFF_BROADCAST + )); } gcmkFOOTER_NO(); |