aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/video/omap2/dss/apply.c18
1 files changed, 8 insertions, 10 deletions
diff --git a/drivers/video/omap2/dss/apply.c b/drivers/video/omap2/dss/apply.c
index 53629dd0291b..385b6df9925d 100644
--- a/drivers/video/omap2/dss/apply.c
+++ b/drivers/video/omap2/dss/apply.c
@@ -1314,21 +1314,19 @@ void dss_mgr_set_timings(struct omap_overlay_manager *mgr,
1314 const struct omap_video_timings *timings) 1314 const struct omap_video_timings *timings)
1315{ 1315{
1316 unsigned long flags; 1316 unsigned long flags;
1317 1317 struct mgr_priv_data *mp = get_mgr_priv(mgr);
1318 mutex_lock(&apply_lock);
1319 1318
1320 spin_lock_irqsave(&data_lock, flags); 1319 spin_lock_irqsave(&data_lock, flags);
1321 1320
1322 dss_apply_mgr_timings(mgr, timings); 1321 if (mp->updating) {
1323 1322 DSSERR("cannot set timings for %s: manager needs to be disabled\n",
1324 dss_write_regs(); 1323 mgr->name);
1325 dss_set_go_bits(); 1324 goto out;
1325 }
1326 1326
1327 dss_apply_mgr_timings(mgr, timings);
1328out:
1327 spin_unlock_irqrestore(&data_lock, flags); 1329 spin_unlock_irqrestore(&data_lock, flags);
1328
1329 wait_pending_extra_info_updates();
1330
1331 mutex_unlock(&apply_lock);
1332} 1330}
1333 1331
1334static void dss_apply_mgr_lcd_config(struct omap_overlay_manager *mgr, 1332static void dss_apply_mgr_lcd_config(struct omap_overlay_manager *mgr,