Now that my desktop 7500 is working smoothly, my laptop Mobility M6 LY is wedging when the X server trys to synchronize with the engine.
It's easy to reproduce without using any GL applications: # XFree86 & # X=$! # chvt 1 # chvt 7 # kill $X This same sequence wedges this chip with the XFree86 4.2 radeon DRM. Disable DRI and things are fine. I enabled plenty of debugging in the radeon DRM. When switching to the console and back to X, I see: [drm:radeon_ioctl] pid=1406, cmd=0x4008642a, nr=0x2a, dev 0xe200, auth=1 [drm:radeon_lock] 1 (pid 1406) requests lock (0x00000001), flags = 0x0000000a [drm:radeon_lock] 1 has lock [drm:radeon_ioctl] pid=1406, cmd=0x6444, nr=0x44, dev 0xe200, auth=1 [drm:radeon_cp_idle] radeon_cp_idle [drm:radeon_do_cp_idle] radeon_do_cp_idle [drm:radeon_ioctl] pid=1406, cmd=0x40086442, nr=0x42, dev 0xe200, auth=1 [drm:radeon_cp_stop] radeon_cp_stop [drm:radeon_do_cp_flush] radeon_do_cp_flush [drm:radeon_do_cp_idle] radeon_do_cp_idle [drm:radeon_do_cp_stop] radeon_do_cp_stop [drm:radeon_do_engine_reset] radeon_do_engine_reset [drm:radeon_do_cp_reset] radeon_do_cp_reset [drm:radeon_ioctl] pid=1406, cmd=0x6441, nr=0x41, dev 0xe200, auth=1 [drm:radeon_cp_start] radeon_cp_start [drm:radeon_do_cp_start] radeon_do_cp_start [drm:radeon_ioctl] pid=1406, cmd=0x4008642a, nr=0x2a, dev 0xe200, auth=1 [drm:radeon_lock] 1 (pid 1406) requests lock (0x00000001), flags = 0x0000000a [drm:radeon_lock] 1 has lock [drm:radeon_ioctl] pid=1406, cmd=0x6444, nr=0x44, dev 0xe200, auth=1 [drm:radeon_cp_idle] radeon_cp_idle [drm:radeon_do_cp_idle] radeon_do_cp_idle [drm:radeon_ioctl] pid=1406, cmd=0xc0286429, nr=0x29, dev 0xe200, auth=1 [drm:radeon_freelist_get] skipping buf=0 pid=1406 [drm:radeon_freelist_get] ret buf=1 last=0 pid=0 (and then lots of radeon_cp_indirect calls as the root is repainted) When the X server tries to shut down, I get: [drm:radeon_cp_stop] radeon_cp_stop [drm:radeon_do_cp_flush] radeon_do_cp_flush [drm:radeon_do_cp_idle] radeon_do_cp_idle [drm:radeon_do_wait_for_idle] *ERROR* failed! radeon_status: RBBM_STATUS = 0x80010140 CP_RB_RTPR = 0x00000030 CP_RB_WTPR = 0x00000055 AIC_CNTL = 0x00000002 AIC_STAT = 0x00000004 AIC_PT_BASE = 0x00000000 TLB_ADDR = 0x00000000 TLB_DATA = 0x00000000 At this point, the server loops and I see the same sequence over and over until I kill the X server. Further attempts to start the server fail in the same loop until the machine is rebooted. A similar failure mode is: # XFree86 & # X=$! # glxgears -display :0 & # kill $! This hangs the machine immediately, I do get one diagnostic out of the X server: (EE) RADEON(0): RADEONDRICloseScreen: CP stop -1022 But, the kernel diagnostics don't get written before the machine locks. The number -1022 is supposed to be an errno from drmRadeonStopCP but I can't see how it would get this value. Keith Packard XFree86 Core Team Compaq Cambridge Research Lab _______________________________________________ Dri-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/dri-devel