Hi,
在 2012年2月15日 下午11:53,Jerome Glisse j.glisse@gmail.com 写道:
To me it looks like the CP is trying to fetch memory but the GPU memory controller fail to fullfill cp request. Did you check the PCI configuration before & after (when things don't work) My best guest is PCI bus mastering is no properly working or the PCIE GPU gart table as wrong data.
Maybe one need to drop bus master and reenable bus master to work around some bug...
Thanks for your suggestion. We've tried the 'drop and reenable master' trick, unfortunately doesn't work. The PCI configuration compare will be done later.
Some additional information: The "GPU Lockup" seems always occur after tasks be restarting -- We inserted more ring tests , non of them failed before restarting tasks.
BTW, I hacked GART table to try to simulate the problem: 1. Changes the system memory address(bus address) of ring_obj to an arbitrary value, e.g. 0 or 128M. 2. Changes the system memory address of a BO in radeon_test to an arbitrary value, e.g. 0
Non of above leaded to a GPU Lockup: Point 1 rendered a black screen; Point 2 only the test itself failed
Any idea?
Regards, -- Chen Jie