830GM still woes

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

 



Hi Daniel, hi folks,

still a couple of observations from my side on this. The 1024x786x24 mode here uses a clock of 65MHz (65000kHz), if that is inserted into the watermark computation, it computes from that a prefetch of 40 entries, and thus a watermark level of four, which is much much too high. To get a stable display, the watermark level can be at most eight.

However, if I program the FW_BLC register by hand, I can set the watermark down to 32, i.e. 15(!) entries, and I still get a wonderful stable display, scrolling and everything included.

If I compare that with what is required by intel_calculate_wm() to get the same value, I find that the input is, in some place, off by about a factor of two. Which could mean:

a) the latency is too high by a factor of two. Even with a latency of 2500ns, I do get a good watermark level and a stable display. The limit is around 1500ns.

b) the I830_FIFO_LINE_SIZE is off by a factor of two. Is it really 32 bytes? Is it *measured* in bytes? With a line size twice as large, the result would fit again.

c) Is the I830 FIFO_SIZE really 47? This is the value I get when I debug i9xx_update_wm(). It seems the code splits the totally available fifo (unified fifo of the 830GM) of 95 entries approximately in half for pipe A and pipe B. Is the *unit* correct? Is the fifo size measured in *entries*?

What makes me wonder is that there is really approximately a factor of two between the *real* limit and the value computed by the code, which looks to me that at some point a division or multiplication by two is missing.

Finally, a regression with the 3.15.0 code: I already had the phenomenon that the boot console is vertically shifted, which is caused by the pipe-a quirk (without that quirk, the display is correct), but it now also happens from time to time that the DVO is again not clocked correctly. The screen then goes dead in the boot console, but as soon as X starts up, I get again a display. This display is sometimes a bit broken (flickers, as if the frequency is about 40Hz, not 60Hz) or no display at all. Switching to the boot console and back to X resolves the issue. As said, disable the pipe_A quirk and we are good.

A second observation is that the boot console now reports PIPE_A (and sometimes also) PIPE_B underruns during the bootstrap, only once. The system recovers from this (if you call a dead boot console as above "recovery"), so something is likely broken with the quirk. (No news, of course).

Greetings,
Thomas


_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux