IMG_VOID RgxSuspend(IMG_VOID) { RgxDisableClock(); AssertGpuResetSignal(); /* set external isolation valid */ sunxi_smc_writel(1, SUNXI_R_PRCM_VBASE + GPU_PWROFF_GATING); RgxDisablePower(); }
PVRSRV_ERROR RgxSuspend(IMG_VOID) { AssertGpuResetSignal(); RgxDisableClock(); /* set external isolation valid */ writel(1, SUNXI_R_PRCM_VBASE + GPU_PWROFF_GATING); RgxDisablePower(); return PVRSRV_OK; }
PVRSRV_ERROR AwSysPostPowerState(PVRSRV_SYS_POWER_STATE eNewPowerState) { if(eNewPowerState == PVRSRV_SYS_POWER_STATE_OFF) { RgxDisableClock(); AssertGpuResetSignal(); /* set external isolation valid */ writel(1, SUNXI_R_PRCM_VBASE + GPU_PWROFF_GATING); RgxDisablePower(); } return PVRSRV_OK; }
/*! ****************************************************************************** @Function DisableSystemClocks @Description Disable the graphics clocks. @Return none ******************************************************************************/ IMG_VOID DisableSystemClocks(SYS_DATA *psSysData) { PVR_TRACE(("DisableSystemClocks: Disabling System Clocks")); AssertGpuResetSignal(); /* * Always disable the SGX clocks when the system clocks are disabled. * This saves having to make an explicit call to DisableSGXClocks if * active power management is enabled. */ DisableSGXClocks(psSysData); /* Set gpu power off gating valid */ SetBit(private_data.poweroff_gate.bit, 1, private_data.poweroff_gate.addr); /* Disable gpu power */ DisableGpuPower(); }