From fab3bf00054689e78f5a157b2df491671fc69fd1 Mon Sep 17 00:00:00 2001 From: Yuchou Gan Date: Fri, 18 Aug 2017 00:35:50 +0800 Subject: [PATCH] MGS-3093 [#imx-701] Fix power-off random failure when GPU become idle Workaround to fix this issue, gpu failed to power off because chip is not idle when tried to cut the power, tried and wait until gpu is idle and then tried to power off will help. Date: Aug 15, 2017 Signed-off-by: Yuchou Gan --- .../gpu-viv/hal/kernel/arch/gc_hal_kernel_hardware.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/drivers/mxc/gpu-viv/hal/kernel/arch/gc_hal_kernel_hardware.c b/drivers/mxc/gpu-viv/hal/kernel/arch/gc_hal_kernel_hardware.c index 31c6259c0be4..36114aec2f18 100644 --- a/drivers/mxc/gpu-viv/hal/kernel/arch/gc_hal_kernel_hardware.c +++ b/drivers/mxc/gpu-viv/hal/kernel/arch/gc_hal_kernel_hardware.c @@ -7773,7 +7773,15 @@ gckHARDWARE_SetPowerManagementState( if (broadcast) { /* Check for idle. */ - gcmkONERROR(gckHARDWARE_QueryIdle(Hardware, &idle)); + gctINT32 try = 0; + for(try = 0; try < 10; try++) + { + gcmkONERROR(gckHARDWARE_QueryIdle(Hardware, &idle)); + if(idle) + break; + else + gckOS_Delay(os,1); + } if (!idle) { -- 2.17.1