Commit 8bbe09ee authored by Archit Taneja's avatar Archit Taneja Committed by Tomi Valkeinen

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: default avatarArchit Taneja <archit@ti.com>
parent 9e4a0fc7
...@@ -993,7 +993,7 @@ void dispc_wb_set_channel_in(enum dss_writeback_channel channel) ...@@ -993,7 +993,7 @@ void dispc_wb_set_channel_in(enum dss_writeback_channel channel)
static void dispc_ovl_set_burst_size(enum omap_plane plane, static void dispc_ovl_set_burst_size(enum omap_plane plane,
enum omap_burst_size burst_size) enum omap_burst_size burst_size)
{ {
static const unsigned shifts[] = { 6, 14, 14, 14, }; static const unsigned shifts[] = { 6, 14, 14, 14, 14, };
int shift; int shift;
shift = shifts[plane]; shift = shifts[plane];
...@@ -1225,6 +1225,14 @@ void dispc_ovl_compute_fifo_thresholds(enum omap_plane plane, ...@@ -1225,6 +1225,14 @@ void dispc_ovl_compute_fifo_thresholds(enum omap_plane plane,
if (manual_update && dss_has_feature(FEAT_OMAP3_DSI_FIFO_BUG)) { if (manual_update && dss_has_feature(FEAT_OMAP3_DSI_FIFO_BUG)) {
*fifo_low = ovl_fifo_size - burst_size * 2; *fifo_low = ovl_fifo_size - burst_size * 2;
*fifo_high = total_fifo_size - burst_size; *fifo_high = total_fifo_size - burst_size;
} else if (plane == OMAP_DSS_WB) {
/*
* 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
*/
*fifo_low = 0;
*fifo_high = burst_size;
} else { } else {
*fifo_low = ovl_fifo_size - burst_size; *fifo_low = ovl_fifo_size - burst_size;
*fifo_high = total_fifo_size - buf_unit; *fifo_high = total_fifo_size - buf_unit;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment