From f8e40a4e8d7775de360deedb1dd370376be2f630 Mon Sep 17 00:00:00 2001 From: Tomi Valkeinen Date: Thu, 9 Aug 2012 18:13:13 +0300 Subject: [PATCH] --- yaml --- r: 333541 b: refs/heads/master c: fed62e54ae1f80f4631ce154225cf019f1219e59 h: refs/heads/master i: 333539: c95e99381a922105014325ae5b4d9057ddb3ee0e v: v3 --- [refs] | 2 +- trunk/drivers/video/omap2/dss/apply.c | 18 ++++++++---------- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/[refs] b/[refs] index ab25ed0ea301..5ca32c32cc97 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: aba965707c4e1b39fe51705488e0e0a2a4d2f803 +refs/heads/master: fed62e54ae1f80f4631ce154225cf019f1219e59 diff --git a/trunk/drivers/video/omap2/dss/apply.c b/trunk/drivers/video/omap2/dss/apply.c index 53629dd0291b..385b6df9925d 100644 --- a/trunk/drivers/video/omap2/dss/apply.c +++ b/trunk/drivers/video/omap2/dss/apply.c @@ -1314,21 +1314,19 @@ void dss_mgr_set_timings(struct omap_overlay_manager *mgr, const struct omap_video_timings *timings) { unsigned long flags; - - mutex_lock(&apply_lock); + struct mgr_priv_data *mp = get_mgr_priv(mgr); spin_lock_irqsave(&data_lock, flags); - dss_apply_mgr_timings(mgr, timings); - - dss_write_regs(); - dss_set_go_bits(); + if (mp->updating) { + DSSERR("cannot set timings for %s: manager needs to be disabled\n", + mgr->name); + goto out; + } + dss_apply_mgr_timings(mgr, timings); +out: spin_unlock_irqrestore(&data_lock, flags); - - wait_pending_extra_info_updates(); - - mutex_unlock(&apply_lock); } static void dss_apply_mgr_lcd_config(struct omap_overlay_manager *mgr,