[Intel-gfx] [PATCH] Workaround for flicker with panning on the i830

Thomas Richter thor at math.tu-berlin.de
Mon Nov 11 16:33:51 CET 2013


Am 08.11.2013 17:32, schrieb Daniel Vetter:
> Kernel has a tool in scripts/checkpatch.pl which will tell you what's all
> off ;-) Also sob line and similar essential things are missing, but the
> script should notice this all.
>
> Also I think it'd be good to extract this hack into a little helper
> function, maybe called i830_plane_panning_hack or so. That way it's out of
> the normal code flow and clearly marked as something exceptionel.

Thanks, I'll try that. Still working on it, though.
>
>> As a related question: Is there possibly a command line tool that
>> would allow me to modify the intel chipset registers on the fly
>> without going through a kernel recompile? It would make some
>> experiments just so much simpler.
> intel-gpu-tools has intel_reg_read/write tools. That should help ;-)


These tools are exceptional, and exactly what I was looking for. Thanks 
a lot!

Now, how much is known about the register DSPARB, found at offset 0x70030?

Because, if I just feed this register with "correct" values (for 
whatever "correct" means), I do get a stable image
on pipe A and pipe B. I haven't found out what "correct" is, precisely, 
but there is something I can do here.
By default, on my setup, the value here is 0x17e5f, but depending on the 
scroll position, 0x17e51, 0x17e61, 0x17e6f
or 0x17e63 create stable images. So there is at least some way how to 
get the image right, though I don't quite
understand the mechanics yet.

BTW, now that I looked at intel_regs_dump: When the screen is 
flickering, I do get "pipe A underruns". I tried working
with the watermark registers, but all I can get is a crashed GPU or a 
ripped display, so this is not quite the right approach.
DSPARB seems to be the best trick so far, even though I don't quite get 
how it works.

Any ideas?

Greetings,
     Thomas




More information about the Intel-gfx mailing list