aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/video')
-rw-r--r--drivers/video/omap2/dss/apply.c14
1 files changed, 2 insertions, 12 deletions
diff --git a/drivers/video/omap2/dss/apply.c b/drivers/video/omap2/dss/apply.c
index 52a5940a3773..53629dd0291b 100644
--- a/drivers/video/omap2/dss/apply.c
+++ b/drivers/video/omap2/dss/apply.c
@@ -1346,7 +1346,7 @@ void dss_mgr_set_lcd_config(struct omap_overlay_manager *mgr,
1346 unsigned long flags; 1346 unsigned long flags;
1347 struct mgr_priv_data *mp = get_mgr_priv(mgr); 1347 struct mgr_priv_data *mp = get_mgr_priv(mgr);
1348 1348
1349 mutex_lock(&apply_lock); 1349 spin_lock_irqsave(&data_lock, flags);
1350 1350
1351 if (mp->enabled) { 1351 if (mp->enabled) {
1352 DSSERR("cannot apply lcd config for %s: manager needs to be disabled\n", 1352 DSSERR("cannot apply lcd config for %s: manager needs to be disabled\n",
@@ -1354,19 +1354,9 @@ void dss_mgr_set_lcd_config(struct omap_overlay_manager *mgr,
1354 goto out; 1354 goto out;
1355 } 1355 }
1356 1356
1357 spin_lock_irqsave(&data_lock, flags);
1358
1359 dss_apply_mgr_lcd_config(mgr, config); 1357 dss_apply_mgr_lcd_config(mgr, config);
1360
1361 dss_write_regs();
1362 dss_set_go_bits();
1363
1364 spin_unlock_irqrestore(&data_lock, flags);
1365
1366 wait_pending_extra_info_updates();
1367
1368out: 1358out:
1369 mutex_unlock(&apply_lock); 1359 spin_unlock_irqrestore(&data_lock, flags);
1370} 1360}
1371 1361
1372int dss_ovl_set_info(struct omap_overlay *ovl, 1362int dss_ovl_set_info(struct omap_overlay *ovl,