On Wed, 2012-05-02 at 13:46 +0100, Joe Woodward wrote: > > > Secondly, I get the following when booted: > > > ... > > > [ 4.701232] devtmpfs: mounted > > > [ 4.704772] Freeing init memory: 168K > > > [ 4.827301] omapdss DISPC error: FIFO UNDERFLOW on gfx, disabling > > the overlay > > > ... > > > > > > > Could you add some dss debug prints? You can add "omapdss.debug=1 > > debug" > > in the bootargs to get that. > > > > There was a feature called fifo merge added in 3.4, this might lead to > > underflow, we had tested this using a DVI monitor on beagle but didn't > > see any underflows. > > > > Are you trying this out on 3.4 for the first time? What was the last > > kernel revision on which you tested this and didn't see any issues?
Can you try the following changes (separately):
diff --git a/drivers/video/omap2/dss/dispc.c b/drivers/video/omap2/dss/dispc.c
index ee30937..aca4eb1 100644
--- a/drivers/video/omap2/dss/dispc.c
+++ b/drivers/video/omap2/dss/dispc.c
@@ -1091,13 +1091,8 @@ void dispc_ovl_compute_fifo_thresholds(enum omap_plane
plane,
* combined fifo size
*/
- if (dss_has_feature(FEAT_OMAP3_DSI_FIFO_BUG)) {
- *fifo_low = ovl_fifo_size - burst_size * 2;
- *fifo_high = total_fifo_size - burst_size;
- } else {
- *fifo_low = ovl_fifo_size - burst_size;
- *fifo_high = total_fifo_size - buf_unit;
- }
+ *fifo_low = ovl_fifo_size - burst_size;
+ *fifo_high = total_fifo_size - buf_unit;
}
static void dispc_ovl_set_fir(enum omap_plane plane,
---
diff --git a/drivers/video/omap2/dss/dispc.c b/drivers/video/omap2/dss/dispc.c
index ee30937..d63f1a3 100644
--- a/drivers/video/omap2/dss/dispc.c
+++ b/drivers/video/omap2/dss/dispc.c
@@ -1077,13 +1077,7 @@ void dispc_ovl_compute_fifo_thresholds(enum omap_plane
plane,
burst_size = dispc_ovl_get_burst_size(plane);
ovl_fifo_size = dispc_ovl_get_fifo_size(plane);
- if (use_fifomerge) {
- total_fifo_size = 0;
- for (i = 0; i < omap_dss_get_num_overlays(); ++i)
- total_fifo_size += dispc_ovl_get_fifo_size(i);
- } else {
- total_fifo_size = ovl_fifo_size;
- }
+ total_fifo_size = ovl_fifo_size;
/*
* We use the same low threshold for both fifomerge and non-fifomerge
Tomi
signature.asc
Description: This is a digitally signed message part
