<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>