aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorArchit Taneja <archit@ti.com>2012-09-10 08:01:39 -0400
committerTomi Valkeinen <tomi.valkeinen@ti.com>2012-09-26 07:58:51 -0400
commit8bbe09ee4d2c3f201c302f0af75a7c5e17d72625 (patch)
tree0c3974425d5269740078e01ce6cf20a3e34a611b /drivers
parent9e4a0fc76549e1105fd4a2c7e03871c31110387e (diff)
OMAPDSS: DISPC: Configure writeback FIFOs
Extend the DISPC fifo functions to also configure the writeback FIFO thresholds. The most optimal configuration for writeback is to push out data to the interconnect the moment writeback pushes enough pixels in the FIFO to form a burst. This reduces the chance of writeback overflowing it's FIFO. Signed-off-by: Archit Taneja <archit@ti.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/video/omap2/dss/dispc.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/video/omap2/dss/dispc.c b/drivers/video/omap2/dss/dispc.c
index 9f083a952747..6f326765f341 100644
--- a/drivers/video/omap2/dss/dispc.c
+++ b/drivers/video/omap2/dss/dispc.c
@@ -993,7 +993,7 @@ void dispc_wb_set_channel_in(enum dss_writeback_channel channel)
993static void dispc_ovl_set_burst_size(enum omap_plane plane, 993static void dispc_ovl_set_burst_size(enum omap_plane plane,
994 enum omap_burst_size burst_size) 994 enum omap_burst_size burst_size)
995{ 995{
996 static const unsigned shifts[] = { 6, 14, 14, 14, }; 996 static const unsigned shifts[] = { 6, 14, 14, 14, 14, };
997 int shift; 997 int shift;
998 998
999 shift = shifts[plane]; 999 shift = shifts[plane];
@@ -1225,6 +1225,14 @@ void dispc_ovl_compute_fifo_thresholds(enum omap_plane plane,
1225 if (manual_update && dss_has_feature(FEAT_OMAP3_DSI_FIFO_BUG)) { 1225 if (manual_update && dss_has_feature(FEAT_OMAP3_DSI_FIFO_BUG)) {
1226 *fifo_low = ovl_fifo_size - burst_size * 2; 1226 *fifo_low = ovl_fifo_size - burst_size * 2;
1227 *fifo_high = total_fifo_size - burst_size; 1227 *fifo_high = total_fifo_size - burst_size;
1228 } else if (plane == OMAP_DSS_WB) {
1229 /*
1230 * Most optimal configuration for writeback is to push out data
1231 * to the interconnect the moment writeback pushes enough pixels
1232 * in the FIFO to form a burst
1233 */
1234 *fifo_low = 0;
1235 *fifo_high = burst_size;
1228 } else { 1236 } else {
1229 *fifo_low = ovl_fifo_size - burst_size; 1237 *fifo_low = ovl_fifo_size - burst_size;
1230 *fifo_high = total_fifo_size - buf_unit; 1238 *fifo_high = total_fifo_size - buf_unit;