summaryrefslogtreecommitdiff
path: root/drivers/mxc/gpu-viv/hal
diff options
context:
space:
mode:
authorwu guoxing <b39297@freescale.com>2012-01-13 09:57:41 +0800
committerJason Liu <r64343@freescale.com>2012-07-20 13:20:03 +0800
commite43b1d0ede5689cda07bb696f2a45565e0c7ed79 (patch)
tree865faef981863fa3dc0a7197a5c74858022d6d35 /drivers/mxc/gpu-viv/hal
parentab577c619868328d910a97fb455c3c876f7718b1 (diff)
ENGR00171949:gpu-viv: change from mutex to completion for waiting pm events
viv code is using mutex to wait for pm events, kernel will see this as a dead lock and give a warrning, as the mutex can be hold for a long time. Signed-off-by: Wu Guoxing <b39297@freescale.com> Acked-by: Lily Zhang
Diffstat (limited to 'drivers/mxc/gpu-viv/hal')
-rw-r--r--drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_device.c4
1 files changed, 2 insertions, 2 deletions
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 d619b79f1b82..8b25b9fdc533 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
@@ -272,7 +272,7 @@ static int threadRoutinePM(void *ctxt)
{
/* wait for idle */
gcmkVERIFY_OK(
- gckOS_AcquireMutex(device->os, hardware->powerOffSema, gcvINFINITE));
+ gckOS_WaitSignal(device->os, hardware->powerOffSignal, gcvINFINITE));
/* We try to power off every 200 ms, until GPU is not idle */
do
@@ -1487,7 +1487,7 @@ gckGALDEVICE_Stop_Threads(
{
gckHARDWARE hardware = Device->kernels[gcvCORE_MAJOR]->hardware;
Device->killThread = gcvTRUE;
- gckOS_ReleaseSemaphore(Device->os, hardware->powerOffSema);
+ gckOS_Signal(Device->os, hardware->powerOffSignal, gcvTRUE);
kthread_stop(Device->pmThreadCtxts);
Device->pmThreadCtxts = gcvNULL;