aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/omap2/dss
diff options
context:
space:
mode:
authorTomi Valkeinen <tomi.valkeinen@ti.com>2011-10-27 06:11:31 -0400
committerTomi Valkeinen <tomi.valkeinen@ti.com>2011-12-02 01:54:21 -0500
commit714ad3ac505bba711f961bb8013644c9d8fb486a (patch)
tree2b1740468219409588ce7ac0704e37eb1174564e /drivers/video/omap2/dss
parent8754595796a45e88411b68005bc98310c8c6ae76 (diff)
OMAPDSS: Remove old fifomerge hacks
Once in a time omapdss had basic support for fifomerge. Fifomerge was removed as the implementation didn't work properly, and a proper implementation is a complex problem. However, some unused fifo-merge related code was left behind. This patch removes those. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Diffstat (limited to 'drivers/video/omap2/dss')
-rw-r--r--drivers/video/omap2/dss/manager.c26
1 files changed, 1 insertions, 25 deletions
diff --git a/drivers/video/omap2/dss/manager.c b/drivers/video/omap2/dss/manager.c
index 6e63845cc7d7..1be5f47a2114 100644
--- a/drivers/video/omap2/dss/manager.c
+++ b/drivers/video/omap2/dss/manager.c
@@ -1313,8 +1313,6 @@ static int omap_dss_mgr_apply(struct omap_overlay_manager *mgr)
1313 struct manager_cache_data *mc; 1313 struct manager_cache_data *mc;
1314 int i; 1314 int i;
1315 struct omap_overlay *ovl; 1315 struct omap_overlay *ovl;
1316 int num_planes_enabled = 0;
1317 bool use_fifomerge;
1318 unsigned long flags; 1316 unsigned long flags;
1319 int r; 1317 int r;
1320 1318
@@ -1347,11 +1345,8 @@ static int omap_dss_mgr_apply(struct omap_overlay_manager *mgr)
1347 continue; 1345 continue;
1348 } 1346 }
1349 1347
1350 if (!ovl->info_dirty) { 1348 if (!ovl->info_dirty)
1351 if (oc->enabled)
1352 ++num_planes_enabled;
1353 continue; 1349 continue;
1354 }
1355 1350
1356 dssdev = ovl->manager->device; 1351 dssdev = ovl->manager->device;
1357 1352
@@ -1375,8 +1370,6 @@ static int omap_dss_mgr_apply(struct omap_overlay_manager *mgr)
1375 oc->channel = ovl->manager->id; 1370 oc->channel = ovl->manager->id;
1376 1371
1377 oc->enabled = true; 1372 oc->enabled = true;
1378
1379 ++num_planes_enabled;
1380 } 1373 }
1381 1374
1382 /* Configure managers */ 1375 /* Configure managers */
@@ -1406,21 +1399,6 @@ static int omap_dss_mgr_apply(struct omap_overlay_manager *mgr)
1406 dssdev->caps & OMAP_DSS_DISPLAY_CAP_MANUAL_UPDATE; 1399 dssdev->caps & OMAP_DSS_DISPLAY_CAP_MANUAL_UPDATE;
1407 } 1400 }
1408 1401
1409 /* XXX TODO: Try to get fifomerge working. The problem is that it
1410 * affects both managers, not individually but at the same time. This
1411 * means the change has to be well synchronized. I guess the proper way
1412 * is to have a two step process for fifo merge:
1413 * fifomerge enable:
1414 * 1. disable other planes, leaving one plane enabled
1415 * 2. wait until the planes are disabled on HW
1416 * 3. config merged fifo thresholds, enable fifomerge
1417 * fifomerge disable:
1418 * 1. config unmerged fifo thresholds, disable fifomerge
1419 * 2. wait until fifo changes are in HW
1420 * 3. enable planes
1421 */
1422 use_fifomerge = false;
1423
1424 /* Configure overlay fifos */ 1402 /* Configure overlay fifos */
1425 for (i = 0; i < omap_dss_get_num_overlays(); ++i) { 1403 for (i = 0; i < omap_dss_get_num_overlays(); ++i) {
1426 struct omap_dss_device *dssdev; 1404 struct omap_dss_device *dssdev;
@@ -1436,8 +1414,6 @@ static int omap_dss_mgr_apply(struct omap_overlay_manager *mgr)
1436 dssdev = ovl->manager->device; 1414 dssdev = ovl->manager->device;
1437 1415
1438 size = dispc_ovl_get_fifo_size(ovl->id); 1416 size = dispc_ovl_get_fifo_size(ovl->id);
1439 if (use_fifomerge)
1440 size *= 3;
1441 1417
1442 burst_size = dispc_ovl_get_burst_size(ovl->id); 1418 burst_size = dispc_ovl_get_burst_size(ovl->id);
1443 1419