From: Christopher G. <ch...@so...> - 2003-12-04 22:02:36
|
Hello Jose, > It's very strange that this doesn't work. If you compile the driver > and the Xserver into /usr/X11R6-DRI/ and use that XFree86 server there > shouln't be any binary incompatabilities problems (which I suspect are > the cause of all this). When you mentioned this and the fact that you as well as I had no idea what was going on, I decided to re-compile everything (kernel, XFree86) cleanly without any vendor or personal patches. It turns out that I made a grave mistake in the information I provided and I sincerely apologize. It turns out that I mis-configured lilo and when I rebooted a kernel with the software suspend patch was being booted rather then a clean one as I had thought (and I *knew* that swsusp causes problems with video cards). When I booted with a clean kernel, mach64 drm worked fine (and I got 270fps with glxgears rather then the ususal 110fps :)). Again, please accept my apology for my mistake and I thank you for your patience. I learned while working in telecommunications that one must make sure that all their stuff is good before contacting the other end -- I failed in that regard this time. I am at your disposal if you ever need any experimental mach64 testing or help in general. Nonetheless, I've included the debug output, the agpgart source with the software suspend patch added as well as without it and the software suspend patch itself for both the list archives in case anyone else runs into this problem. Also, I know that 2.6.0+ uses software suspend, so the debugging information below may help when it comes time for a 2.6 port. > I'm not sure what's the casual relationship between these. > If the mach64_dma_init() ioctl wasn't sucessful at least once, the > "[drm] Initialized mach64 1.0.0 20020904 on minor 0" line would never > appear in the log... > By which order they appear on the kernel log? Please post the complete > extract of the log which concerns the XFree initialization. As shown below it seems that the drm module is being initialized and then the errors come afterward -- that is, with the software suspend patch. > Also, before loading XFree86, manually load the agpgart module and the > mach64 with the debug option: > insmod agpgart > insmod mach64 drm_opts=debug Output is below: Kernel messages: kernel: Linux agpgart interface v0.99 (c) Jeff Hartmann kernel: agpgart: Maximum main memory to use for agp memory: 203M kernel: agpgart: Detected Intel 440BX chipset kernel: agpgart: AGP aperture is 64M @ 0xf8000000 kernel: [drm] Debug messages ON kernel: [drm:drm_count_cards] kernel: [drm:drm_count_cards] numdevs = 1 kernel: [drm:mach64_stub_register] kernel: [drm:mach64_stub_register] calling inter_module_register kernel: [drm:mach64_ctxbitmap_next] drm_ctxbitmap_next bit : 0 kernel: [drm:mach64_ctxbitmap_init] drm_ctxbitmap_init : 0 kernel: [drm] Initialized mach64 1.0.0 20020904 on minor 0 kernel: [drm:mach64_open_helper] pid = 15561, minor = 0 kernel: [drm:mach64_setup] kernel: [drm:mach64_ioctl] pid=15561, cmd=0xc0246400, nr=0x00, dev 0xe200, auth=1 kernel: [drm:mach64_ioctl] pid=15561, cmd=0xc0246400, nr=0x00, dev 0xe200, auth=1 kernel: [drm:mach64_flush] pid = 15561, device = 0xe200, open_count = 1 kernel: [drm:mach64_release] open_count = 1 kernel: [drm:mach64_release] pid = 15561, device = 0xe200, open_count = 1 kernel: [drm:mach64_fasync] fd = -1, device = 0xe200 kernel: [drm:mach64_takedown] kernel: [drm:mach64_do_cleanup_dma] mach64_do_cleanup_dma kernel: [drm:mach64_open_helper] pid = 15561, minor = 0 kernel: [drm:mach64_setup] kernel: [drm:mach64_ioctl] pid=15561, cmd=0xc0246400, nr=0x00, dev 0xe200, auth=1 kernel: [drm:mach64_ioctl] pid=15561, cmd=0xc0246400, nr= 0x00, dev 0xe200, auth=1 kernel: [drm:mach64_flush] pid = 15561, device = 0xe200, open_count = 1 kernel: [drm:mach64_release] open_count = 1 kernel: [drm:mach64_release] pid = 15561, device = 0xe200 , open_count = 1 kernel: [drm:mach64_fasync] fd = -1, device = 0xe200 kernel: [drm:mach64_takedown] kernel: [drm:mach64_do_cleanup_dma] mach64_do_cleanup_dma kernel: [drm:mach64_open_helper] pid = 15561, minor = 0 kernel: [drm:mach64_setup] kernel: [drm:mach64_ioctl] pid=15561, cmd=0xc0246400, nr=0x00, dev 0xe200, auth=1 kernel: [drm:mach64_ioctl] pid=15561, cmd=0xc0246400, nr=0x00, dev 0xe200, auth=1 kernel: [drm:mach64_ioctl] pid=15561, cmd=0xc0086401, nr= 0x01, dev 0xe200, auth=1 kernel: [drm:mach64_ioctl] pid=15561, cmd=0xc0086401, nr= 0x01, dev 0xe200, auth=1 kernel: [drm:mach64_ioctl] pid=15561, cmd=0x40086410, nr= 0x10, dev 0xe200, auth=1 kernel: [drm:mach64_ioctl] pid=15561, cmd=0xc0186415, nr= 0x15, dev 0xe200, auth=1 kernel: [drm:mach64_addmap] offset = 0x00000000, size = 0 x00002000, type = 2 kernel: [drm:mach64_addmap] 8192 13 d0ba0000 kernel: [drm:mach64_mmap] start = 0x40a29000, end = 0x40a 2b000, offset = 0xd0ba0000 kernel: [drm:mach64_vm_open] 0x40a29000,0x00002000 kernel: [drm:mach64_vm_shm_nopage] shm_nopage 0x40a29000 kernel: [drm:mach64_vm_shm_nopage] shm_nopage 0x40a2a000 kernel: [drm:mach64_ioctl] pid=15561, cmd=0xc0186415, nr=0x15, dev 0xe200, auth=1 kernel: [drm:mach64_addmap] offset = 0xf5000000, size = 0x00800000, type = 0 kernel: [drm:mach64_ioctl] pid=15561, cmd=0xc0086426, nr=0x26, dev 0xe200, auth=1 kernel: [drm:mach64_ioctl] pid=15561, cmd=0xc0086426, nr=0x26, dev 0xe200, auth=1 kernel: [drm:mach64_ioctl] pid=15561, cmd=0xc0246400, nr=0x00, dev 0xe200, auth=1 kernel: [drm:mach64_ioctl] pid=15561, cmd=0xc0246400, nr=0x00, dev 0xe200, auth=1 kernel: [drm:mach64_ioctl] pid=15561, cmd=0x6430, nr=0x30, dev 0xe200, auth=1 kernel: [drm:mach64_ioctl] no function kernel: [drm:mach64_ioctl] pid=15561, cmd=0xc0186415, nr=0x15, dev 0xe200, auth=1 kernel: [drm:mach64_addmap] offset = 0xf4100000, size = 0x00001000, type = 1 kernel: [drm:mach64_ioctl] pid=15561, cmd=0x40446440, nr=0x40, dev 0xe200, auth=1 kernel: [drm:mach64_dma_init] mach64_dma_init kernel: [drm:mach64_dma_init] *ERROR* mach64_dma_init called without lock held kernel: [drm:mach64_unlock] *ERROR* Process 15561 using kernel context 0 kernel: [drm:mach64_ioctl] pid=15561, cmd=0xc0086426, nr=0x26, dev 0xe200, auth=1 kernel: [drm:mach64_ioctl] pid=15561, cmd=0xc0086426, nr=0x26, dev 0xe200, auth=1 kernel: [drm:mach64_ioctl] pid=15561, cmd=0x4008642b, nr=0x2b, dev 0xe200, auth=1 kernel: [drm:mach64_vm_shm_close] 0x40a29000,0x00002000 kernel: [drm:mach64_flush] pid = 15561, device = 0xe200, open_count = 1 kernel: [drm:mach64_release] open_count = 1 kernel: [drm:mach64_release] pid = 15561, device = 0xe200, open_count = 1 kernel: [drm:mach64_fasync] fd = -1, device = 0xe200 kernel: [drm:mach64_takedown] kernel: [drm:mach64_do_cleanup_dma] mach64_do_cleanup_dma kernel: [drm:mach64_takedown] mtrr_del=1 DRM messages: (==) ATI(0): Write-combining range (0xf5000000,0x800000) (II) ATI(0): [drm] SAREA 2200+1208: 3408 drmOpenDevice: minor is 0 drmOpenDevice: node name is /dev/dri/card0 drmOpenDevice: open result is 7, (OK) drmOpenDevice: minor is 0 drmOpenDevice: node name is /dev/dri/card0 drmOpenDevice: open result is 7, (OK) drmOpenDevice: minor is 0 drmOpenDevice: node name is /dev/dri/card0 drmOpenDevice: open result is 7, (OK) drmGetBusid returned '' (II) ATI(0): [drm] created "mach64" driver at busid "PCI:1:0:0" (II) ATI(0): [drm] added 8192 byte SAREA at 0xd0ba0000 (II) ATI(0): [drm] mapped SAREA 0xd0ba0000 to 0x40a29000 (II) ATI(0): [drm] framebuffer handle = 0xf5000000 (II) ATI(0): [drm] added 1 reserved context for kernel (II) ATI(0): [drm] Will request asynchronous DMA mode (WW) ATI(0): [agp] AGP not available (WW) ATI(0): [agp] AGP failed to initialize -- falling back to PCI mode. (WW) ATI(0): [agp] Make sure you have the agpgart kernel module loaded. (II) ATI(0): [drm] register handle = 0xf4100000 (II) ATI(0): [dri] Visual configs initialized (II) ATI(0): [dri] Block 0 base at 0xf4100400 (WW) ATI(0): Not enough memory for local textures, disabling DRI (II) ATI(0): [drm] removed 1 reserved context for kernel (II) ATI(0): [drm] unmapping 8192 bytes of SAREA 0xd0ba0000 at 0x40a29000 (II) ATI(0): Largest offscreen areas (with overlaps): (II) ATI(0): 1280 x 2252 rectangle at 0,1024 (II) ATI(0): 512 x 2253 rectangle at 0,1024 (II) ATI(0): Using XFree86 Acceleration Architecture (XAA) Screen to screen bit blits Solid filled rectangles 8x8 mono pattern filled rectangles Indirect CPU to Screen color expansion Solid Lines Offscreen Pixmaps Setting up tile and stipple cache: 32 128x128 slots 14 256x256 slots 5 512x512 slots (==) ATI(0): Backing store disabled (==) ATI(0): Silken mouse enabled (**) Option "dpms" (**) ATI(0): DPMS enabled (II) ATI(0): Direct rendering disabled -- -- Chris _________________________________ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ _/ _/ _/ _/ _/ |||| _/ _/_/_/ _/_/ _/ _/_/ c .. _/ _/ _/ _/ _/ _/ @ > _/ _/ _/ _/ _/ _/_/ @,- ==>chris<at>soma.978.org<== _________________________________ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |