<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">Am 15.11.2013 09:27, schrieb Michel
Dänzer:<br>
</div>
<blockquote cite="mid:1384504050.20465.9.camel@thor.local"
type="cite">
<pre wrap="">On Fre, 2013-11-15 at 08:49 +0100, Jochen Rollwagen wrote:
</pre>
<blockquote type="cite">
<pre wrap="">I think there are two issues here: the first is the missing alignment
workaround, since i'll be upgrading to 3.4.69 anyway i'll insert some
diagnostic messages in radeon_device.c and see what happens.
</pre>
</blockquote>
<pre wrap="">
Yes, please do that before speculating more about the problem.
</pre>
<blockquote type="cite">
<pre wrap="">But i'm pretty certain now that this isn't the cause for the lockups.
They are probably (quite certainly) caused by the dynamic
binding/unbinding of AGP memory which the Uninorth chipset used in
32-bit powermacs obviously doesn't support.
</pre>
</blockquote>
<pre wrap="">
"doesn't support" is too strong; it's working fine on this PowerBook5,8.
But the older the revision of UniNorth, the more quirks.
</pre>
<blockquote type="cite">
<pre wrap="">All it supports seems to be statically allocating a 256 MB contigouous
non-cacheable AGP aperture and using that (since the chipset doesn't
do any address mapping via the GART as indicated in the OpenBSD code).
</pre>
</blockquote>
<pre wrap="">
It does address mapping for the GPU, that's the whole point of the GART.
What UniNorth doesn't do in contrast to most AGP bridges is provide a
linear aperture to the CPU as well. But that shouldn't be an issue per
se.
</pre>
<blockquote type="cite">
<pre wrap="">So to get AGP mode working again on those machines one would have to
disable the dynamic memory stuff. Question: Would that require changes
in the driver only or also in the DRM ?
</pre>
</blockquote>
<pre wrap="">
It's not really possible with radeon KMS.
</pre>
</blockquote>
<small>the relevant syslog part is:<br>
<br>
/var/log/syslog:Nov 22 11:32:08 mac-mini kernel: [ 3.363099]
[drm] Initialized radeon 2.16.0 20080528 for 0000:00:10.0 on minor
0<br>
/var/log/syslog:Nov 22 11:41:03 mac-mini kernel: [ 554.476580]
radeon 0000:00:10.0: GPU lockup CP stall for more than 10000msec<br>
/var/log/syslog:Nov 22 11:41:03 mac-mini kernel: [ 554.477629]
radeon 0000:00:10.0: GPU reset succeed<br>
/var/log/syslog:Nov 22 11:41:03 mac-mini kernel: [ 554.655218]
kernel BUG at drivers/gpu/drm/radeon/radeon_object.c:410!<br>
/var/log/syslog:Nov 22 11:41:03 mac-mini kernel: [ 554.660331]
Modules linked in: dm_crypt arc4 btusb parport_pc ppdev b43 bnep
joydev bluetooth lp mac_hid parport rtc_generic mac80211
snd_aoa_codec_onyx snd_aoa_codec_tas snd_aoa_codec_toonie cfg80211
snd_aoa_fabric_layout snd_aoa snd_aoa_i2sbus snd_aoa_soundbus bcma
snd_powermac snd_pcm snd_seq_midi snd_rawmidi snd_seq_midi_event
snd_seq snd_timer snd_seq_device snd soundcore snd_page_alloc
usbhid hid radeon firewire_ohci sungem firewire_core crc_itu_t
sungem_phy ttm drm_kms_helper ssb drm<br>
/var/log/syslog:Nov 22 11:41:03 mac-mini kernel: [ 554.664059]
NIP [f15b5158] radeon_bo_get_surface_reg+0x30/0x144 [radeon]<br>
/var/log/syslog:Nov 22 11:41:03 mac-mini kernel: [ 554.664313] LR
[f159b7b8] radeon_surface_init+0x3c/0xac [radeon]<br>
/var/log/syslog:Nov 22 11:41:03 mac-mini kernel: [ 554.664657]
[eba63c10] [f15d10bc] r100_pll_rreg+0x58/0x70 [radeon]
(unreliable)<br>
/var/log/syslog:Nov 22 11:41:03 mac-mini kernel: [ 554.664931]
[eba63c30] [f159b7b8] radeon_surface_init+0x3c/0xac [radeon]<br>
/var/log/syslog:Nov 22 11:41:03 mac-mini kernel: [ 554.665184]
[eba63c50] [f15d2edc] r100_resume+0x68/0x104 [radeon]<br>
/var/log/syslog:Nov 22 11:41:03 mac-mini kernel: [ 554.665414]
[eba63c70] [f159d54c] radeon_gpu_reset+0x120/0x164 [radeon]<br>
/var/log/syslog:Nov 22 11:41:03 mac-mini kernel: [ 554.665661]
[eba63c90] [f15b2544] radeon_fence_wait+0x3d8/0x404 [radeon]<br>
/var/log/syslog:Nov 22 11:41:03 mac-mini kernel: [ 554.665914]
[eba63d00] [f15c7618] radeon_ib_get+0x250/0x2d0 [radeon]<br>
/var/log/syslog:Nov 22 11:41:03 mac-mini kernel: [ 554.666155]
[eba63d50] [f15c9c80] radeon_cs_ioctl+0x3c4/0x6e0 [radeon]<br>
<br>
<small><big>the code where the kernel bug seems to hit is<br>
<br>
int radeon_bo_get_surface_reg(struct radeon_bo *bo)<br>
{<br>
struct radeon_device *rdev = bo->rdev;<br>
struct radeon_surface_reg *reg;<br>
struct radeon_bo *old_object;<br>
int steal;<br>
int i;<br>
<br>
BUG_ON(!atomic_read(&bo->tbo.reserved));</big><br>
</small></small><br>
</body>
</html>