Re: Problems with 3.4-rc5

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

Attachment: signature.asc
Description: This is a digitally signed message part


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux