#648398 xserver-xorg-video-radeon: Soft Kernel Panic with DRI and modeset=1 on Mac Mini G4 causes black screen

Package:
xserver-xorg-video-radeon
Source:
xserver-xorg-video-ati
Description:
X.Org X server -- AMD/ATI Radeon display driver
Submitter:
Robert LeBlanc
Date:
2011-11-11 13:27:04 UTC
Severity:
important
#648398#5
Date:
2011-11-11 04:57:04 UTC
From:
To:
Dear Maintainer,

I am attempting to enable DRI on this box to support MythTV and just get better responsiveness out of the machine.
When I get everything lined up, the kernel will have a soft panic and the screen goes black. I've complied 3.1.0 to
see if there was any fixes that would help the situtaion without any luck. If I set modeset=0, the system is stable
albeit that it is not using the hardware acceleration. Please let me know what I can provide that will be helpful.

revelant lines from /var/log/syslog:

Nov 10 21:16:57 debmac kernel: [  330.214801] radeon 0000:00:10.0: GPU lockup CP stall for more than 10000msec
Nov 10 21:16:58 debmac kernel: [  330.214814] GPU lockup (waiting for 0x000002F6 last fence id 0x000002F3)
Nov 10 21:16:58 debmac kernel: [  330.214918] ------------[ cut here ]------------
Nov 10 21:16:58 debmac kernel: [  330.214923] WARNING: at drivers/gpu/drm/radeon/radeon_fence.c:267
Nov 10 21:16:58 debmac kernel: [  330.214928] Modules linked in: uinput fuse nfsd nfs lockd fscache auth_rpcgss nfs_acl sunrpc ext2 snd_aoa_codec_toonie snd_aoa_i2sbus snd_pcm snd_page_alloc snd_aoa_fabric_layout snd_aoa_soundbus snd_aoa snd_seq snd_timer snd_seq_device snd soundcore loop firewire_sbp2 radeon evdev ttm drm_kms_helper drm i2c_powermac power_supply ext4 mbcache jbd2 crc16 dm_mod sg usbhid hid sr_mod sd_mod crc_t10dif cdrom usb_storage uas ohci_hcd pata_macio libata ehci_hcd scsi_mod firewire_ohci firewire_core crc_itu_t sungem sungem_phy usbcore [last unloaded: scsi_wait_scan]
Nov 10 21:16:58 debmac kernel: [  330.215012] NIP: f21381fc LR: f21381fc CTR: c02357a4
Nov 10 21:16:58 debmac kernel: [  330.215019] REGS: c1fb7c50 TRAP: 0700   Not tainted  (3.1.0.2011.10.31.01)
Nov 10 21:16:58 debmac kernel: [  330.215024] MSR: 00029032 <EE,ME,CE,IR,DR>  CR: 24024884  XER: 20000000
Nov 10 21:16:58 debmac kernel: [  330.215038] TASK = c199a8f0[1121] 'Xorg' THREAD: c1fb6000
Nov 10 21:16:58 debmac kernel: [  330.215042] GPR00: f21381fc c1fb7d00 c199a8f0 0000004f 00007350 ffffffff c1fb7c46 00000000
Nov 10 21:16:58 debmac kernel: [  330.215054] GPR08: 0000734f c04b0000 00007350 c1fb7cc0 24024884 2037b9c4 208ccb98 20373b10
Nov 10 21:16:58 debmac kernel: [  330.215066] GPR16: 20373af4 ef8e2000 20373af8 f21d0000 f21d0000 c04b0000 f21c5ed0 c005d900
Nov 10 21:16:58 debmac kernel: [  330.215078] GPR24: 00000001 000002f3 c1fb7d14 c190b774 00000001 00000000 eda16e60 c190b000
Nov 10 21:16:58 debmac kernel: [  330.215160] NIP [f21381fc] radeon_fence_wait+0x29c/0x308 [radeon]
Nov 10 21:16:58 debmac kernel: [  330.215183] LR [f21381fc] radeon_fence_wait+0x29c/0x308 [radeon]
Nov 10 21:16:58 debmac kernel: [  330.215188] Call Trace:
Nov 10 21:16:58 debmac kernel: [  330.215210] [c1fb7d00] [f21381fc] radeon_fence_wait+0x29c/0x308 [radeon] (unreliable)
Nov 10 21:16:58 debmac kernel: [  330.215235] [c1fb7d70] [f2138888] radeon_sync_obj_wait+0x14/0x24 [radeon]
Nov 10 21:16:58 debmac kernel: [  330.215258] [c1fb7d80] [f1fc0910] ttm_bo_wait+0xb0/0x16c [ttm]
Nov 10 21:16:58 debmac kernel: [  330.215289] [c1fb7dd0] [f214f358] radeon_gem_wait_idle_ioctl+0x70/0xd0 [radeon]
Nov 10 21:16:58 debmac kernel: [  330.215321] [c1fb7df0] [f1f598d8] drm_ioctl+0x290/0x3d8 [drm]
Nov 10 21:16:58 debmac kernel: [  330.215336] [c1fb7eb0] [c01004d0] do_vfs_ioctl+0x688/0x700
Nov 10 21:16:58 debmac kernel: [  330.215344] [c1fb7f10] [c01005a0] sys_ioctl+0x58/0x7c
Nov 10 21:16:58 debmac kernel: [  330.215353] [c1fb7f40] [c00141f8] ret_from_syscall+0x0/0x40
Nov 10 21:16:58 debmac kernel: [  330.215367] --- Exception: c01 at 0x1fd1ff38
Nov 10 21:16:58 debmac kernel: [  330.215369]     LR = 0x1fd1fe9c
Nov 10 21:16:58 debmac kernel: [  330.215373] Instruction dump:
Nov 10 21:16:58 debmac kernel: [  330.215379] 40be005c 813f0b70 7fe3fb78 80090014 7c0903a6 4e800421 2f830000 41be0040
Nov 10 21:16:58 debmac kernel: [  330.215394] 809e0010 7ec3b378 7f25cb78 48078301 <0fe00000> 38000001 7fe3fb78 981f0d30
Nov 10 21:16:58 debmac kernel: [  330.215410] ---[ end trace 85618342082d0787 ]---
Nov 10 21:16:58 debmac kernel: [  330.352677] radeon: wait for empty RBBM fifo failed ! Bad things might happen.
Nov 10 21:16:58 debmac kernel: [  330.489510] Failed to wait GUI idle while programming pipes. Bad things might happen.
Nov 10 21:16:58 debmac kernel: [  330.493286] radeon 0000:00:10.0: (r100_asic_reset:2093) RBBM_STATUS=0x8002C139
Nov 10 21:16:58 debmac kernel: [  330.497263] Machine check in kernel mode.
Nov 10 21:16:58 debmac kernel: [  330.497268] Caused by (from SRR1=149030): Transfer error ack signal
Nov 10 21:16:58 debmac kernel: [  330.497305] Oops: Machine check, sig: 7 [#1]
Nov 10 21:16:58 debmac kernel: [  330.497480] PowerMac
Nov 10 21:16:58 debmac kernel: [  330.497560] Modules linked in: uinput fuse nfsd nfs lockd fscache auth_rpcgss nfs_acl sunrpc ext2 snd_aoa_codec_toonie snd_aoa_i2sbus snd_pcm snd_page_alloc snd_aoa_fabric_layout snd_aoa_soundbus snd_aoa snd_seq snd_timer snd_seq_device snd soundcore loop firewire_sbp2 radeon evdev ttm drm_kms_helper drm i2c_powermac power_supply ext4 mbcache jbd2 crc16 dm_mod sg usbhid hid sr_mod sd_mod crc_t10dif cdrom usb_storage uas ohci_hcd pata_macio libata ehci_hcd scsi_mod firewire_ohci firewire_core crc_itu_t sungem sungem_phy usbcore [last unloaded: scsi_wait_scan]
Nov 10 21:16:58 debmac kernel: [  330.499618] NIP: f215d0f4 LR: f215d084 CTR: c000bd38
Nov 10 21:16:58 debmac kernel: [  330.499803] REGS: c1fb7c00 TRAP: 0200   Tainted: G        W    (3.1.0.2011.10.31.01)
Nov 10 21:16:58 debmac kernel: [  330.500091] MSR: 00149030 <EE,ME,IR,DR>  CR: 44024884  XER: 20000000
Nov 10 21:16:58 debmac kernel: [  330.500352] TASK = c199a8f0[1121] 'Xorg' THREAD: c1fb6000
Nov 10 21:16:58 debmac kernel: [  330.500550] GPR00: ac04007c c1fb7cb0 c199a8f0 0000a028 00000000 00010004 00000004 0000a260
Nov 10 21:16:58 debmac kernel: [  330.500889] GPR08: 00007e14 f22200f0 00000000 c1fb7cb0 84024882 2037b9c4 208ccb98 20373b10
Nov 10 21:16:58 debmac kernel: [  330.501228] GPR16: 20373af4 ef8e2000 20373af8 f21d0000 f21d0000 c04b0000 f21c5ed0 c005d900
Nov 10 21:16:58 debmac kernel: [  330.501697] GPR24: 00000001 000002f3 c1fb7d14 c190b774 00000001 00000000 00000000 c190b000
Nov 10 21:16:58 debmac kernel: [  330.502109] NIP [f215d0f4] r100_asic_reset+0x2a0/0x4e4 [radeon]
Nov 10 21:16:58 debmac kernel: [  330.502349] LR [f215d084] r100_asic_reset+0x230/0x4e4 [radeon]
Nov 10 21:16:58 debmac kernel: [  330.502647] Call Trace:
Nov 10 21:16:58 debmac kernel: [  330.502765] [c1fb7cb0] [f215d084] r100_asic_reset+0x230/0x4e4 [radeon] (unreliable)
Nov 10 21:16:58 debmac kernel: [  330.503075] [c1fb7ce0] [f21252a8] radeon_gpu_reset+0x50/0xb4 [radeon]
Nov 10 21:16:58 debmac kernel: [  330.503336] [c1fb7d00] [f2138210] radeon_fence_wait+0x2b0/0x308 [radeon]
Nov 10 21:16:58 debmac kernel: [  330.503607] [c1fb7d70] [f2138888] radeon_sync_obj_wait+0x14/0x24 [radeon]
Nov 10 21:16:58 debmac kernel: [  330.503910] [c1fb7d80] [f1fc0910] ttm_bo_wait+0xb0/0x16c [ttm]
Nov 10 21:16:58 debmac kernel: [  330.504153] [c1fb7dd0] [f214f358] radeon_gem_wait_idle_ioctl+0x70/0xd0 [radeon]
Nov 10 21:16:58 debmac kernel: [  330.504452] [c1fb7df0] [f1f598d8] drm_ioctl+0x290/0x3d8 [drm]
Nov 10 21:16:58 debmac kernel: [  330.504678] [c1fb7eb0] [c01004d0] do_vfs_ioctl+0x688/0x700
Nov 10 21:16:58 debmac kernel: [  330.504889] [c1fb7f10] [c01005a0] sys_ioctl+0x58/0x7c
Nov 10 21:16:58 debmac kernel: [  330.505083] [c1fb7f40] [c00141f8] ret_from_syscall+0x0/0x40
Nov 10 21:16:58 debmac kernel: [  330.505301] --- Exception: c01 at 0x1fd1ff38
Nov 10 21:16:58 debmac kernel: [  330.505304]     LR = 0x1fd1fe9c
Nov 10 21:16:58 debmac kernel: [  330.505573] Instruction dump:
Nov 10 21:16:58 debmac kernel: [  330.505685] 813f00c8 2b8000f0 409d000c 392900f0 48000018 380000f0 7c0004ac 7c004d2c
Nov 10 21:16:58 debmac kernel: [  330.506000] 813f00c8 39290004 7c0004ac 7c004c2c <0c000000> 4c00012c 3bc001f5 4800000c
Nov 10 21:16:58 debmac kernel: [  330.508368] Machine check in kernel mode.
Nov 10 21:16:58 debmac kernel: [  330.508533] Caused by (from SRR1=149030): Transfer error ack signal
Nov 10 21:16:58 debmac kernel: [  330.508790] Oops: Machine check, sig: 7 [#2]
Nov 10 21:16:58 debmac kernel: [  330.508948] PowerMac
Nov 10 21:16:58 debmac kernel: [  330.509027] Modules linked in: uinput fuse nfsd nfs lockd fscache auth_rpcgss nfs_acl sunrpc ext2 snd_aoa_codec_toonie snd_aoa_i2sbus snd_pcm snd_page_alloc snd_aoa_fabric_layout snd_aoa_soundbus snd_aoa snd_seq snd_timer snd_seq_device snd soundcore loop firewire_sbp2 radeon evdev ttm drm_kms_helper drm i2c_powermac power_supply ext4 mbcache jbd2 crc16 dm_mod sg usbhid hid sr_mod sd_mod crc_t10dif cdrom usb_storage uas ohci_hcd pata_macio libata ehci_hcd scsi_mod firewire_ohci firewire_core crc_itu_t sungem sungem_phy usbcore [last unloaded: scsi_wait_scan]
Nov 10 21:16:58 debmac kernel: [  330.511075] NIP: f2134134 LR: f213dba8 CTR: f213db6c
Nov 10 21:16:58 debmac kernel: [  330.511260] REGS: c1fb7670 TRAP: 0200   Tainted: G        W    (3.1.0.2011.10.31.01)
Nov 10 21:16:58 debmac kernel: [  330.511547] MSR: 00149030 <EE,ME,IR,DR>  CR: 24024884  XER: 00000000
Nov 10 21:16:58 debmac kernel: [  330.511808] TASK = c199a8f0[1121] 'Xorg' THREAD: c1fb6000
Nov 10 21:16:58 debmac kernel: [  330.512007] GPR00: 00010000 c1fb7720 c199a8f0 c184aa00 00000001 f1f9f0f4 f1f9f580 0000000a
Nov 10 21:16:58 debmac kernel: [  330.512346] GPR08: 00000000 c190b000 00000018 08000048 00000400 2037b9c4 efb7c800 c1895000
Nov 10 21:16:58 debmac kernel: [  330.512685] GPR16: edb16f60 f1f9f54c 00000000 ef329800 c184aa00 c18dab20 00000000 00000000
Nov 10 21:16:58 debmac kernel: [  330.513024] GPR24: f21b6378 00000001 ed87a080 ef8e2258 ef8e2000 00000000 efb7f080 c184aa00
Nov 10 21:16:58 debmac kernel: [  330.513418] NIP [f2134134] radeon_combios_output_lock+0x3c/0x94 [radeon]
Nov 10 21:16:58 debmac kernel: [  330.513688] LR [f213dba8] radeon_legacy_tv_dac_prepare+0x3c/0x58 [radeon]
Nov 10 21:16:58 debmac kernel: [  330.513939] Call Trace:
Nov 10 21:16:58 debmac kernel: [  330.514030] [c1fb7720] [00000018] 0x18 (unreliable)
Nov 10 21:16:58 debmac kernel: [  330.514228] [c1fb7730] [f1f9d764] drm_crtc_helper_set_mode+0x154/0x350 [drm_kms_helper]
Nov 10 21:16:58 debmac kernel: [  330.514534] [c1fb7920] [f1f9e064] drm_crtc_helper_set_config+0x5dc/0x7e0 [drm_kms_helper]
Nov 10 21:16:58 debmac kernel: [  330.514847] [c1fb7980] [f1f9b6d8] drm_fb_helper_pan_display+0x78/0xb4 [drm_kms_helper]
Nov 10 21:16:58 debmac kernel: [  330.515152] [c1fb79a0] [c01d3a20] fb_pan_display+0x108/0x148
Nov 10 21:16:58 debmac kernel: [  330.515372] [c1fb79b0] [c01e3c68] bit_update_start+0x20/0x40
Nov 10 21:16:58 debmac kernel: [  330.515587] [c1fb79c0] [c01e18c4] fbcon_switch+0x4b0/0x4b4
Nov 10 21:16:58 debmac kernel: [  330.515800] [c1fb7a80] [c0233414] redraw_screen+0x144/0x224
Nov 10 21:16:58 debmac kernel: [  330.516012] [c1fb7aa0] [c01e0d3c] fbcon_blank+0x1c0/0x264
Nov 10 21:16:58 debmac kernel: [  330.516219] [c1fb7b80] [c023516c] do_unblank_screen+0x13c/0x1c0
Nov 10 21:16:58 debmac kernel: [  330.516445] [c1fb7ba0] [c01affec] bust_spinlocks+0x34/0x58
Nov 10 21:16:58 debmac kernel: [  330.516656] [c1fb7bb0] [c000d1cc] die+0x1d4/0x26c
Nov 10 21:16:58 debmac kernel: [  330.516835] [c1fb7bd0] [c000d640] machine_check_exception+0x160/0x180
Nov 10 21:16:58 debmac kernel: [  330.529975] Machine check in kernel mode.
Nov 10 21:16:58 debmac kernel: [  330.529979] Caused by (from SRR1=141030): Transfer error ack signal
Nov 10 21:16:58 debmac kernel: [  330.529991] Recursive die() failure, output suppressed

#648398#10
Date:
2011-11-11 12:47:13 UTC
From:
To:
This isn't a debian kernel...

Cheers,
Julien

#648398#15
Date:
2011-11-11 13:24:06 UTC
From:
To:
The r200 drivers don't require KMS for acceleration. What exactly is the
problem in that case?

Something (most likely the libgl1-mesa-dri r200 driver, or possibly the
xserver-xorg-video-radeon driver) is causing the GPU to lock up.

[...]

This is a known long-standing issue when the radeon driver tries to
reset the locked up GPU. It looks like the GPU stops responding to CPU
access at some point.

When I tried narrowing this down, I had a hard time getting debugging
output out of the r100_asic_reset() function. If you can get that
reliably, it would be great if you could try narrowing down where
exactly the first machine check occurs. So far, it looks like it happens
somewhere between the first and second dev_info() call about the
RBBM_STATUS register.

Let us know if you need help with this.