Are you sure the read pointer is still moving 2mins after the lockup? That
would be rather surprising, to say the least.


I think I can imagine how this might be happenning. You see a lockup from
the driver point of view is when the 3d engine busy bit is constantly on.

The read pointer is updated by the CP engine, not the 3d engine. It could be that something would cause the CP engine to loop around sending commands to 3d engine forever. This would keep the 3d engine bit on, update the read pointer and appear to be a lockup to the driver.

One way to try to make sure this does not happen is to put code in the DRM driver to control the active size of the ring buffer.

Also, there might be an issue where the CP engine expects the ring buffer to be padded with NOPs in a certain way (say to have pointers always on 256 bit boundaries) - I don't think we are doing this.

Michel - any chance you could comment ? Thank you !

                      best

                         Vladimir Dergachev


-------------------------------------------------------
SF.Net email is sponsored by: GoToMeeting - the easiest way to collaborate
online with coworkers and clients while avoiding the high cost of travel and
communications. There is no equipment to buy and you can meet as often as
you want. Try it free.http://ads.osdn.com/?ad_id=7402&alloc_id=16135&op=click
--
_______________________________________________
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to