[haiku-bugs] [Haiku] #5383: MTRR regression: AGP transfer inconsistencies

#5383: MTRR regression: AGP transfer inconsistencies
-----------------------+----------------------------------------------------
 Reporter:  rudolfc    |       Owner:  nobody   
     Type:  bug        |      Status:  new      
 Priority:  normal     |   Milestone:  R1       
Component:  - General  |     Version:  R1/alpha1
 Keywords:             |   Blockedby:           
 Platform:  All        |    Blocking:           
-----------------------+----------------------------------------------------
 Since r34197 MTRR doesn't work OK anymore on my ASUS P4 mainboard with AGP
 slot.

 The nvidia kerneldriver maps a 1Mb buffer using MTRR in main system
 memory. This buffer is written to by the CPU, and it's read by the GPU
 using AGP transfers.
 It turns out that the GPU sees an inconsistently written buffer which
 results in old / partially degraded commands being executed by the engine,
 resulting in an engine hang in the end.
 Using PCI transfers this problem doesn't occur. If I relocate the buffer
 to gfx memory, this problem doesn't occur. If I disable MTRR mapping in
 the kerneldriver the problem remains in AGP.

 On PCIe systems this problem doesn't exist.

 r34190 is OK, r34203 is not OK. From the changes in between I think r34197
 must be the problem. Note: BeOS also is OK on this system! (dano/R5).
 I tested r35431: still not OK, same symptoms as r34203.

 Please have a look at the MTRR changes in relation to the nVidia
 kerneldriver!

 The reason the problem only now surfaces is that acceleration engines are
 currently not used in Haiku. In order to test you need to use acceleration
 commands.

 Thanks in advance!

-- 
Ticket URL: <http://dev.haiku-os.org/ticket/5383>
Haiku <http://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: