]> git.karo-electronics.de Git - karo-tx-linux.git/commit
ENGR00176159 video: ipuv3-fb: change to timeout semaphore to wait on irq.
authorZhang Jiejing <jiejing.zhang@freescale.com>
Tue, 6 Mar 2012 06:47:57 +0000 (14:47 +0800)
committerOliver Wendt <ow@karo-electronics.de>
Mon, 30 Sep 2013 12:11:09 +0000 (14:11 +0200)
commit00e9345544dc9b80bf0ab1db86bc2efefcf20381
treec10e3ec6eeec05d2381b603035275288ac6902e1
parent5077fcdcf5495c603ff2fc1df493b36f356f99cc
ENGR00176159 video: ipuv3-fb: change to timeout semaphore to wait on irq.

change to timeout semaphore to wait on irq.

use no timeout semaphore have below issues:
1. since fbmem.c will hold the console_lock() before call PAN_DISPLAY ioictl,
 if have wrong happens on IPU, IRQ not come, any log printk will not ouput,
 it will become like a system hang, and developer don't know what's wrong.

2. semaphore don't have timeout, here we can't know irq not come,
  so hang it infintly.
3. semaphore lock and unlock in different context is a dangous operation.

To fix these issue, use timedout version to wait on irq.
But for better coding stly to align Kernel Coding Style Doc,
better use complete to wait on irq, use semaphre little ugly.

Signed-off-by: Zhang Jiejing <jiejing.zhang@freescale.com>
drivers/video/mxc/mxc_ipuv3_fb.c