diff options
author | Rob Clark <robdclark@gmail.com> | 2014-03-24 09:12:24 -0400 |
---|---|---|
committer | Rob Clark <robdclark@gmail.com> | 2014-03-31 10:27:46 -0400 |
commit | 30b6f8f6792abe582ef25100984a113ac9bc88dd (patch) | |
tree | 63e3bd92ed563fd972ed92ef93f4a7014f37d9fd | |
parent | 93ddb0d3b022dfbd963f243bd01741643cebfb28 (diff) |
drm/msm/mdp: add timeout for irq wait
Make things recover a bit more gracefully if we get stuck with no vblank
irq ever coming.
Signed-off-by: Rob Clark <robdclark@gmail.com>
-rw-r--r-- | drivers/gpu/drm/msm/mdp/mdp_kms.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/gpu/drm/msm/mdp/mdp_kms.c b/drivers/gpu/drm/msm/mdp/mdp_kms.c index 3be48f7c36be..03455b64a245 100644 --- a/drivers/gpu/drm/msm/mdp/mdp_kms.c +++ b/drivers/gpu/drm/msm/mdp/mdp_kms.c | |||
@@ -101,7 +101,8 @@ void mdp_irq_wait(struct mdp_kms *mdp_kms, uint32_t irqmask) | |||
101 | .count = 1, | 101 | .count = 1, |
102 | }; | 102 | }; |
103 | mdp_irq_register(mdp_kms, &wait.irq); | 103 | mdp_irq_register(mdp_kms, &wait.irq); |
104 | wait_event(wait_event, (wait.count <= 0)); | 104 | wait_event_timeout(wait_event, (wait.count <= 0), |
105 | msecs_to_jiffies(100)); | ||
105 | mdp_irq_unregister(mdp_kms, &wait.irq); | 106 | mdp_irq_unregister(mdp_kms, &wait.irq); |
106 | } | 107 | } |
107 | 108 | ||