unregister_chrdev(major, DRV_NAME);
#endif
+ mdelay(50);
gckGALDEVICE_Stop(galDevice);
+ mdelay(50);
gckGALDEVICE_Destroy(galDevice);
+ mdelay(50);
#if ENABLE_GPU_CLOCK_BY_DRIVER && LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,28)
printk("gpu: %s clk_disable... ", __func__);
printk("Enter %s \n", __func__);
+ mdelay(50); //Wait for gpu finish
+
status = gckHARDWARE_SetPowerManagementState(galDevice->kernel->hardware, gcvPOWER_SUSPEND);
if (gcmIS_ERROR(status))
status = gckHARDWARE_SetPowerManagementState(galDevice->kernel->hardware, gcvPOWER_IDLE);
+ mdelay(50);
+
if (gcmIS_ERROR(status))
{
printk("%s fail!\n", __func__);
device = platform_get_drvdata(dev);
+ mdelay(50); //Wait for gpu finish
+
status = gckHARDWARE_SetPowerManagementState(device->kernel->hardware, gcvPOWER_SUSPEND);
if (gcmIS_ERROR(status))
status = gckHARDWARE_SetPowerManagementState(device->kernel->hardware, gcvPOWER_IDLE);
+ mdelay(50);
+
if (gcmIS_ERROR(status))
{
printk("%s fail!\n", __func__);
if(lastclock!=Clock)
{
+ mdelay(10);
if(Clock) {
printk("gpu: clk_enable... ");
- clk_enable(clk_hclk_gpu);
+ clk_enable(clk_gpu);
clk_enable(clk_aclk_gpu);
clk_enable(clk_aclk_ddr_gpu);
- clk_enable(clk_gpu);
+ clk_enable(clk_hclk_gpu);
printk("done!\n");
} else {
printk("gpu: clk_disable... ");
- clk_disable(clk_gpu);
- clk_disable(clk_aclk_gpu);
- clk_disable(clk_aclk_ddr_gpu);
clk_disable(clk_hclk_gpu);
+ clk_disable(clk_aclk_ddr_gpu);
+ clk_disable(clk_aclk_gpu);
+ clk_disable(clk_gpu);
printk("done!\n");
}
+ mdelay(10);
}
lastclock = Clock;