1. 03 Dec, 2010 1 commit
    • Ben Skeggs's avatar
      drm/nouveau: add per-channel mutex, use to lock access to drm's channel · 6a6b73f2
      Ben Skeggs authored
      
      
      This fixes a race condition between fbcon acceleration and TTM buffer
      moves.  To reproduce:
      
      - start X
      - switch to vt and "while (true); do dmesg; done"
      - switch to another vt and "sleep 2 && cat /path/to/debugfs/dri/0/evict_vram"
      - switch back to vt running dmesg
      
      We don't make use of this on any other channel yet, they're currently
      protected by drm_global_mutex.  This will change in the near future.
      
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      6a6b73f2
  2. 18 Nov, 2010 4 commits
  3. 04 Oct, 2010 8 commits
  4. 24 Sep, 2010 21 commits
  5. 26 Aug, 2010 1 commit
  6. 17 Aug, 2010 1 commit
    • Ben Skeggs's avatar
      drm/nouveau: fix race condition when under memory pressure · 415e6186
      Ben Skeggs authored
      
      
      When VRAM is running out it's possible that the client's push buffers get
      evicted to main memory.  When they're validated back in, the GPU may
      be used for the copy back to VRAM, but the existing synchronisation code
      only deals with inter-channel sync, not sync between PFIFO and PGRAPH on
      the same channel.  This leads to PFIFO fetching from command buffers that
      haven't quite been copied by PGRAPH yet.
      
      This patch marks push buffers as so, and forces any GPU-assisted buffer
      moves to be done on a different channel, which triggers the correct
      synchronisation to happen before we submit them.
      
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      415e6186
  7. 05 Aug, 2010 3 commits
  8. 03 Aug, 2010 1 commit