On Wed, 2012-05-16 at 12:09 +0200, Cousson, Benoit wrote: > Hi Tomi, > > On 5/16/2012 11:08 AM, Tomi Valkeinen wrote: > > Disabling DPLL3 autoidle fixes the problem. Disabling DPLL4 autoidle > > doesn't affect the problem. > > The issues your are facing seems to be the well known DSS low power > refresh mode we've been trying to use since OMAP2 :-). Hmm, so are you saying no one has managed to get fifomerge and autoidle working reliably? If so, no point for me to even try it =). If so, I wonder which is better to have: fifomerge or autoidle... > > I also suspect that this could be just a plain DSS bug. The default FIFO > > low/high thresholds are 960/1023 bytes (i.e. DSS starts refilling the > > FIFO when there are 960 or less bytes in the fifo, and stops at 1023. > > The fifo is 1024 bytes). The values are calculated with fifo_size - > > burst_size and fifo_size - 1. > > > > We are now using FIFO merge features, which combines multiple fifos into > > one when possible, making the fifo size 1024*3 = 3072. Using the same > > low threshold and increasing the high threshold to 960/3071 works fine. > > Changing the high threshold to 3008 causes underflows. Increasing the > > low threshold to ~1600 makes DSS work again. > > That's weird, in theory what should matter is only the diff between the > high and low. Well the low value should be as high as possible as well > to support the wakeup latency. Yep. That makes me think there's some kind of problem with DSS accessing the memory with particular fifo thresholds. Tomi
Attachment:
signature.asc
Description: This is a digitally signed message part