1. 02 7月, 2016 2 次提交
    • S
      drm/vmwgfx: Add an option to change assumed FB bpp · 04319d89
      Sinclair Yeh 提交于
      Offer an option for advanced users who want larger modes at 16bpp.
      
      This becomes necessary after the fix: "Work around mode set
      failure in 2D VMs."  Without this patch, there would be no way
      for existing advanced users to get to a high res mode, and the
      regression is they will likely get a black screen after a software
      update on their current VM.
      Signed-off-by: NSinclair Yeh <syeh@vmware.com>
      Reviewed-by: NThomas Hellstrom <thellstrom@vmware.com>
      Cc: <stable@vger.kernel.org>
      04319d89
    • S
      drm/vmwgfx: Work around mode set failure in 2D VMs · 7c20d213
      Sinclair Yeh 提交于
      In a low-memory 2D VM, fbdev can take up a large percentage of
      available memory, making them unavailable for other DRM clients.
      
      Since we do not take fbdev into account when filtering modes,
      we end up claiming to support more modes than we actually do.
      
      As a result, users get a black screen when setting a mode too
      large for current available memory.  In a low-memory VM
      configuration, users can get a black screen for a mode as low
      as 1024x768.
      
      The current mode filtering mechanism keys off of
      SVGA_REG_SUGGESTED_GBOBJECT_MEM_SIZE_KB, i.e. the maximum amount
      of surface memory we have.  Since this value is a performance
      suggestion, not a hard limit, and since there should not be much
      of a performance impact for a 2D VM, rather than filtering out
      more modes, we will just allow ourselves to exceed the SVGA's
      performance suggestion.
      
      Also changed assumed bpp to 32 from 16 to make sure we can
      actually support all the modes listed.
      Signed-off-by: NSinclair Yeh <syeh@vmware.com>
      Reviewed-by: NThomas Hellstrom <thellstrom@vmware.com>
      Cc: <stable@vger.kernel.org>
      7c20d213
  2. 20 5月, 2016 2 次提交
  3. 05 5月, 2016 1 次提交
  4. 30 3月, 2016 1 次提交
  5. 14 3月, 2016 2 次提交
  6. 08 2月, 2016 1 次提交
  7. 29 1月, 2016 1 次提交
  8. 08 12月, 2015 1 次提交
    • T
      drm/vmwgfx: Implement the cursor_set2 callback v2 · 8fbf9d92
      Thomas Hellstrom 提交于
      Fixes native drm clients like Fedora 23 Wayland which now appears to
      be able to use cursor hotspots without strange cursor offsets.
      Also fixes a couple of ignored error paths.
      
      Since the core drm cursor hotspot is incompatible with the legacy vmwgfx
      hotspot (the core drm hotspot is reset when the drm_mode_cursor ioctl
      is used), we need to keep track of both and add them when the device
      hotspot is set. We assume that either is always zero.
      Signed-off-by: NThomas Hellstrom <thellstrom@vmware.com>
      Reviewed-by: NSinclair Yeh <syeh@vmware.com>
      8fbf9d92
  9. 06 11月, 2015 1 次提交
  10. 02 11月, 2015 2 次提交
  11. 16 10月, 2015 1 次提交
  12. 30 9月, 2015 1 次提交
  13. 14 9月, 2015 1 次提交
    • T
      drm/vmwgfx: Map the fifo as cached · 2e586a7e
      Thomas Hellstrom 提交于
      On the guest kernel side, previously the FIFO has been mapped write-
      combined. This has worked since VMs up to now has not honored the mapping
      type and mapped the FIFO cached anyway. Since the FIFO is accessed cached
      by the CPU on the virtual device side, this leads to inconsistent
      mappings once the guest starts to honor the mapping types.
      
      So ask for cached mappings when we map the FIFO. We do this by
      using ioremap_cache() instead of ioremap_wc(), and remove the MTRR setup.
      On the TTM side, MOBs, GMRs and VRAM buffers are already requesting
      cached mappings for kernel- and user-space.
      
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NThomas Hellstrom <thellstrom@vmware.com>
      Reviewed-by: NSinclair Yeh <syeh@vmware.com>
      2e586a7e
  14. 01 9月, 2015 1 次提交
  15. 21 8月, 2015 1 次提交
  16. 13 8月, 2015 5 次提交
  17. 06 8月, 2015 1 次提交
  18. 05 8月, 2015 7 次提交
  19. 27 3月, 2015 1 次提交
  20. 12 3月, 2015 2 次提交
  21. 19 1月, 2015 1 次提交
    • T
      drm/vmwgfx: Replace the hw mutex with a hw spinlock · 496eb6fd
      Thomas Hellstrom 提交于
      Fixes a case where we call vmw_fifo_idle() from within a wait function with
      task state !TASK_RUNNING, which is illegal.
      
      In addition, make the locking fine-grained, so that it is performed once
      for every read- and write operation. This is of course more costly, but we
      don't perform much register access in the timing critical paths anyway. Instead
      we have the extra benefit of being sure that we don't forget the hw lock around
      register accesses. I think currently the kms code was quite buggy w r t this.
      
      This fixes Red Hat Bugzilla Bug 1180796
      
      Cc: stable@vger.kernel.org
      Signed-off-by: NThomas Hellstrom <thellstrom@vmware.com>
      Reviewed-by: NJakob Bornecrantz <jakob@vmware.com>
      496eb6fd
  22. 03 12月, 2014 1 次提交
  23. 21 11月, 2014 1 次提交
  24. 31 10月, 2014 1 次提交
  25. 10 9月, 2014 1 次提交