1. 25 Jan, 2010 1 commit
    • Luca Barbieri's avatar
      drm/ttm: Fix race condition in ttm_bo_delayed_delete (v3, final) · 1a961ce0
      Luca Barbieri authored
      Resending this with Thomas Hellstrom's signoff for merging into 2.6.33
      
      ttm_bo_delayed_delete has a race condition, because after we do:
      kref_put(&nentry->list_kref, ttm_bo_release_list);
      
      we are not holding the list lock and not holding any reference to
      objects, and thus every bo in the list can be removed and freed at
      this point.
      
      However, we then use the next pointer we stored, which is not guaranteed
      to be valid.
      
      This was apparently the cause of some Nouveau oopses I experienced.
      
      This patch rewrites the function so that it keeps the reference to nentry
      until nentry itself is freed and we already got a reference to nentry->next.
      
      v2 updated by me according to Thomas Hellstrom's feedback.
      v3 proposed by Thomas Hellstrom. Commit comment updated by me.
      
      Both updates fixed minor efficiency/style issues only and all three versions
      should be correct.
      Signed-off-by: default avatarLuca Barbieri <luca@luca-barbieri.com>
      Signed-off-by: default avatarThomas Hellstrom <thellstrom@vmware.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      1a961ce0
  2. 15 Jan, 2010 3 commits
    • Dave Airlie's avatar
      Merge remote branch 'korg/drm-radeon-testing' into drm-linus · 8471a26b
      Dave Airlie authored
      * korg/drm-radeon-testing:
        drm/radeon/kms: Use radeon_agp_disable when disabling AGP
        drm/radeon/kms: Disable AGP is aperture size < 32M
        drm/radeon/kms: Fix r600 blit cleanup path
        drm/radeon/kms: Do not unpin buffer in fb destruction
        drm/radeon/kms: fix displayport->dvi connector DDC.
      8471a26b
    • Jerome Glisse's avatar
      drm: EDID accept separate sync video mode · 79b7dcb2
      Jerome Glisse authored
      X is accepting such video mode, do the same. Pointed out by Joshua Roys
      on IRC. Fix https://bugzilla.redhat.com/show_bug.cgi?id=540024
      
      [fix printf to use composite not integrated :- airlied]
      Signed-off-by: default avatarJerome Glisse <jglisse@redhat.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      79b7dcb2
    • Dave Airlie's avatar
      Merge remote branch 'nouveau/for-airlied' of ../drm-nouveau-next into drm-linus · 1c974dc2
      Dave Airlie authored
      * 'nouveau/for-airlied' of ../drm-nouveau-next: (44 commits)
        drm/nouveau: check pushbuffer bounds in ioctl
        drm/nouveau: reserve VGA area for the moment
        drm/nouveau: Unset the EDID connector property when the EDID block goes away.
        drm/nouveau: Fallback to analog load detection when the EDID block is invalid.
        drm/nouveau: fix edid memleak in nouveau_connector
        drm/nouveau: Break some long lines.
        drm/nouveau: add NV18 device id to call_lvds_manufacturer_script
        drm/nv50: Fix typo in PGRAPH initialisation.
        drm/nouveau: less magic DCB 1.5 parsing
        drm/nouveau: assume no nv04 board has a DCB table
        drm/nouveau: remove PRIV0 check in nouveau_mem_close()
        drm/nouveau: wait on fence after bo move if validating for another channel
        drm/nouveau: trust init table registers are safe
        drm/nv50: wait for pgraph to idle before unloading the context
      1c974dc2
  3. 14 Jan, 2010 28 commits
  4. 13 Jan, 2010 8 commits