diff options
Diffstat (limited to 'drivers/video')
-rw-r--r-- | drivers/video/omap2/dss/apply.c | 14 |
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 | |||
1368 | out: | 1358 | out: |
1369 | mutex_unlock(&apply_lock); | 1359 | spin_unlock_irqrestore(&data_lock, flags); |
1370 | } | 1360 | } |
1371 | 1361 | ||
1372 | int dss_ovl_set_info(struct omap_overlay *ovl, | 1362 | int dss_ovl_set_info(struct omap_overlay *ovl, |