1. 20 5月, 2016 2 次提交
  2. 05 5月, 2016 1 次提交
  3. 30 3月, 2016 1 次提交
  4. 14 3月, 2016 2 次提交
  5. 08 2月, 2016 1 次提交
  6. 29 1月, 2016 1 次提交
  7. 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
  8. 06 11月, 2015 1 次提交
  9. 02 11月, 2015 2 次提交
  10. 16 10月, 2015 1 次提交
  11. 30 9月, 2015 1 次提交
  12. 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
  13. 01 9月, 2015 1 次提交
  14. 21 8月, 2015 1 次提交
  15. 13 8月, 2015 5 次提交
  16. 06 8月, 2015 1 次提交
  17. 05 8月, 2015 7 次提交
  18. 27 3月, 2015 1 次提交
  19. 12 3月, 2015 2 次提交
  20. 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
  21. 03 12月, 2014 1 次提交
  22. 21 11月, 2014 1 次提交
  23. 31 10月, 2014 1 次提交
  24. 10 9月, 2014 1 次提交
  25. 08 8月, 2014 1 次提交
    • D
      Revert "drm: drop redundant drm_file->is_master" · 7963e9db
      Dave Airlie 提交于
      This reverts commit 48ba8137.
      
      Thanks to Chris:
      "drm_file->is_master is not synomous with having drm_file->master ==
      drm_file->minor->master. This is because drm_file->master is the same
      for all drm_files of the same generation and so when there is a master,
      every drm_file believes itself to be the master. Confusion ensues and
      things go pear shaped when one file is closed and there is no master
      anymore."
      
      Conflicts:
      	drivers/gpu/drm/drm_drv.c
      	drivers/gpu/drm/drm_stub.c
      7963e9db
  26. 05 8月, 2014 1 次提交
    • D
      drm: drop redundant drm_file->is_master · 48ba8137
      David Herrmann 提交于
      The drm_file->is_master field is redundant as it's equivalent to:
          drm_file->master && drm_file->master == drm_file->minor->master
      
      1) "=>"
        Whenever we set drm_file->is_master, we also set:
            drm_file->minor->master = drm_file->master;
      
        Whenever we clear drm_file->is_master, we also call:
            drm_master_put(&drm_file->minor->master);
        which implicitly clears it to NULL.
      
      2) "<="
        minor->master cannot be set if it is non-NULL. Therefore, it stays as
        is unless a file drops it.
      
        If minor->master is NULL, it is only set by places that also adjust
        drm_file->is_master.
      
      Therefore, we can safely drop is_master and replace it by an inline helper
      that matches:
          drm_file->master && drm_file->master == drm_file->minor->master
      Reviewed-by: NAlex Deucher <alexander.deucher@amd.com>
      Reviewed-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: NDavid Herrmann <dh.herrmann@gmail.com>
      48ba8137