On Thu, Jun 14, 2012 at 12:04 AM, llittle了了 <sizhiying@xxxxxxxxxxx> wrote: > Yes, I transplant the radeon_driver from 64bit_kernel to a mini 32bit_os. > The purpose is to open radeon_benchmark or Xorg in the mini_32bit_os. > So, I think ring_test success means GPU work correctly and smmothly. > > But ,my ring_test in the mini_32bit_os does not success. When I read scratch > register, it`s not the value wrote into the memory location.So, I think the > address space does not map correct. > >>> |--系统内存--|--显存--|--GTT内存--| >>> 0 256M 384M 896M > > Such memory alloction in my mini32bit_os has been build up. There are > differences between linux-kernel and my mini32bit_os : > first, mymini32bit_os does not have TTM; > second, the mini32bit_os use 0x8000,0000-----0x9000,0000 virtual address > which map to 0x0----0x1000,0000 physical address . While linux-kernel use > 0x9800,0000,fc24,0000----0x9800,0000,ff00,0000 CPU vritual address which map > to 0x0000,0000,fc24,0000----0x0000,0000,ff00,0000 physical address.I have 2g > memory. > > I also use gart_table to tell GPU my mini32bit_os address. set_gart_pages. > But ring_test still does not work. If we can use gart_table to tell GPU the > ring_buffer memory location, I alloc the ring_buffer from the low 16M > memory, then fill the gart_table, GPU would konw that address and ring_test > would sucess. But, when I use the low 16M memory for ring_buffer, ring_test > faile d. I have reserved the low 16M memory at the boot time. > > That is the exactly confused me. Why? I move ring_buffer any other palace, > ring_test will not work? > > Virtual address space does not matter for the GPU, what you need to program is physical page address into GPU gart. Cheers, Jerome _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel