[Nouveau] Add pause/unpause methods for PFIFO & PGRAPH. Use them to get stable clock changes

Martin Peres martin.peres at free.fr
Thu Sep 30 10:14:38 PDT 2010


  Hi,

Here is an updated set of patches (in regards on comments got on IRC and 
an handling error when using several channels).

These updated patch allow me to run 5 glxgears at the same time and 
reclock the card almost 100 times per second without crashing.

Don't panic if you get theses in your logs:
PGRAPH: wait for idle fail: 00000000 00000000 00000000 00000103!
PGRAPH: PGRAPH paused while running a ctxprog, NV40_PGRAPH_CTXCTL_0310 = 
0x11

It means that we tried to reclock during a context switch. It would be 
safe to continue as when the program is at 0x11, it means it waits for 
another process (which is stopped because we stopped PFIFO before). I 
could allow to get this value (ie continue and clock), but if someone 
changes the ctxprog, he would have to update it here.

For the moment, I don't mind if from time to time, setting the clocks fail.

Waiting for your comments.

Regards,

Martin


More information about the Nouveau mailing list