aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video
diff options
context:
space:
mode:
authorTomi Valkeinen <tomi.valkeinen@ti.com>2012-08-09 11:13:13 -0400
committerTomi Valkeinen <tomi.valkeinen@ti.com>2012-09-07 13:02:11 -0400
commitfed62e54ae1f80f4631ce154225cf019f1219e59 (patch)
tree973a6868cdcd8253849600eb380ca575bb7bade6 /drivers/video
parentaba965707c4e1b39fe51705488e0e0a2a4d2f803 (diff)
OMAPDSS: clean up dss_mgr_set_timings
dss_mgr_set_timings() can only be called when the output is not active. This means that most of the code in the function is extra, as there's no need to write the values to registers, etc, because that will be handled when the output will be enabled. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Diffstat (limited to 'drivers/video')
-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,