Пример #1
0
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;
}
Пример #4
0
/*!
******************************************************************************

 @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();
}